From a78546323f036e81d9a68321d8c11e555e22ce3e Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 18 Feb 2022 11:57:41 +0000 Subject: [PATCH 001/123] Use reusable workflow for minimal-versions (#109) --- .github/workflows/cbc-mac.yml | 15 +++------------ .github/workflows/cmac.yml | 15 +++------------ .github/workflows/hmac.yml | 15 +++------------ .github/workflows/pmac.yml | 15 +++------------ 4 files changed, 12 insertions(+), 48 deletions(-) diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 7a8cf96..d7ae4ee 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -39,18 +39,9 @@ jobs: - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 643e093..0caff61 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -38,18 +38,9 @@ jobs: - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index f5cbce4..c4a6da1 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -39,18 +39,9 @@ jobs: - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 6037e0b..a5435cd 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -38,18 +38,9 @@ jobs: - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest From 7d0d2b8198a5fdb8c25e71c0e6ccc12caaaf9b9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Fri, 18 Feb 2022 14:58:40 +0300 Subject: [PATCH 002/123] update Cargo.lock --- Cargo.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 821452d..7dafc6d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -30,7 +30,7 @@ dependencies = [ [[package]] name = "cbc-mac" -version = "0.1.0" +version = "0.1.1" dependencies = [ "aes", "cipher", @@ -58,7 +58,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.7.0" +version = "0.7.1" dependencies = [ "aes", "cipher", @@ -170,7 +170,7 @@ dependencies = [ [[package]] name = "pmac" -version = "0.7.0" +version = "0.7.1" dependencies = [ "aes", "cipher", From c2a828cf34e43e3193236fe23b232fbbc397ceb2 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 21 Feb 2022 14:30:16 +0000 Subject: [PATCH 003/123] Cache cargo index (#110) --- .github/workflows/cbc-mac.yml | 6 ++++-- .github/workflows/cmac.yml | 6 ++++-- .github/workflows/hmac.yml | 6 ++++-- .github/workflows/pmac.yml | 6 ++++-- .github/workflows/workspace.yml | 3 ++- Cargo.lock | 4 ++-- 6 files changed, 20 insertions(+), 11 deletions(-) diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index d7ae4ee..2cb1ca4 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 0caff61..0168bd3 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -28,7 +28,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -50,7 +51,8 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index c4a6da1..e076ccf 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index a5435cd..c362992 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -28,7 +28,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -50,7 +51,8 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index a7c75b0..a41b6f0 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,8 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/Cargo.lock b/Cargo.lock index 7dafc6d..debb8b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -155,9 +155,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.118" +version = "0.2.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e509672465a0504304aa87f9f176f2b2b716ed8fb105ebe5c02dc6dce96a94" +checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4" [[package]] name = "magma" From 283d4395f01caea8e312cea7c8d9d480e379204a Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 22 Feb 2022 17:15:48 +0000 Subject: [PATCH 004/123] Update Cargo.lock (#112) --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index debb8b1..6f97aef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -47,9 +47,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cipher" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "035bd298db1557b73a277e9c599c5a50e0d2e6ee9dcac78f3f951cb2f7d88d8c" +checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" dependencies = [ "crypto-common", "inout", From 83f56d826480c0b35c194d9de922d8f4d66c18fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Mon, 22 Aug 2022 20:21:06 +0300 Subject: [PATCH 005/123] Update Cargo.lock --- Cargo.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6f97aef..1d2665a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -72,18 +72,18 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.1" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" +checksum = "dc948ebb96241bb40ab73effeb80d9f93afaad49359d159a5e61be51619fe813" dependencies = [ "libc", ] [[package]] name = "crypto-common" -version = "0.1.3" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", "typenum", @@ -121,9 +121,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" dependencies = [ "typenum", "version_check", @@ -137,9 +137,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "inout" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1f03d4ab4d5dc9ec2d219f86c15d2a15fc08239d1cd3b2d6a19717c0a2f443" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" dependencies = [ "generic-array", ] @@ -155,9 +155,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.119" +version = "0.2.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4" +checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" [[package]] name = "magma" @@ -198,6 +198,6 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "zeroize" -version = "1.5.2" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c88870063c39ee00ec285a2f8d6a966e5b6fb2becc4e8dac77ed0d370ed6006" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" From a9965c19335c19ad4641804f646b4384e2e205c2 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 16 Sep 2022 03:14:11 +0000 Subject: [PATCH 006/123] Update Cargo.lock and workspace config (#115) --- Cargo.lock | 12 ++++++------ Cargo.toml | 3 +++ hmac/Cargo.lock | 38 +++++++++++++++++++------------------- hmac/Cargo.toml | 4 ---- 4 files changed, 28 insertions(+), 29 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1d2665a..e32b980 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -21,9 +21,9 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ "generic-array", ] @@ -72,9 +72,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc948ebb96241bb40ab73effeb80d9f93afaad49359d159a5e61be51619fe813" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ "libc", ] @@ -109,9 +109,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" dependencies = [ "blobby", "block-buffer", diff --git a/Cargo.toml b/Cargo.toml index 550da60..ee782d4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,6 +4,9 @@ members = [ "cmac", "pmac", ] +exclude = [ + "hmac", +] [profile.dev] opt-level = 2 diff --git a/hmac/Cargo.lock b/hmac/Cargo.lock index 2804e1d..21377e2 100644 --- a/hmac/Cargo.lock +++ b/hmac/Cargo.lock @@ -10,9 +10,9 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ "generic-array", ] @@ -25,18 +25,18 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.2.1" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ "libc", ] [[package]] name = "crypto-common" -version = "0.1.3" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", "typenum", @@ -44,9 +44,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" dependencies = [ "blobby", "block-buffer", @@ -56,9 +56,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" dependencies = [ "typenum", "version_check", @@ -85,7 +85,7 @@ dependencies = [ [[package]] name = "hmac" -version = "0.12.0" +version = "0.12.1" dependencies = [ "digest", "hex-literal", @@ -97,15 +97,15 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.118" +version = "0.2.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e509672465a0504304aa87f9f176f2b2b716ed8fb105ebe5c02dc6dce96a94" +checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" [[package]] name = "md-5" -version = "0.10.1" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658646b21e0b72f7866c7038ab086d3d5e1cd6271f060fd37defb241949d0582" +checksum = "66b48670c893079d3c2ed79114e3644b7004df1c361a4e0ad52e2e6940d07c3d" dependencies = [ "digest", ] @@ -129,9 +129,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.2" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if", "cpufeatures", @@ -140,9 +140,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d94bd56cd86f4e14c55c935baa313bfd37846284f6bb1f35fc71bc30e621241" +checksum = "9e7fe6ed8a42cec360e070309427bb7959e102849b0dbaa7de19d5b9860bd536" dependencies = [ "digest", ] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index d04c7cf..37ca974 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -11,10 +11,6 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "hmac", "digest"] categories = ["cryptography", "no-std"] -# Hack to allow this crate to coexist with 2021 edition crates -[workspace] -members = ["."] - [dependencies] digest = { version = "0.10.3", features = ["mac"] } From 85885fb5995d0f5620e1d9433077a31f1133e71a Mon Sep 17 00:00:00 2001 From: Dirk Stolle Date: Wed, 5 Oct 2022 14:49:26 +0200 Subject: [PATCH 007/123] Fix a typo (#116) --- hmac/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index e79c068..e0af795 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -118,7 +118,7 @@ fn get_der_key(key: &[u8]) -> Block { // All commonly used hash functions have block size bigger // than output hash size, but to be extra rigorous we // handle the potential uncommon cases as well. - // The condition is calcualted at compile time, so this + // The condition is calculated at compile time, so this // branch gets removed from the final binary. if hash.len() <= der_key.len() { der_key[..hash.len()].copy_from_slice(&hash); From 3eb01e5fcf1a4837e8a9ec1f94346508926d033f Mon Sep 17 00:00:00 2001 From: Dirk Stolle Date: Wed, 5 Oct 2022 14:49:44 +0200 Subject: [PATCH 008/123] Extend Dependabot configuration for GitHub Actions updates (#117) --- .github/dependabot.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5cde165..397bdaa 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,3 +5,8 @@ updates: schedule: interval: daily open-pull-requests-limit: 10 +- package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + open-pull-requests-limit: 10 From 94a0c025c0f5db970e7f1b453850586522ce623a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Oct 2022 12:51:03 +0000 Subject: [PATCH 009/123] Bump actions/checkout from 2 to 3.1.0 (#118) --- .github/workflows/cbc-mac.yml | 4 ++-- .github/workflows/cmac.yml | 4 ++-- .github/workflows/hmac.yml | 4 ++-- .github/workflows/pmac.yml | 4 ++-- .github/workflows/workspace.yml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 2cb1ca4..a79558f 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3.1.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3.1.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 0168bd3..9f3c8b9 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3.1.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -51,7 +51,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3.1.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index e076ccf..257237f 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3.1.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3.1.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index c362992..1f9d643 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3.1.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -51,7 +51,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3.1.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index a41b6f0..df532cf 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3.1.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v1 + uses: actions/checkout@v3.1.0 - name: Install stable toolchain uses: actions-rs/toolchain@v1 From e2fff0cb035d9236dfd74387b7559be5ef02e927 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Thu, 17 Nov 2022 04:01:13 +0300 Subject: [PATCH 010/123] Update Cargo.lock --- Cargo.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e32b980..9e9b7e5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "aes" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe0133578c0986e1fe3dfcd4af1cc5b2dd6c3dbf534d69916ce16a2701d40ba" +checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" dependencies = [ "cfg-if", "cipher", @@ -109,9 +109,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "blobby", "block-buffer", @@ -155,9 +155,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.132" +version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "magma" From 96a0f8da175f46ed99a3f09928775624cdc5bbd0 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 15 Dec 2022 00:37:06 +0300 Subject: [PATCH 011/123] hmac: document the reset feature (#121) --- hmac/CHANGELOG.md | 1 + hmac/src/lib.rs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/hmac/CHANGELOG.md b/hmac/CHANGELOG.md index 2569cc5..cde26d6 100644 --- a/hmac/CHANGELOG.md +++ b/hmac/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Bump `digest` crate dependency to v0.10 and remove `crypto-mac` ([#97]) - Use a more efficient state representation by using block-level hash API ([#97]) +- Reset functionality is now optional and gated on disabled-by-default reset feature ([#97]) ### Added - `SimpleHmac` as a less constrained alternative to `Hmac` ([#97]) diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index e0af795..b93fb31 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -71,6 +71,12 @@ //! to remove potential panic. This is done by truncating hash output to the hash //! block size if needed. //! +//! # Crate features +//! - `std`: enables functionality dependent on `std` (e.g. implementation of +//! the [`Error`][std::error::Error] trait for error types) +//! - `reset`: enables implementation of the [`Reset`][digest::Reset] trait +//! (note that it makes HMAC states bigger) +//! //! [`digest`]: https://docs.rs/digest //! [`sha2`]: https://docs.rs/sha2 //! [`RustCrypto/hashes`]: https://github.com/RustCrypto/hashes From 69d0040c62bf5a30faa86269fb799f943c391d68 Mon Sep 17 00:00:00 2001 From: Qinxuan Chen Date: Mon, 19 Dec 2022 16:40:13 +0800 Subject: [PATCH 012/123] hmac: use `sha1` dependency directly (#122) --- hmac/Cargo.lock | 8 ++++---- hmac/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hmac/Cargo.lock b/hmac/Cargo.lock index 21377e2..52f4ebf 100644 --- a/hmac/Cargo.lock +++ b/hmac/Cargo.lock @@ -90,7 +90,7 @@ dependencies = [ "digest", "hex-literal", "md-5", - "sha-1", + "sha1", "sha2", "streebog", ] @@ -117,10 +117,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] -name = "sha-1" -version = "0.10.0" +name = "sha1" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" dependencies = [ "cfg-if", "cpufeatures", diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 37ca974..bf45b73 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -17,7 +17,7 @@ digest = { version = "0.10.3", features = ["mac"] } [dev-dependencies] digest = { version = "0.10", features = ["dev"] } md-5 = { version = "0.10", default-features = false } -sha-1 = { version = "0.10", default-features = false } +sha1 = { version = "0.10", default-features = false } sha2 = { version = "0.10", default-features = false } streebog = { version = "0.10", default-features = false } hex-literal = "0.2.2" From 2e9db39aac63e1c294a7342dad8d98639c4905df Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Dec 2022 17:08:55 +0000 Subject: [PATCH 013/123] Bump actions/checkout from 3.1.0 to 3.2.0 (#124) --- .github/workflows/cbc-mac.yml | 4 ++-- .github/workflows/cmac.yml | 4 ++-- .github/workflows/hmac.yml | 4 ++-- .github/workflows/pmac.yml | 4 ++-- .github/workflows/workspace.yml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index a79558f..3317c0a 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v3.2.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v3.2.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 9f3c8b9..65f526e 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v3.2.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -51,7 +51,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v3.2.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 257237f..1bb8cb9 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v3.2.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v3.2.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 1f9d643..32f4293 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v3.2.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -51,7 +51,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v3.2.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index df532cf..206fd37 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v3.2.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v3.1.0 + uses: actions/checkout@v3.2.0 - name: Install stable toolchain uses: actions-rs/toolchain@v1 From 71cc97a80786d4e17bd47b5a99a29df057c8ab69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Jan 2023 15:33:55 -0700 Subject: [PATCH 014/123] Bump actions/checkout from 3.2.0 to 3.3.0 (#125) Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3.2.0...v3.3.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/cbc-mac.yml | 4 ++-- .github/workflows/cmac.yml | 4 ++-- .github/workflows/hmac.yml | 4 ++-- .github/workflows/pmac.yml | 4 ++-- .github/workflows/workspace.yml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 3317c0a..6d0f4f8 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.2.0 + - uses: actions/checkout@v3.3.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.2.0 + - uses: actions/checkout@v3.3.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 65f526e..4b266ba 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.2.0 + - uses: actions/checkout@v3.3.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -51,7 +51,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.2.0 + - uses: actions/checkout@v3.3.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 1bb8cb9..d529b20 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.2.0 + - uses: actions/checkout@v3.3.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v3.2.0 + - uses: actions/checkout@v3.3.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 32f4293..03c149f 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.2.0 + - uses: actions/checkout@v3.3.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -51,7 +51,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.2.0 + - uses: actions/checkout@v3.3.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 206fd37..5586b52 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.2.0 + - uses: actions/checkout@v3.3.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v3.2.0 + uses: actions/checkout@v3.3.0 - name: Install stable toolchain uses: actions-rs/toolchain@v1 From 2d5f54a8c8a54246f12a3563438c593e05996dc8 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 14 Mar 2023 20:39:07 +0000 Subject: [PATCH 015/123] cmac: separate large CAVP test vectors (#128) --- cmac/Cargo.toml | 1 + cmac/tests/cavp_large.rs | 14 ++++++++++++++ cmac/tests/data/cavp_aes128.blb | Bin 1053233 -> 4169 bytes cmac/tests/data/cavp_aes128_large.blb | Bin 0 -> 1049065 bytes 4 files changed, 15 insertions(+) create mode 100644 cmac/tests/cavp_large.rs create mode 100644 cmac/tests/data/cavp_aes128_large.blb diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 56b6804..a56dcc8 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -11,6 +11,7 @@ documentation = "https://docs.rs/cmac" repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "cmac", "omac"] categories = ["cryptography", "no-std"] +exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] digest = { version = "0.10.3", features = ["mac"] } diff --git a/cmac/tests/cavp_large.rs b/cmac/tests/cavp_large.rs new file mode 100644 index 0000000..bda760a --- /dev/null +++ b/cmac/tests/cavp_large.rs @@ -0,0 +1,14 @@ +use aes::Aes128; +use cmac::Cmac; +use digest::new_resettable_mac_test; + +// Tests from CAVP (excluding all 64 KiB vectors for AES-128 except the first one): +// https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/CAVP-TESTING-BLOCK-CIPHER-MODES +// +// Test vectors in this file use 64 KiB of data, so they are excluded from published packages. +new_resettable_mac_test!( + cmac_aes128_cavp, + "cavp_aes128_large", + Cmac, + trunc_left +); diff --git a/cmac/tests/data/cavp_aes128.blb b/cmac/tests/data/cavp_aes128.blb index 78bf9ea0d0c6519c280eb6b8cf039a7e5a4c7ca2..07b511d57b56b3e958d1fb4e855d346388203140 100644 GIT binary patch delta 8 PcmdnE#NnjE22TM15~~A< literal 1053233 zcmV(;K-<3nAmq1XTQ7ZMv}a7v8F0zb>;MSzW}$~5j_jb(M*Ru@yWrG*+}-@_00_fm zEaf0vx4fL5W2RX=PtI2#Q3@yk2;NSYCm_2qfa_Bf6}XGYBT}`fsEhyzpAP0_Aa!6R zb`?0gn=pY<&iyN3u>c51XcUSd03gKvPZE{e3nAav!!bt~00>>H;I|-wXqrLAKxh}r z-OPD69Kp!|2nGc#S0Kcg;i{03D|=Pb=kh1|+!Fu@p(%|qAXPLWtv^^zpG?kLZ9f=J zR{$QFS^~YwiU$BJ<&4)*U#cMH;m;QSKLFj?V!n0Y9A9Pt9;A6Ci~#(@1}dV1qI(}J zAoBOV6M~)r?MWc1lhQyCu`U@Zo zd{Yb;fftE~!`#;aViGz49{#$fxV)3?K|h5K$C$p8AZO0&jPGLN#vOmwPN3%wnE)Qc zcPE~RDxvwD~1T483tM);oNdfRw4b~N{lC91=baH zAcvS$|528PEXRH_Ka6&@un5t@rw$-i5K^t>RqooHvx^+cjS-9>dHhW}ibptIw>}xA zS1Kn#2p-8K>mV6k1)f(B=2CP|rrW&)84Vy7z443*)(<)=GW)VlWY9ART>UJDAc?)% zP0t)@*t+yk4v|G9e;~y(R3PCTBUP9+U`z70ah?dw{w1FvLU+xZuPpPE$Q-xWi(8>y zAU7(m{;W5JzSyXhq$3lnng|VZY@{G3`VC%1vh>0W#L8AoPK-1lb5rRsGu2@i)hypo zP=>CI2-duA=OB-Dv8ZzP^U!Pbdh`|W)-WLUvCnn2&!np|Jn&EPJ9=3Nz@r1cAZG~4 zhn9`0B zmq9xqGtNZ4vFdOC<)V-T;>-4I9=LXcRb)-|sr~;g?{+_9ASUmNKr|73p1#1x{4oer zX&@MoN$>r9`N;EGWxTMLkJKJ1UoUa|SmyRUGG$C=BgG*7V9qqAQh4@TeN&K4q$hPC z%o>A#Q8s061m9)AR#F$t9@lShu$P*4Sp+qPqtf}&Aa|#KuPF>4qYP+0@oT52dq4sP zgW>QwFHEddF^ga+C7zsBJ-kb5*_h@{Smfv2E)xj*{-hfqWixmW!zieYU{Yw-FDYHd zKmv51Pny^-r@BGeHKy^ZV|KF(hjq3@TF9F|tWeF3RtO9F6G|XSEv($MqhG{0rs|_! zCerpmnJhk56aPXF*&FD1(BalDarN;KZ%`xinUP$W1C-X=2(VZl&>$0zjQ+(yMp=)^g*oAH=78vSAF>Oyk$R_Wye<*a(fXQnUzjYa|LFU)NNj z9cyn5)Z^HK7zxU_jH)!+N<||L2-9IJ zHXt@#@kw{}R@U9-UuJNl1sFgZPE3E1#+bjSM-QzXV3Pdr?HvLtnn7OwqSW0M-RGYO zWKPHeAX7|lkBGcAKd$8_WSL!5S3pUD#UIQGHTD_oYxrVlI{+ojNODLyydGz&JZNn) z8>Sv(cgD}?-C$nurYeM5v-cpOe3tsAOvw&PtS08N!X11H&_5UGeOLL@vPOw>E_8uOgM12bj0)r%;c5j1?x%42&QTXgj zuWlPfVy=;YBVF-8V(D;o$Q`WM z$U&doN%@GNAmpp#L-~p=@RSq7-us2MYC!jyhiw_G8-$t~L;jf(ysvH^IF{;Iyt3ci zM;7CGv_KxfefjLa|&-W9)pFZAW5CIqwL5%H2sKQ-UgEpmqPM*H9*PXaBk!0q&{(jIfuJ)L>wM2 zt5{GRi~8&b)-x&yj+RN=Af<-cE5-Rn&R7ToA_P!_)TO8UhJBudz=AlrdX+10j#|5c#LUFIvUTtdMKH5l*M z0!8D*BXRN|vL7Hc=5vqWF7!TvfspVT@8M|(IeHmBAV-RywWG7DLnq)pedMSlOhU`T zyx=ZHa7>b4h!9@!GB(F(^|LvWIpX=S3NZ-G85>Fnu&f?*AgJL;OGh;PXOPVthwinU zqC#mdNA++UvR0qj-RJo0jb{uqYv*`ntlY4?@pJp^Y$U%3ncyN#AWH-BlUyO@2tM~M zAA9^RDnc?>n`Sa|H4qJ((l+CMI}KTZAH4>C(j=2?u7UmB>-iwU%4*Jwiy1LY!9$SZEW9^Dig+%2d@iSdW8JES zW9^XBwS0^sLZ;mSaRf+nJ#xn1iXL|wQ|dNJbIe=;ciSZj#~?O65195HQfToib7&8_ zN|-_}O;|M(#<=u(@nN(=x9+%kh*=(!lw!5@J~a-v%}3U#9gsGGoo7j^i{sKQntpgsL3*6|o`b@9Nw{z@Po z7a)Yg{+a#cuPLgIZeQUb>+rMV8Jb)-bH`!FCC6Y2LV{ZvFKPR8vT<*-UTN9DkOrut zLMq4P;AIp%SiKZ(ajG77bSg|>hrw{Z@5rPbPh%j--tab}lT^v>;25*Zym2Z*I)@fA z@+cU;*B7t`7*{Da^txB&eVlq=oX}=JR@>n{O&-5d+noe)VLVNeb?I_gZy;n$zY>L= z@Kt`P9|+)4|0hD?w6^(3L;_@7M}VHys5%$3c+Z6*L3G)mmpO4_@s5x59!_q>Z~0vg zt{nJ2{PaufAdH@?=yAsBQ4y51j=!Fp14;!+>g=TRmn453C6*HAhJJl`jB(IBQ8tE3 z*4R%Z>iH9+PH8g;3?7%zAl*VloutWLg^PJ$g|@Y`wMtE<{<>`un}|@p*+unw+|$G8 zPleTiRXdg1!_JH)jIMb5eaW8)uc*WUAmY`M%Rw$>`2<2&*N$|N`AShN*pTF5t?GZy z>*uL3XVMPQQ0{fF!nyL=mvLPlf!G4#RyCRkHL@PzAV%;eS@4R`F(vc6K+4Sz+Dhv# zell2;hN^^=H^|$)aXVnwZ=*pY`S!2m+av59m-eQeS3H9VBNP3;AVSCbiW9mm4{SGJ zywv(^)k+b`2nqScJui2)YVf2YhpcHJEyj@HPJk zV{}IpAj>e(ZBO;k&0CBd_WYYuT}m!eKAnnHG7^5qJ0b`;@f#0{3F)I3!Q_W6f9&kR zw77s^2WzJY5*%iFAVz*2n3EDSAllqIBgtXxfl3xH`A3YPYU})ehOep3*F%wIW9$7o z+uc^+73w-pykXDcM=@6jO$UANAZd`>YFyad6qL$(RBB$xw zPsq@bO1oX;y5)_JNyLZ|sxjG{*N1uzz)k7A_!WP1ucQ9B;8JN&%d{SN?8ljRMAW!F zu=u33D+D0niBcro9!7MjyqqVqbu5EQEA0ZOKu$;A!i;&s?9R790}_$_EV+2~fJSm- zVq+8F5GAP2c^;Wg41Z>c#^a$jA=87E{2;kKN87kVXd6(m!f2U|O0-H~#^yT?P2TcP znGR(vn{_EWsN`0A%m#yiVxRHQ;SmOm`6T^Q9ywnpoZ}f7W3>8&^4hbZPG*nJL z22(OIjoX0NDW0z!C5#?A!T1X9eV)ZALv!RhR@WdHLKPHUq@A=E=)Ki*)+jAXSBUl= z0x(CBwJ$&gdb>^pMnFFEbOKY~as`%oyDDy81)6Z2yB>|G%&D_)XjdF;4nU*y5Fi+I zS!~_C@rn?G@;=b!9Q8rN5jv!A83Q z9ww#zC4f;Wb!%H1!##&|AY42q_eQ`F6QJoWHwuAT76wEoN z>2N2HVY+XAcnJq--eT=%RL`oV!Y|OFz@CM>2|RkP`$H5ON$0_Z@PLh< zZ0hjJD=g~SLRnH6U$ktE{ujA^;Fc3KxnKGID&!}4?mcM?SjV!u{Ss&uuKELxsT0=q z4@)dPnaY=dhaH7N+LRRf!{{i_TOqoil(%z5aQJx~ajA*FQ1C_*@^a9Km$;dmRo8T& z#Zd3Q{59h{yp2iu?D|hZMwzU@P%1Fbjd7p&^xMC+p=Gdo%es8__M7jQX@sdvW^grgz6Ie(UHApkCQ%zh~~|O#KF)4{YLT4Q)G1OLHx(z z&_Y`;3TLw#vUR(zGJ0AB)#ysWHasZb`QFE{xJb$$Kx=Y3{!X;*wE2$^aFLv)zr^QS z9%%hmv0g?oIK7obJ}mwulaT0X{pez}D|EZ?>K#nioDrG0<*u1{r=d~UF;A%VvvhV9 z^$FgfNo?M2zq=$qmw+RX{FG;n?>!}9ftnY#ML~vn1tzK9w7)H-q-7PG`ToRXUfEc7 z_SrgVmDclbF+f5dlLc#bQnk?^0_Df@snMjnazzzAroFg#*URQ6U%AkW32)7A4Vdy{ zLILDVk3s4mqMt_UXlolGc5eh}~edH}9g^+)w@A(*&3yB4K`^>MW; zvr+=M`TE!oq$Uo3Sv8jeyo^-9;yNtV2-sg#g|ioo{VqX@*kPLA@&*l~l$JcXq_167 z7`aEhu*u9z<;6<79m;*9Aj+3M&w7(@6l=x;6?V5ZtzIy99I=&e{qJ=^dG22fyM6b! zqew{Yzx-TgcdH6$hj9>&vshxuwRyp$dt{ExkHX>4*E!ZCevl_@G86#!kU9>E+=bd- z_NrBGiSx7ThT(k>(G}txI&e>%u6jS|t^iZ=0Rp8vrp#I<4Pth3havO<`lJ`$+2#9w zQ>1T3%MAxkiIr?+uO;_YZhC%bdCYDqx~&>#dis{#WT=38xoAaWpBGsJVjqpaXr7xjXT|@))qV*^piwa^Ac(4?N|8D;CZ$Mi zgQqtE=}+?Z&xgo04i$SymV1+8UmN(Jqo2TxOPEILr)7MvVON4qv=etY**A})!a!w; z3#*g$E?R+l_Bwh5HX{Yoy8m*-elN4r9x83#j%QD-3x1<5QHml1577-mn5TJk+mGwv zm82vM#Wy~IVY>LvN8C@)cJ@v%ex@cYHMxPCtWOjxVL5Z|wx%i-qW=l|rw_kn1ZS%V zD*^6HbtA=36^0fpOSnjW+P_#KyZPn@uWmdcGpKvxw*>7m899Xt z@XWr(#d&y}fYbtJATW5SufR{wb^I>4ZASlb_0C5_$+NQXGHdfWdt}O^rR!#UTu$y7 zDLq?Y=yr&XeWHvq!+A$|#VtFoF$SFh2}!JnoL@qNwKJ*Y65Ov27kvHQ#Au}F<%#(M zhytSrv=Z{wSUhu>f~LVs(ZHR1EhRxtwZ`(r`9;+}YM%o=4-VgJc`m5m_+Cn#4{3T_ zCT0PRf81D@YbthWz9!}?fCU^=<$DR?e2=f2xq5y@9Y~OQQaK2HM zhHJkifV@&8r7fPEVak+|I#3Tn29K$&TN2YzNCG7{LP+v6Ve%ko&Db^ybAPvJ{5`KJ z|DKE0bq6h&Zka$s16awFjE(=d6KP!x2ap$4kBOiN3^u;p#fXH}UR zUne>%h}HMx&*(tGP+%ur$5wJUNZ{_bF*OEkToIF)nOpYmTLxvCu{DB%c%m}Q&_Jx9 z%pcG%Zjih5(ux=PX*Ac?~7g`GZ&rKsFL}{9vlCFgAox2rS zNi=Rk?q;_J1}<*+DHi^xJi?S<<%=%#L2327+7`^&({L%kW*{T?k$KG-3!=jyefR?7 z@2>scfVS;2Tjgl%=2A6^J^x?4-n)orrbdA8{I?diOdBrXw_g-m2yhS@>YzKQSxk`K zSGz{);7VSdAI5m#;u`9MOezyQ$^Px?Mf7aRV=QCmXS|)g}E{QsA(CU2-1VCDz`eLK+PqQp=V_9cT$|3xBiYGSKse6 zyAyMSa78S$9MKY>wJGE1@^>w)|AeTNb=b-ii6fTngxj_Eb0^0hAN>2PKZV`K?a6RB zSBQOew`D5Xg-gyd>InpYc|ZU68h#y3MytLvdZbnzQ;G0 z^q`*&GGQz?fl>$J6DS=LX1w|PcWISKUpJNK`oAq!hPk zKJRjqf~h!TA)!TokC|U>vX%d20=N;ZF+%K(^>Th&t(rk)s^{FWw=)% zf)r=MW=>6=bc(2;ZqjMW=)C3a{YNRXKnIQ8^@5Djg4xnoAgh<2);27BsK3+t3^ddh zoe|B#6M#xBbHtTHgV)e^fl@%g6prlSg9&HuB@5~d8HuHMHc3~@MMoWcZdiw=@eT0{ z7upe8XLro49EVO;*LYdmlB(T5)ziv@ETST9*rHO1#bUy2ywj^c+VLrTL8X!N4eA6E ziZDcCr2WTKp4tjN2W=>!>f@`eMvt9`;Y#zbm>S#Wj! zN3P<2wcRRY1S`|>0((NnVGGfuXj36}=rFR8azU^<$B__ekayh8PrJ(xmiiT2cT9yH zJ0s8tR(B;`n;->ht%Frjws5ivTT2A1?`l@(=D+3Djkk95`C;vAJ<}YO;mX;(kC0O( z4kM;bb(5@fn5-67$JM+*xHvLH!6Tf*O0L5-gP&+6Qi|AqkUhW#bX!9xPew}idO{m+ zjo2>y(s?^U`ec|B4$8vCs4qIGViS_lkJ85-Dap}u3%YqpU~y||T&RrpDk+VsB{IQb zN*ycP?LgeVtP_0NqL3!B-QamQ5i{%7jqqW$Zw~!B6u~#n(^@d#>u5qOxg^{@FAR+^ zfz4jLA!cQ7?u(Z?sYl*0sOD^o&Js@Wx;#YmKR(dj6h4iv&DFwR3UD`S@ApTG)U7wi zJy^!B450ldvKFzbTbCoPMU z!B%M|!fYW_blz~coUmU6t=ATgJm>WbwCmxUOO)IOG?&>$7EsPbzN-r75k$#LM9l_H zPqC0up7vlp3TP_B3G_1QAyQ$&qvx1>mFYyG@WeBg47{djSk$M-PVbykrZycH%DDqm zi&?>c66N@e8G}V_TT))uNKIWt{&QPBbtOUB`On*d-pVfbZ-ES!C)4HJB)Q-v*eNQx z0y>Tf+=xdumf8~21OkWblm)0qf_%H_PdZiHZ!fqoLX2KOMJU!ciX+d`Wyy1AX}R_$ zl16Ty#2w{?bSSK_rL*&C7tWXByYf2(Y3G`5)#Mwy!1<>GYpS=TQQfgZ74~!tx53hRo>te0EyJ1QndT&7bU{gzVsBQ|}RBiHYF6@{9dhUk=u zZD_KTV3b&12*r<|)Bac^=odi~U>h}dv+kJpa5I$YGHk7g&tsf|(#l%4EFOD1Cegj5 zny2A{V_~@~5}AX#;_Y=;?_Zg@qWs(FaJ*qi#Ht$8IYgSK4J9SN)8PpPXE8B|Cs6nc zV5B?12cfc3s_TF#rMd{|nS%p68r9FysDTQk;r(EM^a`QFS(O)Jz}prqN72+%@56g2 zQ9FGmjU*^CgfDs_M|L)Q&R{ow?!*OVg;A#L_${{$-`u+l{$#Scc&_gCKQJP1&&j;8 z9PD&o$N?q2nh4x-EPyYJ43Btl~Z#ea+^!kJ3|GMtQ^d8+!&zMd7|pzegNB-X6j z^0R?g!mXSv5txs47#ww~{uIq5O*M$!qwrvOs+nwoNyzc_8~}U;B91K=wzO6b!3Ral zEf!t#olI==TNpS(kxE1RSm3OzM_!_z4H^JT&5s8?I_fAS#^!PU*y@ zSt3Zv7pBK&F~n!u9%^bVQjPnb!ieW_R_;5f>($OR50 z{|HXa6XvNJOcu@7;6lizYVaG^nPCuGCAm%w2w|%|>Z(C#-Lu3;N{kZ=E1L}Hdq1Vn z>$Et5*Eb)*cxr*@Tls6C5`H7;DWbVxT!r4i24VTB-D-HC-S}i!g6BCeIzIIL8W3#= z(4gm9*~sQN^qfKJ)=GE5A4Nu3jiP!QZ^8rwT`^0nC(g%%3oOf5D>qrD5hex@oJiEUapVvIfn)ASdMNvztuh`feuo=LQw6#;JmZMsLe%2lCZ>FH5X zSRQK~=hjtUS`#6+U=ODocKm|FGT$Bm5Rj$>JJStA&{A{*{UFrMm~|r8r)`*~w+Q z=gkk>a;ZH=k!;o&fUg>4mcTQ4cmEAzi-%~nuMsSUDi-{@;xr9|(9=04u?SBC{<^Nv z9|IC4+}N!>6zzKZvD3~g+hZ^bY+z~$q*&n3AIl+q1CYEmesfjba3l91WK68K#Q;m@ zPg{~n!)J8R-#xSljcv1?TcC#?D|}4l}q;9%X`FFPxfV$Uj{Ubh_ymhB=(Ixz^ms;^*yG2GW= z@S(#o7`yv1U1IFAZ$W|(!9shb4!zTIoLW7n|5dfX{ z31iTQ8ZNpmJ;Oi;smytzO4`7^Z%hYI!*g!Se)JTg+-)og&s$Xf@H-=gyzc=x{bW4; zhH_XNBLk*s(0CZ+DM(XnBI*Xm`1X3{XoqWQ9^)5fa9)&TOnYXnZ&gvo*gb4GeWiDj zJUwo(6kA?Bm7sWcmDyx6B_r4%#8YTb(v+a{M^aE`q*o_xDl~(=O5=#WUaD}8mO>#( zH8}-{{goCc=ejsd7>>-O5!!F`Hk1hazmSE78w)LWuWU$EDaxfGCFEF%<&e z4;oVlcXHVd;0fQ}58-bninMANPTSaP#BO||@~x|o?w(&9nfQo8i9n)SM>33^yJDE- z;P-0D(m@CZkW!18Y+(z8Z?;5($d0FyoEStxE>EfJ$iQ6W29jm%m|!z*Vd*y7N^5>17l6z?qW+dI?+Y3$yip< zwfTZpK|D&54~c%{lhspv$APtEAb#G#!L}$?@TVV1#!=fUDpQRy08v-RotR-reg!EA zIwKmCwv%Bxn6doJ{&W+cZR`L$Zn#Ipgp1K(JoyHM#K@$|+zE+a ziTDu-4keyw7}0oqIh)vLms~$|=1&Y+lXXtHLO0j#drp!Bpx_n=BkOvD_2+9sLZ^LM zTYozhNh1NznO*|O-s)bz#C|o83ZXIsS za60b+<=s2N{LcrsN|?%22k3`edo|{wv!;p`crc#;g8#CI=oiLz+dHH{lnru1i+G1e z>Pvo6K_-cpdzuK!5sX`$ecJSc@N`GgHK(xZg-wsTjI;G5wUZm5qg{qNBjBxC5 zr>oR1R5Z}Ejb`2ALdSUx2J8C(36>>5Mj`x_{U6uGWI(s0nswGl+*E_1`@bwI4Zywl zW4I~(ytze)xG>!dkjDZc1Bs!}lt)?$@;i=txa_)qR#60SPdOASrt2lik_lX~dAeB9 z90v+05QfKxZ8n>k%B$fbXloFJt(Vw`)Xr{Mnc6TnPwh z-=8GAGX@F#-}I*~Zx{d+B>jOr>N1i&il}ToAzLc9(KI7_wk~+~9J%SV?_BL8a-9L1 zG$lZpK_E0!mE-Jb*3nM+LVvH<<`$tE5cv$-2&jQM`{l}@I2FcBpXhW5RXj~Ry+79` zq||q4yg7!$Oy;N}CAeAI*iOkXCba4txIV{B5w{m?z`GKq+G2xaryn0&oaYtJiIwID z6peQ)W}js;BrljSp_3cgQoSlff*OtQM!6*fw6Mk6P`pFG$0yG9;O~L@uOvAP43ebn zL!g`F4S2Eyzi17x!iaTWL!PRgD?a;EQZ^Mw?e_UMx$v>)es7U1mZ^bVoU`gVP*a>aQ#)e<}VQj(E8@j3F&?F2T zM7GqA%(*glOWHPgV2Pb6-k|EyeMPu#&k;`ib#ip`l1+sYfau0s!U*;pfyqkCIAI3rNHD~ltc*jTbxk z^j2Itf%oQ_tKc%+v8a*Wi?ra{AfH_2x!<_Fwx(^sfCo}PzFKVc%;5*qXsiYQueo;{ zNnmQq;O+x(){)OTH*{2A>?-V~GEmbdOKyHtb001{7IMZ0K#$qQRh|fK0_2Mzb1x0A z$9274!MLL5z$`Ao@thZ-!wO>c}rFH6cpsrJLJq>ZCr zj2Ew?VO0r{PLE*XJ7*o8nlc^pdZFW1JjY^>qc@3LmX^M#O{rtBQ{ z+_|CL1@R;kTrKCLVnBnFiyAicH|>5QgY#=8b&+Z&z(XYhk z3hS5=+1LqPR(ceqhz=K?*{S2C#vKy6+Z>zB-=L#7Oo^6_0*H5#J3VxZ!koUhV3n60 zm-MZPlZK|zUVZ#rQxyy4)p%%qLEm-HAp0_?qLWs)NN%5z;B#j8whwk(3D+K?yl;gi zPO3io4DuX#h3iQ8KU0v}s4W7?Pae8IR2TS59yE56OXT>J?Moyu^W>CjkCb(BRS?w|QjAmxbcKal2W=^!rzo;2~U zNd1Lq{dAi4DyAJ{K#MaEtuD^^3=Mxbn8SyJ{-#MMh#F zU?YaeaUV&Y+h0qHb+I;TJ8%XNL#e2W^Lxjpa>V1dT>7Jtx>ju3F*q`XdB={H5!Vqc zF%j9n0Zn112t%FR=VM0$M*(!H5VdN{+XA(ht2KCb*N_5AOQ@mr@eI2fX(t*d0BDGl z;Gmpjgsao_Z&Kp+9&k&vJ5(>46K7-iN)E;Z&C<~y3BPYyTL}*~$M*QM?DyS-HyE;@ zSew58^5F2Imx*@O^V^KEM`n`b8t7uRD{tUJslL+;rt2D_ScG6;l* z&+*3u!5({e_zXGd=dvoMIAvr*zWI0Ht0_XN12_z&P}$I_m`&HJjLVEX0wj%9rKkQ? z>p~($Nb4+IqCQf{1ZX6ymO~t4&BAsL-;hB~di1wRwfM^PN6P<__F{i`Q)O%trAl!s zBfFhwWFm2ZrJ7IXtf>Bo_I#;Pe|1AP_|GTwyvMIn2mb=5 zVk0e@V$F6ilBVnguFpf#5`W(}aqTa>%5XdonB;<$N>TnE^2dnyL5yQ3vw9Qp2cmAF z@-_B_6s2Z4D+h}whrCr!zECbiprVR*ZAHMiMkg5h;&3Hbf~{3lCoaZi0<2rKEHDrr zmoJKbMf&qEw^jtqsb*t3{L(P#^dj0;qiZOP4|(9uNsTcfX4w2n-oppYUWU>jWgtQ-8jx#Od>ptaW%af z)f^B>3~ho3-5f@SKA#PSflt@g$Px$`zBj(ciJ@Y0`Y3%;2RzODe9M__?PWnw@1Gfc zh_!dX<8uq#NL6ppOzrZVNG006$PcIZos&bMz zQjxiZuL20rCJpQIs37q@~6IG037DW^T({_j02mz>V zpLW=9CVnhzf4{@q*#K8v-;NPNF5aR~4RepaSOUz4zSWK1Ep1u-iECgZq_Ga&YsBD$ zU37N`Lcr_l8T4U~QWW5|J$+z4!^$KzRP{;^Aikk7icz|=*&{+^F&&N$!~A&rK=^96 zlcTs8&lNL#W=8u`ox7CWJY_sGipG44cvb$m9VDLdV!*@H|5)&=rXrT^efup5(oTY2 z3pP`Z+vgedyhcwr#!R=5A7+euT8nE%hLWNENSBzGvckN(O#_>_eLFnUMBYGM$c*v%qglt(wZh z_V`E2p7)y-CTv}??Sd83>!p{{p`VX-Pyt+XYQ-WjMll-B7ym70AG*SkAZyev6m>^m z9lm_kzYil$O}iZAScxe8{f`jzE1kXR>SLKFoc~aLE*%a+P{Z z2{OEZy;`_#i)MDt+HSleu(I4fCOFXs8MlggBeaI^$?Kt>_V6xasTM`R>X2R`0@fd6 z>q~Q%1{~Z13~LH$N3E=k0#JtVKB2_ortXfp#pm2xcS?){oxrj|6#_3p>OX~1$HM8J zve247_Rn&3VXnF_uz*9;NNTb?C%_y58Eez^FOGloZE0}a!+kQ@Kk#DafHc97Zsdpk zDDL_$KKDL>A^UH7*EH?I^FH@*#dv&(&aExMcJ$Yb0@UzPz^rimgi_+TSo^yAa9ioZ zTn(=tfi$r1%419Ko4P0S2T~4hLfrp1S%iL!ARI4NY<8orgAsC}(fEom-RQ=fd$Ggd zLf-FwK$zlw?a1=9UVH&VyNsG&^L;&6uBGz>po8_hW`t&kox9bE7wr)U8Ov($3_uS(bOfNQoFk~$gOV`Pv zx_>f*1Qtx%P(}k@wSxK8uP;f@&=1X38kr37xu0mbG_2b1Ww|y93hU?+G3z z=>FJg5c$vv(g*4-PZe^(QxLGbhf2Jo=pd9*ciL?FGSWq6MA^ZEdDb={^soW)ByJts z^qur;Lh^K|lQCur1x@?Ph0&;8L4GtlU^Wos@fqeNBJFgSv%{Nes@Jn%N4X*#I;t(5 z6iE&S{BK5}qgON`dIIM!BH1w@BbEFF;#}e7%`Ep#*?s8=E+R}VAaO5PVx#jpc79z_ zXff&hynkV=r5~?!cw_L*Um3}hQm_6|Lz+OpnfFJD;Bz5TziG<(Dogwu*h5I!_!?&0 zAXv(jhOKwVa*r5H^Ce9V(quzb#CV5E<7FJRU+&8cakjduk)=Rg>5cd#2@MoB+_v;a z+imy;fDn@E{#~CgFAw(`&PhUr<~R75SwFYMCgTj=w|UHkg41Xl5_=>LhC<`e=TKKaOnT z029eclt0bk83(K9X)z!4O1VaV<#e;7dh@>`QK}%T^ijT8n~TDG=*I7w)M7Qb>J@|5 zvyR@naageL4+3HhS$!-!X~it@VZ*iqU~}x-u0oClI=U0`M_~B%V%=DhmtDR1U|IHJ$Qkt6dG=?;a3GdcnZg*dzYC87S0!0?Gr4t zQ@r2Gy}NL;c73GlloDN>DvfO*zpkvo|Gr7YvAbQT>9xkDe|R#4ziWDjVz@HJzO8vq~LJK786b|iJv%P`+-z3WI@r?Om$f6zr z2iEmpegXr-rX$wc0L{TmM6DtLVjLS!t5Lu2i zCY7hdC%xwsJF&u`gH@Uim^an@HF7fhFw$MyuQJAW)9`Z`qMTYZsSo#P^(D0}MI3~hfCso{S~uN)(pO6(TZmPdy`SucH-@z`oj ziwy)Dme5eRctQW=f5HB(8dgc`Nl^d{QZKv~w!S0jV}ZKHD^&XpbyKKIGWlL}6NPPT z`J(5{u15Fd(%W?W7@fA?vO}qx3E>}tvJGo=ok1&Mkbq?g)I8P(FL;Ix5-Ol^661mB zoUsp*i{TVZ_;~5 zl+5{K0)ZcA)}<1x?Deu`I@`zr2HN7SRxMu|sjJ3-Lls3vxL|B?eTnt95I#b4J&@|3{3w5SSe@))MnsR|JM2kCgX{6*)g{7 zn|@E;-OXa@F2f6rtWk>9zLS_~1^E2PkEB`BP7+Fq$^Nhy5`s$=_6DqIx6)fUI%0;Ain?c-taw)3yqVM@Y*e zDCBt2JBlYFZNx{I#m+SHnE45;{86^aetuHW80fMUT^~9*_j&X5Q~ll&n}3MBi+2Q>)Eb zlR-*l9>;>4BmPBL8q?j8vV)!#3j@9uCZA{Jn&Aumh_v`a(8(-}g*s|rpKgr+IzYw0 z{_s2d91OB(b zc9DEE5G3Q@tg}bKA5^u(c5O_QfFff?3}gdj_sf@uE`p#aRW5i*HUito2JJ{Q=@F{kxp+7-0|J^y zQ=(0_vdT!PY$V__7lY~N&>0@1$m+wb0Dy=BP~oxbuD*29t?i;xL>h{f(YYJiT|P)v zB9XB?O1ys``sa^$kB8KQDAM*%WOhFlZHlI-W0nXXz4CB4Q+wih7H8(1;AZKyMn9XodoI@Xrfm?;+2$xV`@$Bm9iYj zc>Jm$sQ?(L;~kyF#s+Za*SP2u$*Tuu9*8zGMMCKR{2T^Q_^n=gB> zINL13)72qzP5}bo8KPHvw97RbZx$U$b(bOD2op%y4sJAI&0_*E^LTO>*)T}i2!irG z{fcT}DSuv1JmrtoqXT!6Pna%Exyp`=BVU$bATJDtR@r8(gSP7tz6%yn0E0Vz;@oU< zsNkMtf0qcl1G~%~1Z>&ViX{+B7VoC=E7ZwM4VQ*T$)f7YbwFp0xeR(OkE)A+Mzj?s z&G!aiF5qb;SusL$Blx-Gj>3C^OAKDxefmUKz)V5OYK;Iy5shLoO%iFJzROkGQH2aY zz@fiRSjNi%|I^)Ebr@Pk+Qt5taiYU=qX7ifNAlusAhqYQr*-Kk3o|hZcL3cDlW&87 zO-dJ)*@O@M_HV?ubT1q#^KWKx?NWvI_pDJuLvuP4YH%;FXga=m=w*Du!}q7*!y5{Q ztQsLpeTIIF^SNtzPkzy9Sq)fnr9IF#74^{npW~blP;pE#k@YK-swiIBgxbbyv*afa zvt5b2auMFF4=(1j;z3Z*ykQ~&aH?8dlJ3=9ex`AGoG)+t<1-r%oMo;XX>oH;g)%99 zO(v--03gWa!##i3=ov|zZ$r&d&F;PK?dks3bB>Fcab@d5~PYdZmnBI9fNjV*oOuZ#oGO%`pvTtJ( zLQ;t3M0D+y))_07-6!2EVG;du*al2Fr)l#P=7MUhV{@5W>TNys#3PRAet#c_?34wg zY}GqkZ-hlQHfvu$k_i;87^u3Unzx|aAR z4zI8?ij^`=m7vI~WyIhNdknMQY(pe}=k)8|^p^5RdI0}?1S6CP#P<}?*|sL@%}HLf zV*eW)j)kj5#1pnnb>rD+*XNNk<-1!$r`Z_;vkbVu^d}Jgs`d*FvULjK2tb4%ic9cw z{?q0vSCoPMG(86@sv*qELoZWaMkKeZIsZw>rL}u?87KX&aZx3JSj3bZ3|1E^Vi?O` z35bPK5(sdMu#foNJ)h_Ies|6_D2b=Mqb|6`4Vk++f(bi+n?pg7G(a#`b0h9725v;d zt8|Dm_7ZtSPnv2IIuN7T+nEFcxiIU7!kbuikDX7{>TZ6gjc6cGEdwDIw*!L-+VB7d z#mDg#GVgBtqi(ki>s``A@tJmwvAig1gG{8hpfY~L;%y16%LjPo$w)&OxGT*qsSZP@ z;;qLvCQ;6bHbur{mx}%Kmdn0gij%#aS-!N6JuXi~$iGISCVa>#qZ1$xY=)DOnk0vc zY`E(~)Bw_rHeg{5Y}oAB4K!Rp?}F6r>dBNZ-}oJp`5l$BGuLiY8xBLN)!_pDV&G77 zBYY_(n7hYxZZXE6xhsX0el5=jbf3Gz3&YSnuIg=UMd)bX|HbwRPPNO~GfIMxyXijC z%6pRi7i6Bhc)5GiV6ECkrA_CRhi-Id@8eTU^z#GUqY97(0Isy6NVP&wd9}oR6uo1? zB0>mpbzH%6Ff(RMinDxw&WKqWrbda0n&)w^)O#{DCL7TqP9K!2c#*G41mPbRirLpo z8`K&p$}1=YYw;YIo8T3l0g{xP)Ac0)oB2X;JBxH&F2}pp5@|4_V}4kZ9Xood8c!|=rM4@2K`pq$#6)ieS;%~byJ&Gd^oUbmxP<&AM2Xt0q zl&nkc^TwELha+%Ur&VkBS<`W&UGdstZV%JG#1I70-41Y|eM_9G^lS6LpW$g1v8Z30 zGc(49N~VZ0xke)^rY@I>p+$py;%tj4()|3i&Tq4xCtW*IZL2l+D#Cl)iWJ`W;q$33wi|%b9b<4h6&n(rJI^9 zGnM^FR2%Ri^!Q)^4Ar0gAg>A*4T$M~0bG_j%U0s%RYbJhZb|ca&C#Z`Q_5QWkrKo{ ziYur=x;FYZS06%^))hq}u|45VXs0>G#(@$=Wr}^Rbjr6@xPeWk(OrY$zwh@$q+o(g z%V1wz>R^w6qyc-1Qq0_E10&e2!FO$R7rYZ^&>Ec^0OnzzNzj;7S6&GIt(o8)qz2=4 zu-C}+=40WtyVU$(4}3g5GG^yH!O*H2yo6PVKZa_G-;_R{p9);`kU!=+A?Z-hoL zPzrdCq7i9P#wy-dp7hP>r{@bW4;*q_siKo z%$mlo9|ENVh|F?ZfFJ@%B0lCOE^m^kQ#!x4uG$TIj_~cedUn2Hb@Vo1fc6BtVZF27 zqczep-X~J+IIu4+Eb>!HiV3%0zd*|~SA`fjz#Aj)QIC~xitU<3o->DkE(X5@Sftk{ z@EZ7g4Y!5p$iV*oKxHM0;`Co<=S^If9hUl%>o8~DkLiZst8OOvm!B^5plIG~Py@PHM(1187yuV#O!L*t>l;K%*Sfw%X-IR@pVyePT0 zA!^{e=HY6UHK1x1WiFr=#5h&Ml!AvjQzJ%GK=NL|8ay^xE4cWvg}n0ajIce}w8We+ zjNYb0{MIPH%I3wyV_e@p*^;|+C?Mb1y->d?In$ZAaI-csg=}lt*cQKCMaZ3qjs_$SDbp150LW&IK)bzaLiHJN^Mj^coZuv9czXPQIL{ z10@lL=`j4{xju|L*SgnXkV`aPpi1R?_<8!9zVdO-lwG1E9cJ6Vy>CY>p@9_i0EyIX zpur^8n{14uW5%Zz1UrNesn<&-V*VucBwbXx5+JD``ehkWBk`tJMk0l#+9iJQlxdbe zFI4P4X*A*9PI!A6xF8G>7jh0?Ztqg3o`qU(=LQ2Ytl4I+cJKj)Joyp^;@Lz&|5lA+ z;}cgv*}~p4sg>C$Vf9?@Rd@Z{Wehfqes~H8WCiO9u6W#<5=7JG;{IVr*AbMa4znEu zP#3OKmgJ_3%;)g?)&wZr(Q^PSnV#o~|Pc?;zyE5)Vxv zanH9W&Z~{5gdVOG5JnS`(Ur1K49cPwGar8;XT%UMJB=sTyXeUrtr3qw7Ku#X0L1V# zdm*j9;viTEU(gZ7v4$oaEz~tZ1G$k*!xra8AYmeb^PP(-gNijF0~weITq1m%Em;{q z5Py8#Ak{4JxYiEceIRT*()kGp=I=P>Ox=AEM;(yEz_+ zYz0?5Z{$qu^~`5vZ2&7T28z?HaOE~-}SYA~t_@ZKgya{DKJSK{gqTK1NX zjFV_wm_-eIOE^!WRPgkSNIK({>0^nAr>A?eXY5@&gs}p)6G7DWY%F&p=J%-%;S+7b z3Jhpm+5?LmU|#aOLB0(C{W1NHbE-f9sIHMW#7_$IU0#f#_}yT1&9ff2%cIU>+<#8% zYMJz2B71YN_}BwcYr?z$3LHb@H&dzCD@l+AI+BpKSmW7f-NzXqg_NKJyPm=z7pi=b zC8k@#XqTE0p3;hzMsGJmVEaihbZsax)mvn%CvH=v9~Ar{igYuqk*5YUJ0(~eGkwg6 z%u3}2LSk!1Lr@S$tp!t?n#!dCnt94MKkb7P-?wVdl@cALi5i}paX9*+Sm7zzo`5zs zL9n1mTCe|B>ksO#*RL5lGU~@tyAE2|rw~Shp?)uO4zx}Wl~WZA-|rU8n+PH5#yqSO zDY|$UBl>bbsI1uHitd~<_rVQaM834r=mmV=%y$=s!X=!9QU`Uoz4CadJj7I8iQ+GC zpyZ8b$BuMD%mU6(jx`QPzMvMA=QvpKte-qIQk=qWe#vPxKZ{Q|PDhy?mD3f8?<*dB zFJ{5uW9S}XTG$YNW7QDgSmajg+pR*B;OP5uY!X%%n`HT*=mo%wsefO|*>Fh|8iLV- z`kaqkc3K80y}N@BHX2A-!(i%LNO$;mX9C@Lj!Ot9G<-@PUlV`VYLIXU1#tK?eP3pH zKB^HT7ooxGzll~}~?5j6!ssYJ17O*8QO!nHg z`C6u^WSy7jtL|_-PhC!4^OB2DVZY<>&ePS*U-3*g>>z)g14I@RFinm!d#>IlGZ0$> z>PXpE!G{wB=Fv@0TCq1Z_$n3uv+x}jAK4%nGmdR5O@{N5b~UAb=YS(7&2^R;N;%up zyg}uULB(8Mdvc0&kYISpbwgC)ZRHl@%+zG@0avoP)2FRQ>s;C#lO}qFy}hy~M;qwX zedutn;5KMvCT`%?fr>xlB!%IA1P}!U+lS}Qb0aAPA#r!Hj{|EPzh$meO;TYE^(ecm zRGRah^QB81w<;F1E`2>DWpl`Q&_QvJnfyLwotmhkxEcIxLjD4P*#X^wVFxmg zN>Gd(5%T~03Wf~2Tp`6WO@=XCz?t%A`xhk#u7!#ZF=pjL4zZ+Wzkso&rt z{Wl%prqsFY9N&)1qaB-)&S$3hL0ToRx=&yAQ;pAN0lvu;VW42ywEc$cC*5_kS^7@c z7jyuhYQ}7L)A`5G)fhi2wBzA+eaE_)Mh-kqw^ZaW$vPSm&R$uWvWkxdfGfvKCj|v+ ze|}MkB3(IPd|)(k67=A78MDLTAi>Gi}Wp3(<+_{-O`zUl(rJ&Ey;iEXI(j% z5tb%Q%^#H{6&q=ZdtZ77HQqQ`*kqE%WQZ2Af!tYZ2xgf}#Z;jIeCzEeDZvjJj4V+H z<@%gR{bHE$Wjht80&J?W%A}i7$V&iKX1FBj>!d8NL*Drk|3OdJoa8q22#}zrVs}lx z0V3=>xvYa8SuPNIczSWmatwiptv!VNA-cs;7d3tEFk1Hmss-|4-?B%L4mHagUaNO6 zAh5<{RnlMEa7OfrUD|5W!7DmigcuhXjdszj%msP!ext_MtiZQx^%8nGj*5-bhlV4t zP)Nx-d#6bw!vxOxPJl}LFKiVmF9O%2%~Gc;gMM@jODd!wVlVtFOpm~A7_J+5<-fo{ zrF_zHAsPY&K798Tey8&9$#$}8ZjP09Wt9Q<*PjB^-{~|;lgi|WKIU?C@TK|EIpi{k zG3u5(yPd-z3-uumX0pZDDN2^v4JNM8sSN|~IpIbworw$Or7kO)i>hW9!97jD?Sfz= zGoo|SvdC6$QPs2ryHq@zsIdPIU!)lqc=VL5=Ua)8HpGY`61_Tj2`ELek~46IPKyX5 zjm?5J6h2`^9=lsap!2t9(bM@g>O#TZDi86_9w!ch9}MZ59D;r@nv5K2_?E^=`1IP$ zdyDWgjLrp`pzYbx97vUJ7%H(BW3&|}#}|Hbjt3-VL~NQ?zgqPYT|+Rujcd=?k)6Y$ zf*p>el-;L?oAV$l&P#^z%b5va+>+erd0gKB4nur+{;kdm=THeVD54fYppkv7xpj!C zr9-Cu=mQN87lfli-%cNaNZ4x}JNr%2L#IbCkkz~xLA+C><4B<`G{^#{E$7EEK;4(> z-{ubnJ@c#~SfK0DH)pPda1-Kz?ss2M@m~)?R>xCD8B3xB7~ga%8o*ux537DgnoJoq z%=v@lGoU}(6aHw}^Ab<>TheCp-5g!cQtyh9X4{T!SGG0``H`O^{_37bbR=E@k2Fgp zshlrfhn<@a-l&OH6&F8nO&WJapY*&tq-PgTJ8bJ^hA1A}HXM0m37k?Ckb-EpHX{ya zeu9i%jKsnS=j0AteW-A4=+x{y@0~EwP+)h8y_Bu8B>vP@Gb5%`90Po`l>}}(BQ3l> znUrm{+Zr{H=vACf7|vbGqHPRWU@`m?*Cb$Wa*wbP4r)*5yB2D4!A~P%;#}`$--tXy zKGs+wN%4*?T4Iu3Rs|oAc)s4(P-u!43l37w^j>~7J6cwV^-({eWezCJdQT+Rn0Z)e zoQW8d8ct2D=++uq;U>TB<1M}N8v8p0fiI}#rLLmQt(z7BmxHOO#Mf8ax1d`48g5QU z0g;lebByufC&z-Vi-gRG3KTABk4t~uMKSSMqWU|?qdE6*Sx`vyq$|O&KQ4k!{A;9` zQ5o2Z6hTU?gS*V1hgmT7I%4%kra~uw(0_n__3zW%6Dg|-t2r;A#h6I(Hd_Yc9;!h8 zv~+vIMqv#;dkBNx++#n5l7D8~ad`RZHl;!14G?ieS1E@esk?Kw7#@2@w6ESGQhm1u zk3}V{5uvG^5PZ)<70D4o0(AHgQ<;RjqxH@Sa+>VPCFT`nPPGNMF4m(RdA#D#Sa#)c zwBlyvvK?4sdOgd_Jwp*Xc1s`Ia0WF12x`J{w5Wmu#9!%c=nuqL^Uxl(-b7$i5X!x= z-1N;6Ogwna9r70L3VGD~PP1AMWV)*^5z$Q9q?)MUeTlPp%$UxNn>_1U518>b>hWT+ zRbxBf-O?NMyCbL(SgS5x5a)_nHf~35StSO?#fGj3*ph>YV9e~6>s(o;X5Tj!Gh#Qtf9jU`54zzhg@0U^;LD|XL&TL-_a0}2vPK*j8sHt| zg>)m*17uWro+7XD;Ge1GmIoN=)T>brIX{iGbVZV&2g#35OHW6MwF+@LS59Ahsz~4W zitS%+f-qE)N_gBGj!~f(@nHdhQlD)WPQMRi2Jo;XBFfmw7J@ffqhUjQp>!kD{e;Yl z{zz&u%-R9RGH6s7qbvqWd!GNYi0BdQ$(q|Lb)W9cKX5NG*@u12w-=Lq75Xn0JL+^q z0QHQLjVqJIW16sTpnQeDeXh!$9Aq^3fgGGz-q2mR6L9{Qb&nBC&RtrWrqwiq!8b8s z>A3+j?s=6q>bHZn$w93m2`(OGzt1#u+v5ZztP1)+r+vWIWcy**=?AamD^TKG(s6;i zJ=%sS#tywpM-Xja-4{BD>xoKdVkf8UK!xONSH1-FP-U0g@4qIWnJ>}m6Y)3lj0=_v z-hnfB5y|~~AbxGQ09mlP-&_dEs!(tT(Q<#hPHK+p`kMHN@th`N!gGATPLxb7Lksr2ShgJjP{WR(52MWtpz8xvO zM4QFx0@DPzG^Ca(s5V)(!s&bB#Eak+OwPloANij=B;8O^v-;7Y69yLT;psDRs3y|@o)u9Ua@kY7X6;x59?%@;?% ztDcg8$8hXEV^mWW0AAPM*=0mdvA6*^&J8#*M!Gj&c_RGsD5 z6wf(aJZ@H0sCSmb7C%k5EMfE8z59hpNE#@h!Ez8*lvAKk=-AS*AY$6@s6+-U?!f87 zt~0nFbBy%VTLMYx8V9#@L3i(J!4?3usyQ-;Im0sT5>s%e%Dl!msJ2=-t<%Nv(X@3c zkbF-*rG=St7E&06aK&|rRFdZLGV}`SRi6~^AoVMkmwXYjA&>)=i&f#WQSgs!8TXqh zfh8cQ8dK_(w4>Tu-T#a^q{29tqqNqWJUoW@BGE1f8?t2?1=o-Z7bi*^YU>L5xP$*9 zV^=?Exe+1Ob_(aTiUFbK9TQG^(dR>fM=H@B_P}eE09f%HCR(zYbYwv3c zXibeYd!i}Ju~KJj01Av!iuPwGAT{e61&SRq^;9w9X29>=4n15er7)L$?CAl%?$)5{ zhWExJA(HI^#VF=0Q>QZ|3E{D4Nm2bSGeYzGXB)f<5klPwQL`-b9is0 zDB{<>DLm~;ReCG!oL`iwzBQUVRlz{67Iu6pRO#Oh#f5h~iGcOIXblT|T+|qKPoD?% zC02Ae{VfqWv>ZvttB@nx%V20J#sUcSpZ~fjY^39(Tl%@v^ZBTTocZZOFpvo~-rl{g+jze?kYi6KE>caC*5I5|gu)%DRB3A zB2h7SUnw;PD7PB!>^6LA%+w+|US;0$s#&#|dFw!K(40~Xx8U5fJ{Jw%!oIy3ZRZOX z{N_de#ZCzY_#CQ1B{9{!{swi(Uz^jCi?9Ovxj1^F&kF-ZZQIpLEouFlDfj}ez5>bY zkSn$`&T|yCxUaVbUOL}!s_0;mpgRB{<=P<&emum4+oD6g{laeb<&DorJB( zBE`3ZqiCD0;km{UP4~_G$^}%GvtllBAX~;`Wq-Yq+*H)f>;6&R z710UOT2tHf#Uc&Qxu=cTpDirC*JZsH)v+;OAH(% z;Nl+9_IDHy7s6<_7pD!(D(D!0*w4~I z08P54xvN2JmcuJlDR4P3#X|)?h^hyi`6TV- za~%p`PqwN@#r@5O14rTMvJ{&*q!D7K?$)-+cj!CR&lBwo>!y?b;Edz@;oD z{?Ik3*bYTN5O4d@+M@ zYus3=*^q^YPeFaeagwDugGT}MEd30NdKl-hC;qku8-qwQF{Ac3K6lOhP-5>bGmJJ& zI*}XyJ9^fu-0a6h4WAWc))JMPQ+@3O{RsIWDmrc7*tER+rXM+rBV&BkOBo1bPedzO zl{+N`0P2jmaXRkQj?TF!!thvkgv*~^-P&ncB%psA4Vt_s;&N}D4|M@lZ4%$;p6i-jG{~!GQdcDh6zL4ASn0V~66cEw||wwhl`E8O@Z)1bT%^yVfggU=T_1 zaX9>xlJ=fgjeP4Em$_nP)zI#d9>~TA1BH^`4EN8kMUix*`Tf?>z7EO8vGxdM1G(4n zwc+MypLBT>w(W))1iJMw&upt$WljpK1vi?u+#nAl1 z{#77=j)@o?Y8@c-Pi%Ky1G2t^-*};Oic`972hOsH@};VB1~l1`<1Thn4wBf!I@{b_ z#(0MthI{PU#+6Xlj6#i>9znGD#7FjX&-BH{+6FehP|d1KFW;@#3k)9CRg{sQ-I(!t zmd|SWnRDSanuNodHUkOSze zep|H&TQ5ANFzt$I7u^vKw3|*b1j?zURR^67mK+$W(RL+q_S(o{+EXbLe{c1ZmZ}17 zLMt*1AFi1|gTmq-1T^jqI?KNu#x<3il0sJDTTnA{Z3l@*u0{o9-dqf@9ei2?u50Ol z`g{~6*uMOr3v?@F48?c-3$-brFjQX$CN-~o+9C}zfDZ56*h{Z@ul_J?sL#aKJmpOt z01>0iCP_A*M_KjVVAXEu8d5eBPSuOG$c#9AOT4)Q*88BQCZ9Kze0FCipt#s^COKLd z@Z*GI^kkZpKP0qyI(i*GEg$-Y0pl#VN}hL~g=*t1oeyH5wZF8UO{h@kp)b^_(OZP&eyv}a6RSq9ZAko`WSDASw=%GI$`l;5}qq0 z%*)o!4uxw6y{nzZ!xKEJ5PMmY-omSBI#@A1!1EcKri0-Y{As);G2=Hd+RGg3uY#80 z)+d)#Wej&jB5K~vjZ@>dAnA2U)z11|>DxED-xYA3$=uMH!)6Piz-&Qei6bW20&ZX$ zuTn5|c&b&vsT?itJxdA$6n_@`yxU08IjuVY z(Xs?u;be+EA}Hr&E6EWAHzm0hDJFC6&GZ-(VQFYlRL1lRO{6@~Z!Hur+>1=iccG87 z@A-`D`TkT-+-w7xGX$f+?u1Q*o7Ry=&6X?_($WX2axG9%}C=Ny{CAGNa;nSqyWbc%!Yen z$n`@7E*cC&>Bp|4Imr`s`x%_8D_6kkr*rq=HLlj$$iaJ#|640Q@6kH{A`vTA-`N=i ztR_|?67ErQpb@?9Gmh_~bn=M5p%+!}kqUF?@=dop);~;lZrGk{6q$F%kHcu^lgMlD zi2ueLjGHr2yWTzcu8QpqL7Ap=nk`O?XUeVxX2TrzEAm$=9;~vv!}N9HKJS1I7MU?K zIkkvoKnjVa^~~b?5?Rj0OeQ%_koYB{jaN*eaz6)C`5JC}r0c%R59*CTKnx;wfOr z*MjP-=3`w_JK5k>&W7T4Fi!#Rgj6a8%OwKcW;2D5)r9SV#jDouO8B3~Y3vib+3!i0 z3Ps4%XFu;|*{+q_jGgSJ^+2n*6eny^_P0_Nf7|e5X7^^|fga6WLxk4QgEp-!ys!y*k2TP|JKX z9o`LEQG}U-z1AVHA1m$~qmMH_sd4Tr$(#=&6lvUIoida^ISEpAf~qyVBCo!kP6K&^ zkeT2W%3gfKcx+9dHGphyfv)cW!BY*rhfITi6lFE18x$F9$Y@b*0X&zI?6BSuvD!Au zfw=M7*J%W7{hhGU(@SC0%%avuIYENr%BnI>QS|YA%E2f*nQ#gU5|l40KBRy6-1Jg< zr{mT**H*Ai>SpG>q*nY1RmfcdS}^_E=7>Fj14a)m(~DX=9G##y1DD=57+3uZm~3hlv&HYnb$E z*VguL>}~Cjx5o34w)qKwn27%VMNE_19#mgZUkd4CX~muJXkzRpG!bFbyFdrCKtpw;ZMv2XQO%T?*d z*I1`?RF6GKS4jvs&qW;>4kqZdg&`9i&-tl9@-2M5;c&$EMOg@Cd|W~_;`u%YP%}dv z<3#nB|BreXlh)jgo~^D<@-FjdIPW_!G%*h(N?MQaL8e;CNExmJHn`E>7Wl8F<9EdK zkm@{DOIBGG1B4b;D6a}yvVV>%WIG~TQaTMIp_)Xrjx~+SvC-s(gO?t4AIHq|MX6%A zq{o@4Sy>V9vjIC#IkC!6`^f#@#w+Ant2~XNo0A3NqwRu#0N6=+TBeAIog8b0C zGuOG;nxc>9`7Sw1?kVwJJ>4?H&>PtK{BeUU2BSPt=2=^EN*1R^-f6%E%V)ZJeOL=x zsNb9a$O!4IP;+=QcT(L-y|6z##1AGeFem{&uz4-+_=3EVL%@_IRi8( zBvVlC$j|FD^^pP+EvdRHWXebJ1Vju>G%^ESTJ>O@-r;d7GBwF!4^f@40V8gvCFAH! zF#rp=wpxhaqOoqP30(zFB|!SsoBF)~|63?gn;v0fY}5gLZXR}L8Xu;7EHTspsn^K0 zA@nM#F*-0(P2_pqyr?+By!=CqJDrEMsp&qLz zwz9GYdwxT4wRhO(rbz3_x@EGdJp?4}qGw#Rb_@Aao~;nxmNOv&l) z9g0XXeKaa24RYk&aP7x?3kUs*2+XvTp(TIsn@{-K5R9wIav3lF&0m&TOl=5p|E8+r z+qcB(1I;8bMg+a&=pvL2rG?!d^IBlah!7$f91KFdaGxQbk2S@+Q_p}kEVIm{9btN| z2g(fDD!pHv>7tFi&1wl63#nfHWwE0`p1x?L!fdpu!A;XGa(N`Yub*I6UD(50b&JVBE z!i;V@?lmYW27t}x4E7XS7vy4QQdI4CM>`=~Ui3p#pzTy?!J#+gU1A9aCF>v zo%wN-`wZw+eQRKI*M`*xhIm6N5IhdWjUJ(-W^Yx@U44}g&BH<6Gh9zy?!LIZL!^?% zq)d6UGUGHufIgNDn#!RQM#l1+iLY5YZT!bF0t{{bqg^5@dj17yM@MAgT*uwX?0&;G zhD^jV-KxkA%9tDal-AGFZdY79LGz06tXz>-N>hGUGaT4##V>^Wq%h{={~<|M71x31 z_^Qt1k#Pj&<*wS@G&$8W_GXlwqTrV z<#xA48_F6(?klF#j2RSmx_eZU-c~%5pjq~5`yBMf3 zR#@(g0$m3Pbd>t0c_*CoIxP6zz8v($u!b_$V+1vn6K}=1ZcmguQk5aG*^S-UlMan> z67=s*tk0mWeBC|7sy4`->_<){O@YUME>b?7id8Zae#Sc@2srT@4~hxtqZh&Chb@2X z?7_6SfM5q}r)jWg2znuCOepNiBJ<%Yhj?~0MCon1xVx|g*PeiBbF$7HyZGrz0S8)N zzyJ)d-NUgqEn{G}IM{;@JoNCub(vPyoG9Dut~>*U?wQn~Enhg2Nra*c^nmnwwo0Lw zHG~d5wemlD+cB@=wx)k50JPKZpfY;hbR5m`PKenTJlw$g4L@8O5KSf?9}iY*+$v1< zJ611MK@!v*3zy+&5ehQ3to3{K*7z^tF}$IZOetzjA=wI@;>^;c^<4q6J#;M{A@6vKcUMud36;XvQ|Gn*Tsa)Yuk0b;X~@0e0I!6?#X zaj~e)wxQi+hNZN1*<_9Dv1|$TS8Q+3=cP{C4x41{6A-`e6fz>FlN74TF)O0SXYQE?4&0>%!j>7fuT4|ED5!0Az-k<+<0qGbKXA)sNC4-u7{N4?!Ayj5?Y z0DzRR6}AVdbgU?OsB0iH*9!Q__CVgkNYu+m zAyi^_@Cq6Ld@P^vZc}#15H8@-RCofl7$-tUsOR*eg~m2|Wic48dLIEC_l!=u(J4FQ z!cqtBlt5DjoPf+Ug`)|MxwDu7U&^77fGD~FjSsZ^u$wgx;> zSsXsb*i^bEdt>48lj$YpyQG`WUgV^mc|Xj#qJ{FBO82UhKeONObaTBx1$WK#cEDmO zJbyLAe$7m~9GoDz@$UZSRYk7*=2}yqi4l_TtF884%|MgCKW6HnD>Dt+)@lT1Bk*o= zS%7P_C7-(glaGAwgu~2`7_~IzwM|&` zTO!6Fvd9y>lSO?W%EZt18;*tFgEcWTzY-lH6Y??!L=716<~W~--dkQ3A0(RBxBY3I z4?Gr=Zkotjz~^6Imi(V)ZSat0Gmj*h2L~I|LFFV9vOq;xEi`<#MU$tfS=OPb&RVYh zoXHv04AmQxz%Bo3^QnX@0?30~D_zlvm4#>Ck=(%cAn}9lwfADbJiS87THu_t_dg?Z z`md*{Q}8)4Kj4t~$M35Tiqp9My?r%Wa7$I16Mv;9IPmYWoBv+PU(MvKnycAf6w>AR zOjRF4yi<0CUU5;IZ-;V7bDAK{c?*TQpbb?6+FYu2nX3AeS1IcVmA%G zfNTJ3A(nOH+X5`iKJ|G%?$U5U2M*blP(XUp_okIB$e##uRt29g>!!)_i4S$z8 z1Utjj6SJyrols}OK*cLeTZ!Ua&59Fh03ZmdCqFRW!}7s%Yy_dl&H#tW@?BoVzw+vS zz_6`+CyxxL63MO=4o4*+*;vrMZK?kWIdWMfvh9083Jl`@KWhu}ScKSx>>@S=;~4$+ zfHD}Vplsz3JYwF^H3)i`QJYS&fY*4}Wotc15vuVT5`!1fth357W;t9@$qGF2WCtA$ z6D(A-feL~V?00n1D1=9==daK(H(ERGOnmXOfS157nCdpaN#{+8`{z!^%pLDs*vP)M zxUIv>NX21-tuuZ*mw4o+#OmhP#$!gE1vXX>2WMVq?;Ac8L`_r*^uwTCnLs8E`uvn7 z)lnt?+_%N*{qlD2=8E#~$$XOXTrY0BC8@@s^aG)ou^O|MSBQiaLDSFlrQ;}tUb^Dp z?q4u|!yAeNx#&|`;U~BUfsxy}TW~QSG7l*Ii*F8pu{$o!`~E!NQIzwO?ceX`kpTeyX$ z9NioUy6<2TTn#=60LNPr2adBw^k{(yap_)`lU}UfUQ0EVj2IAtiU-9X#A&c&A`+|F z(hBGGNrfAzgcad3lpkC;S&SbRj=)NG1<>{)H1E_F@hTA7dRBZ6xJK$m#X;E_tFl#f zZz32qPGt4=Mh|x;*fPak4MNEAw^xwG`Iz)!3G{hLH57J*B#m{5Us>BQ4~Wbu2{TD} z2eO+~I1cqV{JB*&=zXh>5wksihqX#wAC~Rpb`V9(GQHECi;5$~3u>?Ekw*Y`oIVzW z#tRD7kHYddT)_ntz~TT%`Sr*#zHLwiI9a`EPL{|&B|~Jt=XRmV#4XWzH;C!|i!~~v zohtw~=QO-SCnvde*uRP0OSY>(pOV+xb9mDo7XR*_$& zG8w30c^Gd2{Hv?25n2{Y-ARv5(z3kHc9QenW}{mgn~P3=?Nb7P)f#D4cMDaQ;Edo3 zjJONBD-fkgq-}49TRMG1u;1Td$bf+@kLXbE{lK2UnFYw3Jh>LP7}(+z_>KKk$)--t zT1LFwVA)T6y-kr90)RW5GV~46$;$rg{O*-pLywp271H7h^2eEFr<{Sf&Je5Olq*y} zzbpwc@5B!PBY^?sfQ`FhPMCMoL=!ej1)pM=>cz3B0_RK-S9US#b7s}yBi{~(dp0rd z8XI?ZuoR}`y(;aro8b?!zHY?AJ0)BPhcTrjfrk&>vmFlP)mFgnlflpokp!AKs}qke zfu`GlGwDX*X?0l1mw&-Ke^2<|_w*rH>^C&hr_Eg2Ptl!ouW`C&I_Fl|OsiQVv*wlG zZYrujv|%QsIRx=*td8jkgfGcj{KQW-TnC;;djsJWg3K{$@@%=*=^z)0p~VJiIgL7I zxb}<(PyJU(-i{)wxJT2>j_>Ts~85|paP!-Nqo z`_y z7+TWgsuP*_eZXc_RHDUey`@5-Pm<9vF@|k3+@k;jAq9iGZTDs&OlLBxESPQ6WEZ}- zbnsE&jv;+rR!^i9=eS#17HP}D`mt9rtkr-!O9cg~Lyt~c&r=Fby>}SGcc^wnIk6158pJ{kAyQ(wF;j`z0e$E9JFs#nm&{lFu zuw`}TA$C_qIoWhz(}^iC)?qk)yNqu3Nj`&pqoF~>g%ju<%Z}2HGiOsIV?5)EE+~K6 z6F5w>1|xoqbTxQLfsHf@l!)d^6@A<(b*rfXZ*PJ@j=Si1@WY6&N%>#=Dm)=ngiPF_ zXoA=j5Wd5`BcKXdHT#NdjfQBBEY&>;3y625qr?2VvfdDoJzaR^(IVf<58-;WXw~S@ zB(YqUsoMRa`qPcRe)vg418@1{Tg8IduZej+lJ(kY(A_Q94f5YTwoy zJ-LuteL!OC@w4L}bP9OWK`gyQZDJ-RwF~C&dXf)$3ZDDOA&BfKuoCZk+*StCO8kX7 zny|guG1J&NJaGi$@pRNM7#HGP%bmL1dP4K@GIF1O9y#V0PW$azw`Ki;d!ykwYtxUe z%DM~aRJMs)fArF~0psWglIiXH^Hf27FO%zxA*MPn8rrlLp{R+JX(!@c-P7D=5Ce{ zK9cbE`Cikypv$91N+ru?VZfyyr01GLautd~MQCk9eNsDfUy=%)U1E0pm-0qUqZUmk zi93yt5}>2VL&INaBpI@?#sSS8gZqa&h!y|3k*9;h^gywV;o#gW=xDO2yG|QbHkD*z zoc)}vBzHd6wA&Gz?A=XbW1`%FwlPXbN)-nlN-KPdHSe1DIn4+ zNHCoj+o$GsQpqgY#oYD6eUojuw#`wUqks!Iv+o}j6C}l!beh*e4m$2z<%r3+OCRph zrdyL2b5*{FixjMXr2%lz9h}@0^lqd=7e2v%MKlb@L~y1IrTvf2eIVrUKP8S z3Qm@_)$f*kiEhW=A zD5OGVczmd;g#lR`=lE03EKeXZ)(iflq=7y>6UplBBXFwCUTx^H7gjU<@YLbDpH=zk z@c>X44({Z;EAnu3}wW{PlA21I|`8rQV3V_-=Vbk67-G{CA~nl3Y6+a6(Pg zyF}ieD$e+3$WoS3^*q8+t|$BV4^i2O7EJU~s`mjv+^s&XY`hV6j~VMz?^1JT^uys5 zLJg-DgTz(tziTf}2lh@0irB=#^)YoRe2RUn?ypt9{j%WorJ9Vgtg_ zDnN=j{PrwN5(8HgCCf1?H0eGQf*yp?-i__DCM)c14sl~_9#q9^`gV9i=AM23iDptb z@iP~o*lO|DCgA`gK;6HrhqsiZtX-PrGbvY*$L8{a=;sMBJp-iHE8S?(rfCjIN2?PP zpTe-!%q9$LNiMO83)MWL$-P+#n{@A2#`l;E)^t>P?o@u=U3ve`am2yeklSZ(geg1t z7ba&(;Mi$BT$;h1K^*Kv4y%@d=dujFpn>pS7)~(j$ay$$n-ymy0HeT3J|N>%2}3(h zQUG{*V^BaiDl{P})%VMkptO7l>lwR4kZMU&bIDcvTeR<30MEa~W#sq!XDEh!mcWlQ zMS~es-2w=Tcg0Lmsn}ScpNG}VZe^IMrjye0CO(JjHEKdc&h7?5I>3h*<#U>wYX0jM z@W1YRxxg5__&82^<5iy93OFsm=R$B8wvL~UhrVZQk^A7d$v3{Ev$e}5c+8dII_P6g zq|t5|#V}699#6BB`5;xQ{edoT0KVon99NGW1q6~bnfK}9xnYllST{9R(Ka`iekIQ6 zhFXXA_J8zP6qcd8@H(m=8c!xBPi{Y)( z_d5x^eIGx%3s-O+SW7z8pai=!q`ODHc$4TXx8ZXx!z~uiA=dc!* zF@Eck2H{!9E>?CupUDp9lUh)M-eAVSf3AzBbr!fX)GQxD7fd{{xZh~Q{@GB&7lx+l zW``Do9vFO05R_CQ!8&o&z%lb*Hp+87zXpI6cvw%FTC1+E#-}>XU@+3DAuvl4sF!6K z(V+fyiB*Or;Z?I&Vbyktp5-m>4)hum9G4Wrc!qo@vFCF!1<*=6cn3P{BMeqs&sn{9 z!sryI+4eN8*9RZa{VF*++kUm5W%W%TNmw>+fQwTyBNM5tfz=b6ZXh;Y-tM?qvS+QB z(Wg?md%^w)+5}bQ+I_!lJG>cG<=d(jd%ajvGL#!{z zYh?SRkcS@CY4s%!6(u_vPPh&~J^nlRle`AU)hth6_eR1BEj~?4{!Z7znzb)cZ2&@j z^oWud&^+TC8K5`V^cMY5XkCWnZCAJ{Mh^xZ5&EEjoqgted$1#hSYmjIid_~#=<2ZM z-(wLSrnhbDFOV#+EtzLjjj zY3!l19&LX-S#*3zYUGAq$Rzd1sb{|R&oSv6r58mYipE;IZAPEhnt<&%)BZGIqw{UF z?|aYN&Lc)=o2((XNDK-a^tL=Yz#H(f-*FiI?Xysug6R@%2B|4v$KGg6NXVNU-9)}F zbWUykw#1zMPi%Z{5wZQ!wZrc&*C7E?8V=Ev;`RtSkmZ1;>nEnPYBW=&sa15TSX!Nr`a>3D=iBIty zk-<2w>&Pb=MZ5beMEV@%mc?4d^d8FK-5;jqxSRq=PjcK|C!PMAr2I%`N# zhH34`JV3peJs-FokibN4`=w~h(4sm!3Y(j9n2#a&`PEg338o*n8{B@@NBMjh25VyY z{0}JA6!S0N(qJ<;^_G&d&nnjPl zH8aOk4K-@CMycuH{1Z(Sj~piEKHJ2(_*AM_ZazTQZ3@W2Yao+yU~F~4*BN%=M4ZZt znDqo!6ETKoSu{LO$+e0u3W|as<|bRxTwoq_@OGorMp3-S?+UQYgRblB@ILe85&E8n zgWrQ)v~RAEJg}Guad%eLHRce`6EwAWi>&P`srgTC-JsQ}2F{HC&{U9dK=3$7jn0m@ zGEM@#K?q+*`VRe`oNze+dj=wiQ)zWo+(XRhp2-r;2ZcI*yIC-VE5Q)oX;_!2JD%6| zZul|fXFZ5|R0$Oxmc8JMQdjTp?Nb!ZEpnfsJ} z&mso2%#Gm=ISxIS3ZcBY3#z@OyM5C1UL$plPF(iNlHj=5vFe>%$oIco+sk2GX|^TD zLlu9Ko*QW!X3|(!)m(2ZMSt@gLSXu z&(dhN%=GV;3*Cnl{{Ly#z~GZIVII6sez1*)6mAX>mDFF{JOik`o(NLSgJF0L^Szi% zlmw4UGnd33pxL9R!{pOUJHqB*UkGd zh8J3#=RzxU#KWO&2dog<&32`TyZu$?mCO@s44XzW*cN){2jEramDtUoJe!$8jY{Q_ zK#fWm$=CgcEbK>85ur7p8{?2@cKZ+2uMo`Z$?o-SjRwU2A+@oF+{xzGSwZuW%2dNb zkG0Oy2o{kar|Uc9NpPy)#_g3e#yATL*L)m+y*k#t35|1L?y}G%Psbs>9Mj|k-v<*^ zl0=>~wA~msoSm>A3=CvP3GQ)2>J1LUusB(@m5h?J=<N&`<@P zt7W$=y{)K026mgmx&3H$lH1l+u7?gfpd3%K!Cd4r$MsWlngrMtW7rXi<@oz95N92_ z(wNJ*HW-j}{Y|6VTUb_+29_)$EEv~eF(E4hHlLQ06bl^@)P z4@=LAxPsQP&D%U|7StBXbeDSHx_s zvO&&KXKK<95wfA|y_H^dH7Piu?Cc&g>H0$dqz^g(=9TmPxs;%2`5qxi_)J*j)O zC*vpNM9t@Bx6K@E_)Hl`C%GVrq0o+J(i~D^O1h&b5@GYRK%XAE$z|wDm&T^7+x$C= zrL0C*vTK^`gn;jFxa-$>m8bJ~;VouT_&JJ8AJF0`6@pNd>+Oid7J|iB!;HItYHiGB zrYnBSL@X`rnLhog8QT-)CaMK7CPde%lwr~!(8 zX}DI*sLA)L4dEF_Z%b?9CeI=<9($)qDx{3PnkU5y5A+o>j?TuY)J&ah=_Czz_^7K{ zUXkJ<0sQEF_G-qzwp2l1mWx7{vP(awpd$;lP}V7Dz3(eR}}@SjoiDbYV@J1k5F>VuB4v}kfFLV2xv3*UNF z^!(OkmfAI)FNyapJ!F~eOqDJ94BQ8zri{9UP}W2BAW4Iu9h&oQoS~Df%B3S|h1r%M za3;ij+!D}%!y<9WrX*fSBA(;(__Vr^GzG)QNLy+528msOy zYao_ol&3uYW}9Hod;g1!$-sp!csa+G@%%G$IM4%Sd-ech>#_7&$^~H-#lCZ9g|sw# zflmLD7DYGH*{V2rEGv#N50YlbIgUX9Xtwag^~=0{t3Bn!+3`*}rb2eIrADfmsZx25 z+rVj63Ge9bL5zj`pAcYkV~XEyMxUcy56`<{Vfq*O*CIdNQ*uQrl7IKW1kYON+n7{4 zV#%q$kxnU6-jF9uRXi+U>qhOv5G{Lf0vo1d~?bG z;vIK3#4Tt=I4_5{t)|?{e^I;7$*erkd%Em(tOCL)G1paiZrw|}Y{?b)ENI#UJL9nG zhd~mMaV?LSBl^FEB;#&?U(wUf9?=V=$N7<>m8|)W4rfg z*sg6@P_J)?XSC7XKkzTPZiN(l)$B^wY|nXT;@7f>)xkUSC++NITjOAB6`WmFFFpS-mh$z zAk%>ruu1oEqMf!xKg?GS5C_~KIkca-3ATxE&hCWJ?g2AOGhECHf|%>YY(&okML{?FEwt}pSHo9NC8O(LZbGP zCZanx9ZkYVJvd&O7K1_Ohg@%U*Ti!30G3asPQ|*xDdmP4FYRCXhdaAdao7$SA^tt< z&DU1)1&DqOLvAZ6!>5z=l+|Rn@E)~z$#^_zq$9$As&>_2{NKHTNG7q7n(;~!bd5Jh zAnP+yMd>u0xzpu%mMT{Skfifag>$sSR?3sQ_MSpH}<8yIqn1zDV6CJO7hX5AWM73f#{sK?;6zQC4Av! z@OcxMKo0*3f6;iFAv3$&eFEyc+cLak&fIcd#D@+1+o!(y_G6w}5u2Zw(JI0KUucV3 zck{E!ys#YdPYeoRpNNkqgLFs8hWbWTfnQJ7aE3ea+ z3(EE>maq3#zhRY~%IHkoCdDF4LVG0_qD~Y|F-u+g*@#DxQLS-|HnV$HUhD&DX++br zn8sK?<6>74MeW;CTWNBwEr*!+Olou&9j?M1bg2=wWbiJ*Rvq9#SgUN!@3TSq*^MY38vBbdaFaG3AyU0|kmI$@4jv<6^3XN??7A== zmfWgSO!N8aK0xcp!;83>@n|$DYPm@gcyy(hU8b42zQ>#NlVk^npC@e`}vhCrdg$nSR8{}4QgdC&u8a-r`p^3aR41!8si?HvLKW8 z!|ZR};#m)egVwcy67@KhKXUr-nQ$3?UIpr%k@=(ZPRm!9TlFY-|8cne7kuF8W}2md zE!t=A`&(S;#}7S@JikAZR8U2mC`4512ZTpH#azVoRmX01n(bW5d+N)OHqj3h_VCcQ zr&e;336s@d1HV6(JHD3J}&|o(^Mk5N!U7nvlu-t$PGtyjp8n_@4?8LKf**WBKO`xHo#Z_t1;zk4dyZCWz zc*`Iv9e!bwqxBs;O*+FRIm3nxHuJ_E)#A&|!(q7vRXM05>Cr8SNsi-`}i+1#= zFCR30Z($(e1;n_o5#Cs-D=lC9;jMHv0FmPt_7L^jTES5^kipO&IULJoj}x+ z5!8iq*@c!Bx!4E9-57?>ZJe9tVND~)mty}KB5nG1SPOt>5NQk!drCwQ zvN18I7RY06<|He|5lISpNbzW%Sc!?fw|%}dT(#KO)L`P>lkgDxh-LE2^v~^adk*Y< zeBDzMo)0xis~5)5qRtc72XXK$e(5r#m{1?S?XV+*YYxS*?Wfom4|(=OK?N#X8&vH` z@iMbkccAW>2-v>$#$*k7ETKvxOejF(W(r9E zxmvuone474!d=>B>{HtPp9YzCNdO8>jv*Qd-{s?|PU<2?psefoq?4QV#4!*0+Qbv= zMFSnaI~P2aVCPFJn3!sC8dR@%$4eNIx%kAh9;Ra+M>6a_{1T4R6PD;rL2i6}FKuCJ z(2Y5P^D<-c6ti+xcoyB2c^mfz9(^L&?sP!127YUoYG39InPyXbWb-E5|2A2QSvg{R zsUc#ONwJ?=$PYBfJIe=q(;fUAwQgwl1scibM0K=x-3$&&`YnIEoT((i>)3=A%ihMB zuPq_)vP+Y3@htgiYDC`}&UFZU(; zhbS#pVih8HH8wRP#{!BtiTW|wCFoeoS!ur?2B~Zkgl?ZPIamn6YG*iIP`y^+Z>1B5 zBh}wfeDGeTOHUO)eF17js1VDuB_hBP&inXcIP2oNCvu8Q8tQb{*vHcr zOdk7Kl4KccQh6f3P2>s4HDNWR!kIGu0x+jC@dSvmNwkcpn_%MHpRgd<$ryY~99llC zLrira-rMP%8cOfnl8YhOuBP(FZq(7eED3L`>{16@pJ}hIaH{8FD>*jVb?OWg5cwifW zyfgvnc5he^!-z@9HkuQqC};s1PoA3KlUf&-9O@ddu-Kf6JR>LDu+T5@Ed@V%0?Tr(l4H^ zo9$TS4VjMCxKeOMX@pFe`)UGzaMHNeK_Sk}@s<=s=+irUf0>HwSkuyQ@YbZNcjv*P z-~H0CGs#+NlC(%(!DWaK!gtA8*6F)QDg$t=Jvt431Fi5jZA}pBfKz3ITC>1G^r_8?3f4TG?hqKNA*uQ|AoP92fCllZJ-Sp$Q22gg ze>R)Kc|P7DA~JMIEY7!k=kBErT2PQ#lA0FNI-gW|Y~ELJ$4k@f!c!PfKN>-oWCySE zrh>MzCj6CYK`^XLVyWre8-;|%b$ILtgcJc&K1YMNjU~!|qUX3%jWq403ZOYoo^w}r z7|MKgX%49YMLc%8Mzwe!TJJ~F<~t6eGy$=hL&@Op|t zk+aDI4=}W2(2ECrlUbM=1ZRyOjYG^OaQ?Go6EOcGy^+n|h+8Vvy37agoYf;e5u2F4DZ>%R^zApPlzwcEmZQ9+gOd<`u@t4Z zUqHRs0g07++548U$HC8{V(X)GM{d7uvTRUWOSW<|LXhkEowOO@(U~c2GAJ#bJpF1%H)YD^SrjU){=Iwdie_m59$KE=<*&`_c&O(%KN0xdOe0{oxxc;Q;Z zJ0}(+qnQQAoI;bs_;*sR3K%p0a1#8yFevs{2lVF9{U|>mJsOtRB!E@~n0K{Ro6F~a zA99i499e*4;bfbosIV4RY#Zs}{|13iS6Q`aD9HO9xmDaE@D`=tt~p?dV?_dt*`nqx zR9t#(-6T0M+nCv&hpSZuA-3sj#F0^mu1)NX zT|_uhU86+vUM6V5i6b*v6w0Lz6sw+&lX;iH;|-AXF|A29U5~W_3Yn}Q@oV74dY=*j zjZcPJrP#E!C*DAI^N}p*I4(`!jL7?(JV*`j;Ijp#GpmOgA~_H&Bgy1k$aY9Cl!)@u z4LiR762qb+Z;a%@uf~cIG9eT0f7N8~+U5n*8m5gRwR>9;9pZ=tl9mKf`wMu*fO-X9I-K$d*+uDj^ zQ-hgXI+`*w0G??EWF8@QjC{nERq;3l=+O>cju8CM#RiQClW!MT8n*5eZFAQ*qB6fu zD0Z!uTmAN6Rz|S42vKN2i>4T9u$WW5-^;_59`x1sZ{V}IU$}GQ+=Go@N9>c!%0(Ql z?9BqqVlK_vC`xWt(Kj)%9Ek0($IpEcs9b>$c_k<40x%kYD zz%pnRQ!{n?z~R#I@J-q{J~!JniPXtjh|e@jUX6G|Z?!bEaq#^u#_dyq38~X2=k2fC zFc@5oEgp(|HPKm`dtb^kDjajuw1RkLW_GriLCryj1rHIJj(hl|V@uarjX4tCr9nZo zF{vr!F+b{8^x}DdFhfy7Qtf696N6hyOiA?l3+B$4=4nnxkBQeSsWCth+B}6)B7MC5 zYXVC%VVPOZgOq|tddkn&s@~<>2*iASD}WP`r7_~YlTQ)db1^5SHqyn2meiEls>OUU zxS|&jN||NHgcHG)wDJ=WD;G${Oep^);*f=yx5otYV$=5#U=QKDW-C9;_H?_GF;${@ z>>ilp1qF*+_iN?qtzZVolxXoc^nXRHfLw4eEb|`*K0Wx3s5^{ll{tsrLQpDv4=(%x z)*8Hfdor1=#P_DOYYd3%ayxMgx4Bc7$g53v_~>flvjK{N4u7E2qH7+_n-s3X3=AWQ zhIFso=y_KEcpsvoGd`IKV#(}kZdP%Z_1n|j9kz)pDe(k$O2aK(w^|Mf|JTo0o}1-5 z&%uUUqU&G+PC|+~$hf;Mm65vH+#wa;ztw5DFZnH&T%FMg^N4F6AjZ!+wap~o{ z5d0tO8beiWaqxbm^E8(5lLStTuN?xno<{2uh}D)#dUTZbxg~VNSA_1)1x#U4C>?-; zFMUV2BOEo*e_XZCLlE7_M1)!a#=omkOazY1ub;T1Zr;g7MO}Z&0fs7)l38FWVrlVi zs zK;^dbWDmEu_~Os`)uh3{^f+>=ro2YR##QIk-1LEN8&hG8Jz*|%z4jaQo5EojY8<~yG_ zQPH0{jGX`nkBX6oy+H3Tx}*5DeVv5prXEn)5n($&t8ld$gz9vaCIo0PCeHF8__$H; z2UJ~X1zmTyfce17w>yddtLzKXb zqJo(uLlV;bZoQApD?2!-Qqqa6pdCfu3k@k5+B=XL7`&O0EkXasmLoum^HC((UQen3{C`3N(V#p)*_44# zRAzxKVT){<&S<5-FBNnYEn)kCAr@=I;(m7$+9e4AVBs{SLJ({Dpds*q0alJKpvQ}X z2dmli-_wki2X~S6<29T?_g7-Bv{eZik(%7^UW-Ia)yDH)bEjhzh7o`ChHIcnsOY+X zu?*PH2yDe45VZ^=wC^LyL<8j1e|tQ}@row|e@xspKu$#Kj#06NT}#bW%&*b>`tJ7~ z8$K~J%bFXzp$aaT2qZVOO4A7H?pJOkM2%y>K5>LOf#Jmiyrg5cIjS0OvXz;0WqC6e zYT(!0MG`{YxRY~k+w5QcZm#D&ZM6r4<*HC|2g{hzdhhVV_Qcj34_vGTPUvathQp7T zWwKqJN@_*(R#Kqj#*3jNfG&qZ>(m!T1YAm!ujoS#N-2Ybh}~dBeU-Bl^}NzT3e~mwr?q z49lyYJZ)*aB1&p8n4OQQwf45&S%T{S28`BK@9h=G~Tj$x{=koD*p&&zzHvP+d^9qUWM(7{Eb|M`qNCG(PsS4Sa#(Fc-X)OrdL^edSdCPU1?KPQGYr zkp`3#OZKuko%9zeuU$dC|AfVZ`S^$%#|ARtYJcF(3cMPZirxesU|QG;q_&f=W{vMR zMcI=1J#vLC!O`c!3L4{$u3F!xbPV>v(`P#j6V%J^*o}#_zBCiSQ zwRmUa$9?Dd1&OxsDmIqc7_*G=C&k#sy$mXvABYnRhFrSzcG1v}OP$8u6=pq1rGmbO z=mD$1bnSKYVbBnmT6d&?^Y(@TJ?v&znFz{6$;`X@O_9Aj?92tfk&oxrSW}Kp>GbcH z1^xdeUM3_KtQ+bT{eSp=Off>jR?dJ9sdwHd{?zrE$XNOi4aYSGb@sKMq0>Xqy`+@K zS(L+vbZh?8+MRz+v4*|iPW0qkP3D7N;FE=WXRc$ELFt%_; zTXMY~W67w+an={}x7Fuh8|6yGiVD8;k9a^%BoDk;$Rf$4(R`El1f>|MV_}$2MtVk= zt-nNd)lJTQ2@ST7yM7S4)3q*GN21Sx?39zBjQ_GV(N5fn<-)m-qeGS(E!e@6PVHxLJi2mE*DBsNYC;+c^} zgDkaoOzl`8-_9>>#Qs2@Noi58jDnyx)PwqIzigUbS_In3*ouT! z%o*62k8>UZ*GJ$@i?3E0*8L*ad$&I3Xy7vZjd_a5?nsB$_t+J(5W)RWaw%M^Ig3=S zy0`&P78|Ys5I{*x8<-Wgw|1ZA{$BG4dVdddI)0dmC3Vc-jy$-Z2R^~<-N9dwteHMeel-hL4Hm>vtaklZ1}xUlCF%p6q@_tgX3OUkHqMfO8^jyScCM_4-}S z;PZ+^%zrSfz+R+W$u@+`lGp0?HN)ltQSK}wUBU^xJ7%275I{nBRJl?eB|r;F;gQNQ z^EZH2?N4N7*pTI0$B5(XvnU=Wf`ji;Y11|vbiI@EW7gTQxMjb64r|%*tl-CbT0pJ- zbVlRBJooL0bmOi6EvVO6+P9`Ps9Vj*68EtHA3)c~7mQ5X83@})RwMb}~U(&Jy#@{w(!;rq_#6p+3@&0ndy z?30^-2s!w+zDjMSN#!OOQ`|uX3vz>Scw2L!-mAY$oV83}(r z$4eKTc?hEP(JTb*DFY|*fQ{&y-NH>5|2HZJ&+_UWQ z1KiPPc{JQd3>T$P0!c-1}X;OA#$b&mct5C6$7keY7-e3%6aC(Wz z^e7L+n6X)MC5EML*2o}zY6_oncvz2819&gCPH+8j@kniREfC@DeI?emZLwSKuW`uX zY`d&2*uMuT2@Se@30FH5DtL`NnYM5PHbm9rqYIR#o2y}ghP?fPN?EBfW8dI#Hu6QL zqQTo8*^6|kZewhVuP~OBH1~IoxLvZ>C}+e^`i1dyz|Vfn{f;4oH~zL(O;R(k3;Es> z{2;!!e|S%M9XWdM8fU}UN>s(XCT82v9~vPWGfA7*y{fYsk(ueWNEXIi*%1*4YUM_n zWg>BPG5DBvsKR0!fZ$8M;{U|GA3*6ZEq~SvCBGg)8cZ zRc%T%B)n<&y@-QoZMJ?VT%p(s9ADpigGC@4wyhzohxSt~0nI{2K&ubuho2xVj7}DX z7C8SC%010hLSG02V9CEa;t|B!Ho6%tkNu^|ILIrvDF}Vk*d*6}Uzz3pDuUqeXvWH>xo4oidvR903gN!xYF~kWi9jcf9agln}w6%zNo5W0%ah%1ro9Z5*CfrNr~Ixk8Ek_kBO< zNQQ8=2OVn16L%t!BR(d#TH4Zd9Ph_EA10ZY#WBcXsR{B6cX~!u0^&R@kT!$Rcttxi z@IhswAbXgmdv5hDPXArynFHbJ9|C!wxjOma@8?2V$-=cWiD&vW8& zU@xArh(QaysZYxQk;5zK1{YFDqEWy5;>q&Mc`|5_>e$VkRVQv&k!|fKeBn5gkK?6|=o{{HAE!KIb2$G$2Ja6Si3~k-Vizz@CYF=z_4y+Uf<(M@v`_)U$$il?o zO*6HCUv$jvLW_n1dA_02-Bs0&?V-P=Wj!7*5|lxV0_4y*?ZCk^8pJ#+Seyiu5D(^;X~fMMyV*KYsy)j zDd;n(dFh>Ji4#%y5ERuK-bJjFw=d1mVNX=d{1$jKk~F=>?-ptSv#mb+rE*`7N~e># zx8JftqrhCCzzF9UOwOAn;tL`jmsmOyLiw%s8ykZIh+1}9Glr(?V5g3hem*yi`_8Ka zU7M`~kFuwlcq!yN(y0GnIw_oVgZowSP!0IT;%V>uF8}|RGo&`cidr5gKhigx-!G&E z(hVhb>%v8sKI7F*G7FfN*VjO`c{Q1kb>9V6OCl&__2lGgcjbu5xJ5)jkVoOjB2=!t zY(u_19M@3QrHPMPlZbp48~-RI_m(CdaXUcuy&`EJiwg7j-NOQ67VSZ=R07k&0GEw$ zq~2mI{BR!RPf1uN{}iEzV5$N|#?_`P;#t$RPBkBOW+vdZT5aTBfzo0b@aZwLOq4jr z+{q@E;+11LEMZ3b=5>ewvby*y`^0fSg%1ftNr{Xtfl(>9|G#RK!lY`+%hN(tE#Slx zWG8Il=Ma+u0g~py-1Zk&-`>&>Ife76zDV}_^JcEzWCS`#K6Ey<8MZFV7C%@%D*A%* zxs6F+XWfiDE7TxUrDDaovB6m+JpN3RR<%?#i5y~uX+qSwZJF#{{j-5P%t`crXn|%J z5O64A#oluPqe@y3axVOPd4>L|l8HH9gu$=ij61|xJr}Eei$xx6B92np{MjmPGN-F% z65+6fbJN}>MR?n38BzFo`q-O|x-VaWH!Lm*Y8m6qwYxZ;d8%axrf>fh$UgE1uvv|EpXYp*Ww{9q=?9 zdW(krlTc8WBG^{$9u!j|N0KtX|NDS%Tj3(udbdNt6(Ny!SZ}Fr@MF&`W;^3!tLuILqTai9BiBwW2XWoQi ziAWqjfb0Y29Yqp-i-({I$~8?OtVBt&-<&1MDI zda-F4u5VZi-5U6ddmWVqS=*JDG4if&fWcOJlPG&Y<&Jd;s3|!_qIu6LIu-_=)2wD! zSVU$*7{%Wr)w;oX7gYtU#~h?ljg_V8_P1wiSQhy3U506wy16(s1ii=e#KsLi%`S}K&ANkXBOhed@WqH~ zampg!j7oCDsNOpq!eVw#z5GZ%`dKo#DLRM_Uoa#BXro)^UKua~dbP+lEB+qgW#jk( zJo_4(u@Sjl%-=GC>l*y_S+Co=B28C|CL?XWZR><@x+kOBW2)c@Ut1iop*HPRq?6pU zNUPCd+*r%6d>qu#onL`ep3%Il{@l?Wj+| zX83J=G2Jm4=~6ocPvvmjox1an7}8O|<&FDn9d7!~Bp=>>HnsQRLNv&}{8qUvE{F`Z zPBs#?R!E-%(Cxd^FqfL!XGhPqwFf8RJz_paIV6A6Jr2tJiDXiTOT{0u_*_)Wj@VQW>h_7~CD75x=Qxkbc6?T?c+hs-+ zhzgmQ#5btvm#WK9IFAhdA4c2pVP^vyJp+Y#SV+z+arPc&L8o!a;y~nt-i;Dl)TK8!D<0USu>8!b7l&#vZU5tNX2^&YJpvHMaNL zXorVhf{VlrhlcTN_{gv3rLJ^u!)rQdJ_vNfQL08~Qxx^q)NGv%=t3f_!_H_{hIz+Z zS)jR;x|G(B6y*c#l;GwEI98q5DW9(wO5Z}G5r~f@mLQbx=|u=DsqU0A((^z%*U&6A z@uq;7qbR+ZMHcevzwpQ)9*kZEn=v{q~Eey!svoeEf}YbWcee>n%A0MIvR)dA8}9zg;zfN;HUycYI?hwK!HmY$<5 z_|Hkos9pTjW9M^pw~g9zUH8ga$eDQ6{xvONr=j*8W6GQaVfofTE>*tO%Bq5f0cc$I z`0vCG2MOez#<)yIYcuDUQ!6cX-cp;vfF58q70OzVb)P`;NpT^G9c&G4wh}&+%fN}F%kQ=L2bTDIsEQ2}K^(}4U8XL`t z4asoWwoIoi3zjjO;r6bM0p3=!f9dNIM;z>Z`E3j?_krWAyt?AR+VRKY>oVmjcCb))8D7Bo zU}`$=mcxWp+S%N}b)@N!YUlDiPqt1ETs9p4!lX3PJ(yjB?Tf(VVwaqY_J2I4ruuHd)(+DaHxnod&S;l;`-A zhR{Lu`Ttq=QWo;p>()~eWhza8Kxc8psM3Jul4B!22*})&!L2=o^*dN7Z{BwD4eRjX4K3M z{(H@91W()I_@a;cTF8SiyweKc8=)R)ZyB16fw8I<{WE{R$ihcalNekLu@SpUC2hH1 z0MYTo>JWi*{;779+mVD?_cHq^H?#Kny?WLD0`KmKB!hq{f%51Ugv1!ozZygYI;Y;R z3;o4~Cknchc;XW!Fu$|oTtzuQybE{|(pV^jIV##NIDImEm&s66vCWVC%ZqY2q?FsV zO@)4S2W3}G)Cz$61!Nj}65oBgwu82(eH6G=@pGEK|T zblq3AY(sgNB{8IO$Ng>7uU$XN#cxmr3jEVKas6<`@Lutf)&o90UkQtNhEC9}8Z&w2 z6rf+}C`tIHnlQ@NQ)?#OG$<1Bs_ut=gC^a{0NI1nE4%Z6YH8*8Rqw-2#f@HIExX_T zE@}WyWsQ7ph}gqivB&ch`QrrlNkKw$ZA$^+YQl`F5(HkZ)r*zp+P9-ePt8Z_{Xe{G zA1*MDbS-x&lSlzRe?{{{%+N3 ze>UJ}apa4H0l${e5Bl`RJ$`*HM(X1|lGx`12V=|!A?6G#MFmUNQu2vXdg+^UQ2pF` zAr~Mxh&<_cJr3TLE|z$5(Ln!=xF@w~W|L7iVZg4fh~mXOr)Ak=NqO;J&CZJiyqu5k zTIYh@djb4bm{44gB2l`J7Tq0?(yZ>NCl{@#uOj0`VYyg!VmgH!9yCnom~ZEK{wyEH zfvvv0WcWrXQrY9y^d_JB!$#H68}#UakwG*>huB5T{)R{5tNOl5Ov!lcJhi_yMK062 zwi%Zmw$X|<*lYQ0@IP~5B%^-UM*4`&VeTO7k@;pJ7%ISwuO`o#8f~I%|K2Hs_Pp^1SX|K(YBS`JDbY!QM)NN6YPY`iY*g?G$-+xB%CRy-`&@my~Edpw?WF2QvGmz>`fqT4{#`c1zYA3^(FxRLqSD&Jz|X&>vc z4*)Ab)W1~}538URrCWFvPn|TL!eY-(Z)EGws=5{l3#m<&6u!Q76&cb4O$=)&QsryT zvj=sU+d%iwI96z(o#W1iUoJXa5Z6gi5rC5H z8wW}svHF$_yR1&Safkp7dZsw_Rh<6i`In)GxT>?RX=PQ6#;Ua?6TH*|0hx^}(TdYi zy!bjulYzLrqf4zL+n6HpF`G^cL5p91H}!XN@K*F%T

}C%zb1m<)+ExyU)UxOQx) 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


IexoRB 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�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

bdX2e;+fDHeY@Hb0_ z;!$l6x5;Kg1ZpK;-i+|2Rg4B`K6!&=HV}hR6n-Dhcm=TM4evU#urew7 z*Z(|}()H#wQIz$EC-iZ9O}EG3Dm*4N5fv)C47|9{*nuf`FvqGpPjKQku$Iv| z*2L-DN#bW4q|oID?gLfYO`o3bgXcoex%WPme6=!h1qH!{y*xYl0N8m;A#Mrguj7pO z_upH5%71a4fl7ryJ!f{-V;Qc!Nvq5)bY?d}IFC$F!2~y8|c00q- zCSdlJ0GcV7Xj5>hz4qL!CZtyFk15Wy?k<)Z%dZF;|FCcCyeuV+%}@BFALY`3ff1U7 zs6th#c4LuQd{P60y_9e5v`5IynOB*T;q{{j1VzW2f>$T{C|QZ(j|==U=X1S7^3hv* zQ`H(C2@sWNH>s%ECQ*&hjCe&{55YQ51+*fRezYdSgfK+#p&jzfqN4=on-E&YYrb>5w(5jM6Q}Z^@{2J^@k4oFRm|XdSZ#KdcBl zLj6k-8KnpQINj(4VCrbkY22#(KzpXUEPscXRsT_zhAhW^GCz!VwXlfQ-KmW>sk%GN zP|hLsgCQ_S%V-knh|oYuNL$wVDoiTKy=V%|6;` z1qFTJ#+HwkAxl@pK0?fzSyQyv3q=W-%R!)Rw1y3`iC@7T_EL3|7@N#MK-n|q^ac!d zH>?fa3s&MFGesJ!J!L@Vz<@{!9va!UMcGBP!a3pZAtpB6)8xwgD*!}ft%lH| zh;+roVQ+@8QnjYLGgD7@7?|YD8p-8LTNV?(M9tL%5zgBjkUs%`C4hFb5@8)3^^-Ff zl3g=G(~$NZ4ZR=Ng{8J)Gw~D2#w7m3=*<*}!U1jL!w7qcomVxfk-l}r?c<-n)9-{g zJBNl8JO2D(hsoGmG&6_C!BQBBS2>|`P;cH__n;hbj+0f+mRy}rO4GcgZA2ZVMQG>d z=#*)TwlTY1Cv2h}$1b%Peowyp6$fMK_N4~PGlS{p$~l&`C=q_`>$~9P>_Y4seLpD- z?@bg?SiB10l8R@whmP==toLp;%=Mgc2ew1~8kD3f;f)pn8uRdtYhb^ zkoT?mJhFnQ;^E7RO2H%Bj+7G+9+x(11~Zz>ba!gXbjHd8|IGuhG`Qe<<)&DbRa$HW zKr>T29A4G!pGx&2fn3sygXPZ>uu<~1DBRxNUMXh>@B6g=sn zt)74D>DfE7=p)Pcah1VA7FVb@)!ihdLe#}*l*v5#^#W4MtG{w@J-1Y_b zIo^@K(RkY6ybwzzWA{Fjh<~mRcR=Bo)Q3X$QZT0SiwfLB@ z?@H!AA!)0_Q_RGFCsx}K%ieGf97gqE*fF0E^1&Qk?w(@sseJ@IqUcoL{{!f9b zVpAjj`Vy1o-qBR#S4NhAp-mE*@7y-|usMP(5o$7#!|oli{;J*3#wIYrZTX%6S%O^q z2ibA3Pz4u#>u_W$3;V$2lIXhjnpGp`e!CEpEx9E_4?Ao^#j^{k_d4HO&YTtv>ig|DSI$OVm#COQ*&NL-wmwZja4jEah8B1@OD% zID*H${(LIg6G9Eub8Pf9VZY+`u3N-xI5iARvB;ePq6p_iub5Nt96aF?kdY5S8T|e& zap2H;fD}~DA(Z7PDRz%^rXX}(WVvo*w%ztEa+O6OK8Cn33TS!u-nv`^*0cw8YkpS9 z^Pm3iYq)Tsb#egsowY_d;2Xs4Z=}jPu&bADh8V%u(%9GAI*LR@DSLL@7S%vH3KMc4kkU(3P1(MpviqY`wdpg{>3KiBMOG9zC-$L+n9bbU z(!pVB0Nq^1L`kY>{(3u%Os2a+&3kdds}N`Y*c{7!mu8h`KYVK5JE*{oRv<)!Hhp+O zC2pY+7_Q)&=`)|Q=&3Gqk{+&+p#LxGL_-x{ujatx)|qV4cDPl8ReT>H%yM?Mf-CZf zdNn<%P)m2ozscE8XJeVE%@q#dq+JzoOR2L~mJ9r9(KIvf0-!Q!Zw?HuU^DVSCa+W4 zTtG)jZ8k1_S0|L44{H~KH7x7bvPku-liaHSs4&claiS;=IRR0^F`10bb z^6Q95vmm*E>lZd32N!$9_}!p6H;;V)2KEsy_~#{kvjQxf^`LIa)dppvOy6fX^XZ0W z4(_#K%JwXe!@CWg$z4axu zw1TF>O3dZ(I?k(hS(YI1sj=^7+nnxc5_J2;@x!^~x6~PCCmUnup+_B?s)I2CG zIC*$wRSz%_5#0baEHg^C#zD$*BF}t zWn%9bKKR6?q;!wR^QYI4_`GMW zcKf@#Z24stmkhA$I0Ax|7ZZmj$P`a!_At6kn6-e6u=Gdt_OgnnvKNFoFqOZF)SL--u1Y?j^j`(%_-+#CG=eB1i;CwuD*FiP# zXuE(V$=aKz3jew7nrUZW4)1TU9`*fh@Ros3joY#t zfgi|l`i5Axi|iTIOPYmn9(6jrHg=$s*;>rRWSgX}ke);h^e&+j%PDNT_<1^7M@Hdx z_G%^EbS9MTXcMkE^;=0#JSa5MBV8NNRfVchiwN~938feuYaALGp(_~VIlQ0V++A56 z9PsSDZKNN2a3nu}cn-mON2Vz87|bcz<0}ng+_YF3JWHr5MZezyfB=LZN{nY8jw^&6 z)Z8jPdkJnbC#me#&RW|Th8;S((WrV6)I|0@$jW1SvFK&wI}_`aQ=DTrS$ zGJ|v_^O|J&)FpS`2pb%k6N8JCi7cuv8J;ax%TNMXh8*nn)$eY*>c#4e`mMETSQ#H;3Tz{p+TCvzg2_HMx21eXW;QBPJ_H3g zZVX}ou(e%qh6OU(!xif}PQpBWBc`h&nn&{o?2W5_^LitnF%^&F6sKqIcq$F6ZvU~K zJl}G5r4+^DYUvxM5MRFTR4F_n8zy6)sP9yx3(8BJP zho)XBWRGJT%i$jtmYU}%T!y2m^R{?DGcKh%{obo4eAKa^tFI<$7+0vd=j$cb8T&xw z5BT=~N$7!xbY6VBq^e1Z-c7Kj*|5mj1r-~d&CLbo8LM4F7`j&^JS(YvhLP=!15ro# zms3X_`Th~3|75#V9J%%{CkpYnT`PK%s`6)1B%(Bm*sAR;%8*VHHz+FE9SI5V{y`P& z;7B(nm@|EUNGiXACme#WfUz7B{(%`ACWGFoCCH3u%xNcG*}nL{c+f8i2@%arBul}| z+SgISJ`cQxB?TVSDRz@#^!cB-yL`?@2=SM%y+wv(R+5`{Zk6q>gkqA`09M0UaZWrF z85ZJVt0ky>Q-`w#_Zq$8z5TaH%|@~qSo8mG*(8;BnuoN6dK1W9@A;6}N7sLhw`8OCyBCszQ9!a zRtlF&Mn{OZvqMxaghWV7moGq}>q) z=eg1fO>i=t!p0{TE9*p_)eXDg zQ4W>(RbSHegrVH2H(hD|ef6S_VcLalYXFEzX^(%lZrs1a9G8UAA4ZU+`tcRJ1|QYk zw*rXuBJX}6yb*;1WnB$orO1lzHMkmI!MSL|>~hc+mDj`)SfFl5SoxN4JbTCfcw4RZ z&f&rU6dWqQH`Ur-fWZK57W$v;#jtv%{TwvD9=5fP@~F_Tdx9cX@Gm{!0w@NqW9M5k ziJ$pNuqvI)9z$wis`ZPOe^VJT9%?_sqI8^mNKfcOE-l*xTZ~Ff0BMvI{jfaSr})?S z$!#eu=?#m2%ovYFJi+IH2r7eWO^^Cg^ujBqeAgsW`5;3`U0j-A_bZrVImPB;zU+`q zj2~semJy&Jg;~hww`MMSz_N>xScTO6H1S3N|J&^0z!& zW6$u8CA!`JXM9Bf02*r3`w2V1Q|B{f`)PkpA(danv@y=>Bzt8DX&QYXMpcx@&x7(c zDZ-1Lk?bhDpU1+j%zQ2bGfMy&lzgeBo|)o|ZrV=zQ{h^%)Te2o^tUd#w3=A{+LCqJ z@rw|)kxm`U;P{v{S*mDA%!7$2rps!Sb8(adp}39mhb{bkrrZrHF2ffN#D{$gf@acp zKW#wd5$h^C5hV}`UQ4qcWvhBsUnLc;8sA`|{W^-bM+A0Km+xWBu|dYkf6jizRwFF% zdj;4$<{H|xMdkVrMEKQ(3}l1h33YbZ@tmcZ0AfdrsFSYzq^Ok-Q7oZf zJ_u<$QxUgNSAsFWw5d6Af8Y_Xv%f>_y^uiXJ_ASa3?zt#dWniD+0e>vK1rodhVOU9 zn4JZg>V6n@N5*SJ&!5M!KW1$Zau~E{C-;=wgGFoQj^xM`0k7I7-DiJBI zD?&Ka`c3V42yxf;5eqN8o(ytX&8tw>R9D4G#PEiv3pSqGJ%U*il(b=DwQMJZG<}5p zTb`k1Cu0-_lx$0<8r?3VcnttQu!Dv=Qyy%k{*&bOB^{7g4{xGFBJM&|VI446Ggzvk zX2y`GbBV^t1UK4kvySFe6=S$5_uMg8=iloc_sSmRy=BGFo)!F+O;W9lj#_I5KqsEy znxElUwG5~pO3Nm$zDRD~TPoPI;mW3YJ?iHYn53MKlb{;?(TcBux5J32Z&%XzGcX{_ z$cYVINTnhpCBXV#Yeu8-MMFq$!x{~F+Iu@kt&g3A3Uw-9IP&A)@MQmXsrW|P86CS2 z_&I&a2b%BlQLh(=uy{nMlsok90D1KP)gZ}WQvy$m-G-n-{GB%5)@Mif`Nfd|f_AZA0&KxSw*zx=1H{+J0Uj!P_(`ti&NtVh3+wdKY!) zUPz7R(BvR5D`^fj?D0?>a`M~~0w>7g4$ia2w*W3c(Z3X7eUQ$jo~3DoEW9L_YTA6U z@d@a{|5?ZT5+#>2wwGs$n{JOx>i?b?*?N>ges5BA;E_(7RJn@+2QJCD*CY8kXMyuc za_4I!U+*E)7PML66OoHAxGP&E=&{QR(PFT*2~cBZ-DJ4$=A$$h-LHB-uaO5v)U_Y0 z-8KjDOEjorfABYYNN`|h<5`-1gx;241<~0(LRgTmE#3$1wJ%n$|WK5TL3Cj z6^O5_jm`}^C4bPZ-Df1sY&DHukbc-oq6AX?Z8tXzK>TeQLauWC24a*PUvOX>b}wAJ z8UOkFR*l1iNmAQGGF_)w%2UWM*tAUS|6e5y+F9C4OUiw~4@lilmRS5j5;DXr&&Bl_ z!uw+7WIkQ!!8>r(%jQnu^}Yxw{ZfQX2?Q)(_6_3$?ZG|IHx%#nQeK22L|am(FLtff zCP!MWKUzk)=`wgUfQ?0RAL_$=wn>2dTrzW4=J+xnxIbpB+q`@MP&}UYr0C+7#mB+L z6okqqyK9^awVGQh)@lB1tg^d|{c#PgFr+m>w$_syK1f56KxY@`0pJ@ z7MF^IRduEN3H?dxzR*T^Gp)hsSD5 zd*o_{TG|yK`S%chHgQHNjjJRq=CldEu@LwnHN26^C2T*!br-TsYqgNb`ABEiN*U+C zn?z0%Om-uTH})qvK;nttExcKqxg|fv& z2+V~%omf6Mdz4Q8fv&mL_NNMM)mlUcXSy5Q7h7b#gEY(c&!fb7KC#3(1DLSWRDzas z!IYc!#49vRnPr(FPvm#JAkO6{{ur8&ZUtTMnd!XgpfdsVF{)y{Soe6xmt^x)IOB_m z;!--yYyGHk?Pcec96(@8*1!$+{21x>fjy;%!0Dak6XpuFp^15*cYS<8+rghf-1MEm zF45HYHTL%$VCe&fxLkA+xv;p!V7cV8g~6sDYtMS)mMI|<+!s*Yzv`v4`aRyQT6;|> z&!LC3!$n;!s@M%D+bFq@o+uZPhV*N+0T8lGE$|=_?Y_+mJy)!O=!k`>i#(2mT?H)wJW^fFW`*qWt%K!&syU#1?v?w*6|pDa1zt!juKw@n)L&T_4J%^C}x=yN=o zh#C5iSKMW8mc;lMw^F>mC<(ihZ7sN>amyX}9{Dv0D_@&UHTLr`5)jubVwn^#W}Fv8 z76_tmZMDSM2%-lp?}6(;vvrgBxf;J{)yDcb8V(gr@r=`@Y2fCA&h;A2eTLDp_TaCN zGwGHTIbqeK>}Z_$CqT3h3{`AGnR?f=e0DVHDZj41DTPLOwek%%gRz#5;H|54{~JGD zk-DU%m0A8Sa+~-|L-)1Zasmpvi1F%GLs=o4>N-Un-8|}Sa5xsp`TF(#C`QePml!kl zqA-A#dCq@LbGvBAric>Iv>Idr=VuL}fqHbqO}+B8dUrsWsgx^HMWv6W6DNY13JB04 zWM`=Q^_-N}ym+pldwbt{iY1~isYM6!(8t`QV^F@q1IUc~sumj}_bMw##zC4P1Z3E-!ZMp5hv3xj z>we)9^Di$2FdnqOZDTFEg+p5lM;o-55u~AgqIK!7Davi%p@SEqVQ>x3@5?GD76z_6 zILI`L%*g%K6mP|TP*sN>2eT(rX~=c|;vrtC?-yhtF_}waz$_KM!7nj3 zJ7n-CCagFr#S(lwHVf+P7AZ7Gb9FT-S6A4m`B`&L76JWO`lGYOWj zSNHoj-btF_ihz6N#x!jy@e%l9`XG~gEk_qROcZn>;*}0pf+0EptQ{iy>LL+u0k;OU2xRv-zq`V#B9&%lKAv+2L=?YU+{;^nyLH7)cpzWv zn*boi_-~4)J2KoK!~TdWv^wVvM+Yo{Wqy|wbvWzHaugvAKr~*wKuIH|A`!zH`W_qI zme_qk55?_^p9qkivM6ELKocf6S!1KX0^bcGKSjZnaYr@?;?ppEpO-hQhQ&zjpA*Vm zum{683vo<^t2smae_B5u1~1929PY_E6mmWm20b!&YQ65%=FV!5Wq}9SX&ZpfqG2B9 zzY{Exgtx019hXPUvJHt{JN`|FmZf*|){^2}-}0I9Fc3=n{~Y(fi!AS^u7LfUu?pX{ zWi9y@Z^la#_h6 zH-i@B84V@$b(Q{9&sllW%R*>G`f3s;^xNZvrbGrdct< z@HV2EG*R7w@%W3-Hqt{9Z)pCkf8)%*4;RKyCBa0c_zh6;16*1(SVJvcH`gJu-zbuD zqzjU{LLJ+qaRdjnx%dQlh=amrf`l##7l`86O(q844cHev8m*_-2SF?>`r~( z7sGfT0z`D~j`oo~^#kG^7n^C{4mm=42q+#dRz>q?zy|W<9J{(09~8^ca^yW12qdys zuseyt=6zJ|@9~VrC0B%@k7=B&v|_i9vAyq1ia&>HzBeFL9tAM`-r2Fk?Y$PAg4Tm@ z_~t#n+ZJGiL-WvLV777lSIC>6OohlOz(J599*Ed3kg7(f7kBuF+emeVz(3=FInR3_ zVSYQiNa@;jiU|R%C$_kgj%gnp`$k?I16tmyZXvqIL`!f*D!<*~@8M{(V-S7FXmdRc zOZIbaRFBF)o5nue9(2)-5zBwAb(V7q?81AG%pSTRa$lXr*=G<7Ysc}Y7J|fGqZFwi zL$Zu}Yt)=C;_?0-8HvJYx@i{EgDbgkRs6Gih@wP;g1s8dh)l-v({ypp=Y7kaARa|u zj{1Op18N1ZX?->xSv`fu>NMjX$1i*Og+igPGYkcJGCVCBM^qxj?yhM$@w_xKI+NP` z<*S8gn&2ws8oj^g7y77-NkejfzC6Pma>0?+A99n_R&Vv;&tOo8{<+z5<~-RPGQVA^ zf-f!)1Jwh0LfH21LIX7|%*p!P28O-jM+m4ADo#rY;g6A7%zyIdO3mw$(D17iI3o}( zTdvXn;b{G}SbC&rgk{r1_D9C$;96P+D80d6yLWlQB)NZ)U1Pvb<;u{G61d(KskP`l ztc5F&faiY+c*VgcDD_{KLwG?AGX3{t+dRai!b*%)a$sVeE%wUk9NnM*K& zy7xg(lK1S8NTsn9gxixLfws(CWSPI{%yll(sz|M^Q{-29)AGN{gf=QB;1&C>lvHj2 z)gp;q_gPQ}JOMfF>K5OMpo;nn>5h-E5)Nc^IeNG7r_3*XV8;`g_k6mHrxQaEc?nl%6t5w9^x5S0p?w-%#OkCq&{EiE^7@hA6VL1Bg)KoQfJwJVj$p>S~|V<`ElB^|^*tz7M6)iWn(!u^#r3*%{LtO`l3IXCm1R?ZW!wMZk96*p8izY;CE|UT4mL~fidY= zc1-5CmT@T*O)I4BDwvD!Ic!iFjX2UD9PQE!(43|$+J7-AN<9*E+-e-=6-@@HkLP4i zk}%dx&=HM1EKmwke^e5MtTXyefe9ei1$H~L$9J5>^8@? zG)WMdl}Y8+<%ICXEVhZLv(R#mUH8R!I?yV+TKi3<-`$X7R-^qQNP~WL3q?@(-UGEU zHZAGCQqNed6&DUB6%uby@U|#(-z8;QjW9+0DH@7fxu2G+vNe;p#**=Y{%#d02#QY+ z((w&ESbk6bx}ICpkyo;agNj0;6?NVH!F%enNhn)CN^sxf6gOB$xfhROWL+km>{QP- zsmHwIhrw65SeG(OZzw?)YGg+pPYaIF+qc^?79F8GE0A@2cgMm3;NQM`Xrr8;0SpAm zqy)g_oo~30DQqBlLfG&Px)qdEhY95uUTIlGgEw}P--(TAQ;nqjOv<#lm#7utcQZD6 z^&F9AcmUqcmF+921P)tITIp?MTVPU5IwZFS*t8p#E)sH@owqm6E)FwT^ z4i5iLFo`ZC#l+EmEpTQt@5R;KP{*S>B*oczFtmr|#x}UNImKIzvJ0 zE)fw5WBCbCLW&D(&x=v~I6tKKt?157bBa;NH1Sz9n)UF=9Q|>;7s5X~AXc`1nPg%% zg1K)hk^^BOhS>%Jy8Ng*_T7eFieH8io!ulU!f&n(%xSY>JE8g6WsWhzTfkyB6{03U{n9O*ETUVd{XAdK?&y2~Rsa$_hWC2P6 zTsnUPtb{gVL*M+yJJraSX1OtBDJ|WGjpjW7leBlL$h@SF8VEd->O;<1V!ica3ATrO zl-Lha00n+%-BTSa?N!EO?VVK3vwm0xc^3|=d5n+0x|c^yDL|@D>*yoQ@{CPL&PZlj z#u@>aDCzpQ-Nvu@KyhuoF&`;=WO{Mc|LUR!WfNL}OrJ2)7CocSUg=To(Qj(&KPqFl z@e=QjKK3hRSp^t~ZIe%d>>BVpB!Apz6PF|(eCol;I=6*C)i_ZtQznVJP=Lj1QHjYy zRuH%@uJeSU59X^OWS`hSyM9_{*8?vNHP93o5#ON(;2A*O_ro=BOetbY|2 z_ZJ_#{$o}QYdXJ0pFaY_l4aMe+Oxab2}S4cJd}dS@%I)Q8EHXQZ;Y+b2kt>2DvO!O zVU)BO&~NQe#s4h>ktJTkmxm+zqL9WGe7JJzyal3B-_h9>n$MIEZ%KTQf2-mCpG9QB ztxfY`B_sRk@7dUpd-IW)5NpDAVfooJVv&UsSuAXGILjUPD!E1FY!M~RUV%ev+D%~1 z#FwkM;@vb!?!%+l>Jus`uLD_BpM6(czpGm3sF~I2hLUo(Y%ByP>xI1Y z;>)35mjXH*2LX+1d%jMFT+C2ANFqPlWgd}H_R6}JEM1>PJ_SyTyyNUbAXn~Prhkox zUHWqee)7BL{aF}QUvgAQ%ar|SV=G%J)&Hb6EV*+P?W1=GU$1B|D!V}WBNL~yXE(2X zr{BS6!adm6nS$&rAEUCOuU&$5qj#7}B1eGAId{yEEeQxk5Sj1^lj7hN8-$CW7X|SC zkQIs#0T##CYTLYOps*JU=bKfO!s0a<3e9ZDKCPM)8XbKSYlvhbA?)YVrrp*7Zp?2$ z(23N36bHQH&0uK!X&BiV2BtvshcLF1=a(&R&aDcq>cscdUrvR z#4(R?4dw)#F4|EowH!*|1rI>+l)qSV93+-Z|JJ)tHWDxO?Aevoi zcqTfM{MW4S6iINDkE*1H5&eJIDh-y#oR=`gvJe7C+Aqn^< z-CvlZlK`s9LBl=3m1~p>19H}d6a@!#0Z%vgfcp8Q-t!l4PHu$Ffh&?4cK2mCly#_j z_8xw~28X=kP2yEkiO3fI05+3!71d!$8GePkWBo0aqZOW1bH#3lFUs?L2W9&hQeM3W zB}ot#B?#NxnUT$)#PUveagw#I&$+v1e^M`n?C|W(+YkvxL!M9LUb^sM0K0W^D0KN7 z)VGye8WkJ)3kN>QwlM{ zGw5F_Yc|agUY!{7umK-|SWLH#_HLmkW}>+UmGW;Yll^iEq=FZ09e)?J@NO3OGE zKK1a8JptvKi3MzzBFDQcCCBA%SAPsm0_o8&074Mi6%Naef?Q*J)=Lgk2+f5z!>j$+ z0m)h4+pM0ApE;+VB)=MTS~!|mzyTFQry+O|nsYkhAUGzdbc=xGAfGxA z%}HuITE6`AE1jfg#4s1lmhXE47)2a#8kb--SA+e6No8q3K_HX*wj0p*-H8~cd+u^T z_};CkvE}959sDXUpgc`lrrniE z%i5fIr#sxwqLv~x3D!V_Vmkt+{i0<2%m)JfbV$%3q$>;jrlWAKG*7F1j6@Q+#|)F^ zX71}DE^ryTHX9QoK7O|gLUshpPppaomR=uvzhl%^e`zRYZGwB*5#PlaKH7)wqB;WX zoU^D5O|8(B@<**bahidZF+vWaFB?tBPe^0z@OshO!fxy2+_;O(3BU&BV+vn%B)Yp? zxK|bX7tb?KQM=h)YUMoBX$QINtk%brem^VC?D1<+)Ek6&K6l?;?}vgsJRgJ~9V5fK zf|A*j>cdNBG4BM&sqg{`ZAegG@?|tZ-z2FKACnLNH2Wed&K@ZToV{-cVqN!iOiOH> zg5Fm${QQ;inBND2X&H;4Qr0Va)MAxcCF{$Af`=Sl#d%ZMI3 zg63TW8X)KUxCBY-=Dv{oLPlPijV+gE|CU}&-Ge~#PExK?YlpF?mCMq_qJ*ARP!sE7yU1x6BPCg%7JWRBuf=H3s%LvE~-v5yDy9D#M z=2XTi1KZvqqpyJ&UfvrUB55+`%8;B)@=);A3M)FRsweZeB^fXWVIvuH=6s!iG;d^t zTBijI#Ho6ERie@IwqqlA?W)RBF{973{H~&#V`C2aqtj~?{1Fx?!tx$eu@FGBffW|Y zx;Bd<%KefxR7@C;%%3(bL6NK}d7_J%LpL$B3F3M-rQ|gRb@0^|vNCCl{gBTeJ1``} zqdI!u9{$9nYFd3C=k;IBOdEGU@)AqllEpmXhLD?&k!#km&7j)KeF>s3FGz6 zPZovU8U_Zf@#|XU??ao18PW_I?&wbmKjPR%K=Yw8;3XfyR+@I%{21x{Va1dunJ!)W z*p4U|Ku${0_Q*j0dr+b+I(1V2U4;40ijY~Q|LST%AxdW?j8f> zyf<^9q-bN0;?nzs3xcJW=Jt8Ye%<)&bszq{n;r60zdAs^#+nJ}`YIW|q~IBq+(ZS& zpfBN^B+{sHY5Rr~5tK%4a%>J`={rjOaNy?1bL_x*;ACCYe#6_$e?KPdSWR#B&}Z7o zR}FWEnhJFIRQQo9X9m++EBSpF25~&4J#M0)2@=)e?x~5UNaic-CvRUMT%E1=)O>fF zB^oaWXa2{uMfPZQQx;~Qqy2PllUfv{=&w?9Ayu-S1;J<9e+9*QtC{&rFpx(WVkHFM8g%rx z*R4HAD(e|8MQddw4og+xa*}5|{Bf0zrpeD>@9d~WEvQfdC4$23**`vQ z=c~7QwC^RneHmF&ZFusjN0aIy`EAQ^a|a+rxhEVVet3_7^R0PB6KCLNI8jWhsw1-G7%!a;B}I0WZs8Hfx2 z+LbTxGet1@F+Qx4e^9`+H~o2w_&JM2Ic`Qq+{49-2A*j|FK33sb&y+^HquD>-MKqw z{9aATA@?ABARi zT-S}}nY4P==epu}xmx{hJl}%q>#NcfUc_^(Vvxb`Pu<|amL&B6nh%yf!8m`E$~1=1 zVbIaj@R~+9xuioiB7~2{PoI$n_Nc(&Z)02O3$I#+r^BREfw+RiN=Q@;eAR|*;hs8{Ax<_xu5w_ zG_UI%2R>zc%9gpS_Zm;ePgEF4ayZ3st*tld6G=Cz&s=C4xG{NmCXkmU?;iFsY-$iM&2hRd9OrHhz-i_CP6LMo zqV**TFSqL4lRA%}ZgJ0bbr2g?!jz6dZi6G4V)Z7kb?nr6gU$YySvcPaMOkjJ2nj-KSD)>3ALM-nJ? z6CM6Z&4oim!!ye_jVu`H<`dDoyY6p{f-O4R&FFM1A86F9{^>RsNuH3}%=RdC5*`F3 zddH%^jVbEgk4IrYRCS+hRu}`B1g@pcTn>yvyYM0o^snRspiW-Xwz^k$Tuw>S{G1e$ znQQV`Wc;oeijon+Q81n&W2JuuX~w>t-21pD82!)6v)y3A3`zCBCkwlXxY9P{eKj+> z(e?g!e}dMq)WMz!_zl%netgLOIb#N=Q5+Q!mj+`y7S4ap>g|cQR&wYT5CS?^-yM;j zXrkO{MV6y+SRwe)U)ic@$V9t^#+MYjq{Mg;TC}%lUeP2JyvRt)X^q&z)Su-Nzl~F1 zO}UJ{TwHa_6w0C@!1%`T-8*gQaZ>G8pQo9RchWhL6JNLI-_aY*IOe&OIUT7;(RO%| z8F?Mo<#{iuni^GLKN0=^)+l^bTorQCxP6}DrN25p{cTdt63RUF?aExS1e5IOUNK4ID0TUl0&LG`)Xw9GuN_*GobpDhf zyP$~oV`wi$@0>^X9oI{q7Xe3pD1b2dowiF8lZGQrVV#Ov>DisoQ86U${p z&>{ck-&|kSA)}rdlGd&&+R%|!AL+t3Ss*$II7C^^)P_+r#uQ!xf91r)JuuKbcg6=KhQzlbp)!2yl) z(sP4pq?~KYb(4*d;ZTqg`foO0nlVOg_{7O`dc=5>$^mw~EQ34G56jR1;aoz1D0)#@ z&oXG4y_(Xpty(G}IcpP6HyHT7ct<>O>NgE!o&5h%>ZRA9_4Q!PjaXjykur#mHc<(F#;1ur3wyPmiAJ%OT3Mr z25BcNm1cLQB>FZqRS`6}lRQcFqxg^Xdo#|ZSPVGG3)@!?lW{|Q@u3(IIRB@pw>P=@BJ;~REPKXP@2KFGWjq@hqhu?&$g_b9cUYUg#Pwh{*X)s9O@;N3~fCFk2g zd;6yh(h*RO4pQ#d7TUXjC%g{UZ$^$h*N30VAP*rrG4@&ouOKkV&%T`QXc$|GO^fG% z+0CW!%XwhSRLAzlZ< z1<{$(eTOq^G8WlIa0Z(`olihMl-JdFZD)Kw=Bc zgxm<&o*&N`WOWh5LuU77^wK`;a1R!jo24r!&b&G^A{~61rBoAgplK!WnWu zd`J!|zqD#}0?5>d73Z>nvah$3R)1ZlPBxE46+Wf6-O840Y+GrXDT(bTcL1u&LCF_w z*2@mo_>p{vFHK$IWF6>{s*VOFUtbCRbcdU233&7nJ*H8RL_?uux=n!!Hp^;cBUCA0 z%g~V1wS#P`F-NyWF&GXTTGnNwTSxhIeq4sEe6_lcmS*a2;rs>C;=9JuS}HBTW701U zyh5#OVpgLtV7a3E=c$01q54iLLtcu1V&j&_hrMZQg+_%o3PUKlb!o@$=ODNnorW*@ zeYa~C?o2Uw?IC)DUR-G%pQ?WkW6Tn+zEk_We5a6!w@%VsscYvNzJxa*`^pK|J%cc`r0!od1kYHKm$JUX6P;qwxFi0CMLV{ZJEvJ9Ab3O!e>z z$KX@4oH+!urajl)f9hkqn8CJoiOWd$rP?k`(h-nNn5JEScjrAgetXCS8SC{(D`C|o zT(5zjwUSZ)YB)}H_5tbwZG-QX4$!uB82g#t;Ml6~9|WevkR>GFyK@rE3wUA#Cldh^ zf5Qp(B_cP+->{#YdeWY(VH**%Zpp-$|C26FO`==)`Q0f{=xMh}QE(gc6e3ffPWpaD zDnm^o`r5RmhBf7kqojUI2-g9vUZIA)miw&de@xX|nCO$TBi3Eide(;-rlN7KE_MDp zEy_p2r)H7M9hiN-U%-Emq7IRv(u^tPDqmODO;`!pSaS?`yUW2{MaM$BzTUTVmXIx{daBYLCB|sv zc@gwE&QZ3kiY8uu@sE8@Ke0OW^wdVKaIX@2zvVx|w$D~RKYY0t@%GtBw_8O51{!*{Xxafod$$k)Y{iSDbRX@!Px9Z2G>wA*I1 zDH;a%Ii-4_a-8mXji>tu{W{kD$QQ@ZmK5Em2Oi;fN`8oI>|5-L?SMU$8DO+5l~>6; zxihAg9rN4Q_s>(2qL3%$fj6$;u;de81DjV5j78y5JxxvyBEWZx;>UdEqpRw0RgPEj_=L)?+4Gfo2J)6)u6{;O0A!meA ztij8`)h93p<&#={-^h@oS=cGSi|9kirZ>2RXI)P1>(MUR#jcpyPPf!yJeX`Lc5j%} zCyM&e5ps)tB`MaCP_bmYm(6#EW(@m*B?7sf4cX4tItg190b_qvgH(bAf@o8&bPYAu z)|#~>!;jy^#U8N@>+8^B91(g}s%5+rD*omCg!MX+MrrGlKE_6AM@K8eW4ge73WR0G z!sP3L@O%L4?hWpLU4n)ey)af&J6t0^$^DZrbi^s{@>+Hnd+CnF+ugcn#O!SLXj6Df zM`M7>eXt@#<7G^A`0s(<|Tg}*pJxE32g0P@f z+{ZOZA=JI+V z1+WO{yIJqjXjUw_8BSjgj@4VMNi)~BuVF2$z-XE2$zY% z8g=d6FGhaYkT)=g+!O!e7#Ggy>$6qhI;=% zKxidJ51`MBr`34-Va{7Aj%IUu3)rTN7CAoBUq+aJVqhSq_0@f!9bpKpCiR2d^R@^u zl1V@P6He5Tn<^+7vjCE=)kRbkWR3vlg0{^C0M(RT$H3fLM%I! zDg1-lK1VztVMJEnG})}*a;EQBgGJz1P0+(*Or#KCi)K4P8aRHTShwyzwyWJ;8@kh!=yXFF6l zFW2gQl31kGIhTxbo%sKd8aH2AMr8>GfGvke%v=WM-k}PobdX?j>Frgt2Ph>19wfE^ zQapx%If&x#rd(R?zY=jgRtlNhcJ5wtJ3Ha>=lzIvGurfP<54sBokTa6`?QAy-_12y z2O z_k&hwzJ`H}s0?YT6vU2?o~w?x@`{+>Jw?W}H#ozCjLLSx}fKdGYJZ^N=V3 z!~$aDug{U!kT!?6>~SV9%sS6z%#9u3Z?M#(wQ&@f@UPP~(;JFe%s?%7l)+*51mf!1 zDoSFUoCq;q4AZ$p9hT7?bu4v36KA`><5&r}kjjP!nh?$+r~&FlA3%T2^T9>pzKFY6 z540NB1ignk8~ThkMP|u7Jfr8J7eCJW95)!v)w#uHW-c%X9e6=SOL*n4Qq;S!0QV8M z8(9vNJpeE!;z#;3z~1JUR}!J2$WC{<>f#JXn*>hLR1~LU0VQ`d54gdG#>yqm*%A&F zJA^ErH5nzzw$g_;>iYsO4XxBcf|i6SANV#v4W4<*Rf-Nzp`^vc_(b0JUL}&{n{1ZKutsaFX??|=^71@ z9H=QM);wylm>_^{twtk&xr|Ixl|H67THHTNydH#~nl@~i(pB@AT5!tPjYLhB!kD#m zBf^g!y=-kR)0o>$c;b|sT?O`1=b^NwggnddK!&#oli}w3eIRYv)sOn)-!uvK993H- zW;>*wJT-;WTHm?cjH8nl#et|1YYfS$_O&!}xl9UL|HK4|S~p^hI4LEww-J7~yB3C^ zJr*zK=Indd-1F=>+{QaEiAqgj1Mgy2yfTm`hi7n4^0gP_)?!EOEKuhOBFM2=Z+9!1 zU>I8~x zm=h5LU<_{rI5IR%*D49vTWt}DEs!8J*2XMP6{Y^fE-fu2ga%Cn zY6)bZHv*l+n6yFcD<0yiN&VVLBa-y45T$5`CCUw;2jj|+{pL-cN#OwBxjQ+Zc|5WL zE6+IVIfthmYT*^3w8>6qQeS~E7Wz1<|80%k4vL${R^>E9Q`^!oeA3U(8^PFXUG$$o zr3uiMCO=0lvG9Q1%Ue!<1E4HGgoI&i97R;-ITdPeBxZ@A!3 zeEb;OdrxUkGBwrj;l04-7zSMD%K~N#f7iZcieq+wI=?dIJ@P}=W>Zy;|@fb3HUT7z52&q4rnJ>sY-VEP-`YQ;J^ zRwnP-dFf!4T1;py!@fr_80MHB=;wsZ!s9j!O1_SVizFKBkIh0#E&sy6BUN5kWx&uV zw95v=aU+V+v{pj+ncG?a+EaZqqYg_6q0t8fUDlD=$Q6{*7Qz8=&=Mh$B1QP+Lg3au4SIX5?zMenw7K^@7zjMYW#Uw;Xm|S z!7-)mU8tZWh5}XlT&@ZBWA29r+S(GWNU5J`INE z5HjUCCkeTQn}FI`{pozmK{OfkUUWlNBhvY!Uk%&zBI|ZW4f;T~xamTs! zIrHGSgp$Yp2U6^qRzt5sD_t0<;E zY;SH&Pung;1S&arpzUm{?~fTR3zI}fEgcfs#I$}v#70hkL2N~rJn)-0y^X4xBK7L5 zwizF9g{0A)Z^-?Rd_D?YZ;1X!o_g|A0Qkf>hye?GvF%XUTk?D3)$NP#J70<~0=B># z(a$IqlDHsE%DQCYC6_%)RuJ~{9jcHjsj{~{A%FDTe)l8An^h>Gk15_LI-gLC9tA8F zaENpWZ$5X<^=bf8O#98NLRCWhfK*?X7mn~~T-gJW_70y>H4L*WrvFVv{1Nz>_e0$fdqR!4Z z@KZBsc%slUdd&dVHRT+Y{l7Pgj`s`Hpf)n}ys?^gP4Y9;`rGQ4Gw9pD3bevyMZdG3 zv2F~cxl^YwHm_7Fi8Y3W=n+h0^(ljam7`0~|EITJ6K2VO?pvKIyU^sE%cYb==}q3? z=NVz-eYu?*Q~;`wUFRvUXVrYD@f|W0Jjlh{rIv_QGC$j|YyP2;Yf$w4Hu@KPO-ZYB zfSo4V1Sx_L#q=@>{Uche275nvZ6f_`N2Pcw$Ul@*5m~7^Ogsed5y=af#;&0SCM01LxHtFUO$wZqoe}5N#XnXQN*exTQ}V)y$ZMK*7Brn zpwW^-g*RUvbSaI(Ga@}C_gGubGC&rAtW=X9)fD2#T1zoP_LD!JiyIUeaj5V>4cdWM zrm&wu`{d!cwxrDze$i5yX$`v}R?$XNSz#Zt=L%+gDKrE8f-N4XlaY?1vm&T;Nf^M~~ zkn~ZCAqw>~sU*;41b)BX3SfM`WT6u?o@$jdy&|l`0<-?xt9v-B<;aSTN=PG<}#+ zIL0y2(+Ekkrq4+Xp#ujA0`S__U}- zEU8aexLo*lIjYpqpi+qPzpR{@Yy-Lv)|{zQ8T5d14@wg|XYaDGk%cUEfqg`)m7O%Pm4XstN&Q;j=(G!hG&WI)B8;Ys&2mNdsR7o%!rjO{6r=hZPhQd?8O0Fue zX4_&4jsI)Y$I_}Q#T9RFanmTP%IDQA@4mcnd0t*c4yUOtG}&(lVpkXJU8|E=!pV|~ z-kA0+#;%Arq+99|Q0mV5AR}g`02Lc5#S(%XzWR*yjJ^H4G#ek?bFQ~vQY$z%`QP=Cpr5Z1R3S%!c8}5x; z9>B`UsN-60`)8edk*5&H`Od|1;+YW0c3y;N=}jG_03AT$zftzTEVv8b=Wl0#BBoGc z?K=5(!OlyRW*y~l6OLlb*b3U_ISQ*h9Q1i`<)?Fn-&EL5-jTW_BB%r2e>JuJyYO}= zILAxa(lDe|3%!})X7F<|5K?X?#lO9?@&wNu7p&21a29kM)XVS{-499LNw&}qpgHaY z7YQBMwIer?wB_@dDj=+F>2772qs9y5Qcd~C)^EZj;4dmQ5W985T14fTt_*%Q*uf0R zr3q(SM_%?v`W$lb=-BMCO7s#L(QvL&L<4W$YHRF`DgoxJ@sQ1QRA+|H_pNL=t@V}t z;1X7?G%X3uXB7?3eAN#;7>tNGEP010)K;;rf9HnQQPSp<#j(?Dmu7f!;jU_Sg!(Uf z$$I@|NP5Hj3Gr?V>Q`mzK)6*Q!3Q*BqO^d*{D8?I!71eOQW$-{Qwo*`#6z!vNC)dEpSLORFGkf(z6ryH+{aYFX z#xy$XdKk^F{cC>P@>ie@+hA`Rf`S56cPvna6JpGoP!rHS+t4-lp0yviV0KFFt@7e(oV0u`as=iliL~3P8~P`MajbX z-@5gQ^LP!AFbTtRyb2V`8~#ICQ{^E;O%aTGe>FCG$iJvJn`eeoU3)6q z5M%)gLeu3BTS|7bs_h^{n2<4HiW1-Z3G9u2Aqh%G2HBfh{-JtSdKI3ihA932WFwFP zbo5p|Sjn4URNi{4`;(!h2*Okhichr?L;*s^Q;?s~5&xEAIxAdjO{EnMHNBfsDc^e= z(IY`wsvq`$s{rOVDcPq}_&Qbx(*-0}{e2P3DWLdin77R2fh!>rwVLjngDR2v*&P#| zt){MRoBND+(5%wnCNtd~kj%?wxraVz=$l+SC;c0fq%pfXS7DUC<*X5B#lZb*p{xC6 z|L$G{Akz^5C;{|SfKF7UdDO26GDp7UyN0qhdT+n>&iL2X^Lw~5CQ>Lv38a6PNPcI% zeJ0>UQLKmO|IFNOhyB+@Ydi)Sxm;fRM+YnN)~xC+JnNqVWl3 zSeg6}4w=no>X%+pk+UBVj9rko@M!_yK4qMsh$^PK)v*E+$0+w@dqp!ivD*(0EvppX zU3|X8J8psZb&Cr7%b&*>xk;%CS5qnaeLsnn0=c)^yvOK(!0}4|IE+uTf zMQBKXJqQ(5O>1xWmp&$j3c^Bthh{|OLYuG2Y~;u34=kCoIbAz$TrO3)^*!J;Y+WvW zJ25L>Q~KgWyRAd>dr2dCxMzf5AQBfSiQ515)Fjx17{vHv{m%4aWvFIFQe^JC1Wk98 zVZgjDnm!6J48BKuWJoh!2fywKvH!b8TPOo!V>q2~=ip4Tagd2m+SP+gXyj$KI(OG2 z=GVtuU^;139#DK;c^S}~SNR3G2M(3mY{3=NUYoaJ}Yz|eRRyg-oef{K#bzu;~f8A6`yWz4|vhJ8rowS z_LhMQdogNbfjUDz{@PwRZmqlDc+k&i&OC*oRZ@c|hPJNR6k+g;&hj|{$VI~xwMUyZ zmF}c+h ziowWQpAl{Dn>phIF)bWcgqz_RM0^)88tOoxM=?c2h$wQxJi@}g$lzT}J8565E}h#k z@1`Jv-f%hw7Q4KfP;b431ur43(=ZwfB24XE2U7YOX`%P3V)cC2=YYh2tUa=fLV*${ zg3}@=Fa1!@*JDPy`jjLNZyyZ#0;uF$Vmep9JKr6UpKg7Ms-+NaW_QQ>?58gn%$D?4 zuUe&+I}f%7H*(8U@T@c%+iSC+dpCx{g#@85Ljye2HolFR|76!nfMKK8J~B5nQd&3!I%SwX2C)obV6~@9TN`oa-$A~?S14JGV|{A>m0cS zsZ#`+%ZkQcqTzCh(|37S{C^O-nwK?8Dpu@=jwH`Gvrok_aa$5TvYC)u*ZVspS0?j~ zsmXrRWi8FKrVfDFvZ}0`-51;Es@YU}G_;*l%)dWqs~ z(#uCrvP-7TqjP$)5fdGM#@bYMQzp~}vKs}7Df0y}ag^{t7-(O3Bxx?v`Fn$Neg6yG zd8LP8LxG6gnqqdM(O=iLFtW})m&)QYWSaq7mpR3JG^O^+>E=(O@mz&_I8ucgz|#E% zL%kn48XKY?U9SnfOwK1M?Q-Kp_lr5C@0Eelk#F?2acgW(;-YJ)7m8m8h{_~qmrTnj zbd;I~K2cLhYcjeyY5P&!h1h1?4e?LHu|D-`FP)FLFe0#rY_5dj6~k6{bCy;}%x0RT zh7Dp?kJX?Y{fxL<^4o+E!_%7zS;^B^*JK3zeDn|L%mp7S>NPK9NkYwdgJ&IziRmCG z{p~iu+>GL0U@6X#B?1qriUz4ETIW`ItZ#$c2N#^6%GQaT%Qtz~Kd#<|+AO#^H}Mx$ zd7|6JGn>Edg@%^jh%D67?2J#);3`M1GODCOxSfE{?wjSr;F8#;OI?;r|Ct?1hqUgm z3`P?3ccoh^*0k(@0sH&jef`$(pv5Fi_QP)MgLD??hu=S=(ey`s${8(1XIV z&gRKVH&V`^OBJC;?Pxzk-pqTu&9Vc=c(7AIK_>eD}DLeD4~1KBxXZ$ zfVf*bEz#&q6$`EFw(`(15T4-$!ax{HaQfa@XY`M$gsgwnQjI&oa>Nl6Ku^-?vsTv1 zg}*`Fl>LQRi6|&Mw^PVKMjBiSkb1nO%jRS->6UcUyd(VhUQu_q&?}XZ;Z{CkQJ>S1 zH`cd`px+K|c?QG?uanUPl%Bj>g(Y4R%3SFry+kR!E`JHA2V+!7AIS$fp&@<)rKOVa2N1DrT$`qKF=sD|;XUAa|Sezy__Y?pr)RB*)Fk90!s;lk- z8v-lAzP~`;l=0C025K~>%@un)4~efX%H3LUcD_k1=D?7)aPrT;O|`SiLe9VAfVoVL z%0SNk)lFK5^!;U4_4UtSMfo6@Te}fuRPaty+o^g9OyP5T8B*9_Y>vt24odE&hyA% zX-A6Pf%EaDZkq86Q{`S7U0-D7q|bzTQ^wg433Q-`f4}zWC^dQ^QJg94nOg@zrgQ)XB;F)7%1PfKd_SfhQ-+4 z_*AyvX8j?p3L(McYd!VxfOi*K7B#l*-)k-DA?=&&uH-ri`EA6rcrEr9`vEQ1DxZBA@}qy-`*Q&XXR^(2QWwd*N7(W zovoBc?e2QrmH3|OIP7h|IJEh**_J+EqzS1F3dq}SN+zm`m7!?;Z@Fk-SOdQXta(W3 z$Q0}3Zk-+@Yrw15c4D+HTr~B9T8K)~%4BhE1Jw}pdWQOgEs?G#L6sqt=?T3Wi_odm z9t}$)*EkDW1aextI2H4wsE}a+)pEiNYsAVnX`BmNgYR=c#itfGc=atNN$Fp!s6arO zZ+#f3#5?6`K*6JcQP;{1+}IgwCkc`r_bJ8&^+{6KR^F=4yA>6lR%ZFBPi$FrX7rq1 z*;J5-i2kk^S5%;+)V=`c8v0|p^|Y2iMpq|bsUjzMR(>x}MUSCOmI*NCFGZtVrX>h0R(Mb>psjHXrq!(}gO-#%6%bdG_OjXTcs z+eZd=6Qv@-kxLGtL5QyXznC8hy>>snrtxovfC8607hP*oSVrws`=&FFWnOCv%-bBj zoa(Ov8O|+7Mv+Pe2A8Awf_X%R$`EaSzt5HqFjlbcLq)FH7fwV#r;qMF@*XwLS>-M~ zNU%fM7=$(RG&5oZdo4sN=9xR!Yov_IAsMMYq%*T&yRSV5I3!b`AeXvl3`%<4&(@lD zS$Qjx+_8wREehM*Y&7F==UDaqJgh;0zD8Ht8ZPRDJGRq)Y7SV4x)ZOJqiDW;?Z_qa z&zgRNNq;)4#_RV^X^#)&JBen4t z16g=t!h0|u9QsW}exN%SX!t6g7G%m-Uush--A~D!PUn6_I;+@(*9=r~DF@3FZTj`p zxV9@X+|_Zmi%zpDzeZ07SSi#k2l@%tZ09n~dm)b7Br=0d4`oBV1wG0( zt5mK|R<@jtyj6&(5~T64abaeOezHlON_5lFchFe5oe#_h>#v7O61GLvUPf{JCUT>P zXHaKgtWQ9XG0W^|N8joL`g=O<^0s6hmu0&udFyiZ%ww z-N7H1Y+{a+(q2_kqXSp4m^`Qn>|_V41z4$ySI{{&hVL8;${6{lm;`yEe-TT0P~B|G zffS|3(}q>$GktK>-c87~$t;V8Ktv7T%?HTkTf?Gtn|5xYr{lC@=H<1DF9fRkF-A=m z5=WYLR*cu)0~OM70x@bK$(K-SH?a>uzdK4s$qhw7RW+!~;z@r@j{Jlse(s?#fXT6D z?}>-r*c&naS}J|*Q#QRvIp)X}MV~?Z*Hs*}7NK3d))XU5z|7{1tVI0-QgCBZA_}@9 za3_#k)D7a6(MaCbwEOLHzjg6ehXl)Pn+_pVW?f!eSG)SFKfn9G`sTbEQRVG9A3od0 zvl8(Rb~b;t&566HL4*cW-V$&Y*rI*%b$cp@CQvIv_Z4^3DiH?VA2ZqVc&R+Tdap== zwWX`Y=Vh!$9@A+w9kyek0meNwBn81ALQ^DB+C7Wy*B8zDa7uezP3|58>zu!0L4BRF~O+abUD0ll$oIRrmnui3uqQ; zPcb{YQGK5Hq@xc(HtT^+FX#?k90)sdO=*0+d+z&JualKBUi~Fd*;WQJ=$`cw652k^=lBf}g0Vj9$ z9qb`XV3z-?Z5&@2;<(>)_?q^!Y*&lxjS8p}zwRWH7qP_+ z{wq2AgmK=h z_A-{v>vo}T3R-f&1=jSE!A{SCw`1sRnhz!^Iq`gUsO2Own%F4K65A*JJ9SpFlRm{w zPpRY#{31okVp*f*t=%Ml&+OajAc~P(N6^LUUWf6uQS}dBhxc5;#ZX+}PeC3WP+GyO zdyh9p^NvX(Xi(cCgYI%mg}3u~D}Sy})H#}S<;mjvZ4;p+1z74r`@#(UuRRpGJc*N5 zTaBR_h3_HjSm8&)JU&=lM%A%1T?GrQn~MFC^_IfJA0s^}s)#!5a7*{*F*oB_ey*k4 z)<9sH5PUYg_yr3mJ?V>Ni!W~8^so9+lqbr5b&Ag;u$z=B)w{+ajsNrNeuk2?Zwf>z zt+ZL`tu>Z7@)9-kF+VQJwD7g4{Hz3Ys-s%}pg}}7V*?wQ!-~%BzwY5Qqg1xtbHfZc zj5Eb9iRbJuWc~JQ-9$)5AWixNqQ%?HOaZmd+uPE+hrPaj;`>i31ZLwg~t_WyUq;#(c{+*?4+{CNZfc z_uY#Tx;~^&sK1G>q`&93W-Z3v*i{bz!1+uGpro+%+B;YK7}d@M>&(_-vlV5(zRd1Z zv=ic6G97ouwT7rMy5@ZqBc+T#-4Vcnz^z%Rw#+oGAYV-|bqs6On((Uzx&pC~ajKTPRUy|bJ>D`H;_e#OJrj9(Z%RmU|k?2`g zWLk-Q4nkd3l8V21ln_qdSntc#bj1Oad z-`V#m;0GB2-N7J`hX3-inV-r?zqL3pu_9@8o@l7T(Yz%ck6rcAJ|$bM&0R)oPu3c9 z={2*$?~kY?N;b@@9n$+)sIwCuY-K(ai&LqS9Pi{d@El}5!r;05UXcMYd_7db+PkS4diZ9;`B*Cn+`wf`lxW1%D#&_rPMvx-^BwRn zJnh0bH8In%}RK$vE&ixJ?36abW|ZB+pVey-NIOPZpU6?@2kT_QKhXveh}W4 z^mu<|v-KR3TDS25jpJkonV!-jTV{^uUa2QLLy+pmW*n%czID1^1%E*s8LhGqqZ*Su z_SSz{I(={r$qznZ+52L2Tzvp>Bq}AoOUg}l(q$+bh@qW>ElUs^*fZcwmOV5&RJHi7 z|KlQ3>EAjdZ>Jd|*>CYpfjEuNIHcNiZ^Wtp-O$26yqALg!3XcYu<3!Id~R`& zunRQ24TnNYbyFKm2pNp+jF&F%60R{-*0xt-Xca@n2@v!TSmBLlE(uqD#^(sdA&N%b zsKjSZ6n}eti&Tu*3tA*p3_K7SVUJ{cU}C>5LKe`m&2SkLFzoZ!E>zPnev->`a>G>0 z*o;ao9K+|C?wpSQvVz$x8Pk$KaA9v&T2;amMRE~uk*Htw^yaND9WlXNm-8lS@s)HW98c1u z6hF8O!nyi;BHsczp>bR_$>w>oAG@qQObdD9d|(fs1j!Q_M=YO?+TM!`=5g!a&du0Q z5`uJ#bX_RnSvoK=aTr>mnsW+~0?vZcjE`Uvb`NNqIP!!(ue1q?dWAeerB@XUgf&BL z;?{5VTyn*@2h_3uS+V9kMmVKIsp>qo=B&-Z%^FY$!XMk-8^R&D%0oKgJZGYBfe?dr ztPnSPeLn~)Jd;Q~lqr4s2Zf8Os=dCwr)4aOOrbS&vN=(%obU`Fp%PA?j!ocZ z2Ei=DYg$AQ0$wKNQ9?hA%)%|Tu`$VOF%4x$(AHAq4j`tIN9a3G*d+V&gPmKd6#*uv zMKpXD;OH7uBW>JVXv%+q1`MoXa^5l-s#=t`(;vg_Afzk{_ssP!Pr8J*UFJgfZ*ZP4 z7`0TvjUn%tPehFE3Mb+(z2JX79As45Go5r?OS~DQ5z**U^_X@!(UuAj%Vni&d`&;< zQWR9MG8Uf~VwfhPr&)G1s%kKQpg_dFDhPe2dOE(FxN(aiql- z*cSu%-V9IAW{BcOvec{`($m#z#FhWv;3~@=bhMt0tH7l0Y+RZNqd{UYeph5tOi`IaZ3%Tr378-|yt^f^;2i^3R>}T>3U!%WcfI=MFurUNW6qS|5^DktXc1aoq!5F&ae5Qk#d=$93g@FEd>OVa z()^FjJaMDS@wErG#aL(wk12vIZ zScCme3-n9F&VpF54F83K%wf9_*Ilg89XDG`RoLFnn!hK>Rg096}?q=&la&kQ>XV-mPIA#Y| z#FADu1b@kF?pvp~nek#&p?er`&A4CS?>|Bj3=@Y!y>~S5)dW$JMELH9Jke-Pk{jvs zW`-`&20M**5O6l)*E+fO2&2d-j{QD+vUXvwhwNmug#s~UbaQ2MjHa8P+Jo&a<%YPG zk`bVLMF-U3NtTnGa#ZjH0FKh|$J{>RjrrMrw9=?S8QmLiJFH4gpu&EUbfxnbbT!=7 z3OlF~xkZH0ys{yb>It_$-H%FIQy46K)E&bFmJf^yo$FwhCJ*)xMog;q&pdq8bJbjM zEI*}2+vDdoFU9G2$P@0@oc=f-n#jw~jvjLqMX3n)@!;{*&LHOy2LAg6)7;xWS-VlE`-pq-p) zlAB;4r|<6?13W27AsrAjy>rj)@&5cno+}zS4J~4})=$HI0f{GIY*F~JY_sC}x1`(c zf|OyN=0XGTh}0uZc_;dtTV&m9#?-!Z>h<+Lbr}Y{F2bnHT)zSfn?{Ebu@l-LS-r z9pR$qYZLK=I0!^KNPR5jTuA>G4x`uz{K((dD89?=pK_(USqaXvVRb`kHAWyGaKmF} zraJQ-kd)z{X)NtJm*Pz0j%%nV^6P13`^7Um9JX3aFn!GFW~DM-O;{hr(%^{A zGLbx%Vxeszt~zW5pw6^oBdaPK=+C1-3H_(a?GSZ~Ymi1|GK1E+XoVpnksE4cvqgfR zw^B#R6ZmUdrlfaC;|~uwG7@*}le<>`g`m3GCUaffo7X4bvU2m@#zdCy|OKL{i*h(u}v=X#()3@&0|f%5q(&n2FpRpMVuwZ@0GP#s~v{vR58f z_G*QFulwAYHw^9FN_*`%XVw7Bd2j%ux3zkm$-4TjEE$PK*ZXr1A9haO*cvzFy~bZ9 z62QkRhXqIcVBXb9)3gNWu_eoeNmz)Kij72xXZSfxfX|WV{-SY$zUwxUv*!Ozg`#U= zepsaCr~RCeE)$k13&iO@<1qjkEeNLYlT?6Qo0{7Uh9RlDd6C6m+Q5IL{m4|90A2m4 z^IfdVJgJiXIy9v3DOsQWMsi7DGp72boB~{38_RDOSrgEUcZ)h0te8!4FR6}`SI4mW z0B#Z#GMk9@{U%;cr&5}j3ZsIRH}78gU$}o{^tphP3%|_S1-f9#ZWPlrB|(#0y_j)a zBw=9jf-iYmWN<^68bUJMU5ITzHa*m{8wo->S`rUdyA|5NV6}x@@e_b;_MS@yge^9~ z97}An(9tiRr@LioLo`&*!Skw9;mW{!XM7($!O%pt>Eoapjl$#bZa8{=2IW?RZIJLK zeZPt-HH5cnTbUh%Wv_bCngr#Rbu?FgN>OP?D>Yxc4HstOCtVtLo3TrmSXTkSKfb;C zg;fGiSf3Pv#fkv^+5OxL2Cz^^$v{?Bii17R#2NI0WkZGAc=+I)0XEvxD3^5&nj~V! zEp5al!`e6Ja6A#1->2vZ@q|?UsN(e|L=Cu5t72E&4q+d0$^`cAj8B}SxhXNg4Qlue zf;C#)bBHcI0TDNFwnXlrXsUwFV0<16yl`sj64O*QR@e~V{xDrSW7-R9YdyLeWpw0i zH0d5UuqB#qN#^m}?s6X$EiBKln`PRvc616xi3uaMP`)IQUGK^?`pi~o5Uh}BN2Lr1 zZ&|D`9};Gcn-WKi`y{x4igy7cZLAALg)VBpmcp8-s9%Z9tv^;-Wj0yde?wzz0cA%e z>93jD6rZ&LV5|fB4jy`LY9eD0tsY>EB0{Xah+w24xc!HVhp2iO?uyT3Xg`Mjoa7W4 zJaJ@%ElC{Q=nx?QAiZ71rSQP(h=qhufN8d5jI8qA+SqQa=z=*f=^n+XY8a&MH6V{- zb;YbD97Pd`f}@1QPWy!HniGy6QZktW-8JKF0N?Lr|8dSs1$v)S#qm-%Vu7(Nj3l5H z?enAd!#$#`&erMNY_W4H1F>kUpS|Rq+!Oj#2j2O2fC}wxVpnMrW~_v-1+OA1-I8^A zRxiU`g;;4!QD`8p)E<9L1gyaak_ySk5|CrFUBu0%GjVp{CHV#Xvg@5AvDjaL?_)9Z z7?{2a+kd_-N$_|WeyD|ygq_w*bdUKx-r$$)Yo$Uz!ToJvr=q+7YQ2BCfB$*VY3=1D z-g~=aCEYK3!kT(fRpQ>Xz#-(6h}7wCew^41o{%|hH`r_cOn5C6I%#B*obDLxY$d-@ zYuvsh!lx~*=`Y$2$jy;>99Wy49Xo|;Udkiy^w!g$+I|MVlu7*<6LQh+*@Lz=T_u16 zu{UQzVjTykpj)fwo?^-y-nx6$A+PG^Tm9R`+XuICh&~+RZ zN_GyUxF$+R2hzLJ4*;PNx&YY#X~bVUlkyR^uQs)=Roy<{prA|m*1hpeOHI1Ug3;|S zmJSel*c+^%y0}n+?BUoP#G~*3<1fZ~ag8sc)k(BwNSZ<(ro-Cu1vEg+Vr;Q%k6FyJFj#3yT`meaRxpB?Ay&9Vb&#mn z*IlaD1DW?Njh1QH$Zvw;=b5mRV!O}goWSro!YWxv_NmQWt?UiJRkxmXJT}cHt&#Cw zT)^=81EB=jPDj7m^_5KrCk*-yFXHp@QdCj@_B~Sr3g+v(p&)&W;E>~U8%wl5JEO+^ zV?gn=({dJ548>sRG}g)zy=LOMLaogFvG9p&uU2|@IQSnXhBqY)HBz8jpdOhkpK>VO|G9r+P1f-=@=}yrdU2n z;~Lg3a_V3o&iwO>(QdxFKI2o25A z=xp)gfP!1*@%Y{LK-4vAvrUgoe%(t9o|yr32EM}I`HZ2aw^wr9Tien*1kh+*Grnpt zbQ5BvL31*uBTrRQ8o6m?KX&Tys8vB!jKKYBr;%U+;3plAD!5=EsOS%p6q`>3VF*i% zpAa!9AkBRE*=>2M3PA)lA`z3y-LrQGuiIX4Wi=ZY3bCr82On;3kNdt5I*OqF@FvuZ z3Dp%EvLTy`lO*K%uj90)i``o`lH)cUxG8v3UY;sWb$M|y=M)e@GX5=@R!mqR@-NA^ zs?6!P%SRQOG9jM$YQ+?`6kWu6jOu@3$&{V-g+4-Ao?hU`y$t<5HCZ=uF5!g_0;Inj z=MiDJ&t!}aj51AxI6@*d)StSdFYEoJ3HD5;d5{VajGJ2qFJvoIPcw6%J|MU1St-;r z=z{onMJ)2+LCLH?!>{$UvO9#V6=ymXd7r4wlhM&uC&V$)DXRV|A^5G3)OENhAd#N} zDETc+v1t6o%)mQ!wpp*7{F(UZ;>8x~1{N#JK@fsF&JWS6t|Pm=N*$T^Tk3kg2OwyI zOxNx=qPo`w++H_9P|~oQH+SxtR}pkX-yfSHl4#drC)Yh*@Q6Y`yCcT>_GwXt77Uz3 zImA=M37;9Oej=B;jedgIHvEx~WLv<5N zTP-5An?1vxyNeV%a0DC)lQRqje-gwTyC9k3*|S!LosfVAV!7X+x`sK3Rrg`vBuR1P zy~k5!0^^2x{e>QJ52FnXN)n>#8=Ox=EK;x8h$F`<0j`bg&sCK?Z#}DwXq^q8s(+2 zl>z8tQ;->Lmft6sSqy?9GhiaGecsB6w;YZJC{mL}#jzG0RQ9h|(LUE35ge(hrRn8L z0b4qS-dV+!+z!V(M zDi*GQCksc0;<5;81R`-bx#+d-RuXkFK8Mdg2AY>8*WTnZ6g$tWJwbQC6un8m{)&Ex ztE%Kd`IX{J7SXnJ<--DQq{WAT%Xu(+H(XNihn_N^$1%t>Od!H8-XhE(9d8dC9n$w} zRR21GwkQ@c9?RMu@Xn`l{LOgMrn6v?M28b2$cd=cpMIUZ*+?AgiMf2~Z>bAo)J6*( zwygRtCAJrB?Gqs7GhoT|j)R*eVo&k_;DkcwW z{(IC5j=X^W7(3}r&3R#xG4niU#6FB4;#M!T=rjxgn4Xz2zeAyT6bD2BWSl=I>{4y# z2QZG62}4NFYBp=ICnI@9WvOOGS3jKmW5+^?fM>o*wb?dxp_0>p9)krT*|>4|Lh-BEGqC-5(vW0qxY*oOQ&8Phh*T!TohG>` zSBWQLUyBVU>Z0GTnfm0go(_VJA$GjX;{W-_9{~rWxb0tsktVAGI1+`}$Z&$(4eW0; z=oCC7DIpOPVUMaA`m*3%5Y2Oa6|PMih6JQvtUH zv<^R{c^);5pg}umfrs?rY7)d+hHu#111D!xbC5UubLnCii>6xPRtYP{AagT~ll1C6P8iD}kVo&=Ivm8az*1TO{5c4Ps>q z0h+}Sxl%p>5(G0uC2=jwa5*DHF{$~K6Vyh54CPv`hO>apy_SFwXnJVin=y>i><-M= z)vpz^SsE*_>I|imi;X$YGRQgka2j5GQ)$JHjJG#p&GxOIbsiHEZ+=amS5J6;-;Z*n zat)k*7r@@-mt5>m;wQ*LuL+3{W8+%9G$O@9j+8R_wR);ht={3mS0{7?-0E+GP6HAT zjpfzRXfCOP1%H9ygNhMY-E7qf5WW^Zlvu5+cF2QFL$zhobgHP_bc`bVAyyuB_1U2_8F(l;Y6x<`rT^PRKyz8XPcu<`yQn9NV2zzTR`_vyF3DVJu8F2CeOAH%WrIFme&*u3X4A}7HJ-!HYNwgn~DBP8sbasd0{qi0m0P=JnFa zDQoUK#RV7{UgovGEplwmq+jORRS(i*5FITCOE$pu$13WjaYCQRht;up`xZ{T95Bl% zbCsXq>yop=HYnNPYZsX^^gA?-ryJwXGr(Y7zQd=_%&PwBV|6plZF41XU0Q`p6_?&q z2jkN!n-{5<(Ln_?DEIbezUwuTxWKHA#%}d$+yS5XZ+j_^8^GS zW%iSQWAylPVXOKw3@Jia>F*kmIY@MvA=xfw2Y8gDKSC#A=jWXX4@oGM9!C2BaM26< zL`V|i)&bh?$S1h0#>7^xY96+LT}O1?!0=2X%6{7gvS6x!&!1=z{q1T*!JgeQmT&DAAjtQ72?1ZXeDl*t@9FbzhXqlqU=}7<{7Y+3JkhM=W2@ zQHdL4g=A_2(R3I!vG`>NR`}JT0m4w>aV;fj z1Sw45Ae!!4(Pt(Uv&{-+6Z+-xQP;;Hh$TSJam#2$g>E8fVnd=Za3L*S#M>ZcMa(p@ z4YL3U62ibt1@Tm5dYFuPN7N4juk}NzbWMji_;oV_WC34QFq+y= zM44_PUDaiRv$#uF*_rmWfhwee_N3?Nc1^Zno>@fR>tv7n+6A66O{WJ=F_g6; zUQ_6LzBGMOvMF#zvDcqUGwsov&9(OSo$0X$=*JTz0%xi_ZcVxgM?1=m-biA-r8X3I zOaZyNDYX3--GClpH4pHtP8KC~{VK~JZPXT@3g=*Vo)K>7y0P_RSm<0rzVpPjrnpA` zo1S~(rlLYuDyY4K4Gx{>7>A(Op(j@@XSyvuy;`LW>p|nc(c5lM%^x&_-yqK)3*QD< z|74eo_6;;I+$GBiv$zVLHKrr(yZ6jrU2cl_TVXKIyvU-(G?U+OOF=(bysr6Z8!YFX zyVj2X&mmdb&$J~a9(n>n>Ge43Qq_rP&dIg|%aujJmt}xVePF>YF@fzsZlXVF-P%Wk zISDeEv9U{8jR?ZU6-%rvu2f7}M{kh|^J?Fu*Xt7`M+U)JEDyg?sjcV{{xBMdtR;cQ z+9w!l_xNmCq0pqZ#q_=o2#XuiX01L88NSg;z53|fu~3Rfz;tf%0Wbm|`}?sU4a{c7 z4lqm{Fq_#`D*FlqmXq*{mj`Rsz_T_Pnc01#M$j_ zrUFMAukoDvvOnsiI$g3PZsYv(Hzb`Vr3SU-j}dzxdc{3_yfLDa;=wasPFNZ0C7vi# zXq+AJV1^{iK-ZpB2BRQWqA9;ATB(aFZFN~__DRN|6yJDkNWZ7I9#!0Q5JmZqrvrK< z0)c8 z>TyUcI}8hDM*|eZ0*jMF&5)8;noTw%P#Hn&afIB?`l6Jril?G($Fy%|{qa{43EZs- zcHsapqBo7XL*ZycdbldKXB1M@IJ2*kt^(SBbLQ5B`^g4D* zCA;|b*4a%e);3(m=Awx(8tgOFg7|^c3KC!VpMt~hlVLTnL#vKM_mu#k2_RPVO749M zp;SZ&^|D}EP5-m(HmJ^=W}CF{o}SXHwZcZ_?p1MKE&LL@gb2VWztFG02Aew0WF!cGV zOnD_bp0^F#?`K&h$NYUw)_gjgl8R)K z^Se0r3k$^?d|N6j%__XQkj_Q;i40BP6Xuw*z_jqBKz1e6glSQNBG_Pj{58of0-NB(2LMg&WAz^vF{n206w&JwVQ1joUR^={IcW%dCMZ?Ihx7x zMi1A(Gk+dw1NTROM$Z;Xg@W)Z;Jun$_O(Oi1-`}1QW_|P%noO%>^pb#-zWgtSe!$l65Oic{HFpRy-ym{9R&>Eq+eOHvxuUdZPo zlL*kVNdVXhHlP8t3G5E^O;C-sku(*+#?j3(=tC_n;ok|(s>aJ+v$_Dxg)tUdrl@0= zygF)+_HkN1s9e}eHRAs9GF7BM$V=XZTB*edXaIZmv>j=lqua~heZ?ag_(L2It)JJqX@wg|*X+p0rMQ$Y<*!30uS3(NML+2u`NbC_JW@l&uPE8mQ z4~Q|O@k;QXp`iJmk4oWpmCEno*}Eie^kjIyRE=l%-jS?u*tJcq2e{Xe6s+sbH3a#e z3GGa}!{SGPihAyMAcd&=!dOBuP-Qqft`9J>YP`r$pDU5>83>M8vT#h>=)9VIG#AYCNH<;`vq}9hRQea zx~)vLoV9H4U{wvv&Oqh3>wc^o*1#h~@bOilKMfr+6*lNS>;=3-l^%LBk_TYiz&g>W zIe1x!cwy`-zCvzuwJv!nQ&3v)0)Je0{u4^`{`W7<764$E+b+YPJa?%+)DHvd3dWN%McDj#!?=LnX{hIpLuqpPGi@SKa6*c!5XVjcp!S6nU4 zrx-Rm2|F`S;-*p+XvP|Z2Wj*41kmZ!UGI<{Rqc zxhQvK_*+TtqRr-c7-wcu#`QAF1$+!IK+aJ6R$F;YKuYG6^vU0niJ{Yhn+@ZS@yw-= zU3DS!aB? zLPc`>A)V0kNi`NWg2?1{1ikIN7k<=%6l z0}q79#$N+G)iB-#sb7ndiff$vy4sY9@Ywly2O_Hb_#$(G23y}ZI0#M73;;%cYTXV? z*Ijvs>j?mu1r!wfJ%zK0nwdEHhGKW8ezggc4nyUw{RS{l#ot#9MSWVRx`1nE?B2JF zrG|tUXGDD3Ugb!sl$&AfWTPWoF(f1lSX;xSV)X>{f4rNiFm^^-LkeKX1m(13vYd|* zFw+?-{axh8W~IhF`b^~GKNAofqx@BowXDy-l@!3TsZik$lF#;7U$v!d0DXu}{o{cq zXaP=*5V&0h_fg@;24p3|0Qn%`weCxcc$u$o(yc;*cw%!xd(Z?vznmD@uGfu8EhCHO z&lp{yN#=mkCp-E$y=Uz@U%qT})jf@F330%#1C?L$7yE{{U9BYjVpCF19arT2B}hK3 zA$)2OfBI+nX_mu`^j>V!n>E9E?Y{EPf_#4wGdCjdilNj;csVIBMsVLf&I-2x>&S!5 zE<}O9(;Vjj^HRS?`}6ghT=%bCglXK24#*HgHLQ<-kF2OF_<%%G%VWN{S-bU-ll-8E z3d-UF8eSi!VJZzBcEAo6*zmoLB{0TKjY9mig%G8;z}pxlTa=41Sc)boO-5XcU9);S zXoG+bf6XzBoBL+;j^n3*IW+v~02Bc(dj~m^ZWE;A{34VB7pJ_SJA{fxTr9Vk9RwWO zLJ-HZXvro3)>L?>^=lhQwS6a*x%g`N zOGm2fmOg=W6}W8cOMV^%wQCv){my`9a1bYJvX|{nu<1*0*A*?`giin^yV?vm8!H6S z5lh?SO?}#Gav|_!64*%{+36v$2; z%#}}1b%p)}Q#VCe73^<7cF7=@Y&0>dqJg{lDb8{{Yb!OSVE^M~1gCFt2wyjb$7Ydg zeO;$^v+#yd{<(4f>0x^rFbP#%FX&`ynKc&0ZAW(@Cj0;0Gghw6rfXb1Fn>xjO>F%2 zyhBUNGBvgaPqg_#(beJS2>D+2imciKC(X%xAMk-RlK@N|Iw`zRRrEhp<+Ssi8zQ_? z5JZzywv!=y4_u5RoM(~e8Q0USXHjzE%3$CIR2cAUq53d8#Ta?GgL=fsz`sASHV2_0 zZ4tV0=b=t2n4NP{oY2FV%7EYW-Ie&m}dc)Z>0Q?XqoC2?XL`8DW#I&Fnu-%&h zomIAFkXlF&x3~YoSLk+q27d|t8ph~@VWw)=6UU^D1o=CM9@BQa51E%XKVxiR1$-fd z8VOj4PV0LCdFD}UwF1zz$}uzi>N8B3pSK!Z0mGgeELH1f@k@Q2%z(=!7C0aEe7>ew zuuH@5UMi{eVj3yOIP}P*w2c+9^WHi@kz&wM9KiTl$*QMAW(7gDkV-bMpqHruUcT?LfAa<=z;$41v_m0eH-?h-1; z^i-^@Nr|xV#&-P{a9_|cr*FJkp<1+u7eHr#KGn=A`M>=JO+QHg6%>PD_ne_5mOX=W z2?G#mjf#jFb{`eeY$Bwg)2{Lsi+$=#+668nrswp~=!z4VT?1X%e>pHovqngQ#30wc zka*bO0pg&vKR32`Bsb)n@pF#EKWjr4IP;RT2HPKgjL!BZRC^v^$@6k^r&6r?ucE`{ zpZs^iVelzCgDCOe=SS-$ycf}}tmMziS0j=>0a&9%hc@%nmME>D$%9qulTf+QrXMA-~9)%96;|5!j{dWc0kicb1%$`v$ zWl1&?LsVzVdepVGe8fOPj;M{YcyZVufuXCvny;^9+O5MxDkw|-LQu-w)L67t1|WUc zCKC3jqK-;cAsHz~U&yRa;iDa;>H?4u^`WgF1rGDn*_HHe$qL=^R^y1$DOf7Hd5>W|@_1n~CokoOoTRj5b|hp~=XgiT1p z!DzuZ0|W(R(%bZTDn^ztbzQCtwqTOo2Ua?4haqp&JM?rJz4)T*UaZNCi`vyYmh}fig`D|^@EPZ_zEIL-5 zr0Xt`n%F`JS!QfRuY~wESw*x$yv{~K)^ozma~*uSr0*NvZ7J^^zD$LpqzNOz=NB4E_`rqm!cvoAOt#MKbY=61AySDM|SnYD{W-B#dQt19&Fp=V<$121X6xF=Ue>z zAohz4J4IH<_=amgsB`Tg6o&r*m;l>{frrR`pj-JMRIuaY%27CdaXf+Wv}<|K?;j1P3>Wnm{7B3bg@q@w7`v@$d;^>eLK7NDyE zOmZ1W0R7B-#ncmejC7DP8{kG~yNL3zF>jy4@QroyjdRlWb1j_g*lg9E@a1m;VDw@L z^@aVAmNa>~ceB)EkZj%TPH2lgh;Wh$v~oCATP9^S%JBNt3khVu6WVcGJ*Z-`_jW;e zyC-!@LgbS)^u2d>qLY+}cQuGxEXniYd~S--*dJ%5TiT=K00Jkb69d0gP_|(=-eIEge^iG@v1XiO zgSV3fO_P;>o|)DKb{uRYwaHBI)Gah_%1>V@s>w+SNKuxHG*boBEHInND{xnc8tktK!hxCHU(G+BvL1oiwv!JeT z9W%if#h#asu^o?yUxzX}w|2y+KByTcjHRm?0HW#tvZm3msq4VuPlt){Axp*ItL$r= zv|yoswu{jnksJOzf3aB|OF<6Tnv`3=&_PfgE4eFs~ z^}F{ADyP%f;cxgeu$|bKyBxsj-<`1jFgj~qrdi5I6Vz4pSXUGw*$Jb_E^dV_9E`dl z!%UQd7$n95mh-+TF)THnj5h?LYZN)%YeH&W@!v_@U=VphkE5V!dh@<1Hw?XuED%Xz zfZE~u&)_aDB3_iB9fO7(n>A=N}VN+rDr#ijt z>N}k9JaDo!F)?XfmTx@CG3(t3qSL4cwYk{BZpUgDV>Z%I9#UMwd4UE#`pI zEgOO+T|hGWbb}RTvU;F*#7_635Tx;{ODv%wn z{q>KmM50N55vm|@6;N1-%x-iI^%zY>MSNm{Tnukt_~1cDX;sKKMf+~WT&|~L?gGi& z9OWM;oqsr7vR#D&T+bwp%#QXX8>088JA=>hE`Ow2bz3ul%sn4S6v~Jnk&EDlRh9b9 z{Apw!ni==L@~o_o>BO?zI)1%OYMP)w|J)ur?Xms3Q5Ib@VYWz8qf&~6US`9+PYSwo zoEG%y4vB`cdMqb&fO3iLc%$kxsyXICy^D{qbEv<%?29KkuNuim2Ch)@c(V~Ypu4qKa|75s6L-YpB7ReedEH5}9oXh=ZkfEb~b^d*P#t#?y{TafEpI0=l6n=fQ%D`i~xOv5$M-UHSLC!XYi4KkE( zi6^}oSduc_^jS`B!kN%&jYR1PGY^z2o{J`;_K_y1735y5JQ6Zk1e-C;msRR29}fXo ze|3TZLNs*U&|b1L=nwXsN>Minv^_Nk5Mxq8>};b*D*i{1`QZ1v1Yh47>F}&?>=x(v z?S_G=mx`~s+oSkloN|ldtk~DX_+3_G|IVqei7M(WmB2nalaZ;I)B7hXKAHIXL}fdE z6(7DC6!R71h*s&Xl`)e*Y(eSfzP(s1b~-fWr_D=p!*9Sr52Y8BQ(%mQ)*-1yiDDP4 zgEF=4tsm#AzgRITYZCM&eUx1+XdG#1;uJ5P<$xzJSJs{0xKMSAbQbKW%IhKAW#D8v4lkvYN_{)t%xUM*i< zPNQoqN6qL37MLK>jog~ld4s0t)b2J3JCyGiqU?a!MvgN*?AKvadIXoZfSDy~k2E~0eWHd-TLZZNrzmIC!$2JVrnIWp(oer6g`&Ee zG^f0wHKYPpyi#)52tRYZ-f;rrH%tRc~stY|hlM1V#Dfx?nHw*OwitRZOlYm9J#1P~Y$S&{F=_V0Kl-0hk{UUIvB_ z0&s$=$&~IJlpEplLA^U%+pK=14KU#P-Hx7gmoJi12L1?!>JrX$r;UpCJH$|dWBsx}D|MZCDH~F>Z(t|+=V=ic4I$0U-*v|-Z zrl2YCaf|yXOyb`rY$diFMIkohSbe^*(VciTReTMC)T8LaYN)huM z<*gpvBEi6-5^jM&&bVrGuIR66yDrOuXN%HQeC`ABQ=Xk{M%VS3XSl=_b6v%T0Z4!( z{{>)qUkwao4(#+~CZ8%3WI%NB+~uER>%|uQZk)6FF;UbMtJbn}=uz(e#(8bpWI|>! z*u1$jAUK0tTdwc)I$KZMv94=|@?{uBoAeFHE++Hh!v?#I`2aL6GDO`O0BiVH+FjqL z6mpxx4%f5ht29E31dB{}USv}FS|=oNY{~Zzj;goaHol(#h3p19!Lxj{1rrtfH>(9m zJ0EQXX1sNaHeZ`DK$1&?Y5A|uS?$Q?EoQzTY#wx>J@a7O*NvJ~I6^Y18aBt&Bga*$ zTqsYcN4(L{s8&y6Si8 z?z9^#-wx6MwZ%JEKg6v3pYMdHL{7aq8E(Nt`~-iuZHS(RUOU}@j|nr!-fCHdnfjQs>jswcRd+plgA~HZ({@&tb2=4)5oMuMsVgA zc5!JqS3}r+5xK|u`6)+Ezs$HP=x5&xe=9jo2-=Qjwk*hK-f;%Ws(0;Z60Sba2#T(@ z^C|MlUp5)6^9>$5qaeN(Cz*#`t3fij$e=Qtvu2IRv~Hp7tPqffKqLr{}LQ%aW*+_(CyoK@Sf_ zvn10oh#;?SoxF(~C#_CDq0EU333N1HODoNg{)Me+PDYk*Ime4>|C{6>({Z6>*F67E zN0Ld-^iuI$^@`sSnV1ROppQfis@z!??3VA#G+>?*-|L}ZE1~acexo$<6p*MY@ur;X8Y)sf1PT%y zO~QJ6s(coRA$u`0c)9B6?azv&Cl(YbZ44fX7Wv@mK+=nd#a-O~YnJfBTT)u@)gp69 zA$sw7$r8Ju1&#a*cUg8r7}gp}bGp?c5wxt1G*1g1$QoK>mIl&_yAO{FSRUrIj4t@~ zpRR{lfF}t~av%FE0zG(eJgy2)9>&0IP3wW;2d|%oSv;?AlJ%Lk_gd?ExGZxgBhn1` z82q@qy@v1Aa-TPa2rBh$Eo6gEE69Qq(=c)ovpj%}koTT`5V+ZuwnyiC6F~r4JHGIq zcQ9%FIgg#RRkI8fZ2_A;tx4xAx$oHT_I6irLAC80Z);)GvT3jXe~ia`fgE)enCCPR;U;J2Ok;h3GTh6myK%$b2?ofdqrdFFfyb0xb^4>%Ntn_S#Wi+FZz6kHsJ_=r;S%mg=i(pW%^NguB|nrLLJ(p&cM zR3HNW(EP*qZ@uHJP+5^-IMUS6g(Xr|-VX>#H)fnVP&< zGKv6{r2T}c!P3I|@FIHo+A>d(*SWBR0BZc=4F!=nyhzr9_Oj=0cdrPi9Ptt(^DZ=YZAbGQ{D1 zgVO2)O0(%ldnsr{na{klND)j*^Z)Tl zYI+_g*->=Z_o|Rgf21fl<`b;6UbhM`@Ps^=wnz7|it+IF*7j2sP z*fn8=(YM!ac->Bo(DU;snF*$K!tuD@M_zwhMe<-^_H zoD$KU%ytAR{H;pV!#^AZfMM%4OB%F8ETq-qiWMJk=07a!$<*^h`p%iv^$m+KnL^1M zAq|DvRbuR{0Wn0Fr$#qvac*w-Y1?9{?8$F9Tw*J>7T@*Gr18;BGhcJ!NAQ^;t&5({ zvYkv>lDqSzGl{ni6WT7Re;6yx2j|q&E(QA=W^}7hJKO;5&MQ3rg?<<-0Yq5xP@tkU zWDt<`#7zWVf^xhAZC@s8hhTNfx(f6a#%7u_ep26zG$YT@a*ti|>&y9Zu<&Kvr=!G` zI`#C`Oo$!uarBDXUTC=Lo|UcNhsTQ{ZB=DS6+BVmYzMz_dGZOgkxok}$|rQqvL&4@ zK(Lyd3Rlm$xpPH5x(ELBH|vE5Mk>gCV5lkq6bRMj{LD>g@xDtmdymK~i@#W7ZM?Z} z_)e_h2r>fexM1{7gE2ApXI@ses{sN7A<1OKGjOC^2&HPNEq08rr{MkGXSsAi|b7ix878t zTsF9JG8+?#xMB1KC$M>5q~jp#xv$!%28CfXG`Y+mE8}5kg@&p+LhsA}y-_?;9bY#{_dKO9^Ki_wzDmtMq%(gbNsz#mo9YSm1WZO&*_TS%;*wkARL~z>-*D8&J3-Q?yc{>R~!y zhdk6(rXQik2p)Uu`{l11X~Cyg%Cw7yw~pnKAK)`1mec8u~a;KfrN z6oR)2?xBR?Y{|GvCC*uu`)ph@X@oDScuGTeGVdGWT79GT zS^~n%eef~~Uc`{6q2{mn;LtMX=yO_vCe|FaTmg4jm>C3ZXUxx{M(|}GS!OPIU`725 z<}~JPyBJV0rSMApQ~V>ik|i`B#F+trjkbZn&ndZ}*;kM~+x*_$oe{?9ar8ztXTuDK zzX*$1q?}LH7sZV!DWd=WZOQIItuB!!+((sdOl|$+A%-j~2H`-y9$}&}J>J{5S;(s9 zI}KC5dObPks_m~j(OC?G8cqF$&P5Iux0x5-lHN~bO| z4Y)4cR!Dv=-+RCibu?ZW^fn*Da*Fx-yC5gv{<(Y0#RK$?Dh8ALNWg2R@eKIvpUJT^ ztT*6t#iX+JoJopW-EW)VWY)IftyW;1i^nK99UnLb{@N)Ay`LPejUWc*Jwi)YYJQL9 z^M=TJtt^-ZSb*Ea(m8y-i&u=3IR=$@&BQBxrN+e)1DMOnz6J1IH#Wlbj~;)a7Zocl z2*TeNbw6a;eRu(F#ng}xCK%U7qKFnAolo7jNgyBtV;+sm9r+#eTUzP>A%Z~HOfL4v zfxZ9AWRyGz3c{3~u;53Wtvi2Ir8X(j0O1Ot(dyKtZpBSkbhT4NbCx z#nNT#NK*d>cY=GjJo7Hfy?&p4)#jK##JPR9C3oEjA@)a9;{{)TOHeR1=Y+&AAG7kX zulaaZTVP5N-2o|VBW!jQw@OKue?h)%rWlVj+8pRVxWaZ)gpIa=v^ObKFF`ZPc z*R5Y27J_E5p;XrLVzmOfZN0l=GGrlN_Aj{agb%+fABMe3ybD|%Zm@dXA_9ITj4U_x z-Ye}J;)mLdCO4ZKMzYnWHg7ldGX@Lw`H~7tH(7NGK(ArE0~b@NJ**5>?Z2i;3BuqO zZ)CTa9{x6XrY?^3-N9+&)Yp9T2|-&n-Y$~eN(b>n&zC1HtZ$Q0Q;Aj+9V@MuJq~{K z^T0610!P5zAk*Y>38+puFR-;7oH!9i_O7*r;XZGm9ps9b6; z$T(o|*GRXQ9RwBtmCk25oz^dl@jDv0+H>21qwF$kP4iB}gw|Hz(M3b35dQF1C8~6K z>jAGoZ8anIS&jwCu~C%I#OJC@T|1F1I%F5tzl7x_?C=b)jgjF>u!;-MTpHRPfW+Hi zDz2%M`A7vr)h#KO-A-DKp-sJpk|%2gw-(2m&Ti?|r)0oj6Ea@0 z=B`fjC=CRg4FhqhCo0t{+o;t75)IAhFnVXQN(gP!lxN!_7{)o>uJb4DD8xEz&9w$( z3DSJoV%T>Iu9uPZgPJ=T@CproYS3Ey3Hk`I^1iqosX4Z7NIDM zE8sC)G?nN7JMqQTu=3q=U5jt-o&UO4$&M0$^iwkk*lpF94_$#`hp(dZFx}rQ_i(6* z_-GHM@7~$~@aWe6S-oyF1Q~na!Q)=G0}f5%*}dvYAgUS^_{bD!bSJoXmKYG z(bXWPkxkB?>$zOIevN{v%9QCr=h=dIcE}vI*^xF*pUn|TLSzbO6|N^>c-Zi7PKtmL zvBujA2ciy0-iLXdw3BDj;M>jIf1odGb$_SB>?Ix7dB<4D8AKtgKf~X zj#?ekWrxRvhQn~L&d%t!q`&_DbfcE2UuXQHF!*@llBgr_fzk^%+^V&3QL&t%6;s4`1iN5!+OCLQ0RIkuV9a?4y(IFEZ5*1 z5g}Ij{TYILo&c+&g>?#$+fg8qP|rjznR@A8~!fTRqpa);!2qzcLX#6nM8I5}^{;@LV7#%$y%E=J#6L3`|3(RjI8*J?HF9j)GB_-%%!Mx;M&j~@ zFZGaVlIxT8ZW#*CW#ZfsxZ7Kkb1fWc_xjWMywRp*W7Z&A$JV~FHdtw+U6Y#3^VJyUjSCsYmDb+>v|ou98Rb?S#kDnnn&b~#%`~yCRqxG8ar-%3MaDPpmp15G-ovkhz+CXwq-M? zX2hy^m9OhX6 z#5l*yRp0*BWN%&5T=U7}a~wp@+@HaXKG-%5X0!4yIm|H=?A7j;cRBbOM*c{JGVqd% zvHTh_N!rPZOYeZhy>YB*n9LjAG(-+C0Njrcc6S6DPCf-+@5yp0eKDukmkcf!4-7dN1IY81u@?J&N7va2_m4bfY#kwISWI!;#S?4?ai959sl z%{yB$zt(>$<9ega5$}Sw{cMASXaSE)lQJJ{`Q@34J$~HOVn`W@Iv3`sYE* z8f5inRIyx)6&qDGq9k&9K2J5IpUEfhqfR7_Kuh`Xxj->O7-=gt*qv|z;&w!;yRv(M z``M1~0U+*f<&K!xu3hTn#iO=3>p=p%+!fCLUV1vn4MW-P@ z^Py%PmOehnIItt9G&6B??eV=mzawe0HhOiRe!ZBm8?%so+C#R-2-?;D;SD?oOMntR z#RlrOnhBT3S}j7#iZHq!n-vOh8G%tbC1uWtCEYs$x>#H%^ZM7LjN86>PC|BOOo7 z$!7jplK8~h)E~pS<1!A8gf6?~rJg!LOTOh{%iq_*Jq-e6F7SNOmGBx|2%JEsFirPo zdj>#j5TB{r2qPW7+jaoI7(0A1TJ#lAcWZ>o`clGv)FxwtPFW>vLa)ini|HZrx}j?V z3U%EdmuG@tFz;Y@<=HLZ<@d+G5_kGYvp&sgA7h%BRsuc?}v(sStW zO~UXo!3%2x!riwS&?OkNbCn!9PA>NN!PxuAEw zK&0JrrX00wb-nPVOZZ5@(jnAI@zB{lM2O_g%9a&h-aNk6X%8(ERi4GWMO0KfgP@=a zIZ{I|~$2TQm%95lZd&{Ogea1kYPp3^sQNFt$b+X_y5v%jt!*M|m6|3i1B@J-wqVm^A33p%JI08Dqp&FYN|1^UNjS4O%28uT$VX$TsRmd+w4P z&$2{Js45s@_S2+iETk2u^zweVAdzpkh)1&k-qsI-Hle{3w|G$TcAaZFi zgMrg%x`qoeQ7R!Q1dYZBF6m)$g>qo%1%S*TD(@k8V#Zv=!WdOh_$W^zfzZx?93-i- zeo|ivN6oGvHL7A_mr88R1vxYHPgXBWvoy1xQ^5-4<|W26t?gA4sA<*s3sNZw?66HH zKKte>0)ZZFya%q1B(pqkA1dg8?e!u-q$$1v-A798tzn->*M7G1KR~@WqQq*%h02id zYZmZDOBPW-LB!KigwB8~nDit##j;*%#~}DR#};(zij(IJ>0k>fkc4hg9rr6P{f6|hiOU3gBrY@4< zF?B+JiWH{Id;I^?aWq1NFvM=O#?c&Qy$M%Hl|rw8a$Sk35plU0047sq4_>_|0viec zh@FDiams~l8`F~uEfu4fh&{d3d$7dcHY$|-f}~B9uYB!(&Cn%%A1Y-E%wsxK*umL` zQ)B!{(BJHc87bd-A-9FyI^y1eh>%VOwh;5?=S4QQ@CTr%#K!PdFK}wP$dz$_A<9^P zKudOpQ{;G6pAq})x@21j`X|NeEkl%AieTF8=uSL>E~5kz3#M_Y=WJ2189~x-T1uAB zd1wV>QC{b&`8P6;I^rNQMj(ajrl4Spb!V{U%yx;5eWzyM1lhqux=i7)OiuJ~Y#3c4 z#`8}EHlLevIP}J=pvqs=ix-bSl~?lYOfjWU}iL2uM@N9o2M5K6@9ncc2a9$GUMTg?wYcAnHY771oxd??nG3z)_!ZxCHWlN~f zQPg4Ta$+cj7gX<;>-*M|Cj9*B1of2BcVj$87{iNAWcTTSCG4ceE_y&?ON$OMcz^&b zQP8_I%JS|HAb#Sm5RX%_Mr(g97-oE|bOX+H7hO3H0L9b*C9PlDWX0Baykka%y(r*6 zJ>g7xO{+lYY+F#5`Wy(m?^-yn%-@eS(mZPga%=F02C`VzzRHOa-9hcpB^`e6kHR37 zKo&G?x#DU#PJGsh*`r6tud38|)7iJbY7k!|Z>_+RsIcy)*&XU9H=?`HA9}%72$4so zx9L}IvOLn@_T#{_?DphpnzfVI7AD8!K>%=yvB(M{?>cnlMnNEFosir2dpBe+ES7`E(wK)d?ltm*Y|Gvmar0gq~ zg%yh{@t?v&vv?ZOiMC-m*n2=#ogB!#r-DvI1kicKxkZ^Ewq-hi2vhptQG%Dwb&O1I zmttPQM5gj5?NuQoo2gD;-afbR26Ic=mJ__!_BGU0XkZMzJ@Z@oNyJP#ln7JrQgdM$ z7NEAsLbCVV!aRTw`d<4t{4p`b|79VN4Jl99`%7Pio}uEgJg0DGL237?Go(_t=qMhJ z_khW-Y}M-{z!2KJ2tRq9Y&uZ<+lJyN{dqdYX`jen8C`218r09%hzR*axb;9&&-74q4=G0Iag~;q+Xs$}#jedwf6+1?vr) z#fTd)voNi%!Cy5R$jL3;Dtvn0OHnXixHRaqKX)_G^pFHTf8LISJ})agt7|nT7V5M8;@K_v@!-CgT>)yIX~eQxw~=Nn zyIs3PZ;73(NCrlUX}%Di7%ztrZdt=}Qrq?Us98S`#URNLCJhl#Vyl8&UYkjRz&T`- zrhNP7mmc(@y8Xg7MZ$e4Ilwp>O&^c_Cpmwu(nNcuZ8EzBAl2C2RY#VnB#8hP4r;p( z@2ZsaE?`?IH<|R$D?+Q))kw%P;r(N6NWOYs57R+9F_yW?+Si2o)qwb!NOf{vpT6xX z#^}?Io2U|vqr!8e`za^}l4zqVmO!tJER(sZWPxr>Y|xAn1d;J4F#!2dHmwFQz}aBL zVIx2aS&?g9#@voVI#ow|gVN z;EA4{o1?XF8-7wtv~7~6lRg??tzNDH^+W(d(hbGW&}0rvmZjE|7(&-c4P~Q>q}T8N zav(Asukdf9qrFaQTds0mptuLfDhHa+5T7nSgF}pnyp`GtGk|Z864T}x=`L~KqatvU zxs*fXrD9x5no5`gatF^+=)9^A2bQ#D;;ppRhAcaJEwXu$wD?pwPqVyse7rb(HEzW! zYER+SuJhwaF&>Qw?kVKmC8s})3`n2r!u>uFgj{RsBS)0-waBGFi$IaZWWg=a;J8K8 zIM3>7D-j8oJWoPW8pHNNVDzHKe%Wj|_d)z}&U1~CIuS(qp+dl!#1HatI1VpQ6+VOE z@-s>55Oes<)gM4leAZT>4AzXChGZm2V{c}mJ#g@v&6G}I6&=du-UWr0W#z|fQWlgd z=@x+Gge}CrK~RwR_(h{9a0nX3(r$(9T?jy5TuK4TRqU-xgpqJCho=k!TaIzWhy0Iq zm!N3e%mrzL61w^YGO$#IN#l}#c{~fl-nQVr#KF=07vxpz8l~ytT&<{K=_nkVy=zo4 ze%UrbY6lmejvk3(IDvGdu&`-?BW*Hh;2o}%$8g-x{X{i{<;OqnOx$0v!^b)H2@mSXK?lS z>JZ&0>!yeGvR7w(pcnwUP>4N(|? z!*w26wqZ$3!PjEX5Tq5X)PF|>J2k16p976M{zLh)s!aN!L6bY%;1<^3l=^C-5pr&h zr{u-TaYvH8(9liH7tI%Ih|x+^fDu&^?hePp33RC&LqZX(cr5f}Y(6|!bio?Fb7G!A z2$6+x1}IXQB~75V_nEfD9eP|ly4CI4DDbYM>X2S1;$98|#E&zp%f$L-t1sJ{#`tkc zqTh+#n<9B3)uFSGbwHWX5sj09WTRg+M^34?-EZ8O4Wc*bH6J5D9NxqNDgVyl(`cHc zS+IE~vph(m$frat;b$O(UanOLsE@h_W@1!5^l5LK5VY+_*FoRo@n}*K2zF~Yewnv| zU;Ml$lrq%qTG%`8^LA#Oo2QlozIv`sXcs|^{ig7>Ds1!U8#nd$@BJkvX~2pv=(LuJ znWX>e>ypX}L!POs@+pSZWI14EnIBfl*;oMwq_PM7>96hVcrGnBxJZd-oq3*f)d0Ld zLWuQZtp{{0x#tn+6=Wh__BE57#cnzF6s2QK*Hf~K(S9p-OqGkL4V>E0hloQ*PwgYZ z(AHpIK=l0Q)BNgFE=nMe9?I>1iWrSRrsn&wYM%x$LrJHo2(XgOFTo3*K{Wd`i*7@_ z7o||W+C}f6FOp+!gpan{Qy)x(RcpR=@`L5>`$#lrn~6)&i)_jth7e-~{ctq@3yV{h ztHP?^DS-t<)*)$z01c=EAtW+2S6?oC6tu}57dp<0n~iwn&UA#ngu#g5Uv=i`im z`gSe$e<+WiQi4lVwg}yFCZMRDL#~Vk5PiDmVd2MCks1Iybo~CCj7@qNfNx^E$v!La zuRLnfbnKp~&wEg@oTXnL(btt+w2^(AOAmRA6etg5_jZITdAF=DGIIdgf#C6_egb@K zFc$yj0WnK#ZYBBx1Ed3#hp3BybP@hls*qpWW5wK4YNV$Bh#mjsKm3)^yABSS28HCL zd!2KweSlEKX=mM+$O9Vi${W6a@OFpU2>Z^zUKd`ZF<*viWOr?Cb~2{IwE6_Wt#h!z z=UaFp(6wrj_a>r;e4k(w#ynoyb8KK-l~W9O8*KbCjdK#U{elaWI(k=CMx-b(3Yf|i zNnSGR)704?`%lYVN`?BFb*tG@joKy`cDDygnp0UM-cUvP)M)ud2ja1ms3)nCI|hT}>Ql_H${cb4 zRz%i*9d06hw;bI${TRJpdKA3S9F1+FFZGdVj1cCu4xc~TMm*W}aE0wKrF?=uQZ9un z=#v{))wVXkv=wK6z)SO%kL)Pu{ju?hX4R=U7``nk2jDdd!{6jRsPmm_RFN4vUr4rG zM(GmGr|Q{Ov<%x;;yhx(;kUwR(Q+|-v$@$$9TqHEGIV%@(uBL84q&)7-)~BW7l`@G zms-od!wXznGaoVNtDH(RPHXlX4g%~^XF!%6n{lb-yoXkfFmZyn&{Z-zY*S@ zo8xr(Z|?f6!thG{Q};*;QO3Je&U#yZa&0P7Y+DEguET=7T9E8cclobO>89g9pcEl6 z4?2==;B8Ec=7Ha+Q!y&?E5LMZ_~E$mz|}u;G}Cm1Dy;P#O|Ryi6UvGW@beU;%Er2o ztZ)qTzRQFwb;@2=2Ng&E#T*}Q zE9w3|ww6qq5p*L1O`^-C$SU$b6-}rBZm)pCig*p5sx`eF&o-{DDm24<)HwKNzqj&6?E>3(-`;GL zQEp3uBwCoUoGQYe%k!X}O*XyNHU;yHNoPByYyQJ#SLZ>0lH!O+qO({_d&qkNIvWk* z6pn%E z_@k-yqteZ~47&01tUQMzjEw!tx!cz-^D_WlrJ`bO8k)2O?U<7s!35O@Ggun14TYm6 zypw2B1&3r0^NBQG6h`3f<&^p3id5v;!ku*`8yCP|Vx%h`UPj0RzCGgkPjA+`at#0% zKa6(bR2^|Uffs$BB8fG}tK${ z&xIr|&SocdPAONv9`KrQ;ATIj4zVf9I-)RTnlHpP!z9yzwH58D7?-C3#jri!h>Lsk zByio=nDq7Mp=}LQfT<31{otTltmc!gZ>4^=JjOAK#>9BVLDF|qQ z1jCXnxwOreZ}<=AcPrGp(%Zu?^F59`#UC0&@E+jkSs9Zg=jH;IjYB~ig%1Or*}6+G zDEdTNr@w5oW@`AZ)j4&yh6byCG&07L1>CqX3|84+64}r-mUp*&5>k44fDC{P9e$4W zZLR2bfBCr|a+tK_I79q%nlC}cd_OGnV|e~dG_`c3Kb-CEd(h4f6KE#rBB74GyU$d& zEt=TEg=RILR1+jJvgaNog2=(9_^)-7Sy@lI0zfu;tjR==?!Rs;0|019&UV8+8%bG^ zC{yYTWYq@~c4#j(fi^h-r)lvT%;W}+oG~P1&%0f8t3J(q%X@xrATWs#HAjBHw@wC> zG$+TaBLRrNC5M*zidJR{7qxqL27rn*PiEb9CRO#p#W8b8Ys@)zr4!7^%!T~l&+5q2 zGC_RFSNa^t{bdEn25Zs`eSCeg*T}|+d9v9edx0w|tXZY@)@uY{Lui1~e>q~vWRda_RBQy^XD07a|@xeCau94Fvdb51ILHl>4=(Rx;DrZc{~R)g;W zJmk`iJ3;T(y7G_`?Cv82RXpJoimR=pIKw}pXZwL#04+I=jYjFoK|=HJI9LH1|8bvGx&Bid-tvrUJuDVx!G6h-sYlNizb<(eJh6R|p^$mQZ7 zHZyKs76SGp>R7tOhEBja&cVNO!Am^uw{i1{<{o&KD^VUT2oe~^>8jobs}s}PUalm> zN;LCwG4HjM)GFBSxaO&>D$aKHfo<=^qo30B%SFhVi9L#!3X(@{neR$bW?I;Sh8|bi zJPEd$-#5GJy#azycKa+BIBkGr(DpTzi5~pF)GAz98ECXvM6B9MfB*xcLYU)GiUbvxW~saw zw{mMUH^V}YyRTaIwrXT&{{f6<)JUY49u$6y_N$rNX?Xy0cm;4SVbBIYr{EkN&CDmitzdO*PQvLM4p z=Q6?cDbV^(O$><<@S=_NxGaZ)-IW6-=+JwGyUKVF(w+L*$Oamv9U1OJHZ!dqr7;r? ztKSE5`?Gw4!Mv5?1HO(q48bm2^^bQ=jC^Uv#&gNZ4!@TXSDAX<~;O%PgL> zqWFSxWBuH3lsW&q&}I|z5h`*NFOE`>qp_u;k-k0O1{*XFe&dTesh1H3ZV-k*F}MM^ zQTmTk_4gfG3453rgD+B~>kz2?8Xw|RLRwm_F6`l{%b{ML=$yFeI!yM3qnxGOvub+W za636pQZ3bEk}cVgrD+D70|-9&EE%Cr?aK9B-`h(AGE(20sBb}vQI=*yktObX;lt#vftl>r4&(bg(7bx8S_APTG7fu07%8W1_rMC1p_ zbWJChyrAn?l?NfQ+j=)<8SA1b2f=@@QHXm9n&V+-#$$QtGE`nTr zeE{7?elhtiT^a6!^}PX&O_CvyV>ZVtDPADy&Jb=FJ`$|c?4odH&u13Ys;C>Wk-Wz> zslgAEFOj*2yz;>=#|``&Ya;unYI!n?xe3djONjeaqgG0GO=3cOy6Tb|oPBkwhoQ9tjbsn~%R6^qDe>gHq0 zZLVG{mWd6T6#6^MkdlS>He~?ma=ao|_X*!^1|Slz?V}$7&c4?Fp%t5yeEY=566HhK zdme?1GrXF`WYU#YXy-N*iKoUf4B11)Z;`#O?xz5nOlNaq&x$~rjb^oG=3(oOQmdua zT`hWt@4Pos(UX5xZ2+`?)m2T) zi;YyucKFpoV268|#a$~aVALx;H*Y|W*AWvh;cVHJ#k(`@&a_jnU$|j*d`=w?i_gW+ zTw^&ZXe(WUR=~eK#NB!tLs(kHqgOzwa=^$1zws(UBeGtE180PP4~v3~4q5N}-pnwo zw#wkyubg%^gQ6ikltuT!Ff32a6SHfnEty+5ruZF-AbSa~Jj-p#UrKakwggNJcjJc? zY9hkCsRM<1q{VBBXV8PvAT;&o+fnIfk=LY)Ve<6;9lp=+2mv=`-Wg!h6*Cp=W4>6p zfFMcdEvHFlb;4dTGjZ8y)cQB1UfxEFu?vZ!4pZD?)g4=qlUjksJG+flv>_@_lvYmP zEc#>I#K5JVC)&#qW3lN6%G#CFJVi+pskjKu(R@U{PFDc#)w(i>xjJj|2<2it)u>z{4-U2K}WsO;t^2h>1o4YYB@YbMPDECOKCtoG`1$ zJ|=Ly&S??bsB~?YM`C>x3aK}MI0Uk$L$Qj$N!^Bx;9Yp66P{%VsNd%NrJc?h5>E}C z|5Vim$twHcn&6+?FU}7j-h=7o*Z+V&sw06o31!zJ&&bOwLJV**l_5UYvf};NHUQ3(7Yth`iVE2@bH zul_B1bd>#?tzu&^$*$tc^?tR-;!(4%$P9MGt2eye-DwSS!~vi5-4}LX0kh8(=RCjR z>oXW(4Izw*J zvDVA;)zsPYoo1VWu`PgPkT*CU^)u3-JpkXOQpsF<1=5hlnPpYNd1-8 zXqql%b?7ADt!h25#wB5leBuat|OQd@?98DkQU z>J`i{;O$nNxlTEhqMgpC!)LDCYeJt3jV z$P`7TA%w>D_4(GeBV_b=!V!`EW!G^6osv~uz|+@A>D86}K(mp9eA(E?rnqA6AHO>4 z^twQPZMX)?z3wY5K)UCqOC`Wd6Mi|6}X98OYM`mG~ z;@?`pdofIU<9r|&__j<Rlp6ZymwxdqZh@?`dDe`$+;hVEOU*do2!rBZ|m6`qSM|M*9`IF zntrOw=);Ux^4sLA9wGD4-tJeL+DsvsZcPDAxMQ^;P;PquZ zvc8K6jHBZgereJ^2Vl#z&|O zx8l$3RE&$vzjL2&cB&|l9oB#`ekx-y&XrIbF*!0tfgnH{ODZC-8%kB4`tr~aG|cE5 zU#oFXn87BC5E4rj$S9ENmO1TfQ6>g`M-4n#afuW!97)ecItY?Rro6)i zuo1SM)fI`t&NWO@&1hvV1FADgWvuf4u*%=3sy&=*tCH1MU0Nitz$7w=ai}1WD@7$O zj;?slAK-9&kyq)nLxJmX33G;vFWUe|yEQW?^FlBLAGRo6kTH$!;c;|?ea1cyVa9j) zBtibRGy}zkO(7RB;R+hZUl?w_OJD~c1q1aHtP^x;R#WHe8ai`|D1dW%y z>ns2I7eF>O0rD2~>j$1mXjhc(9)WI@%ieQ&hO-_yNUOu zYal^PR%(N3lQiZ+MWReU2z1FYGBpS+S+(k!6}oYU2J_uQ87&ki2+2pbAa2v?NBd>O zJ-}ivBJGC%IZDe~>nV&q51Q&$Xx(oaZyoUuQ(L)lKd9yP+m{RI74jc_A*`2Wz8B1& zyjP@>yBBU*HF^zRzf@T&i<`oGG8i|Puwq8xunmN&3m-2@i^CFb^g^k#MJ|SPJK^); z7be+Jp*7&zZROY=T^(3wXN#own3>d>S)DU{@=)eMOoGl+`wXvldj*lCx;bVP*VgWv zDrwj_gb6C@xYFXpT9(~J#?JZSWY>4&D_f&?WDT|hv6=g~P1-SKl}<5|$jH#m3uOmC zu)$G;w`*0om6pZUH4%nBJ$Vt8lC2ri9)fO_(YPVH#959#x>+jS!OMLkaC&_~0z}&{S`;fqL=Z*^{uAs*_g$`D)`<(? zzQEdD&@JeA^047O&)0Oc9}2RyDFwIvhK!AZCs|Ddnp%hDh#BNMgM11i{;t4Ron2D` zuqHUv`c3juwz4;H+yG8upeVbqI}RR)?}1rXMRD<&nq0T>*$St1ih2-D3>@`+9znDI zrO)LPsX2w(psrLQ?~!|at}1ertD7OhvK2+$3`-VJMkgn4G`x)qG<`!ux2(;c{uLZo zBKxxVS5pQmaWE>(sDG;VpDyJg^)~z$GjJv)y zy$fN`pO2XuE#u>>Z-F7}`!ql&yw4cr@*b0QdL0tUP-qN?QuFv*M*D7(A3TZWd}WW4 za>>-Pi&xvm4$QxkfhW;0ZC!(1VNZn?Ir%MUpzIuk)czk5sz6i6(J+lVS}^$YcsBsW zg~xASMjzH4aIr5WYu3Q6Rl!4{O0h#{<7>(J{OCA7yGwSI&K69o^PCWxzPf=dm%{RU z0=TQeBf*Snf!OnI3d7*tS4CI6GL{ApRS+mQbt|cUf2)h}A{dBnjc@t=dKdO%YZkxt zGlg2Kxj}w)`Q)(DOZ2Rs=voFVsudBG6E6Txk?>0Z08>?!akfj3D%DS(?)lbner-<7 zUor*T-t$JrQaipQ4-G%lNY;!F?nG+^^994K1#{s?LH zv;cHK)!bw#H>zA!vT>XjCm^Nz!Nr}Md;j*kGcw6qY zQd@*)7O>%hZtjtB;t%;3oFh6NZbMm#7RQ{Dz_~ZF%!w!d(g9zy<9s3!5>v2jGnpiS z;|QGv$vT{a8y&4^W1&h|gR}g^_HVAjA0dA|4 zZq}c1>1_+-suYtE8YF}qmKVE*Z-v9UHB&v}H7AAtKpv7guEHL3qc#U4k+k+<{yIKB zh<^uGCM>I|ut{L1qV*Vw9b2X6F5w}EQ=*M@J0G}E&M{)^Z9}3Jd%cCQ9K-ktJRs<3 z)P1MrXxEZ{)iCjANrWDulm6?s5C z8g%4OOG{uCi63=bU*wz5n8Kw4NDk=-5qO|HpN5cTbwTI^>@I8Fcz@8`E{ka$gM0)? zS4R&XGUESH&9U;C)IpL2>Nq`)?u=ydeDpECx14RQMjfCroveCLevxsqzuc_&O;aFG zajyA9QU^QQyo{;YA9vX7_xwN>O3d!a|GtA ziWTZOT7yhlWLPw!!_h=Sw97OgRd~56tyZk)?P6$G^@()#8ed`PZ+_?)t|{{ulNXdRkbre}KqjHssEF$GzFCMWColr| zMS)U;am++^g%lqNo|A`RAgrPw`XPEWD~6)-h4vk3umpSXbM!?5FD#o(tmPa77$ydL zP4k}iQ^M1_CN3Ukx$mrnItssJm_gMhac9$9u8{)^F_5zjTR+#mo!k$LSJ)AyB$R3O%DP_CH>s?x!rq5c{fY`T| z^qN~S(lI~Bhv?HApRJ&vh{G$_nYSI+Qk9}D=35Wv_O8e5pv+&7xWWKqRo@LzkZ1flCs+?y}FLmVqGg$9NSCNj$^P3%7$h{Pv!N^b%Gfi;gV-0`?NwL+1le;$; z?Y&0yfXEi-xF{W@OHNN+cMgY;iwh|usBZ8YGt$T8ei=;^FJV-%E&tL`s; z%;Svr@&D6}DyA&mY=zt++Q_j7LXDxh>zS@Uj!F#sup_x$uGv0Q0J79fKG z07#U1-x?N2wintDW-Ve@FD{Fjbb)S`z8Hz_1fd%4Dgn%?$NrT{D?8t)p=#zE@x5V> zDV=22ou7q6Ewny##-NgKEUokL_Ml_}+U(oSDkkZ#pShflR@y7pUat?6Z zRbj<1pzsISlZ+Nhre47#${;QT@{N3-(iNr==GLoox5(_PS~t~*Id{Jg7Sk0EOvbkS zSZopQr}&vI zc`hykb^N`l%VC)`3qEhI=m{!mJH-={OENtPOFl{JVc>32vcY`D>LYuYKmd!m zGit=>Qbfy3|NF7Ob8#4L0y>zUpbKHprEeh!&AcdUgGR~-U(y8m?M`E=u)iXBW_pr- zj+eiyD5Fsryp^z-odax>Z2;_@wNVj87{a)?8Ni-FuyMr!Nxm@YG;R zQkJ9}Kk1dl3}(E#Ff9Z}lph~$3QZ*J8n1nz1sVVl1Z-SI(F(WNXpEIl54QZOl&aP^ z)?JpbhDaWKFJRzUbVo!Sn#4-hMsaZ*hqKq97Vn`2-TR&Kx6>wMcaBL&E088hq5zoY zD}5NqpbXwqqg6_LC=i3%G`e2@Vke`6xFRJBW)^m`L{3KEar#lBfGB|kfO_+e2MF(zRhSIASUYnhp15nCn z*j_>)M_!=LPyT6fsJWfTK++a|C9v{OG;@+ncC-dHUblpbOp!2+(3ti>NtbC!4{ zmxb2GyE>CNspo50mV4c_ry10rw8)2rOKhHd`1O_=!`5bw`?zE3GH_wOi7y-MF8S5B zB3VBjKvJD&dzdBuX91{y`!;nGm9BgGKHaTmFQ}`Il^vb|l3`;zgz4>fiS6XYLmHA? z*oXizJ?mV_wGEz2lzeR2Nq;&Zn@_baGlXJ2ZJIgWbX_@~SSF3Xa2aPto75ZuQJy1gv976krJI&}+Np0u* zsF3}7EK5D6A584Sh!EsdtX4KM*3%Q*R445Y!VuY&i`_V3tR|M+ySvhQDB6FK#HEXD zf6^YCcBRFPEgR5a7-{+UVWdV)<-#xufWZV*iYAKap{eC*sV}LD zq)APh6)rhM2*G;K!@n)>_N@|k`3~(WR@p4hhbqZ~0XT9~afj#%MPH>zZhXPiWCs>A zYsI5_7LP7q2?8yb0(a+K8#UKXN#;>}DM)C+{3Q-l?}dGvp(55m-y8^svhMWXo1xFQ z9YDvDe2eK`#qUA^4z@%#|9othk>Voy7KY&gdNP;o$Wu?V@2w3|$4>cUPr$(PIfFQi zsJcU$I3@M%KTr9YQVB2z3l^M43MhS|It;mZRUv^$s}3>@AGCSMa$>t<#7MNYS1(@S zmuD2^R{-~KUOkcXB1O3R(;T(Eo6@H8CHf)eTwWT?b@2yOF9kt>S-!5cmB*b7T|@El zLkEKIeFnh6pbVO>tgxOLNrYijP>vz9jr^(U#1nOo@o5(U)KuATt)iqbMT#I)oYY2r<}-`$1Qc!Gaxa;^GFC)&^W*4@(srqlnI=vdB7o%-iPIPUy$ zr2_IgiPJ(t%s`)jRUX-t6fFT-MoZ4W^yoj+y}E)R*0L2lPcAE%m~c^|Lr+l)3oKS) z7AR8Vca)uy_p0BE6?!j|OD25ulTs{*D%S)Pl($IL;8r7GE$2w6Z6w-RX+nx^1|0`$~Jd`taV?8GXF$ z1AN2-a99WSr_7;$K%AVFFM|>I{%nv6TIIsv(a=qq+FSVU7BdhF)%6OU+~#R5X5-_m zXq&%J8T)~qvg*mkayNN4=Fb*tXEbpF2b12ZDWiCF?k()st61Sw+i=%0(6oT!pW1;~S`w zmh+C;6Ty+lq&no#!GvdM*6V~|M%7kwulNxgaLS&kXgP(H0i6&LZR@V(Fe{aJ-z=*t zCw8al5P)+8gCo^C3r|lM*!@I+31nN0D{v{5{BR17bq`OO2!)^0Ck~fx1)H=9pvZGN z{|~loxI1d;wjXCWIfs|29&cMNVRI^M;D>w?V(8{-*HeZr;&h>$l%b2vd&tK^+oo{9 zJ37~0BYJMzB}C;m8kdrJt^*d;A6`E6LAfW3#*(HlyiDe4SKLz!@x-^rPer5lCeRVR z-M>dzl|uimXPm?%?2n(f0~GU3&QPX9{=|VyQN-GOSSoOzeoL0mMk)a*)duZ$K% z#nAZGuzd6+H^sO)7zlrI1-vyH?55m3drL06(#_2;k@-7qryFSFnuJp z;C5xR>XnqiDA@%2A57@hIyboaR+86GgT8WF33sc?ss#5=C$Pk-27X`)kr@`1A_|&D zo-L>MKxXE@n2-{F)3#c+Jcb6H0|H)fJ$c6oEw(VU!gs7cU?E^o;p?{A8g z)2vkR(!4fN*K-F&4cYlX>LSB1YvKP`p?J_-Y}3h@hgJ%<#1pK5nL%Lk-04!3%i~lB zPXRdHf{J~vZt5>*7^ev4y_eg>TTwG|bKy6L4ZzS@{sRunX41%Jd>n(Sj)|3~L$Hg+ zB#X!GS|@J9xuAhj{!K~CRXF*qAJLBp@#Fg*;KqY4{MTlR8YRE(*KMs7*-5d4Sfp2~ z-EkQzN}Par8$pbt>m62cIzsfZZ4RBy7F`XWcK$1cL1gNmFgHxVyLcv@CT!@t*mA|0Bpg+F6y$)lWg4DV z(jnaAmfPZYEMl`3S^3mKY(lWe#j!i!lt9*X<79Kf*FgCmG8yU_9ScLpCHkXWgUhh_ zpwqU-*pHGyewNSHAt6{rpm=KeA@WGUIGlby| zE{8wxs+cX&fuNMXXfv#_)0(6atAa`Vd?I z>r{@iLq-Rh&=8qakwW7Vy~lPm2N*XQA+H5Bf4`e#T_U%B1Co3!NF5aVRnwcTtHL?->ie!`8Jp2VR~<@YmK%7hq4XsY3Lg0upd z#3(eEOF|c&XrLTzp+BPa`KDhba$y1i&#@Nuo`NcAcAYPlejg#2E-LE8TH1pqNVS;xLd&wh(a#oY1GPcl=!hQ%?ZjKfV*%6kl;e9Rt^ zaNc2^3K0WJj5Fx{l=e#y=b@)0Yz5f4e6xN0S!|-;``Mgt6MQpcO6Ldg$t*18|CAW> zo|L~#=luL}C~`AIgC8|z@TgIoXnY#3{!*iV%C zoA?QfQ^N?W*}KBoe|fu=mX~vJG-yU@H0F_bee4!wh^C_297XNFT=&7m1QuRA@Sh$l z-se@HbcuUIg`{fBdSr+ zVlO}32_N@T2|kD&a^X5}f$O?e+WUBq668*wa9&~{_4`d(nOuDm*reB{Z7rc%UV5PI zIBk7#oVspV`kWHdoyVM4=$$iv-=vuu={O60(|u_g8JL$;VIL!rNzEvbVtaD^d`sd& zB_|Z2Y-&J%>)c)g1muq3YWcQr<63P2P5&5k-_KG5vJ;YFfGYG!cm=wtlG6&L2*T={oi54Nz{A z8&5k7Q3*NE66J!O>eZ1J&4{OmpWto-`lj5qD}7sZeH15{yP)?B@QUB1ab$I}9U?Q; zZGQZq#nl-h{6x_& zb2ux*6NvDUj;avd=O;ptG)(J@qar~&yP>ddo#v zMZet-N9qrtTadCnI3mFSTDv;}M^=F>7eD_>Gsg~LT|5~>@fiPLYI(WeC(%9baNnX< zwBCeL6#S~8CJpA=@_{`7L6b;U7{uCie~9FphCh`?ie|+DwGWei#Ewno4R(=jz{IjC zZCPC;#;$#^r^8$NQ&yx?PdZ`Gl(v%!PYsqN9XlsO14-kIBjF zk2iKhthB~HIM_l}nF1a8OiErTDz`#C>a*Jn=)3+dBwJjXj#}?^fijpZjlu@Mc}Lk` zh=~V0{8E3J*(41i>nnbJ3ULG`ol)F)T`nyNTxB#kMSq?N<*YR@>TSPk>yRTAsbS9f zl^<1PlC4~R`--;N=mXA6t*1r#r2O2qEpU~J@{$#laDq)0v!+?bV4tXK`FvigT`l$< zjyf!+x3wArZf&8WHe?F6NQ3Q)lZ{dp0a6#x{3VjaF^_iVlSTWeqgXk~@2u5r*{k4k znmYUdhwQ;(l6GGe6J&%R$qIm?8@#8nq(b&$?}qv%e~|7}6SO1?C<>-Iz8@U-U+VA~ zUIMWLT@JOs5qtwoN_KBJEfEKC#K^8#x+(`3U(b~^@{k~BAop6S$o0aG0n^FUUTZTv zahSoFjq432(4e&(VbHsT_vkE2n^^#qu8~4fEh}*qG-4$r!OZo|yG5D#Gbl_0>Be-* z5)g$2SeGN$Be#d77Y-vL-ZP1_C#8wNxjqdTnGMA?g3vjpG~p*W3imuUqo zIXbN&%WsKX^raMY!a#2r@20-)W2?}c`AhyEhM!er7z+0ld$hi^0y!h+gQ8v&q?FGr zRmYvop1Pfao27MZ#jpVga$@yIpj^b`?nlA%>kEXvlR=Qn7wj`Z-D9n7$dZ(xxng!a zR(8P;3K-zuOmnA3B?9rm>_~?LRl-D%sv38NSDlHxtnc6w-~9prP&EE>5%CDsrZ{79 z38;km@~(7XRQh)BD=+Gmb>DG*ezsEPVf7p^%p#341OBtrD7aDCxnP9+TArpq)ueNP zUtwxZ9r$+n=5WsMORXA5)SuUvjk){`!KL201~ySHd7cnWOW|KxeTnW+=bQn1f6LB8 z*z6`o>8e<&5PMUxSJMiP^_U%a7}d4>;j*unu%!Nkqv1-^Sr^^A{9V8?erh4PA_Vw- zKfLRlLD_D^@RBYA^?LrUVq2Wu)S3b`$YvLZqCHpk@S!Q=GHR z)NOy|Q{Ax$`21(@Ze2IzqRJH;$ToLGp!2t3_a?a2aCgkUgbme&$hoVuZgIW`4*~tf zsQva(;`%=Omi-eQkTgJKljK2bo};LaZpXj_Ms=-^=4?%`qpI13ERybPjzhfF-- z0wN_Qbw`5j$%{0glE(iAO%m%BJsL) z)q86n=#hOf9rl97v4cONCq4KDk%ZWR3yzZsh!jao(MzsD$`)t>_jIxI>>H~NR^9f5S5`d=%*GNW>T&JF6go9AIfz`uknOY1&DU1@O>d@~^ zbMcvM|INYuaZdYHm7E~^sgdxx9B%ycmCVFAH`N>$B(u~sKS`IHHz5>L!KPd{B$SH* z`>d;|Hmud`V}6+~EU=-5AS93wwh1tXjtR{a`^4O5zkcBe6%>!?^))a&lg>wqDaLdJ z_UxG!hAulhH47^g?@ML7Iqf)Abz!IGVfPSf;+P8|0JN1VF?()P+EBkR6M6t@s~s6y zYiY;UpAte#(*PX|+edBc7FjI?^LydqvvqpCagKT*V7FMbRR<TwbC34Uau4!}Do+9t5iEJwE9?#p2Wy0*(MII!O zNz(#7q}uGqa%+i1KyPag&p7cK6>w{Xg-?KQkP*!cY^cxo6s`lxkey5Ic0!b^v2V7E zf$^K&!@;DJbAL!uZyW!~eb!z=kZFTb=s87J z`!@HAyc!TEX}?|9*)sc2y7j*!9%t0wHh`v6T*3b?S8H(3+wk*OP^ZoV)Wf^EgN8-m z_Of+#2|=z~;#Jo3FLJi+uIr>;^O|20X4E<(i=2JRh8GBS-a$DVf!z?z2(polJ@jg0 z+5y(Blup66SfDM6)qm6pI_D2NK|=Q9Y?H}Xj`WX?jzau(C-sr=9m= zDr(SP;(aCZtkGErmdBYT=@E9u@svlp_fsAQf*K>FX#78A=Vv3 zR7LcTJ!mr^+|P75KHu7YM}zoFt{?77NygPhi>zKaOWw7s#xSft=yw%{$N6s;aU#az z=Xun^Y0_*_^u!qe3S9zcu@w;6z5!D_Q%Ry1r`&?=1!79d7;}UhWd@bP87!e{1^%fR z=hOBB>$kh6aT)d#5yY2@+!5qTQ}~vmMa14SV8Fh5{3jTKonJn zeW>);Nmlph344_#PxOmtT#daCg7UG}vZ&d4fK&$>4cHpAigHMa4Kd zoAYVB6v|$&0qKg$64JW18JziK66vs`VHgtfTD-TC226+GBplk}Z;Rd_AAUHsvJUR0 z?0$rC9dKpoqF9AOt}sPtOKz8yn=@h~WW^|-%RlBGV23-@TY=5uC4%X28whFqj;P!5 z4oBa7=#9~v?U$%`b?hGVq_Yx*>?0~g(>lCE_pC4sSk|VATqFD#Km+)X z)0u%y%~YOD4IkY0B-rsf7X+T(VZquLIQuMD5#w2AW}QE@w>bgs&*fy#NMU(7QL}x7 zuN(aq0!ckHO3vFCsnM`PYXkQbL)EdF*XT&5f5dVnO3qlVLv;97@~g+oC7YX|@R-Tw z@>Poc+Ek>fDxpScJHRsqf#f1(5n^SjU}Va6PU63fW6rswSdZ3i*|EX;iQCpiM*)Tl zu-g6FUXEhv!KauAUk}hu2KLTCO6aHcSORS!~ z@K+K-`ll9?EaNIenqrlUX+lh#)?F1cd3o$@%fF`G=Wo>8jnV2LY;U2Ep@ErKd#OV= zf#Ciiwy=N#8>M*PcK&fBQm6VkM{ERFduNN9X}Wn=;e^MpPz~i|LPT8bC2X?9P!f#? zL_!=tG5WK6yx+B=|1Y-&(f8s!NQRj#eIZshh!$|P7L`+vc};>s6J!PY@C zHc@%T1%*1R7(-xT#2JeePRqo(t^s3Ol0Gl4rV+^P6OTgTMF0~*^4TvuSnF|7#@Rh) zUC(3~7;#5W3KBpT=O;a?#`~_&C8VNkE;TGrIW-JYkx+}FdrhZVbU<)ay8*I958TxL zx{3f9&R~VOug7_$(d?q0!?~C9Z37}umIdk9sSQnZxOJ0i!PP-BFn7y^rVDSj`J7%w ze8U{FfEy`~8ua1WCrqJ;j{7TR#Vt%6mleE{B;ZAODd;C5fh)X_?E6^O5chMNy*Uc{ zbe==a z(FF}QZD@i$W1_|AM}x4rW5#JqwET(XHpYHWVn;6I^x53$@&8aA>6|i=d1AP_6^wz! z1kk`LtdE?85Kz~kmu#-o4+;U2@lLcn=gw6+i$?!Ta*Tc$X~we;{@OZjLncd}&T`(v z1R@iWn6S`cPFk#l1sDw1^wEo#G|r%Res6p5Hytn8secwXl<{#^vk&^W4rd)u}YPs z6_S}gm2Na26~7Q%EKVdKD!$i1TEA!&goKTXwsu-{L@H$>4v;7{0dA(U;SEw&MKdfa z<4`SE4gBRge4%5zO?6eZ1jPfdJDX(NamjP z;_@kb4sQB`(bwUkHKflPN;LImYXvG2!X}N-5ASTrr0-=hv?j|Q&U8$grBcxL62PNk zTz=QPwtwWL37eAG^n@9|68nZfdqiN=jn|Ch>{xC~$H`GXUH=JBz*5%B*_n(@tyb}k z-YsW&b(_nF-sGG~G)-Vaz>GuqynO;nTowle51rPr0vM;T6LGrbz1oMTJx93dI9a@JE*`hv{)i;gtscKEWAdV_w$rY= zE5j_1`mD5d5>8HGU3}QgMTn@vcl>fT=Zb5X6h^M9jT7IGv|A4(!UW)y3!myIgyLOW zf>`G^#8=qbv@?WS>apm|^1hLvPhq++zwfn|!G4U#Rh#G513)mD9su@qN`;SbJUjx9 z!A~Sy0@MJ-21I-dTeg*1S{!$_ba$wg#0AAH za^BE|G;h|76)DeWc6!DIQvEvm#_q$4(BSz4SF({&Yro0N&s7Ihv}wGc$cT^AZxOgq zP@<{O6wvgtY8z>iPau9Aj1l!BfMdArAI1pLJ6hHR10Zp+$**EZ2q=^nrE9q!b&Kd9 z0Dz13gdBJ%JwaZ+}%G$Xwgk=vo3rJjB)6mat)e1cb=qRcGXa*!3<3XE)x{q|#K~gMPQY3A)?`Q@?4@ z*|IvF^c@3To}f3%dE_bk6wz`uX#tW2s&v|mJ%x!G1spZ~<0fpHd_tVQJ-sk5ox%Kv zqRHDrr&yL2Tv$qKuAH^ADTiO||ix!Eu^eo5s`&dogC zp$wJN`IM1e9~5`DFU{6M)=-{+517BY77OgX~^mO*SVd8kL6{Lg#CAjO4pu3yN8cqnvKl&F$4Vb-ChroywtGaa1$sRA2NV3zUbzvko;4x>HKP6I5MJWMAWC) zwtN0C*w*N}oS=#w;Ll1g@DF?nO>RD7ty!QJLdOXNKeW~&nbAYb3VM%LT>{w~D2A;daBVL5}&erhuddYJR8L*O`la zVK|T?3>$a(AX|!yN_>i>_{H($8}-)`D>4?dY(lNuas6UM-U6(ha;ncHL^?@#OkHiK zCecoh6JXwCK@wMuOrhGe1T9t_aWSkm6t)p?aK^Jv$t0h`{LsqFbYw8RCjaHLDeyC}aKy5n&gd*G^ZR;^lmxxVdScKbiMX$W#_|Njg5tF@P zd&mPB@z3>az)$c}&L^SJ+ox^J2mcTul=p=1?%@C+K;OS4H0aC`p-KDIriYeB(9)i* zR8%G??6|>A;psOJX&ij#G!Wt}LX?fd_e&@Haje$48BA-`cwpVUO?~xX+@nfPhc|9J=A?8 zdk9sB(z{WN6H4$4!}A5%aow%&Mp=Z&-e?&MR(+ppr-bFoG9rkioIhu)+rn3`k((I7 znFolN;13rwcT#)6<^`p_!Z`C?f?KC8jsTeVnd2wsF(-BGl;YE2#@u@C;FNu*tAzW0 zZKj#o12->vFuTI2H9@nDqUbfAWgB!SPNC=8+vc%P#mLwcdP^(TyA z3j*ThCi!bbUXdou*eQd6n}gE6pMd-xCo6HCQTbu}>`*UZiA5tv)v8~WCP)+rQ)%_s z$(rn#+pY{W)Na)gAS%C@EOeG^4R<#Fa7|Qb0ZL7cq-pE>@5oi?c z_=JjPIQ_7KfSJSA8AyMCzpazSu-Q`i0$Qt|Idogn8LnaExskF&*{m<6b=%Zjo5?Z? zd9)vVx^S$|6R%g;7=MDpRTL!on#jLMmSB=Tr;!iU@xzZ+t`tRg#Gr7-odDHKGZ1ZQ zYV}(NqhBEGjtmlRKaLAdg-u@Gch3)IPd7uxd<^wm@;vJ(#bM|!_Ch2ajh*=|=Oo`v zQpK8n*DkVpSCJ%|+N4+ZBkfVnh&(GP0C~c@exI-meF=Nl-0cgn?IvRC$u@_$=8MCU z>j4nk!l}=|@5#AiAtM+$2YNTKWm6XxXZd5cHN&Pv$C0N)+L z=%B0QUG>yBIUZxG#tjxw(k4+(216A1bNeedZX~2Go|c9kQ!>DX86#kgj${R-aDta; z`lL0+ama6D`cJkyuDlS5@VOD@{#ypL$EI_={ZzmhYSJ%Fhl~-pOKLhZL7KAf-I1-M z5KO)48r(Z!oq$8c7X2kE)8j6fpc12UAIc0ofZuJ z-i|l_j-cAjMOA80S%3eStwF$i$pyBJ;Sd zG3=H1?<3-cEBFUz$&e_C71t2hSH);H6rfB#Haz+ z&^E&S#&2L1BpcXhYN?g-iCkIrKnYU~g z=xeEoO-MDvNtVF>I}E!%GEK+o0J3elkV+5Kc^@7*(z}jbN$ZCeZ^K@>R^r2dUidsN zOoh_*oZ|_X8HN_js)J4BZ%^5+49TyTMSH~-%pHD6R$FP<^w}&Tp>w;J7s<|J==+gQ z$+4Z_F<&RiBgc1uN57mYKr~;xI&XDk!k76a+jkklPJ$2KK@?MA3;PZoM>f*3C;W-7 z3<0e9Q}niRaZK0ILPYG>o+PiPF2gHneM)pWQaY4DKC#Fjap~=j(E&9=P5>ShZx^Ls zF($UE5`yT5Y4&Hj_y;kb#C(RuB_5gI8NH0%-E*5(zb%+4E@qcx6E^B(WQ_AHZkVLN4T{r@Th)YgRV^@}TFl0~ZH*Oar7HFeTS%CSnN~PaK3PzKi;a$8I z)2*Q|bVr#l{ZqmVo(=Yi77qKRg3bCga%D5eLYeN;s1>yiiT1!75sk5G0$_q#Ome%S z-^J+ey&Ou-Qw7b+2^Tuq7S-+tBQ>9H36zhz67)cIyR1J(A3T^@$ks^( z#UA&p{4e0+!rl?nsY2P`nRI=KBaRs|!;EZh!kwzY$EXdjBGGjqUh&X_g%RoCT zq{gcW`F^DSyp)L|97`T^G$DEc;Z$^((WY6S-Cf{7nU7z} zDV#o2R{X4?;X9H`7D2@urPqMBu4fT|8w1k2GO1hdYR2}Be)v?@!5Dt}v3L!A&S{?C ztpS02NE@-Sn4SqhW&^bLUJ>StW$VewEKR%c1rxSf_WKW8469^o^7hb&!dqa}8_vsy zbi7>vut_yM^4zd)vfU-*5xvtfX*U;&Dc0j~;J9m$mysdoWb))GJj`@t2{0<){8;8o zCF@8ML46|<(^W2Tc69y4anmq=jO*)!B6@}xc!h-kO_|E)vR4TL958+GxNOhg9TxjLd9t6 zQ@LB~2fQ)>I|& zA%vNXOSv4}7+^nY#FItB#KLNOS^65MW@ce-e-@+lLjR40>O)KEA+!4z7LsBU(45{8 z!bhCipGgaFZ(5P{<2!uG<@Y=DbZO4Qul{?pFTKN-nuL_?b(FxBI!~^st3gnqWnNUl zxQd^$wqN&aiYot83^r-0l1^tM2z_GJLm2N>lK%f4mLF9xR69NaiR^rkJ?Degn}6tI z0BaUTQpiIslVYOHwlCU*u^hNP(+nV$SRP6|J1;ApOQA5qfm$+fkq@Vuzrq#v^oh;s z5t7xZgJdS67-tt55T_asc-5w8vyXI4THx-^MhoT3>V$$7=0JbZ+AfwJcm_K7-a&?2 zB4~4~E|N`C&M9cE2kZ|bt2(`sDvgl!t3~=lTc^5`1tki84_u5FS zu#4;G(CopwnGPvcg-fH4BhWpEB3Vz1t2}5q^{I&D6EKiE5QFw3J$}9H%4DUalx&~I zK74~2gER%z$}Z*y`-EpUl9K~R^8a0)`}lZ<-n%B#Fk8dMKEWa|q4CJt5|CIWf1^+C zUYhZ=L5+m{s>QqYA%1mPh3lx3pnI1m{aZ{;{yak8DOO^3!>usUpp!>-Ic@`+|GRxg z?^C?AXYDEYIORm-{5+N{s^8|xXDqOspR&_bRXB=~w*j3=_D|VtR3^Q{e^PcH9jp$n zsF>iee9})#E^D{EAP%IkQiwwFdxsT8S)%HcMVbys3gEr@_gCFYGg|EqQ2{uxB%n^w z)seI^GBn%ONi$DhHVZMqImqW13=a~}b7H^{6rki%iOU00v<@#SQvW%-(;*{HYOU0J zV3H3@t-7X}$&c&4z`kg0g*wpNh=nyHiYt2Ru#XHr*Xhl~D3DPT>~&3Bq3}#fO~9lu z5>2UL11})kHuU!>8Xhx-3v4MyBwO)vRqGhCwWgJD8Q=ap5c)z%qnRAzil)50ErDlWzaXHgDXAURu~2%r-A zzitUM?|(e3l%>LLoALjduPz!2P_MB$B}>d+lcf;ZjF?QJz zbDiX>u?2yV13Z^su0Oz(K0N$^)|{qg#X+amSq$l7_@fVZY;j|Nf9?-a$RLr$#A0cs zDP$DPc5^<7&-ye)2uYY`0G3#DFhSsWgI$lTXlrOuCTI)XaSP*CI!K@b%NXcD5`0Oq zJ->6Di2S6GQ{iJvc(QTZ+mZbPL;M%uXqRWqO)MXS&+smVeh9a_txLgN#Y!*|-;MNH zksyF52Ty&}R;|D>4qJNq4u-FDoigf7wl*%wqKGdb&AY-Q(#De>*asE^A&9`l;DB}k zOC3hz@_8Se^$BZDi{R z$Fn0QR*XmUgn}nd#RdV(aOn3{%^SZMZ@HbG#72%c>N&=r#JFACPNYU;E!BXBi>Htb zA+;_RmE=E42c!ct=W>wc388=C`&;EXmg9x>(;P#z;7{C_b1BtYUjwnkWoKtXOwSX~ zGq3CxC$@Im@lpAgF>*0tv5!X<^X&k#3?4Q7waJ5Pps7Pc2-v&=j82&QJ*1UE_8xu4 z?CDsfc|oaeyJic=%DOoI#V%v#o-yT_@=> z+q^YtC0i<1Hrdu9t2o1Wj45$0YR>~Gs>V5aAY`7*;6DQcQ12@pf)&VJ!JMY3YCb10 z{z~spbfw_6)DKC<0jOF&*0bCfb(tTm+%YpAx;|R>fI7Ynx>8`Ops`Wu=m8{S-!G#J zxNpH%B!SSOBQo^N870^%B-5Xrt9O(ER(@Rg-*Su%&& zBKH`|r=hNk7;zT`%`b}J*>B$L;S>76FAbz`y%*?#;EQ{=XNu$U0&e2JoLv(|CD4oAg2(^<{@}Xe@;&FPR~9IhTtSs_}qM{ zDFPYXsCgUbo{}3yr%tGy;2`&*Li5%(E^p%1NO<}&iTLvxkl&4=IcTPRahy;Lqap3sipNHz8$zsxUk+LB8CzzfVV4 zW%A)d!^Yhw&As&}F`!=d=u`VT3tQ1N>7BcyR%l-3Mz&yJny=L$IdA&GV+kgZLd^Z` z!o}zGqlCd+%_GvD{Jl- zEkS-tiBt}Jkg(}q(RVt)?~LM2_?~RE^I}5=xE~^41#r#D%|`!S(=4N`c+W;%(Y?(V z{cU5Rwt%)rB}QX_`-HB~y>xfyUk+*#6^3=wW)^?Sg8f(7)yV3F+|at8I0TC$0q9>~ zT;8QwP^GSH)gNFnE>|w4dBRADg~bj7<9N%CK&qe-@+H1W&@$L=M_}0#s)Eu@%J()G z$1X|rC1}>zBETR*M`;|YJ~-VX<6=-ZorWnH@9rJ^N)l4NCS4TCQ8dXrhBYTdLA<2U z(yT6KuxuSr5ie%_w|Nnx4d3l3at?w+)ecABg2)xXJI35-i#wG(S3`H>wrg(h19Zv1 zFjO+5Tz=$2sACv8M>)U+)%$oO>an_Y?(tFRFQyPwFc8C}MGR&(T$YuE9*jf#y8J4z9Z4LFwLvw5Mrd^E=SR;kSZ^c+mArDntJg^c%l?0xod_kP)}y)c z4dI=!%k#)g;WWIE{%N=ifJQF2i#2!MSX9O{(7anmS_%0f@fVpSc?n=PQ;^RgFKRkC zAt-x2_%-K(%M^i6)ah=7fjg;x$@us{y}2LDUr1BVwqWsuBC~MW?lG0mB#7l8rRQKJ zcnECvV{H)AxawlVa$`e!fY(WYVV(Vu@$N@IgQOtA4sU;_R8Rr%Q5U)A zPqSsB9EfU0VRFSJF9$^^+a33G42|MQ5;pZEc|<-k-m+cZ0u49E9eeNFb^Q{&F7Xj* zWZU%|cVtd(rlV}Z;GELm)&}U`RZ{Rt)95>TNVJ_vKj9wgEadVN0KKeU`+2VK!TjV_ zvHh~Pa#AWM&TfNR#3;sm*uKkLt{G&{*HYM2>vog$*oGTydBR4HYbUGa95+^&B>2FP z*+2f>9WFRld;DF1bMzIm5yAI%#pwMpZk99$xSY88sJP%zbr!Zinii_WDNu*cV%DXm zgt%dd`lw*wnKH%XFu!MH!xM?*(SFU(D_y4<2ICPUP8xvU zJtP-2Eyo+Aswt=}%-5o8!wl^Qv@zjL#Gv>Wa;?hqDd#+a6`S-OH<}Q>v^*CcbEPjF z=0}lUD5yI+NoM5N=6E%a{I)ij{hSBnBumgm2GIJ|YpI}>TZKSWd`!2~n_p}uh#|{e zC${xu#0#}3rxv&S=wI|Yg}-qvvS%qSa3x0$VdI&!+i^k%JA|(feE!T<2yb_l&D=GN zl)xi0j!`fUFa(O_K~q+hGQOlitq`KFaN`f{TxRn-$zF~n9czy8osESzgXWpmP{Mu( zW7MI`%fhCNTICf0`btnxMEuEmPla*x#9K11q@j-ov-umss?3F}9s`bx!PtiG5j)#1Rf(!3mq0vYhM6_kDKS@Lsv653}R! zF}TuaF10;7u7ER>KSaccrGoxNaa9{=*82FYw~xui1RD&DN6))ldW^=r9HqcMgyq<$ zbkqz_@iv*uQq{J~n1F#j{Zu-;&^oUpf3f$2_ReECCxEh7>KTMg2nrIxlI|PAc*`Ol zR+QEdk@C_WqeF&5v*dM1X{(}l0JubRoo>Nm-@MvRx1l4-dhfT{G*2lDK!v{P74_MZ zV`jFfUk6)eTCdC#nQ4EUVK5JRQTH_5_3iTmm;Ms!Se?%(fWguh6D?mfrS;IsZazcG zp+%7W`lEhcmd`fA2;}#=siX|LFTMMFf=mFN%b>ZD%|IizcrV4myKXCFo5PkUg1PdV z+2{za*mm__o!;A*eDKy!ml`tnuI1YpIKmV-vIlJbH#P2-QGA(K4}lP)S6-42e(Ed4 z7CbB_2Wr~0;+A7AaV!@5lV#G)Mi9S$29Z5LRw^3voOuYXumm2Ut5Y4rcZtmxPUp&=nya6?U8Bbjgnu@k92qtZyBeHA% zIu?i&`WgF$geDcU!cQ>c`jXr)|>%I6Iiw+ZC#VTnQvzLr2kLN-kyui$L&ZrEw#@4=Yb>td);$pA|&( zU=+bm4*^IK379r-x@3ClvVu!5`l%Z`sAtB)v8@o&|Bg`0e) zpfmpg{coFq$#ss}U;#2y2N(*leM1V6eoAd$tJLEN(lvB$j&r6{tn}6Nfrce9 zfup%+(P(r#^sj)$a3hL_n+j?%S>6U! zMom@G*U6JVO5a5Rsp<^(jHm z*Ao-!4i`$fhC@$K66~}^0`F}S_dGqi_Lgq2yp+ZCQS7yU;PBJo##xFf=|m6(OL~|p z-}K7%o1bu0&RlZgv`Yj{M@b$7S+^_<;C=`&kxwOGurLi!CNvFb)QK+LC%9-E>?spx zX6By4o}hye`}cZz687#8zum2}btL04(!5EscbJ+~7Hmfo%(ZLlviSi(uTWKekR!PK zS~Pej-rf(}kDr?qk<*UG62hkn-Q6L4EJZ5dzKxa)D#6tPbEhI)+(iEE{-WKb7ttTJ zr7S`8G~HE!bfmAUj@04}xSs3%2$8EOg<_j_gz399GHuIoZ6Us>*zRngE^~*G)=SWc zxQ>bpP?|3S025=*t0*SBe;7@j67@5+v8k-o^)@=gmO_N%gwg{MG*t5}0t0`nHS)95~JeD7q2&SMDI zV@ISw@i!24sZ=cl zhggXF%TkASF6YbTcb8*nNkTt?KkDb@JGyPM`bVG0>=%M?Lty+vN)gdV`4-Vy#@J8P zy#&-~(~cEOc=aQgYsljC(rLVIiV>Emyc7dGv1hnh=U+jsWV`Z+O64CutaXshp!YAo zmF@&m=NV(yvGinE+4VP|3qt1& zjI1Lk5#e>9m%z^Vu3&ea7*tAEk}V?R@Gr5DLm|3H~(EP)8hukr;c(GXopKBqwG z#uX#>vrf6NStK6`?#5S5oQC%Z)!!l|=eD?0(BR6gQ{_>aO9LP9Kz0>iIQN$i&x1XI zie1aRX;x&ayG;7NHt`ACN6m$Cr-u>gFJN&)?EpgkcXjADe|gCksPnmIn8CDzPqou| zx7~SadIT|Ki=)@q29Y%3c~SGmjbq|#`lyTh?^-Ln2{g(3T0kQ zClr5{c+Z3=A^gWdaegs(wl=I-R>|8^8>9%(&puwJ37uH4MjUyxJ8M3WYS&Sc^vwSw zu9)npc5wx($hx;RjDlW%GEM==0T?`pte1VqC&6^cxR1o^Q2_tZ9bnPHS;~7#W$c40 z8w#p#Uqv6>_a5?&o;J(iQ&-%J_qY@i7k!pp2YzXzFiCNas%oB^4(emSg%xT~C4hz@ zeoN`^Z={#~Ka3jt=-ziNwvA%R5iPEvm$e50Z-e98*`T%|2}WgeHJ|?a?a-!_t2Way ztM9vg{GANH*k;`TF+k*TjBDx#5O46h=YE+s#lW- zV5x%0vn$5iA3n`Rp|-3U5#14;vbuSw2$Q2u>99n<*JAu_jYNrU*ugs>sMepbt!ZbEL|=_mKzSk7*8=6;a6O61~lR$S*{&1{zRc99DvZa;mZ!Xt1jJ*zA| zf5>g^PxD+BGj6`OJ}@~0p-t&(F}XLfDVAiODg{vEj0t$ z!!a7Q70<)XXNu0z=2rU;YJ ztJB~hSuor&QUP(A;5<#BMef*HOn_+-Bssb4ZUvalm37{CUIwM|z^1h^^>je-(a6x` zQ*(U}dPrk%S=&?PZivZAFt;Ay=U@Nzz{wuLA(tnQIt2C}-E9X)j}b24-xY}8_RF!t za5FbAYQj(0++)Y0D!e=f^|Fn(H!qKck0Jws*~rCW0xL!*8t6Ozt2CEoN+Gw8YaZPR zdcEMCC%Phc0XV^iMokhW`N2#3HWPmz!@bae=egj8e?*AzPU6i7m7)*#j!5Z zqlP};%L)4uKG<8z%TU+u&?ncL3-}|$uKSuAu@fdUY!C0}Whu}1XVVAq)U+^IJMDD; zEuj6jO|z~jr_m7vL$Z-u`JL)YhAZ9J;7uqY$B?zPouCpscMBm}bVw1|PWX%jE^9JU z#b!rFm?Wr^o0}&sZhikGy?bWrv?;RbJsyH5a7(&; z<)6(U#BN@*dO=7FZ?9Mq@t|O%gIF!7c(J&D!Ka|31RB_g?$Dja$-1n1QFyWG!yW=> zI5~}YF%1wjb0LWE75?iQ*E1PqwVV(pyyRg19ZBH2fS;asnwT640z$c;K+$cVC!e|4 zW^vxwS^Q3!C8%Iz1CvMZ+}TCR7ZV)!uN}tVh#h5S1HgS&(8pl{1H6e;a zl9xZNEb`GdV@c6(K#!{*<>8oFaNX{l$h8iKvSsicrmmVW0Gu`8u{6;{t%1yPVCdp z`H?aKu(=SXK+&;9A4O(6MEw9?JSd9gdpJ0Q@GY9t+!q!3o>2G`wDlV9#w z3YNRy@3|PX=CRtWfS5-{Rd~ybQ&#ObRd0YF_rV^^sm;=31DqAmSpfVZjvTKrEhZg* zwQTNYHI=z<87g@HL{&LDU+5MgaG+-WuBus-*($ zR2zZ?hfcx&vBhFxTAA zBNHzJJLRM#owksFZQ^n6EWOa8WTHt%pU&B zNsTzjkvQ_E6Prs{3)XF|4*9{t<9}b5l^DtU#;n+{Mx6G?Aau zwXCtw9jRR`Dq-3N>Uht(S6Vf*AT% zY#Q&uhx8#Rn;FS2(dA#eeI^Z|JKJM`Jv>b3Y=;7Gva@x-+Q1se(AOp*;*M2;L}L!FG=%lgTjBnx_O(X_afsHNt6rQV0XE z0&lKOi}MK4jEBZ(kXh|i|Rwr0dV)m>6!_cxmHAkgEfF`bzwH%pqiM? z(MLd|=V3DQKpXn_Se{I>UoYt@N5y)$8xevelDv=$ zPg-|VS>zh$ zXq$}-!h2{*-0}4ia-QU+)>uF?iE*Mo2t1`s=+2q4B?5fWxWFcAXMV#<;Rc2&3VNK; zl$KwE&o<4L!WcMVdg4A?qG$YpR3?A;FB5z8s+&OAr{d|KOi$N(4oY6S4n)22srXb> zO7Rh7gH0^XUBDEN?A)naCXcH?_3d(piZ9^X_578s^5|jK20Q;ALITojdF-rut^rlciFTF{25X*ut{O`Fn8-_jugvI8(2L zd!fLhY%et@b&K?^*v4CI`*|{60tVfpqafBFHjZ0q3@c>l0y5Y)R=5Dlxq3X*rP=jo z@FUXQq7*N91f9!8`QyMwk&C&{+%;b@{6-X(e(U5c>sz>nnOx03#|UNM>CwFdLBl?| zuL<`m%Ck#*FSh6P8Z`K0Gya;ps#uc&h5SKjIbqSfcs#QFOGrseU_$2!r8xLK76g4Z z(iFUMb!;`hqV3tA-`98Xrj2*bxR}bZweKO@>UCZAYQ#tRU@3x2qwl^ei{UL#1PVLL z;Jr7zW$@=HC1So`j7a_rfWO_{1Cx)32fDdvgdr$v$*jXI z5O}^`RAUioXU-{CKcU_5kdUJ!p`8S(Sl&(NmVt;7%MGfO!RijRyd)xZ#cW}?LtufX z%M9&OIk0t^0K-I1zBv<=6at-!w9`{AyC_h5LW+;oFAZF$Q630Ot$X1r5`$qR^suHf zcVZ$*$=;NLwU#$|b*nk@$gpn1MX^Ti?{obP3H}lDELr)GmX#D0#SGwCMeA&P#_kZx zacf)Qe3DHT{PV^Z`$0d+%T>61nRW3#Mc3Vma$!^_*|P{u;%B-Eb(gN<4WL}T4<=~- zTUpfbAa-?U^pK;ZB#i5k_4|}qVucBXA5OY>}+_}NNy-liEDU)u5fJbj?RC)?T2iM8MoGaO_$0feZ zMp{J#bc?#e94lO&iyRI(>AFv5$r@~u{*&}wuzqcbuscN+33Uvq*rwn$UEL_vQNM-x zddmgEe&d?2^$5#&!DgyDqL2pF1q|Vm9TFr8HIb4-MRWTb!y>ZkyGuc1BH~)RXl4-( zOlC>`^h9i(Jvm^FP?@%6c331=EzUI%d$&K}f_|18RlEPc3i@YO5WdwO!^NIxK91Nv za2XItbM8R#7-0Lw#}n%vhP-|MS18*+$ABB_#LKnkue3YUvW-MFRF$gKN_O>PkP;SN zxqn$Xgiw{ZuNS465GWjZ;h#12T%-vQi0uW`QiYm5-^?~rA;5H%sCtl{yZapis44n+ zSQUamCVvCH@tkpDa2H(D##JCoSN&W(*|?=Ot~GlJadCSt&o$R$nBWAJ6=t#ootXim zW2f@FlH?oPoXVi>&OTnCDHUlCZP&S=cEcbn%M*WLb%8o%4GHPI8SznUnFo?z+$y06 zm<#zzIyH`!drJdSG?5&EbFOxv&armS_fdZ{k$GsCLIf>Z3dQ7w)5`NZN#TK3>s%^N zViNaX5~hvg@C>8{lSsRnjd==1`xm+8TX|0{o|wV;ygV5p>3Q?zf6|a?UaexkmV?f7sYQti{#zdXQbU% ztJsCmEX;z5E{9WDG)%Ts7iVCrRwnVyttBVY>CRFb`XLB0O0gOCP4C71TB|KFx!4H4 z{g9U~lUUo)oTLR~_?|B5qa#S%MGjSo1iII_ox+EVvkOV8X9ZxLC@tQ4%-3JP;41fl zJ#1;m+<=-f?5suIA)xPyPP88WHgd+Mpi~5Xsm=~AUXN>iiUnWe%^#|G?pAUaa_)V+ zZh50HnVy5`r5JWA&;h}8wowlkX`&t{!#22<`#R;GcT8Vk;XFpneGe7Dx=Ph_2W^lQ z=e-HANJgqs5h1>A`t#s^ptiH^*}T*>MDPtoC1A`YaQM^QB#{gpHp zUnQH-n0?c(xiYDbEZpRC030)&f!$;C4B6GBAzv^Jx>Qr%+j)+7YwHo3Lhz(LgYcQW zEW-ad>na&LG@lQfkWu2IIBKP9;*{%;+q`@NRu)V*1Y)g=n^kt|Ichb2I zB?y-{qU#_%mH5J&v1ZTkngU?%5~&ZnMbI5U^s0nN$E*a5QZv`294i z9JkBSEK3Yr=R@Sq+0svp=M;oJD3)w<_8D1?MU(a1G8WiCr0k16p>o1^n%%+s%|Y89QYimqt=j74pxc}F zL$n74R`w6Y)qSsw&GLBpZ<9dTVmBB|UW|St_oUQ~wy+WNZVR^{&3Xl;GO}%Zz8XmD zuG7h@==Lv4(;Pp|Y$WoVmoRIVvhgd6a3zS$+jhGU}cW)DL ztZIt}FjKNK3gzN5n9`H-B@2mhy*o^7K$O`#w$GRM;%^L^b^x2q%{%43X+n! z0A)9^oj%@X!Ag<`?$rL>S_~*HLI+%6fCyz_VEzP0uuYmY7SSktryzL>v=E*E=X#r- zk3C>zIfeUtfK3ZhCL(x+V=7?-d}dZ}m^8@7&=|c!g}cap_B1)%5r>f^ifcJ-D^YVn zYoU<*K}TeDI&Syi%8PyT-=2s_ytRD;1+hf57EDBcnOl!~SW#J4PX(_+2DN4k9!gP( zDc!d?zk35B&LzGCF&n$EgjS?8^Fo3o zNH8lD`_f%`8^hIXZiA--!*?)sgfUHji}K0_HfR@YFdL1i8PW+*mr!k zSng~ftA;ReCl2b3DLV;&tM7Qx8M+lYVWMSwN*{)b25M#S3imN_9Y7E3uf-36ZBbtM z5`Mm6fO|Cg4-EiKCDhWQ2hcl{?j&OTUK#iovt@4O{jO!u4N7K?&`Hxs+_fG2Nfi5qKJC2Ty;LEP&P+%u-z!sVyd z8BS&BHaraDwXQ2?$lI+0&vpx(DKWqkN`U+#4xgNdP1agvu>3*i!#ZUqOA*jb*`B}q zpB)eAgRSz+a#H4e_dw`Y3|HjfFzRuvxx~AFY;C}?OR2!uu0rmhl?QD7Jr#C^@m1az zBSyHvyZu(+uWEOR)ZDu$^v7CfAjTF_N8E0>2>%t-#n+-N`NN62%No>`CM{eJtUa78Xi1T=MJK~A6PFCZ^R$&41RW&N?|!oYjoZJw6y>z#}-%h zEXL@jF|m0z^h!uRzKHx6k}ljn22el!QWHZ+r?kT6!pwrvz|ySVG~s}tce_T4KM#mi zbN7CsKE=x4WB+Du(5Tu3b-}VwRuC`V-yl6Yc!{N0T5*Ikp;P>|q5vt^e&bdN_=s`T zgJ8YBpT5U#W+s~uV#hc8qDDZG4ZZYd_5@(3@GsM{<5!XiU!KivF>TUCGys7?Y9#1-!p8oqraF#>O~+0Oqs5cqBg;5i(c+F-K(eL(K- z`x>N0)jW4)?Z}ZJdodu62IYkcjVsi7Wcg1-y~qnz>~FQXnB59aDKiev8f6^3-w zZ15}$;ddg=^lt2+B_=2W2DBzkl=b1^$Ivu?XuC@EBY{`=-9m*`NV_sjw8vO9C?-r~ zv3{&m`k#{i9SaVMxwh0RMG7%Qqb@|y_=su%yn*^94Tv+*Nm+6^+kdFuRTm6xz}OAr zFHnp0n{Y<1>PweeQ5#;P+=V;(OCA9@AT4Kw_Ok(b6sT{4LWtFd+zyM$BtI1p+^baw z74ZMyLVr#@kfZfbdcRpfm)HHzw^2PiFa1Daaa1TM;Qfmo;+7{{Hn7pIh#Rl?LS?7Z zrkxje8eGTU!Ur5DR8EdLDEM2bkK=vZW=7g@>pHyH&v}4HjAfF~_)MA08tU$PJug%2 zL_^{tJ;+0GIbR|tT5aHQEgy+|I;#iU+S!#UNyB#U{MhElH78NR)Z4=dZ~>scrjnH{ zv8~P^J0xk1b2=+{V5@Q!b?s{{WwwRFIld&xQdG#96YSgOTQZ{q%7dxx9yQ_udFn_4pZlvLZ#QPL^YovK^VSEJ7bmS$X zoyD@TkkKOPkqi3-iHVJ7S$N?^Zer~XmaGW_5@V+*>^MGPi^zx5gdyydvw}W>i({s0 zsV|HDfzMkusxSi-STT=2Kdfcb&?jZRH= zz7R+S($YtIV4%0!Ye3h&Hn%1DSr8R_6<7&%j|@m1mk zaUbIx62P^@0e%<@9*q5L3)4KVgY$_A?u4a^GNIAA%cqEV9y)C<3W{WSD3>PG< zf-h^}GMw#1jxK}P2VzO1n-N3brSjXN`C*a0FkbHDLD{(wQY~&G&FbvQwbyQ?J2$+o zj7+1>?i!-h3vK3(j2(F`>XEkYfr0?}=K-^bd%RmqL470)?emh4J+*SYjD!*YrO>PJ z)qW-~MCkyMgeQlCYmG>w9(BpIZ$5jqX_e|uDDyXO?`Oz0be291egLN%vW4~Cswc1u zND=44O4)4U9s)tN_r*=oAP`eOkk+O_9x)u!h{Qz#UbNry~i;bu1pK{pw%O^`D{;!P_QIVA~m?8NJ zHvnSyIOab7nxC}v>r~z384NMCg>pXzS=pjp9DOi>gA8;eie+EL#Gg9V?@iws%m67* zE)J;_P?DMjYqS?7h%1bLlK^WBvXmg!)#OHAjSL$*Aqp`C-^FKfuud4g?`4utdq2vV z3x-ZV!lHV71UK)(hwee3t$Fb25z(3xU&3zPYO3Tkcz&x`;0@zD*oloQh(kcGW40Z& zw#NnSflCQ-hsq(Rp@Jc3SFh?~u?pS0OOTfLsD#!W$hW{0{Rc@>`X=hREuELSPZ0IH zIm5`m`CY0*CF}!dZz?rVdjA*7>_(+A#nkqZ@3w9X6}vQixijWkf%S~v(x=O4pgCM0 zg|oca5HTb4V2Yo8*fucf1!zd5|T`a}fG2dkofE2n-GMZ zBa-mQoO*tXNztR+TG2#T38Zf*;%`YTVvk2t#3P|e7|H}ym9B_^Fu~#bZbsR=c9i~R zY8IDr_m|y_E4*knhtlY^R>~DBJ%Z`~5=RV#@t2U=jVs;}#WnDac;>;bnKJ^ghS?9# zm7XE5@Y==vq&JOC^tA;~^YQ2(Ql^ymc67WA&EQ?QW1aKWunO#HwfkL&N4)fPs#7is zVFt-sMIC*X)#>Lg%>~9c`rK(0OlxRRElHEg5#%TqP7O&PFSo1_L;IC>`(Oc|bXp`u zk`NYfPGZWKQ7bMh#S(pLg|G$rt?8yvTr-VpC{VN3y1`$s8A1} zw3b6H%2P_E{~+QTDnZqLgX1d;aH5{#n@&#iNbj~B<_6!D;}+A4#bZ?qclysF;PH$@ zy6`9HqVYt0YeRi`xYeM}%CQ%NmdB@`8|+?6@*>7BCmLTQNB2w(x>Zg6Q;O}MCM*5b zn$tj@zaMBl;r&6FT_-Kxv+B@n-7F09->opwpp9(E_z#KD3Y^wN)C*=s1Rr=^4N*5@ zd(fnwgU8S;-`-B8*#qePrD~A?AVA;0r}NUA0L2R`>VCE9w>(PwN@!m-c#I~Bv}8EO z>^G5su4mjyk4W+=%`TlzGs>a+J+}SFeNJu&J;F7NW@#FVp;)omyENQjPDGK;p32>e z!IUZP1J1p$h#G>RGvf@I$L-g#Ofk{4wdonrzvl;%94c%Q(X$(B-Ib_p8%%GMX;0WY z3hCMoNkqQCU&ki;m!VCYu%?h6gIg|E=1fdt&!#-yy#fAKQ+@{kMiN4*dLdQuXip`y z!;_rITaBviK^chwEF?yB8@_$~JaJ@-4bcjG!BycDMdnyMj@_TNYTFv)|gS; z3^n_i-`V&g0DmiC1AJh7!B^Ez``Y;zKxuPw5R+zzLFe;?q6q*;-vu~aq~cR91$&ry z9*Us;_6A&gs;^qw$LB++_rs~m;9~!4Nqy-#en7X;_E;--G){vH>l3p$W!&@cB`!0GP`9O(QEG2T6V}Ph+ zg;lz}4MvZGFu=5(gctlG9T~`h_UVTIlM8rf<-521Zi9ETrVNaqoHZ`3;9~iap%ym) z6UAa66XWGQ4nZTmADOyVcW4QI0{ieINX^!rkr46WOp3wxv7+9trn~fx-@ptGN&pQ9 zsy%{ff&ZN?G%kFKYT&GFwQ%erbkH+a_#pH{<$s_e+aYb`R-slX)0tvrHE}9uW^|PS zK`H0|u;BV#5sS*V-_JM!j#~$Kws|YqbmBwM4%cL})omDXP${Owmduo{{BUa|@YK2l zCG}lR@!tQB^T6Jq_(jfatmjSU097Ua#<2eXY>*p z%aA5xq$(;NR;5I6#$qAbz!8G5mdE(a3Q+5VZpPu*3S#~6zLUnr=}jvjiKN5AqnTOZ zYokdr1#JAm5!@Hu0N7?=ROp6R1gnfkD@D{%qYsA4UY`ymSPMpbb4$xc9(1(~JU zA<>#+jJK^AXmV=dr8qa8!VRF!k1r5&)dWL4wGX3`@jDkyzC zxk&Yo&<)7-K@s!?m&N+a`N8ABQCNZat#J3A<&b=yemh&C&V4>UVZ*I%obb{?psat; zasP62SRmIlg@+D<`AM%UqovD)$=Y@5syu;jVuy^)4Rbx8FNw*}R5ZO)^BedSn6CCO zLjP4^3e=Ii2Kp18ZQN?({8ZRln7|NrG+91I^}tA{l-g6d1>TB}R;(H;*y z6>rWN^k9%z?v3`G_bW5va3)ZkOSy9HZ#!HaUOY5K70`-GG%J=6UT(qfWSV_zUi$TIznKdrVV)DbQH^ zPRv|C(4Q8!w?k)7jw0aY3oC^E@+8l-jLE@%NEV&uT{3bij_I(3eqgt374K0D zB`$#UPE&giAG`C_ea4!@N$BPXJ^d1b7u{#*`Z2jl5rs6hb)H!|Q4K>9LH=f+5p|Im;GUGv zv~ynBqRBqi7HOvbx@R#Hny=)Ph2ga{wqHq$w4?$GcGo#H%b&;#`8v$Wq{*q#^6pOM z?U}lnDIdNFri}%~_d8P+q@)U4&UEtA5#u?7uR^(R>eG4+vEF$2e*vcGfygrA_kIhk z+(My*$zALb7t*hqL^u9+m&E?W2deB`TBTqGiq+HTY|39mlitT30T z1})zQ%KT;IB~okk#x%EkIS$lf3P@UWEgNskouiJ7L^X%f8}i5LlAPMTGN~?+ftDKd zCVn3AP3vukP3)*yh-mGlld%wbm|Q3(_)$*oG#;S?4Uvwq>V;0&d;G7UoNgFtd|}4{ z{yJV7UsIm@8clL_2&gX^%#a$WZu%?BM(_{>94U3>jopKQu-B#@`plFxU+asKy0zKf zZx5nDPnOtI#$%ppe+P+VqomVhMije2FbM!k z%vkI-L70(P-t1ExyB(&ko$ML+8>W=c|M=Z)?*(BZO|~*fTTx7PqfQ+3mS#hBbL^J` zYG7(N0zwe0xFnmh=mY6S@z>!(m1+6Xo@M(d$FK@-+56xG6`5J%(v3A?XXqIjOH$Y= zd*<<;979{pjSo`d z9N?WO1hdnczzkf2yfw|HDx;b{ ztb+>vbWMXxshkL?4LtyI-iA5N`spm*M#+OaPm9=}GV#FUx}yjw$qznT`EzsBf;d22 zUxEi(tOa{TQyODj=MtNj(8^ogseik7=Hz$9x^nO@H~@5CxRbxFe0RdzlaHeV{^R~FdJ7~6U%*u{tw^}j46y`%lWL1<`z)&0Ud2ZWl1HZ-9$+_ zUp*bf?>k$h!LfPDJah$b}xq25YSNo9Jphqs?As`e@TFuNP5=Bid5QArvtO%lpK z^v3T+!3BWs^&DXwIvy#Qhc+k$Lp!Mwt%Y>-d;gad!G2~06;Z*s@fwx$S=^=ny;O^# zAdUGAXcYqohL$p@R!!BU z_VA!#rmL+3-7D+kBP3dGc8SXUb?z5T4FK7`?$q~f(c(p!0-f- ze@+0;`VwScANfh)aK4_Y7@d{QZx~ubfkS}JuP5OY8-!4M1Rmrx<^Laszsetlml$UPzA%ZnZbmt~f3t&c+p3l7`O7bDn z?>G0L*U@)%mquu}5ga%!BwtF5DidezE3XDbx-Y_-laTwwFPpIzM(&-WY z{oEIgs1GTh-EB^+gIX~|IRGX9h2v(nF1(@h=7hJWEYH6iaa&3$dg z6??@dI*Di#Db;#A+l5;RT8If4Cvu&p*@qcM2o+$|X$Xd{I=D(9;RWF$(5Ci3tG@2l zt*~%{NHrzh3#`0l$+0rH`0!8$S37mY)Z3M%tR#ZQ)JU$sXnKoLoTKC?Eu(-6GWIBt7(V{eKMK z=6ooS0OtbiZDWMS{FaFw2!G@UoeHDq-Qtz!qK65iWuVz1Uy`Q^?NMhFId>hr7nA5c zEyF;)SA~4WO3Ih^cT6+)G9uow6Oom@oF;}H9RV6E)pRq^TFtZeJ8wNe<0wD)z`ig^ zrOOtsZOcrm;&g(#-9`n7u3|x9y`O~Xa@zzAQ;#G%Y^L+f^pN$+Es`hDj9@)X8tpFa z8iMj!><)?_F}*_UFv~Lmd7BI5#{&^oE9zs0XBL8lm_HHt8ED!Rqi+(&x#He5LlhQb zd2mQI0uBJ3U4%vrf&XbQz>@pc@y#7H&XWC2n#t26aW zV*u)zIfIrn$@3>CKi$8Yc)q*>WYIj8uO{FCp!CsQK`;Sdz+SY_6{tQw^ z1pt0zgxwKrXnmIR(uC{pEX!OA#%pR=!5GRvEwQn?ZWK?&XtubZ6sG zGnJpF4UtXqXA6sQcxm_DWmRET8WYY}coDTb*8A1^q`NK=I?UFF8t%?p->q0v#O@MPfm@^2A_4nZ16Xk zznGtf%0zL@36iM+4%-KNBTvf+F-X4O;n;E40Hn#+DE7OKoefoFb-4bp{3HG=R`5Zk zW{Fq!@3p`<`D$k~cjIgsCh;b8xRz;LGSCF=le3Qawz^~ad0**CAL$sC^M*N(E}8A) z8&z^`d5a>cA;3Iq>4WFc$NqG5I?CkbE( zhd9`cq57R&7$mfs7DhaJPgEziw zY=ntIuF$Ft{S=Fz=d{w4>_4It;zS)sm}e&wy0dHn^fIJ;TDulN2n<>d1sP`*2rwa>>cp%cYO;iSyf7886XB1 zhkq^%pNvOEuxqd{z9TCeB&?b7eM$u*#Tn$`yy%;Zi%LRls_Uqw0U?)XPQzJd#y)zA z|K-r<4T-t$>`J8O9<0-sl;ixH702a+;-)V zmzlzA_v*gtTU*k&6bx_;#vBSI5x>*&agfOlV=43V%JJuJkT#G}kbEv_v=pANTJYS$ z{k6uG5fUS1E>Yv}aVx0bAmN6KjED!}Jfw4;NBK^|0-hm2+f#n|g%m#PR__g_?Gh;f z7bs>5^yYR$Rp4g}X`*dfnf&6hu$_xhKjR&&K=S_?`2)5BcZ{{KQSk5vbVT$tciNses>^U1L5-dDD88~;9nWd@G zvoF53(6IRu+j2>w>q8RDBFr#~)gC&o?2ZFPjKgPC^bJJIrTE6T#vLRAp&=PB0E)vXp#~`jz+}>_Cs<|Xg<)1`v6e&IRaYcemmMKp*H)^)@L#Z)4zXZ zGJfz&7fEKN5`3H2N5N$C%;GdKQrqH~2sEq!yp4N3LwjkJ9Fl-^P{YJvoauBg(w>fZ zeN&M~#Gr;1k=Q}^^5Nwbze1*7eSXt=f}s-tS{U!@YQ>O7(^JYWna5iB1z2peM}c9> zU{uZwKM}~zD)(P*U|MMV{q}$|9fM7+M2ZJj{&qJb!tTHR9AX;+4CLnQsXCz02{En< zWi+CCc^tjzDoV1>YxAu*VZ4+A#fObdi;Tc4!K+@Nxd7tFYPpwD6eLkXILVG@-7;0K#`1TD6{vf-j5Ln#^ww;{qps6L zL5)t*-x;{2Z;UtL*g%cRoWbLHxF^Qf%%g9|dsj!E6>F;6b6x8YBbb>b#z_IewQlqQ z>o3b}A9ANDFslA<#_v-+H&jGQr*+CdbWgn_(N&fhu)ujm<|cC#iB15WokP%K@TbZ= zLrPMWs{6;-Hl9!>(0|!WXy#b(Q0!F^;*6=XY5j)IKR>sTGW99PEOM)p6c+Mi@7v%d zODhJn-SuadY5#ud;(mjf)8y;d{rN7(K`qRA!7P#+L$n!f)}xViw^h7zbu2v>RB#jW z?^#H;|i}Qc9V`*y?oZQPZMwq3&-1e|A8z?i8oU_yS|_D1mA_D z4X&LL;ur0^Qo3qWnEAYOJ5EB3GU8SrOkC10&-c>yU)a3YBA$MfB03kr^8s0SmH+Ke zn~#@=jVZf^jCvu5G`jVX$2t9(NXlg2f{^#XRQpdS7ZNa7 zNocFBF*fK##;hat&WZJhL+aHd`d{7%heXqXTTfsVFJ+?rrn2hWE%?5uCMO~8M=upP zJQ7{Uls$)s+88QA0^Ds92&Kpz)5s5dUuLX(8$l}wkk9>QM2&SK-j)|gigXgzpEe6| zfWjPCz-=9siOC{*KE6atU)`lRt?;gokJg(owT?PL`;qS=kY)U%S8xAyjS0Npt<)W| zkWY7i*{Kf)kksAt4cm~$7pvEOY zHnWkdGEH8!0a*)lvb(|iTSeN@xXq!W7J^tcZ-9WF*P&Fk7M7RBmp6}!ff!O&BV9m~ zmCw;`oG+2k&&p_#_)Q<_z1tusfL(p1gBdjYP=~T}SYMUB+V{5P2Fz!HV_x|$ZbE`S zgmT=h0q5~hs%kb_NT+u9mV?n)U9SYz-hJzDaPvfUY9FWS*{0k2qk%$_v1pS)V()q2;tAz&ui?=yYCxkP7iq;6<0N(OgGpv?~ zl>Lc6{8SP+lT0!M@+{#*guI&@GFKbpKSF08a6AmLaaOBNbOp378+LLCm?20#6QMd( zOT(_Ff!%akl3@juW3dS8fi)W#39Qfb#=rEWn%o!;A3;ixjaMY`-$DqOF}A7vZ4Av^ zCY4gK#4c~&;uJkH^!j!QEm?fcpa`8Mr3{sAez8|*&Y&npzXyf9?gBp75q(|&Jxw~w1;Mc<=6bW*<9z@xY=<)HgrWX^BlEX_+1(Rc zwL~&SWh&fqo`MU9ze1@|vALSJ5hMNWk$bP}n~)J6I9m)|F_2OobaUqFxb5B!WZ!6% zt+oqs|3EJQpT6L)jylizuo{_^E%r?77^f)CPoSb`qJpn-H|jp8ER6O8=Da8TQ4DdrdV=$3z)vSQhcAdo9d z1+{%nQ4`Xi3ecya@TRt?d6i()!Q zQP1^Kz9n87qyBX$wNWZY>Ow5MzaaU5X&P$T*NY6)SAbEWCBSdbS)&lxRd(9r;LO>-<2wWki7PFZyDF z3hYMZ^(fY+n97gk;}U%d^SVW`HHK;I%^b+AITmDiF;-||(wS;G{7>!w`Kv0OU-l5z zHzz5-8{}Fs@EY8OsSnscv6!Ovlo{JmteZQ&{2z{ITr&M)*TRn{ zQ84gGY^HErt*cHv+x0hdsD29Xl-l0?4aY`w+XmDxyJ_3ON-lY2C5zQGPl~3S(--v% zs#hcO-aIYq@K-M}chcmWEHM+0zwe|ue;cw`^ zWGfvcXUCoHZpN$Od?*+lem=sN=Du6XmlJHN0rr{NjY1|KI|RBDiPB>pm|xqXicAW2 zENCHTnkol(019e-o?jWJ#7ufku^@0-`zhSIG0kKQzSeV{5DtKs`V5qHS4{@G@rQ}y zp*d=rw}%oen?=$+wNl`_izl2ADX$ou##-27q;1v#IGoAni`u8b;BaX*mrM@SQJmsR zRh$6WGprT`r>1C-zit?)K+B|GM|H4WEN=$UtCriYMtf8f z7kn=pJ7CY7;XMta!}A(6CC2yLxU_toy#=2uZ6)(tnXhlyj>>TuJGcUmmaJSOJKU<@ zR@e^f#2V3Ep6*Tw#>r?eI0Wd<|g-;>KZ`tX7Wbg$_+CM;Ie$_x<(lbx+8>3>- zddySxS%h*62<1E=sH1A3Nt`Z)PqDek8r1+B=3~Ix@3p@^+45G@P$w)c?3zT^S6e!b zu^Y*&GeME%6FV0-s1gnz&qCD;jmSU^_I#VxO`+`KY`b~zW}u3-Y|?Pi?F_~O0UP(2 z2=4(Yj`DbgbD7QTNI1}c`xf@_oA`r)p3GUyd9kFf?9pT z(=ydraB&g&)wUvE8q0yP7cy|T%K(B&|LugbC0iBxFoc_80R}R3n@+Up5Lip~1F?@lekumK%U1uh?-F($tW_^Fk3E zhtsoo>W4=8{=#ZW7NVJs5|C(_%M}S=vF{bHvSo-GUe^vbNtt~Ku>zvLVZT6~)ooTg zpJ<`(3f*Fa{3l^GAy_iiMHRPC0;uLroKVa?DcjO=^>;v~B*y=#nJ}YM7k#O|rlb6_ zIo!Tsjr>McR03tDlkM(sNzrwLQ7KkliEsK?H0o6yoyfCa{%p0)p9z*fLU6M*za~q6 z?7D+Jzg4XYx0A_rcaco7wMZe2QW@^0%BYyy&+Z8UF^VzR0a!{t_C;Z%4`LF%dN-4N zwORB*^FO3Z!BIGI=|X51m!Mi(x~U|OtznGp7vT|v5b`j2h1%e4-F9C&+=(#a$W&#? z%V!!PnYKcvQtzgWstYQ%M0v-ktI9@g_?`8j8GB^$Ayf%*|_I0>T7n zvZ%FglV_E@AEJmi^p3#TdIf`A#?~%9zF>Obeqa6&`vvu@=1oGI)QqtRn@E7n|4tq# zj{h>X$m`#ogP}$Wj>Jvhm13W#M1u9oul$n-@{ScA6f0}ZGL|F$*)ZlmvkyjcW>2@q zxvkpf`B4IJo9ywZA_L-XLyOIAN44gbvI}O-BD{~`c{J+6KJe7;L6JBuelMPWMDJx$ zm)K19(&9K)kx((=%|NZkNr4e-Eu?i7@m8nieeH7+k3b?xT)aVcdbFgh{rRe0;j6*U zs7@`%Lm&o^HmZOa_?B>Xn7|8_rjYO~QHE*l%@*zd__yk=uI@|guYIf#8TI4Ib@NtLgsQA zF!$}(r?_(|M_fAojDJ1z^SOk9Uvi~&y7-Hs-_CZ@xJW|+qg3wB8=F-sl*v9*rYM{R zZgdXsGV7^iL!*p zR~SqF>_bhj_yv=A47}3IB8+kYfUc2E-wR9b%?dfGP^LF`%)@JYCc=X@DpNiFDvB+v z=r+5Sw{B~_+-zY-I-evjFZ-f9xs-G+-D_k&Nrx=UI7op-j& z_oDE}?5s_9#jE(lHjnK{#ngm}Em`(&1#lhwoiTeiDHVQcA;1ER=N%XUtFQ)vj3|#* z|1@;Vb(lKgIDjrgmK3LaLQIQj_XZT`URKoFG9C9xqTR{h_se*tb|xC+h{*A182j$= zJ&kqa87E*o0oq2$-TVER(lK4IAIwJpMOfyRYjQOa0NcV@qRX+3KZpZ8dNvu_Q1NqW z`x(A~7VQpf16*jYiWh^j!t2ksHBPq=KR6?ew=_aL(YA(7L$B~tr(cb;A!fe8EanHpJ+|Q*AJ1IGayO2Kp9@!H+|LvXKHZ345~>$6xO4+kM0tixf!l z7I;sGm}PUAEt6imS&Bv8sJOE8k->-OpcX*X)ya5wN1(3c3}{MtU5ncg_T{5^ywp`E zqK+LY&A8!Q_cX`f5jywCEUKavnV>`FPe~-{j`k!K!f&~os){igx%@p5y>73YzSM(O zDf%3wE??0XW=E(dxeQ??f3>%C<;mjql4fAUi;eXoRKW4HSix6-)fayBc=u8PA;3;cE{CRpL}BKm+~rIANGzPOIY!nEc|!! ztS$`jxHhRir7Y6f%noG2co2>F12Y_>I~n_u3K;q4SB=dPCv#Z)2sA5$uf9nx;My)4 zj=2ytM9^fa!{?-=?QBpl;S4i*XocrQkhPnYmiH8_39#}xEhRP0o{;~KHFBFUFDkzw zjK>ZGwj1GJV-QD|yg*AFzrS_j;yaTO`AE3_S@nilKBK9qY8RyQ56#fQ?~kEG!bdF8 z*b?TG|CO(Qr<4zhM8Llq^wDd(V%4@3>d1c?{$yf;$U1_15CVpsVKCwyXUJGXoN~S% zB+&tP^bu+UI=>*?`QGm`^fyO7&hUtMZ(w{1sv;$X9B8`HSCZ^%KmcvYwIs74bKCk% zH~okOBr-HtWe6!%6GP|>S#^xI*3MEfLNr*fRhFf$eI9h|pOv?P8c1sEpT9%RG9UHV6!)Up8$@>OF;VDtzMDu4FjACn++ zdXg_&!uf#>?(T94%^BNLrM1~28|Tp6QckZzSKD>yz2o%ggmTo_K;zu`cCBr(N`Oy1 zSCO%v-!f|4B&CIG6*B$lEqBEWnE(sdnHRnjDBVu|-L7gDenPMKNd%%{`Dg|AzV zLT!l&{QuToi1l5~daK@^L)QpfoL=}mC~W=XRKuQ0gHzu5XbZl4vhV~H?`%7*s_6R= z*PUuwa;5{UVp^6ZquP)Sq~?87?)A$$2ZYg2maY(<$Njh^@qliLcO6U!>?tX)dNv!) zge*I!ikzrzO;FEmG$-kY?;ynCTC~U9q-ilmu%w~UyT04QKwHW1827;C=E4PMvaXOE z)W#2o6u~Y!57!n(-P1Go@M=50Kg(=yq<0mpgHuNCK?2ssqBvyB#CzkiBw%REAK}mu5%&ULziV{h z^62r%WmcI%;bSSNr(%5i4p~x(ZB5eFFOv`tzO6VT>-}|mI!1)yz_{?Vn)1}_l`;;Fp;a0xiUTy`Tn|JXA zF1UWKh501Eh?Sy`deQo&AZ)$hCU=PSzGu%LifP#qy!8w)e5Pyvib-ACBs8$-D%ssj zfSQh(wBKEj;AYzqU z0uXdfpg;&}2oS~Wl7(w5fa~Y%;Ur>4wn2U3R8QM%33K5^0y?>QY$~1d+MQDC=g;z| z95wG^6cAO2-9t|$qG9cvhYKW~)p-|DS5}nQ1kvL3-SN5x87PxFfGi{b6#^o=_ghiC zi6pym(OEj$9vVJ9?f}Xg4za&t1F~J@seK0s8q`L=(Nqz-5KTYaJJMoj zFMbERr~4%AxEu|S^)aHA+uP8=Z68};8@k#w=(Gc|%s41)SEB;ZnA@%rJ>vCf`>W7) zF)S+y$h7JRU4JU5qKL`f0iGxtgSsy=@sN_7Ib>7e5+8|9B5;V=HZhns@f*yMfHfDKi9lPgw{`hxnR? zI^h+oNQd^*st%lVR-{ZxVib6gZJ0rJJMTKspRjKWp5CTr(Y)kd3*$3tJdva6l|+wO z?T8`CWDOXRM*PV@GK*x^d(e3_&eFTk73Kr2oH>|_a;dFb6WJ^ELxiynJrUVs4QReQ zI|aK9sY-Qyz8V{i#G~vIk9+!MVDBzk37Cy`Q7^e%nW4Lhz-IqJMGv6Ks~_jrA{-7! zW9CT@+(!p>4a#(YGSNeWpiR8F)pIw) zh%U|YYIs~X`{e%KsWU^qJR-fbafiZA<(zHGHJj!_WQ*e>eOYhZc`EDNV(?PExjVtV z7E?BE4uhAkS-1DwG)fjg1sNvOKHSwIgSLl>4+`U{RFRSv;i*GViSYCF!V+sVOWz8G z5~0MGRIF=?1~x5UbZK9$D7Sf)4Q^rg)Qs%rm(-$Kydl9Q9s7kTWoW0zy#ynhsZ>8^ zELh1)Ghd)TF&}oj1_jfzCCXjQ_D5LCd5URAEh(R?FxInJr!__M-+ZCdlZm6%v?6^m)Y$*zAqX7!YQT^dR;0x>T=?Snu( zpqZ>LYnR$?jm)g&oQ4K{Co78BnT4i9U|!MXPfZa#LC?X<0GW{tWi8IEz^vr=dFvsP z_{h6x!@m{g=D0pLW`1#aeRZRdTq|I?YTaMn}`heTEQ70gImhv+t zAnL|8%!@i2pVDLIt(S{PIUTvY9q2OyZO%c`S5Y*_O)RINXDkJ;0zpfOuGJ6!M_j^B zVJ$M7>5x*H3K%|(PBVIR2LF13>tATk1y3PP%yfbNj`!eX5R}|Fcn#`ebJ>W4Zbx3_*^~`bU(G^P!MHq)cayksj z=D`b18YLf<^2_95f`_m?a%>p)r{lI&ANwi@9ROe4hffeQjA)9niAA$GF6&Dd-9B=D zQWVv^ao}(@NQ!8 z^a|JX|L$86?3hZ#nSTmqN$ZoOM+q)4%|Cp$BfYy43sptHU5r_i@9`e0x2@%&G+eI) z2^;ST?BbDrz7;wE`&H6zRh&SboQZTz;rOdu+t%(niZtAv8JVhf37u#ojI)O3FGrS^ zya`j3Ux?!Y2Lf3x4|;x79t_cjOn%Jch8JlNGqmOA7Z}86c!U-AfQR?V;}~3*!r~2< z&fo8;uqcGosSLFAbzjb|b`;8{4iC}sO*H?^%*1Do*y&f>(~sU8*mjI6o`rc)pJIr1 zc|Yxsl=tmj1zF`*vcrz!xAcF@2^;k9Su@Q!Jd@hbh{08i0f?}$HA<4!q?a5gB>iyC zgd%jSa1ql?l+r~R1w9eY+z-$%BtCQZ_KJrQ;#If`k+hV@sm79X@kLX-wpu4YZMM@u znckA0@5WgNxT0Tac=_F_&HECUnG}m4W5J=u`=dimUDEcq*mD_kaE)%#fEd=gq*q*? z)o69C)*6ON(Eg{rIl-qW`M6NL(7o&|@;V4&^@DeE?P;3K)(qdZGVqA_@>8zZn!bff zq1)kM7KZr>iY9CMDL#SYDnGOCYN2grQ!x^;1Fb-Xs*YAzG$k__Dd|BS(Gas-n_LRr zzc}7+BLmx-e5?x9wSQ6hls-Q8n{)ugEC#ln@eA#0d);GuDR2>bOyg;yh*jMze)^ya zr*5#=gGm$+^z&kUvrKSlds`v zX5@EE7Y&H7VF*uo?dV*Dc9GoMD}ov~+$v!7r>96&1?D~uZkaN_G~59w`K9%~l|PG`S> z&S9gQZ2hb%{>=1r0A_{dez{}=HK5L<^|--aNpHSDT3yb+5!l1?e8Rv4bEf;>djrBP z>gc?MOu=&C25}8eIiX?b=~pWTU&@!V%XJ1^E@}`n>@hNQ%$7A2Gt_7OJ)>^P zZi|9uQu-~#V3bbKB+6u_o~{W37(ay#vF;M1n{Ba4)BkX)=-19z5j=}w=}@Ts!H%57|lT9{?$G5 z{E{FuwJB2ldA={oBGL;oJJ50(XyUXe0STdc0d10(AM&ZCIty9d`qL;qwOX@$k3923 z=6S%H?SPY^mW_~rwl&0{WI(GNp|Apxjngpr8UklOF#XV6|fru=|SGC?tI`y2+wY}bciPRf_ zn5)y|0qoP*ja9W9O2?+Pb((DEoiwLh2HIArOvRq_NO{NYH&TcP8DNCsSalQ!s(VM+ zI14Ao06ad$c)3~qbQg@nNo97&GX%zu^tt{dz5sX&Q=_JKYmA+|R@c=B;w&mme@rKV zq3MJQX1ncldC&%BHYBUl4{>~TE=ZYoTVbklAuuDGEV#xy_M~ZFqm=p3DYd^vvy|f4 zNHi_Cr(P2rb~x~VoEee|?40;b1M^ukbAD+wA)MFE>%tl>j>>H^$Bh`1xwGfH`*iFHkTvj7NOE2vrC|7jSh$Mo5FI%4~cK(kI@MRoeOpq2q zeY}_O88nMK|7vhKJw{tQF}^$i?x$iX;LAemv^#VQa_9aB>}%DMTr8nONuSP#3&MTxjYB?5B7m_j6Q^^J#W*NOjMY578wox97wG-Hy7K_`F zZ4&CdD_*go30F;gswEHWdyakU-+!6|iRfs*D9x&1N}KM|dbrEptX*iK+^9W0@$DYY z=T3E?EsM{eOdFaG%6lw)PR0oI1cqI8L&?ygZg_jS809v}Yoiq)%9=6*wOXvB?Xd4m z*>^VHDX~w1x!0bRxNT+V3D`p{>2&(2)8ch4pq~j$^V|Ez)QCbvo3W2b5DklD(9~b5 z^U-=^>$#2uue;n`8d$Ovjde0o+^$r-Xznkih&*(GF4#Mr$A!? zM0fYs2shai`MZaki44GS%#f2=BgB5 z)2Rgqs`%Y;+*3MEs0{U|KBQn4C78@L+I>$~x=+M*AqNs|)N8V5oGNRWG$>#zWfx6* za7PY>tiNHNaE$C>Gg*S{@<5_Y)8Ifg2e8QY^pat%l&o*J7;{@|(g>CaQOMit&L6b~ z$DBfq=}R{9Ge05}S#I~VX2QlOrfkVm!+fXIF0S-`z=!t;qM@+{YD5|shBdBY-qR>N zwO@`Z(41`!+n8pY2+8RW`CCC6;K|V<<*S{l$j=N9$BOKA!cevWor4oe=82#Pw;}Eq z-uKR!Ja)@;Yu)z=q?PL&-@*wMI~W9Oq3@$zq?*Cwto51XR6and5GHey6DN}ga2M{f zfBr!0f+c!%h;PAXlI*%{^{fRi|Ir5$-RSKfyn5|GFWt|w(NL|oD@gZ?*aW$n=4T=B zfCoJB%7Oq&4H1tg6koch)|*4ZsoPd! zvy|e}XRJRK&KXk&v5?an{#C))Y*90hVr5rG7XGyM^69eoJ850G^oM4%0IF)Bh-Y`{ zoSMyF9k$^s+F7Uv`6LmpnaR|UwPk9{OA%aGzO%uAdK&_o)=S~=J{7wCk?aWH$n+`* z*;{Bg+Uzl=YT>4ZP5E7@R?A*}idu3&g6W=e5fSQ#ClF@e^<;1NQkgH|USDJJW#3`C z22WWyl*HRlyhxdJXf1E6d!y$}jPc`5pF7jwQ!l5yQbbWLb!V?#fF% z`b0`OSzVRYPhuA2t?SX~I0K&dgu3g6@aYmWgaZH8LPrm`hHiaMZ(5goG{Qn;0V~ zoa|<5^vGxEIQ$8S3$LffLv&g2M;>#PyVg%TU}{ZJHRu;(<7_IFS2mJKvH$cVU5(N) ze})TVm4cx`SYyB3;_3SZ7J=BlJzkIQ?aL2YFTg_1;IopVSg@>KO00vm>lc{0SFn0c zFrA3rh`aty0W&Z$GENXYO^WvV|Lvi{n3;LyY@rq_c^d|SN_NZa8xADFJ^qduyfq1a zK+PZOF_Rm`lWsu#CoRY$!roH?c8lp)AR=y{W~B@HD+RQEOM`aV(%Tl zMV~(ioj<2GC#9&`fD2(TMXUBvd5j^cC!6Z5Nd2MBr=$7I#j(_7u>;(ZsPN!zpQ{i0 z;$OYd`+j5+)mG`AA>|>4`RxGx9f`4}bTr!Nu&yFBq>hgSD^Yvf53HFsDIqhy$LZl{!qpRQG7J>nJpQQ2yruAF!`bh0d*xT+%@>m-vZq;ZG#>fe<|1fiJ__ z4>A0C7Fen&J^qybNu)2LeTfTtxShM%smpu{F9dH&A6v{8z8o^dLomy*ak5^U0uIh|5(>m%AyUxSFbGK87qM|P)neVa zGtx2zq_Zw`a6{-#5gu7L-Bud&=EZMHAEJdsz*G2}>w=hXk8^E1jg|Qb8CSgFV?6$b zcQVLjVjwidm%ipjk*V8-xwm2?iHB$D@?G~t`z-1c}aLhgULHggl&fX|5<93@K3WOFV5 zdS~_a<#im`eEO7gXS0=5)JTEH5(XctbO`7m+PHE49iQws zt$XsAc#?p%04qS$zYa$~BLnLQ=ato`FORj~KyD?ku)%@U)z>#x7mV6oJ5?sZceM;c zorecKDXEVebYASxEAdOH0Gtv;pQmx(RnS}Xz!0ozJ;IR}Wi!@-ygd%$OW(F6sjeYpI>Z(ZTt1tlnFft@_{x{uI55+`qK zr&L>y&T*7+y(Kr1hlmMjPKQ+Uvx)L-l2fNx?I^UyB{itka4mXwhcVT4pYpS_n;9*( zfaj58DHyg1JPwSaTr2lhpnu*$M5BLppX3EZRis?F&i+JV=c%Mz=N}=7wEplLN3Q5t zT}0fSZ>A@sQEX?BDyW)V8I5Qw(y#sT)4*@tL(-Q0@r9%?LM0#6BTKfIf7OPVuE6?8~t@{teo+F(t1)Ea7tucF4% z^RQ4}7cNv2^x~9!dQO|nqSQ_wqaMTpX}woALlFD1+-T3{Y-#dFFSM8k7sFj7z7yG{ zo{4lIgb#awLVk1wq`O52J+Cs0rw&CMD`A;=J}7!#k7=Md##+U zji7`1<{_IJgoFQ*a``0B_WQA}3+s_R5&1^N#6*AyYeDYEQDIbvdG6kojyAMN8SKu6 z_sa^234D9wExH82ZL}tAce582P5czmKKS?J6_N}(kl`UZ6bIbDo>@{~{lL`lKVA$< zX?03YYlRpnQneJ&z;yrDnP3rM0B4VFf-In1kgQ#?Ga)Ax`zJl0IUS8tZO+T+0#L!v zIW6XJWWh1FRO2tt6v$L9*dve8Fp(h0fi$05yKH|Iv}#0qb&08!P^LgxD!qy%T`nG7NIM6f0PRN>e3R} ztgC2pLivpvL`UpjlsT`C+bGv~HVlk)ET6Hd#EOA{e;Di(-s)J6P6A+fS~}XP^?<hI-Xh&k0~HYjD}c79q}RBbaKRJXUQsT9!`1N8vAH8S$wzGEmkNpCVWADP33-h%9NN)0T;BJ6nX_ z`5u5-g~`&W2`(1P73zNZl#goV{{lHd&>>%dI;ptf7grsrB2F}~X1RxhbF-buI62*!-8q@F$~xep;5NM3i4%6Wx?+T88r zF0nV|%R8}gd31UEb@kYKXBW}2lUVw+Qvi#o#RRp=!74Sg4sIyg)ubU>RbYAb*%Rhj z=XOt{yDZ-#^rKl_j617W4XVWv0-viZ(9!x@FU=YebHe*BD zAsG2~PRwwciee4qhZiasjAm&dYAHuivH zNgt|BOOH8FdzhCD0t;b$g-n98SFr(Q?JORtk}974Te@S5Uh+SyAC3yBOWX3tsnipN zO^Qe%56M7UJNVRkib0o?QSz?|`6J{|ubTJwT<0OnEc4(2HX*dV2>c9U`IXajDF32&T`sgNJfB1vC+_=)YUE>{j{GeH_=8e|a)HV21wyj~wa_DY8Eeb3c+} z#E}i-x2HfVez+FOd3Xn?2bPecor&Oe6^zy1NarR1-f`jvWm6dmp$^zIBfwiG9ixAj zb=G!27+}8hk#bZL+UzACawEmBui;~cR<8a1X-?3mK#LPI+co5rcV>fNUkbi<1)r?s zQ97OoIm=V^lA&uCCNUlx1`{p`B25~z7SxqfM^H9!FCcLN^`6GnL8Le`PEP^7K>~!C zxvqoLr%{srV7<&5@SDWDv9G^p9bO0IJ+ps&mWQNq z&({fs1{3U2gf;XoO#o<`^o5_@wCuR-y>W|;%&p$M{ukX%=E}s>-HG4AnEb`Ii$c8NhT zM$4b&0apjhFX}?TGU(=jCPrSG zjWco-K=s%d)1v0|X_^GU%~fJSzhCAKjG$@p;^88Y;f!KUb+dwM{PSiTCOn&TNb!r=fLmNDuR#hMG-Ge3?zlHAUBGEK!DA|`|l_&J15yojc|Y)7cP3wPRbs+Q?;vTgQ|WNN;HW+H*o-vRuxqWy0K?q zSvL2b9kp8xH)wWRxAy1tS@VInqNe-FED-6zKPl@Cplv0Uu9xqes;$lES3IF2!{r}; zWEg^=W*~jHL|}F7mfY?CD*Hk%Rg0Keiv<*9E)q=Lq)+?atWEkg^4)90;fgmRxMsYI z;0nL?eb}giLxb)Ziqg)a~RQ`YXUe@N}^QeZQ;Vk;yuO`mO~Ox`-% z3c0GywsU`cR>&J1UoNP4gIku8%Lht{|z25a5ky!c|%G0)bToU#7yg3QU%tR<+-y@5_as9wR}=UK|l^MRJYoI zkI->Yq(eiTu!(MB%q!{z-arHKwlNKTR=`sgkV#OO*GD4%PZ>KvCI?z^CxE#zjHQS~ z6bzevR=r^1Re=);R9!X5>{&VvTZMuQA3lni#I9u3`jTV}>OdXc%IJ%muNso`qll-^ z_zuo{-0#E&Enk;DT-;&*K1$Y_!&G#@E?)n6 zBuW_FEZ4y_c|PG3R&G3oyHTNM9#LfviyIL!_o7$=(q~Mb+xgL_IJZ$R#@(^luD^si zIZuCt<>f7AxIpAD)X4ZVOcgG0Hnntd0V>aO2{V+$X-(U65O^^s7(R_iQ}TvoCN{#? zn!mE4uw8tc^))%rS5aXkH(Y}{zot5rc5ht#5n*&Ajb3w!dVHdsnoip!s%H7#fESHt zR)Eu7X2s;dx1cPZHW?r92$3kg9|hux3z3WK6En7Wh0;IhN`HiTz53FQzIYy-0i*Ut ztmC)GBHaIx88~G#^QLHkOCqN3&UjBeOas_h4!iV!Yj41&mQFnxx~v3ZNdq-(kvOsF zkRXZh2}8E(*We1Uf-z?95brL_9U1z|F7l4^LrD!UtNdy59KRkM0~#P88L<&&H^{i| zYX+}3OL<#giQ6HI$Q0L!uK#(oJ8>QuS$HbfwBW?d%lwONNTY=IjCfbXk8ZsF=Zr9W zChqLuX$=<%E%yz~Z->|Pn73N|>BlHAa0Y+^lO2uy~#t&~US4)X5w zA6hCSCdHxD6*S_g7xJ3sX&MS1Yg)Jr_x5GJ@en}yA0}DaJKR{gNBnP6A-jzyS3cDs zJX}t7Jf_^uY@~0fWny~zQ!A$!NtMai*uD|;-_(Y%q}#8(B&w2Js5j%snH6=+l{@si z!UxuZV}p+uspbS0%U(mQSqyQr%}@g#V@NWXDwC*aTU&sb>XL0%Tzfg1*lltNfYe|b z0(d!hX#$w0I=n3CyqK+Fmvj|+pqvbZ^pK>UL^$cKjK)VMkg)Ab zA5di*Mo>X9O0o?$JradV&?^O|Xq`ZSbnZ1T{mx&IexEF;_cXDKJ=vUml$2^!f2-Om z*Jhz98x~*02UgM(Xpu>CF2!7Q!-m`Pn?(eH4bu4!VIXnDDoL#^*3qt-gD<7T6p5>| zgut@jd#t;bAE`>6Em9X6NQ?)uk;hu@cYr42(Fz0-Dvt?`TT=L2U^cZLWQ6_m9_dw@ zV7@@t?Tob-jL^_mTKmXCWW6Dob%P_=EkBAEQ)hoJY(U2xja)mbZDDvzz75w$zIUJ) z37C2mu?Z$kkPdCO-PBiy{`a2ZokwD}{>&cakOy+XGnM>1D_W zL<;y|!a;^$0`@%lNH&Kui0~^D!TC19jZ-q}^{<~}i7=rMv2yhVKFcZUM9~eTEF5Jr z1x?`88%|Dh%iIk;l|#gkb7@o=X$}lMUQ!*mDtJwU@agaSu6z1pkju-au`Z0| zu1HL{J;R>0tBg$0E7wVWZe-^ha{x+-p-vqe6UT$GGXPN}iYt2L*5S+FT_4z`f{r%I zmIvyL@Kz$WKt3bIAijf0?30*{)c!DeFUNwo5`twHA`!qXrfNb#;hR%vo(oFu3l5XIo#guC)ol*kk$^gE=dn<3Qe4cyO6mut7f-He=GSvW z9U}sM>~1&PBo>Y`O;_7l^I1DaKy6BR(36&vz(G_>2wzfx3zjXjZOX)wCFShy)7NI$ zQ`-&)lKWJ9pw{qT2cgn5Tx?h@6Q;z}m*nmCo8C3Ps=B%x29D8auOP5Y!tiR}1b871 zzp{2f&D%vf@^_FwZ{48Rfv8`l$MJ9SqE(}I z`S3T&3e|!;08=O{$9IvnAJLkS?|X_i+*n6N8=A@`gNM-T=X}zAqB1!5b3n>YjNxZA z<@otK)={WDyW z`FnQqWyu+)wbD*g2n|HQ7aFBH4ond?n`O*5M4+?s{q=RQ`k4Rq!oxUUg|+X{ulo_u zz3w0^PkrFye=Jl(a$V?9EY9#{sbo^#urF7Fj zlRW}good?jlv>RamwX>HEfJeZku-(XO&HHn3X+e^r`NI6h=%EyG3o416L{d$rJfOy zx4`A51bh-h1}+X!4!Ou%lZ2J1%EE1@c=uP41-Bwe(Xm#C%k644KTf8+<3DjWGd z2~a1F!C{2~0TfUz6I?|vvDgqz8J!2&WHlI96XyWp>p8y51GGql8|QqyFRxk5Oto)P zqc@Zr+zi=Atm3_=s>`5iUif5A)Y;89WW$+6Kk7k8m=s9+Q?5%|!CTR=Skc0HKVFTdp1#rsTbhvnczI3kM=Wd~-_F%3JN&id* zD>y)osk#tip|rW#8{ni4+`!j8IVfpxD*QNGpF7@!7d+snZa67e_6fJ@$}yFYUmgj< zT&)h`tn36J(Ilsvdlx>)S%wrCFZL|eDYP+7Zx^gH`2~7HrMP?}hQg4Me^0=>5v#iD zas+^5-*91%GBPMxw>gv8Jn086XC8sDO>WRfKd%B6=eZnQm2D23)A!~4KTkvJng$F9 z96w_|3jEbGi<{HqxS(c;^0XelciLpGzc8%VW-2py=HLp=*yaFny6AUNjf>o*WQzmm6DcZsnL zuNjr**TioOhmg2v5>kZ-UM&8^^HmZdQ5b1;haj3v0rH;^}-l$Nw8{uC)L5yxh>}_B+wb+aaV1 zJnOxeP0SY4{mvw^gA)rHIbjZsuHH!q_7|cnMMwRaz1OdzgCR8_7d@O33hZM{Gq-+ai#nW(i23;B*$#U5|5qMFn=phkT%J0kYoAv z^@zt5KK{3kGCKSlyiV#1__D4njzvB0KaYyVy-EDfz#kvCRN2c2)Uvh5aY7QwV$X~;)1uomRN@xR^??~1fF;lm&I+F$d%0lKhO{;gaH3{@_8PZo;FY2PvkNUyrcL0CKq zV}nj#1@tjcq7O^`=bP6B3CG-~Txwe-B9F~*pfSw@cta5gGW4Fp956g9RB9;PBbf>= zjDRMeB{SA{Cf7Ktz^NnwutH&V6B!uWd`XDMM3nrhA*lL2`l7xg`qAggUJ6c|oKd&qd(Ae-ls-U*by1XZ!4>nYu7_#?_rg$KXQ zG{23&f}q96pYJH`eWYKBCT;CwRQ6#QJ800rsxX4hQUUBXWgOntWY7K&GCOs$Y+L9f z{X(j^?4&Sbd6>nKX`Fshp4xG_>Z&4zC09NIeI|@64wN7fv*6Nz8_Dk9ADJy!Qexye z+K7Cbe}5uD0@lC6uyrfyHY1*1w@YV$9RJ{wtUaL~+;Q}kXgrBFqI7F93T!hCAa#64 zcBGa(3D$o|(ee&3mu_;s2Nm0@1_yV+MggEe7v5BXfL`U=jwkWM>-S^1r>>iufIY3gEhV9SSy?ti~nr1KrAj7nu7GPLXuAXI%?H4$0<}tz+v*hCO(e|Ls(EJlN(3^RcBe zd_2&KC|F;2)I2$qz5%CImthI**}lkcT4jqfA{DNCdAsmdMSyF?lLg8hbnUjR3Z0Rk z;y-62gbg9fNzD8*ZI(LWW!)HabFKgPcQO8z2zhvQ!+ILr<5v)v6W@8CfL0juF?dYK zo4Z2kaMfv8xqc=zBzMZ-pUc5wB~=Rv*n;s>QCRQ|G`IS^2jAX2L^A}ZtUXzEh4&n%Z%*RFHRaO%;0ZLKr^IaD>`(BLa9) z-xhxiI-yCdobfq*i$W_n=EoIFdG9?o&*!N%M_|_#Kn_H{qQ}7Af zLGAs52d&I08=A=_iD7*#M)sX^!Pq(zyp}kzT9N@?c?EjBK|?oU{Xy%3DpVrL&O0)P z3}9{$^jn@{pt!6EeEOh1<=@U#_U2Amo)4|^_Tu7*(z1lAmm@l{OzLu=^VC*P84CN! ztdrdG4H}4TX7ZQ3K3C$YO84~ThOxWwg`9&p1xqG{$4`8ep8gpE#dA1qb=LCLx8Af! zc$4qG+gTAp(<-%6@FNz9c|yv2yl$=GqPH9NhTvi#M;dn1oD=7=s4o%t&lQsw$8G|j z^6B1S>x0D8Uj^p29?rS!@>5s ze1JNtvH_22e9+yFAnLxHD1b8HxcHQu9yQEms~E@1!A2xDE-Ww@xIq;_`HN1BZe?D@ z%74PdkR~MA;KtEyk*#gzff44)DOIK?b%+f!(k~t`h(vgkN`8oC3)BAT6g+)@RJfPO z_mlVwI_TlpeP!9}nNFWlb;M%R)JQalaeKYYPA4o|NrQ8=@UyhSmXG$lr==ZAIDr}I z;w)W|(ejg&7-){kN3MYCK=N%mMm67TS5n--ygU_f-iKgHTPkRtS%afm8=Hl6(ya7| zwcz{1Q(VITD1E*!Z($|=II5+yx_(ty>eB2RP3bZ83Kz17L(92NrOkZsKEssskNU8i z<70~n-`pFgS+NYpZewhP&ZwyLTe7!#^R$(7iKFu#dpa$*A3%KIpABtA2uqQGo%(h< zakkf!H9Zi-PAt>|D+wZ~)rNJA#{@jO0auAaSji1&5Me|HtYz&m1s%NsUn9SD*~yK=%nF7~V~-vZZtZoOY5iua;^=mO&0JZ9}e>lk|Ay;Fd8KcaXKtE9zMOX?^o;oUKja`lWVxIt>ELsnfX2 zdMl6bUDVc)RGqSv!YR#4#qUj(#)Jb+PaWmr98kYPbQ&f7x+birKTKMGT3K36yAJe` z{A<10c`XZbVwJ2!4r|!>l0#!$lm9mdSd{`mBN8ke!ru(%VMANRqAKZ`@Fk8W5V2%+ z_`EZALS^5^b7>zX&C{jZb@ayaYppyxt38xv* zvu5vHDfOs7n5E$Ln0Y28O5?17qt8R_2jYk18U$Au(;SIe(i+>i^E)i;BZ%zva-q@x zYPidYpWr*ih=^c9jY1L1Val?Gl0#u=U&C7)-6*EVW4X>Wknfu5`lbZ(*!e?ca#|ikjqvTOgvA zf9Ub}uakWD7jfYTWJhGKA5i6g-bJU!1vk0HsZvJf}&U#QGf6G#HL z8_&e1@~3KO$^+|cX=G08HezDPl&P<~ZbGcC6BILNMXE7qj5eYZ(bl~ZCl_n>?703O z5wIZJws8s3`fv835!}|rm$pW`BLu%?AYBfy*r^3{(kyYCUcgL-ZecU5r|%ksxG+AZ z>lIrq`92?CBfsB}ekF=SkF?v97xU85Fl%IQnX7UfPmlO9UBZV<^n&#|zN1qcaMvHe zpDepr)YcwM;xEc)cl`Z2^71Udba|~jIwP;<~$AS0(_gpb~l$E7;o^%Fw~?hE#1 zxQF+H+)=f_VkRRT?9X8#RGoCHYs zr_)I4HZNF?4V`%~S7=rqKIeJ}x&pzhrt=K58A>_T^E6XLw)_Q1n9@}y*36GbN-BPq zK;GgihD;wN!cH^X2z%-{tf^I8Rj_!6Q*lE)GZ)06ke!+)ERn5dKNlQQ4ls9&z&tMz zZN5qyd0<;cAUCq{QAg0{z)BuJH?7`)EZkuUnZJ6l2!u4M?V!M`IS{c;EahyrYya7G zQW;;aiv|#P;5i_HO^clSS~*y=s4Oaf$$nMaR5?h~Ibw+eO`IsxP12=7*W@yM7#zBtUR7KVryJjEXh=T*Sq80&eY~K>ryFc zjO-(B>dWA1rq(_Yr7~Pv9tluX@rxKxJ2TTpCrmPP2eTa(uMIa_VtGYX$ z^W^au>;<23urE^e7yk^3Q=5iw>pr7Q`eS?}gwIxd3enQPT*+kNujd9r?=>#g zSJ?f8K9jl2G>m<#O;az!y&$uv_IPAAEP1ty zm^06%QY^6AY5@{Xf2^BdjRI6a2Y+1SCPv;JfMh@g+*O^OMag!wU8tlA^iz?x*)6EW z@LCEag~o%x;Ay<;8p^T)FT!R_Q-jwgir6h(bFVktWYiajy#G9AbrF#U`J40{H=ycl z^_-FEXvEeY0+8p-i+AkRbNTXEXX7UxBF{}VhU#hB>-xK$x1aOBF4&^qjLPrTQN4@b z-Dv0gJZ_|uLnupM+@(HC_NRa%<__yYs-f4;Q3UHH))O1J_HG}sKQ$xSY7oG<>T@gp#UQL9 zqwP{iB**4xclRBvDWnk_I+^lyc1ihN0uY|PHoOaGs!Y)Ml=#>JQE{AVL1~r_*jD+g z@^hd6X9z8nocK!#*}TtGw4sg`aeJ4cD93y0?Gc%3NAAUMY|I7!Tk*=nUbKBl4{H)@s)SSvaFPC&6~R z?8=NN;DYJCRKt?Oik18#%JjurveTlJ&S04nX^L>sqQGTm!u%gD%mL-3R^bj2n8CPe z!{EJjl-A=eC>m30630!ttDqT@sZl|y^Z5OxwBzsbuA30<(jx0p4SEU8WM-`ALv_G1 z5<3o_3gWXTN8-@79t?y=u+0}nzp;2f!6xdrGlTk7Fi5mULZ=qqctpj6xjO&HS6OoqfKY2xFsbFfV{yl=2(j()3OLg;fF{d6c4&QWJzoF)l#3(Rc*^8i;Q}2+ zn5_9{Nsp^}+0I}^`6Y4*{BYkNZ}Fa0k33g$Xr%aG{~w zsyA1UQ9PC?!)v?WYfrZ_+XlhT8$?L5L7Oa+LisIu2y&#e#XoWCh6gl{3tqr{){M;8 zf{*MuR%5^q8h~p-DWyje$kf20|K*& zd$xg|03NDA_|)u-B5fQ^DYjr`dOezdc;!JiXA%+soCC^puE@-|I#$ROd(Y=p8w5ykNjb1;3@Ckc*GSx2T~0h6rt|~g zWBPvpe`_Cy_9ElM>WmRG^sp+TxNIDiyaBoDdeUgRvuGND2fBcM!>fE;`qkAD*M%+z zF$Ot#U?V6YPv>M1)2D*nJ415;DX98_pqXROU9fZOYoD9W^1N^fP`zNNYQLRaM2=qC z&>%;C1Y#vLFF4rDnP;JXq%Q1plUcf8aHG{ls+_K*YV~n9&x8=C{ax7jGaQcO&Z8+uFzZ5N5*pGSq*H= zU;oEr<;jxCohKzqux}5AQqfS&ncd0Hk45lxhULf$s{j$9-p#wP!7`x$56^VSFh2Dd z3Ylnh89hb8!p<;eq! zwFD!NAy%f>6?_~?}=7IOHVyV<)q8 zI7G%n^w#|rP=ong5X#6n+KpT&NX3A*H; z_sMYz!Hfy!gMh+6ETt;F)rC07Qgedu2NAK0{S`8wHcT%AJ>R~<0M%H);@OO#4L$Va z1wd(5gN$>hfCB?pkh^8naYu0Gqn}fDv@{rfE$G*4i-qU`hRgL5s(FF|P!8-OhK`RexcVicQ`SEs-d5n(5njbdp0)=W~u#iA7 zkWn6aO_M7aXQ=~&g=(+%40+Vf@X9JP%V9A2EL|VSF*Y1~SVOVLl7D_3nT#yag!rR- znZSLXViLNC16Q?p%5hc(2tkU#A8qgv-C)*e2$Ex!Itdkb?;vl~-G}Rlgo`%f1(%#l zH~YaT`0bMd!OeW+ey-dFoDsICWAmy%h6^Ls_)XET0pJTJyPOB74gsONz ze0vyVM!=!|8KNo}>Jw_iL7{M(pnv|h_%j| zBQD9a_LVQ|Ox?L^w;-pzrQ-TDG@9dxNN;<=+CQ{cljV?@nY@unsb6rAX0s9!@F=%f zxjS`tltAV14_+MA1KZp!X_*X~Z{cP+%wTZJP;adfznBzz-&Mf{&>HJnoR$_l4>yS< z$?O9ykuIt(>_J2(?zgGlQ8#$W#C!@bg`lL0GMn)+-3PBTUM8r9?Iq-4@S+{&5p8n> zl#5}U=YjCzd(SEd)4I|X+fGs%dZhJ;YGGE~NPiiA=TO+_>c3zMlG+~b)Q!}cudt9Y zyhYz+2l_q;9rn@wX3lXS2nijCf>cWs+mH&qYwuRS|cG&*P7}gF;cTQ-?(;Bvm?D5 ztY)H~%TqwuBYtV5FhrN(X$vIJ7|Ol8YRwek!m`zeQ@Gr2?m4Ay7<2<)V2~9z@ZNTE zVPCbk)P@DPK0Y;C125th$35$wfKnyI&|XlOlblM?v=)PJL~F60&Ctc%<5eAA{c8KL zgP}H^D77z6ddvs5xA_k(;{||P7jJD>9I^EfImNx~Na&uh51yK!&h{1O6%Ro;*xTE- z#Um9F)yvcJB3K!k_^-sqE+2W-x1!uEbYKG7Om!%DfApnOH!K~_VJi3mx_=U;Ekm?6 zTv^0Vef2n5XI#)}?CS+(YFj;OokKusx8Cm>vkx>2=Atzg*VWDbP!~K=wGSPSmEf6< zf2`Xb7gxjRXpP^Td0=!xfZ#>Q#Uy073bCMyV#oNYgdd4jRmJ+AI6rmbK zH-7nr8y<5+kLK&GC+?{=j0Mld7xj)Bo(P$2j>_6iIuT{nb33a1S-0*-aL4?o_k$On zbs{vQlyzpvGPIhSwta+1pc>f-Wdpyrd82~AtzU>fyVZwfA7S+#DdxcOQOiIm%0p@~ zTGB>EXbq!BSD^{-5|-~L=+!Q@o9MP1vjTs+7(c^5;4Eu6W{SrJoKJ!GqVCkQm)QB& zuS4SCg(@pcvz1Qzp&Az2nxt04C3D)Jl4PFG({nz`jef2NZ%iv5!_9FjLZdHnE#kOG znH2jk3xTynM6Ko5ULk>67;a~LZ*Z2DZqS}aM$A=Np*zg)G|Pe6laAI#O0~kDDVxWy z-vuNG%cx7C4(pY}O;kg zh8ukD4!B9(djJR)s4ksCtkUBdXBg$pTTW4?y`d@T%qP76Vk6bl$%Ha|&#pHd9ev~o z#D@hb8KS77!>81;5_NdolQ^PA;p_2Wy&Fx%VeZvt5@i|X_1=ma*2FswOJo5z`DS@BD4T96ajoON(1wbg0ABw`Dr7Mho zllqWeaW$q3-^HL@a>K>VzC3|yv@u%nFXARI$xVB*^YLh+Mb~2J64QZ_KnU%4R;rU9 z*9aWl&&eM?t96y9O*oD@VB;hB=`^e@A6GL8eXJ;o70XqlC&m?*@~*+A%2;gcYhciY zjcjB?HTY@Nj^Yjm*QO@Uj+jZd9!Feav;YMwPLyE@6QmERVrPde_Z}ss0YU8ppP6^HdbuAPJq|{H2NqIFuDpr zTS$5Auzh!1W{Lpnemy^Cn1BMh3L|XFGu!E&4T@*O0>H%X0fK_#&`ZLVq)~8>?+Lq- zdF{x6vVEs`M}&q$^PD8_nDmLcj#2e7I#U*yxMMKQq#gpil=ygb*Q zuE2MH57gVUlO&MkOjA5@GCa(fCwvD8F)t8gU=e|Fj8%tj$ z{bmhmkl1%9ofX#wN_nO0?$QdWBp;dIAD22FJ?&;o-qV^ycD)70;pc>p_nFbZVXF9q zt3wL*ndKBfzpYXMOxL0ECxSD`J+g*e8Jm|0wH;GckBd&!0I;`8$rOwb?|TZl%CBhj zSbxN{*9cyZk~0Kk`+vbw z8T5r%cfq2xhhm2AZ9SAK$Uu&AiE0R31&tl&Nm5{^t$h_Dta74x^7ueYw?6jPOdQBx z^O`Kw^tQdR?P4<^YR!{mwd13A@E4)-U|=*Z41uGmhmJ+73amLP#TZuUcWY(mJsghs zr$!O25vw`go;Zua*Wd3&--{onO->LW}-LJjyrawz2j;tbq#%isEuNgQEC zv6C%|B(kc|WCFyU=k&gMD&8jzNI?pN%S~o6!l&JO6lt*Y6Km_mRKeX-zl6&j;@0Nm ziXeFqm7Zr#0v^?UN(3a!^O7PPVrGG>@kEI8K^6$m(lL_Z(AwuQFbS|1{B3Vr>#w$& zHT#$BrM+9j@ThhdMg6g2 ztx84G;Q?yBOM4CA{9eqnoO;4AMp6BMnb$GX3wEuLfmM&L9ojTuS8ntAP=E^vV$9jZ z{M}Eitwn%~EkQh(#_B3oK&P?9B(A=7%g2ibaSL1ji|lIqT6QD} z!PS*fR2Cuou`+c`6G*)hBq|p}6B|h3=hv?w6V!LhO2`o8lxyFMqJA_WUJQM#$MCv+ z{FgBimIq@tJ0L!8aUztMuW-!Gx|G<7FM?+aTOnKiQwM!mL4FZ=|Chl)hu<^c@fZZwxN@FRMQi(zGfnvjlxE!^KWI+&QQ#LGI#t3+H$7gPjyz|D^ zJ-6yvBlD~I;U6-E7%Vv>Wet1ses*Z>edHb!d)<}AVR;#E`yu{nPM41%EH+1T1$;zV z0LA#pN?9V>uBrSeXV$iQGIJ!Nr;N0v$mgOQ+lg=5b$pM{*wA7ue&A)u_SdSz?{bA{ zlLv`e7RIvXjz8qR1tgTn%uvNs6A3qNw}RV}TcnAHx(@Y(J6qtH$D@l%*FSP_QQTB0RmjZN(zW%TC_ZGsL;m%7QGX z{2Lho%u~97Xl~dW0j@p2*%xa$o^_5^_MosxTmLLeDNALE^_90fA&agOt@n1-P>7RD z$kozYZl8d14OZDD^xwl6N|n7HqK*=w&mU4n`l15J@^+Ig!bp)BiIE+BhG3m_b6T=+ z6#r|I4==b@{_G)m!(q1)8zV~vcevl02Uc2X7wmv~o@XGd6fTcZh3-}&XA5uRrsic*6*{VY7g{RTk5ZxR;RAw24v-%_#2!ydv^ydR9!n zo7+Zl-9)-a0V0C|*~>CHqgn!umG=+-xmm)T`-qTSf#~E)I&)d%x<)ODntRDfFKmA!DD$fHv-^$Hq2*n z^z#p6o5*q702)B$zn#Xd#7NSl&ziw!7FHYX09PIkWF-cr@y3i8&DX8}eA}!Z1kzfV zP7ak{&_WOIY1~mfjFkWAp+#M~sQeO4AWtj8GwC%)g)u?^LkboGpq!;b zE={-ARCcc6r)6tRwtbVm?2MCpxLD$`>U)OWVR71jndqzDcwpIYj4Ov zI$1_jqK4C}*JkujA3meo>%y14N9D$(b?_-R)zQBK3AWU=RojD*OrUxhso(t(dwedZ zg+7bx4G-@k#q-m*CbiQHhib%2d~# zNqEHo*y>d1r7pxDsBUdDhRM2Yw(WKR;^;<-kUMv|0WkVSS#GT;0n6PAN?{27Q{?Ar zEHkT1J1mHs-^FkXR9GSR*FRyH3ZaO5nTtR&9z%&qLfHU(CH`P00U1gC3Yb9sn1uME zhgr{B-V~fVu#KqjKnMEyXa?96JYkCV>X%_Zjar$UL3Y|z z--1P@c~>7#7Vb+oSalE@T%sI(;z-Ejt|*;DE(sU8Tnnmv<~Rcoj9iet$`(RDxG<8x zE-b}qiHoKL`R$~zjB3hCdDzuZgtKo&gl4DXv=?lD_?5@_!B+) z16X)&eX(F3a0vo;>PmFOT`OLmMoPJ<4SLstEMBDZls7ABO!{1?T&4`Z>C`r3OMt=sT`RduZMNc=Z0LQK^9 zJcaD1l%-ZhXkFD8LLK5n`*N(%*^yq$`!t})_oQHv!57jQ&poxWdKTG$s0Q9Hs4G6- zUG9!(pV$Dr-l#372%-_dttnTTVvyH3V=i9He6X#TDYL{f{F7kvKYhZb+sv|pc#_0m z=5*R7yS(ayKB)oUgb9d|*$T%}Vos;=06n}(cAtWA&uZr~`q&D-xV=N3xEN#Y|L8r$ zjzMMhKb|-I@p&6EsLWXWi>z*+mQ2wSvoHp#~f;#ofCAf+nHK~xr zTPKOd*nVF5X@y${Z7+M0NnPf#4EDI7PdWs)U{e{FpDhEcCx}(gu}mgPwj5dl)GZ_M zb6LjGsBfblTF!7kqcX+(c+K53jhdU$bMDLg15m4s0E(%^_yBJ|Ye5|&Fx=Ii6Lo!% z!xzAW?95i>plgP2`?Bfd2b6IC-PEY94bwe)K&QS-9BiLUXy1e=aVfojtoRI-oYb#J z_OY5o1i%G(M~f!SU_n3+F;3hpKQC6MT7{fJfoL-T0R4MU+eJrY?(r8df;7;>?iNz6OL=1lr%#84NR%;`*fZV z+e0PXk0IC{1YDk`5_r2qqs9sF7&wGU=yME0iY8|mmYRl$CyNO_gEs|`{JqS-Hh0sMVB&M-HuQ+`+nWEK$sV`d4$qM!}!4D^N8>AG{BQ*@^A*k_eTv%)T3Q$ zgQ#A9N{}wL;z8+E*(E3)H8#fwT3GBjF6=}xdZLgQ(Z zMfmEV$fkZ#wIY8nx^t+P68WwGssDa2fse+jREoH6d-x0F4xB;~P0KJ2K7YKqn5g2Z z;KKT6(yTq(0=R_)!~az6NcR}r2}iBWXxStkl`+GMul`J3EboKfddTV#=C#kEzTSuz zvOE4yfU0OM(LY&?UEBS4Rsf%z1mkc0t;2)qw|W~Z5K<|D&KVI<6L_taG=P*J8it(w z=rNr!-O+fieezg<>oPb=nop+fB!tF~dKQ_yJ}Q6ZZQ1)1L58>1R&U6D3xhI_D|D}J z%?zwyc*K>pi<448+yoK~po>RJiy85bIPM@i%CEFK)VOH!cC!z3$!Q(;ec5P*!G|#O zV;5Z(IT{HxzbHPr0WSe7yb6zCz*gq(n1P4nZ6kZQD3X+b*Rl0vQV7&j9vXl3k@B74 zHvqR0btCtZYzHrZAh8@W+F0$f%Xj~9@gVCrKa;{=_z#ywT1Yz$t;g^l=$X-gGKYc&3#1@E_@zHji52p-5;vLL7s2(bN{7-W_ovs zD(?~l5qk6x5J_iXXR1i)glG-iC0Ga8zAxil8kTp1M1j2QsJs^UcE;Q`N8=PD18sf| z0&CS;ab;2I_;zsBnWFY#+-fo}DV~J0b#ol&A=Lyx9{yqBR!H^`M?dN2@%ze3^R3Y! z@posvIDzP%rAeq-!#Xt9GlAN;Q5+Jyv8<<~+T$(FV1No)m7B#t)-pGT zYk86>u5qGLZ@f~?n6Poc4XU=6)};bIfD7i6z{+JCTC4l>LEzpB0NaC(SZ8FUEAatb znIeE#*Y}N^?y{u7fHtT@ zi<%=9hl}E3N1ge5A>RlTPO`kOliQeBA=dSiyKP647K)>+g-U)4)>62oc4paa+&G%b zC4Hwz{6?dWy^d^<+7F=xeOqE2Zzor3IO_B#h^PCT)doV-Myj@$(7&LfpVB7?x8@f6 z+r;3st&-xa7^mk7>z?sp#;G@(Iw)!}EPFhidK4oP;?P=ZABQSnRN`m5T}tGlx~-39Sw*DOQ001XTw`D7$L^H? zkD;2+#96E?GQ^EzK)Zx37}BKQ2rW?JD3$+XKFU2y-W&6B)-~r3$vK8}84=?63Iq2v zC5AF`+f_7TYs1qI22NoTFm^EoY0y|Z4OX$Pc>yFjZ<;3vyv>A67k^zdO<`^qo5hp% zTd|5FjbHsf}vpCV!iO z4B>M-TFHd)#4NmIR`f6ISyC2jdR7>KDZR=5Knii4<=77Iv2L7|5|op&?WMAyi01p^ zs22ZP_C{O0r|W}5Tr$3+N0V|skg1}Y_d&H2y0Ll9xocfSi*fNM+0jlmg7#uEyMo>w34X*AbX!j1>2fPZkV??479&Xlp?DpV%TSvVkOstFhv+1elrMS zx4sCw;okrN$V#NASwr?YOtTCF2743_y$F?3-6!}bsvAc9C+;&#Hw0YG1NP18o1MmU z;B3E>p#!M{1Oj({C>z~%2y9maqYG{$TH-e$nY|oNxuM?pC1Bf`ylRb4cji=#OaXNd zQifs^C9pikj69b7S;2fIkwmk6%?Cq*;G;9Ex>l4|jh?{+E(heny+OR?h;^O z`F}16vN)4$6t;5&<+5;ihZ>VX)?-MgR3fVEgw_GalL(0vJ(qUL?@cr;DYf%MCoyA; zz(>6AjywYKPvnOxi@34*cq#pM8Z<x@ z-IOchJlFHVf0b`Qn^H)^Gj>;K4!qO8K zgtQ6;3rY?3n!{|e5|6Duyx<6eFam5rcIv}RY!P?!XM;7u9WwE4!;vZla$aw4&%YuP z>ydocX#LSn-b@uNeEgvQ^Aj!_kFzS#r|&H6INiWi&FpCuqIl(f2%NL13rN!g3Tf1<(UB&V zu4J()j4)eD9P{@EcyJ9@2ZG)Yps}M5@&gvTBNQ{Mw`oA5v;qsp11@t08l)-T*v_~` zuxP{E3QCS;=7Pb1!=`AFziB=D|7$9hQC13D5GJr=NysV_8|OxnWCK=wn!_>L_KbQ_ z*it2#XRbCecQMRSvH4#i?SV!p{l0zMB^qtXYT$Qc6Zx1%%_?nU{de$zn<)*epeGdGJZN?e|Ko zYpmQN#I5zkM;`SH;zH$Ui%k5&-g0Op2t-S^<2(cHVwSG|Fk$VQl-KFinCg^gY9BHd z0-qOi1&p%A>XFJrTfGQ|-jTLFv{%L>0k#${E`;(4jN9AAI&X%|NFFE_9Le#Y6=T*I zZ%35eXV3B{pCU$r!%aGZZI;loMhv9RZ)0*YAOF{pjZa+a5L~dhgrYTS@gBYsXQ-HA zEQ80>8Z(h6LXJTa)fOc*MTXf+r>n=OTy^i>@J{5wLaG;y<=|Lm$2gh-5JmT*O?C7~ z&gKOoOnX#J&@jHY&#E3}niJ30_9Se{27}rha!`pB!us~Z3s`l<&h;%W9jj!)|8xCg z7JEL=e|gu6`amEWOOT^;;4|8?vqd@$a@24N-l^*Fab%f$L(lcpE^I=;Fi;X05;P2X zN6PCw7fs5k{al`BO$Y=x87w{HR{eHxJK;^6>V=YoQYlKLR6qIzBsC(j^N$B>%Q&^2 zx*A22GVEOCuuJqgoDE+qaMFl{9ov1hs~{?UADn0Fq3kw{-WWyQtg*WS>>M$=wJrUV zulToGyyN!P-T+&+RhrSq2M!WyCERXC4F1SEX?fw5p)uKtZ~^k(&h-0hp3 zYq<>#1!3?HKRF$!RhM7`6DxdZ^^b6DjUV}CB@0*~rmI!hxDte3E9J+XmTnY7J?we7 zI4xaM(q9P8FeGO7Gvo)Ro@Z-ydglj(HkmfBhjc;ClL$-`6-b&q6P-$dN@fYe* zXl?Fq&ot`F60+C?n8fw=CN0IK04`T?QCG^4%$yLrl&kV5S$$Nu#4EdS76c3}4BVHL z1*TI-W=3mZKA`#;CiN4?Y;Oe;aQfX|O;#+6ylM*HHr!f3S>8~mjY~1n=ki)OPBMf+ z+{Z?@hU43K0DvZL+x7Fo@yLKn0>nH`pG(eQN9|dz(K-KN3DTrop2qYkJRGMp^{fLn zY9p~wxt7WfZF9!w0MU*miEpm+WME-~Uxe!}l96R%!)qUTj_z+9R z!nTf`n@y?m?xOxH)^jfVhdGqo>O~W|hYk|zsLI4E7pG^io zTH-N43-r!36=(lFUYvE`uS4!_UU2)tD)9#}X5f{+T6D>c<{T=VXwRmu;GNfpQj3IM zY@KV6X*4~OHJa-w(%c~3`q&Pu29|F64&1`fQvBXV*zu-0SE?C9RHl#Vi@`n?kWK^1 zwq;-nFn+-zc0U6P>ytJny!@gp3n~d`P0TDJ@TQPnLF9tQj;>kdhy44O>a3%^VAA0= zqEF%q-=*>AVhKLdaJt?WZ;}*&PTJ4VAY*fA3ewz1U_7BY3-gsvE}xW*36Ol_9a4E; zkb;Jw)Zs9Wgr}WIjvCHhmtG-3n~xgz)D2=2-WL$%7@R2XO-*5zl=mzmbP)02Opu(U z@&Z_Ro7$R?`w3!vt_|&B%UllyifLw7Q;@Xv64aY zn5xkIh~_(+QR9GOeh(gCI07CGXcAO@93kV|EV};_9bNa%MHX_TFjV-AL;1CrpRRh| zNqGghhmnFYjd4=ASStz`+yB3+SuBCb5(XuNAxTJ@rLB;pAG$S-8{WW36TK6{kjSbP zk`W;OGF|nNhI@`H#npYOt3?CXA1c!;6uKF-t(v<{q^#c->?o}zmF`w}@fuYw_1X3J z;d~RyB+Dh%d7OK?SER-Gh>X^!7e}XQaHOA|!yggWsr?6w3Yb0+KKF6Na-rIdPP6xc z)iH|ZjGE(J-oIg5ztlI^kjQLGLeeJGzfC8*g~gZ}lu`xPizKSn4q)wUYAY)jd;_;^ z&sHE%1WmJRcj-aeA5tSEwrqNE8mhbX^e1ewm-8rIE2`fA#Jz_jw0dW@PX?P$7~;4n2DmJroOKl9WiZ(T1ue?Hg*Pamf8)9#q?a)-Z$-xdz2Tjg&XjW4j8< zchdl8Swg&8N=-d9=`N-m4`x8a_f)}}q6g1Hc~QVaH5{Y@`~ijS%opwX9SNyU!feez z5l{GnLlfDS9)0qN(FvT~AAwB8zt0qy0}yS0x#=@m0lI<7jypx`ul|`06yKO_ykrFF5QI#ci(g1Y`B&7^mq21w2)Mj_a(ER@zFjMPU62 zEf~Zptu)sBRuty@4H%}Nu(FCC{lCsnuNS)R>0%`Y*e*D#l|OXnNGA68lNS27F7lsT z&Z_EROvntw14ig^dZW<(LpG0^BEhXda!Kwn#U&h|%T@-jbr#8*S+hzH^FHx@avSaVdD(wNhX*y-1C~6NO&*t}rcHTJhBBVFPd9WQ$~1wIY>LMUt@t*IH9J922Yj> z#EZll2%aZjE{uX8v+3!y-|c}pr^|+U zH@T)ZZa4W2vrJTTT>om_TaZ(h9mI>YvVA;CEsen6PRwB+UTI{}TYX0fRpv&Y7*ZtP z3z{c_SW;!)O`bkk14b$%Jq@)bl0U~Z&x$FFmkvdEOt&pnGt1w)(!a>@oll0U($4bm zqPkvOk&_#VAMHQKsKuldi4inNgqmcJW)A-x=20aa(G`>FWU3{B`4^Zr=V_Ivqf6`V zE7u(xq^um`K|xiJXnF2K5O+;mZnN7g&`k&R$)b%Gjvn}ZpiyOFt3-=5t_}FpU7?-- z#OjR^EExjmLO!7;lg4?fN+X6VV-2L*qD1!*!2mSVpgjt7kc6@lBmG z%OxhPYiBnw`L5JPHOFH|T?e#VQQ|lH`a(#Qx*x|~!;Jue=!g_nE zc0AkP9JgnKnndQ&hcht@vQ2UR{Xgl_;H1R+Z6vP;7r8RFs|b1-4>WT$M;_Kz3(N><)7ez zUb#boBU;PoGn@Xg?_=~R!+#c@2=pdlDU*Qg1<#*amCWKH&$y8M%3d2OBKV=zo<+FT z5Zr5)eZYWMel-1+=F#fMrPWtV?Y^O+lNj>Yx044(r&u<70iCaR7^i_Vf)lN|T&{!(qvJp{slKxCys+ z&Nd>WMIXWT`Z@%(Y#9S0AwLK9MKVkbmC^-Td+4DidIC*$&40SdOXeU1j(mf!R24O0 zB`TbGH!L*|ju_c1XG}jd*O|ksu$g5Uq(T)%t-LO)tZ+aoP+}7OIl$-aUAqCptCeH~ z@B7@@_Lf0R^4B=?#Pk(?zw(Y1^%%bt)d>>r|d$%v)&1_1OQ zb{eNfgQ*hv(bkW<9&djAZGwqTV=FDp@v3#+Gq?#Qm>g)YM0s*%2|D$PZ55bHZ-7C~ zt+f~{DZA9s@PB?V`X+a`Qlh;6c7tg|0T6r}hnL)9!2z0d>Zx|0Xm6$1uL#ksW0+!k zyn_7TFMddKOYQix;c5jwXQDepo@MwtbNw;WBfhmOqu#bgKZk|7fh(P;R2bv%X-q7o z+KK?b4y~RL+&w>f^FW_oc~ZJp^7zv!WHP(-xKB{7WCcXeN5LRY)I5mIb5Fn#BnWS` zX8ofcSKt=098|DGga1s^=i$F}Rpb_p?6e?7iqI`MrQ#HCc1(MZT?0~3fuNx=x3q+7 zrCf6(Cl<%!@zZ)sc1|w@37c~ELIXg%qz}qdeB*W*49zF?=^nn+qB-GJqUrm^SoniZ zmHmQiHFZy)0TrER)L*!5{d5feb{`KuGmY7-`lbd+4SO=u?R?O8r@w z*ixe+I%o63?bcH2=*SF2fK#`li3e~wzQbq=W6hwTC?fCyQ43Dq6!A?BLUQCfDz$Oh zyZZfJ=yk%eQC#ZWA3vH0FPJZ-!%=YSnAc~FA$#&T+za_gifg*9yK3@ z)RD=7Ea&vWXMU0Zs{Vd7TRjK~&Q-0AA^IjQWD2F={bpODO94G3iZ%$s_g{jwG@}EG z?GH85yyzGlN_O55C(VHh%{->f$N)j11RC^9>a&z82^*4%V0}7NWAwh zz?JAJrKY**47}C8R>wI$4>5c>7H$mi{?)pHwXS)lV~k>-mEHVpo4>n3E)~W!SK9qJ zjJ7*Z8_(GL%;IzP!IJJFq5!$V_nTDf)jAJ0y=WD;!TzW-==iRV)PZe-qEM5V5;u8J z==rFkl3ksu3V_L<{%_m`FZDws7qaiT&TU!hF08|UHi5uTtfuz)2FxSYi!oj+wsD}N z+n$2_43bCyK7=2)sM@33Y(AundGsnpuxqvtMiR^PX>6^xCTD5Fis}_$2d!Bw8ci?C zE1>4owMK0hrhv`>2}Su);*-M|Sp+WP8=>ng{`wsn2UYUr69O7da zM*(9ys-{dj!D}6+9;}nu3z_epaf$gY_>x6ka8|Vya34PdJTLH(>`^fl%d|>J{`n;O zW{Xn<$1hWTDclkAVkPZEuwDnC26w187XB-&1D;wjeNh>zE->sHREoP{uQSpiogOUzgf8(Aa7sOq z{jek1c#HCkLC3Zdb0h*s$BFH9wwzmk-j9A>r#zg|CUp`~LY0|A6pBP?P>j;Wii!@ZPbjo_=9>5*(`OTgw!cStaSk2niP7>@ z&#AG3Kds_&C{&;NlQf2+3d{qOIeLnX-4$d*E(ji< zzo(3}rNa#M+j|eBw2yl8%CIlXo?^);LWF?#LwfM+(a2=HAKz1r4K^#P1)WZO zBF|d3m`1M8P*W>jwD5V> z#tUs}{?h^xg%37Sl^UKupLSkt1VKMssX5A zBtI%^kdvPChD!IeAsy6Rr%FmeZ0h4r^M2+;SIgNS>F7n(86|`_?0ic@AQg}9>*<+z;DeX!8TVT zBPn_ipeAMKku}l}4jV&`S1pTua$}LX7Ohd-$ciIuMAkr39^-ZmHH~W`sAYof9_eUVbXGUA_6G*5pRy|S4-HPh4g4s*LM+kumMQMlYx&b^ zBCuNt-tuajG99;sKHC`C8}k6odSyjzhqWh;6o-!k^K6t8qx?fEFeRYQRKn=h;%^z% zWSq3!1L4AAsF4+XVUo~O25c(R9G`Be`8q~sDXBUK5zlm+(pAPgaY61sG|CvUPimwA zzcwoQcWb-!x=CtF$RrC9ytq36wY{OTG`n*Z#UMKw;*i^`6nxI-TlTVv(8B|ziLxr0 zy)CvsC=Tgov9xxCOI3-b8I=g9)mRv*a@FL)0PULX(Ym!w+G>K2TTb1o!!A6}&fxHz z@EE6*_JTCb>kgCVIE*Jl5O_y*3m5tG5ySlvdV&rwbKYbyr15<&5WpR4Jj#@dli)uA z2{uv4|GU#uW~S=KC{bBv!%Id^H>p8oBb3ce zdZR_VI!)8HooMtskU^9f03fXOKOMl&sy3~tiJzf-Hd$+Sf(G?uRQwKUlbCJsM%44_ z`W!JbWL_#uNMTx5npgKf;;f`e21e$c+Fv#4V1UsvxjgxJv*QV0l(?+ICS@Zs2)wZ zfILJdgOyPCXcUHnfz?~|oPe)CC)NsDmx(2*3Q?@NDm+3kRYt}H{3+DzNp_DE1?8R< zxaoBy5{TA`iE5WrL@=dGI0s24k$kHEQ<9VfK@oRv{vxxuav2f`Z<3bsl)rXfasXq+ z?z9i2=1}k|7_LGzKc`E4e&gZ|0`M~XCUxsZSWf-4qLpyL0inlPPtYCK6q+^*dWH^FubADMWhy4cd05^RHhx~g4nwV??7 zlc-B<-8zRPvjl`)v^#Jf9y29tHZH5W>vI04ww@8^#61#%SDf%YYS|lBls$`dF3SVn zxEYu0d0%Y0X3oDNMI$Ke5_=#(qG`fjhDOehGRX5PVHIFI{I%PgnC!fwH zUnKa%cSn#qn47KFB?xHXo*v+Z#j1i7|A&Wd{I|WfnzD;f2mUV!CICy5H4>mTtkxO8 zXvqu32phWvn7$z?ZN2NWPtV0Q-YnR_E}xK~wcMjdXBAI|AIReaLEC`mo$4Xim*CkZ zg~VJ)S=PadfZK)v3bob13N{5!KsIDp_2V?6Ct34D=5yc@{@}V?)_Kd=n9(KNk`64; z-S|}GJWwqDMq`}z$lq!PW#j{Ve_naATa(B@fB0Q+UrE{XIoJ}?J|8>YyHa5RHc-+N- z)O0(ZK_rLn^kEUmJ4{MzsY32FbFPLJ8X_=4N~fYN15s_Y_7;DdGT-bq|KRRs3MDGd z!)`P^1U*)5^DT|>DTUQ(6b+{NnIXUV{sSWI2zFq%V2BnAJFmDTIv0(#k30J#VzUMD zb4(I^0ABFu=~@_C5~DO{37_80=?$x4ewk=VsjZ`H28(Vb&6!_6_WRo&p=Xpjv^7!E z#JjbI&v8IVooCH~3EL(TlcY!c#)P6u}g`1d}n!8>S5$-g7LPWiWd*5A;=S)GN zv=pGJbd5ma#P&OkEW-olM>eEeBri$#>qP<{#1+JS^xCpONk5u}xpBi0Mt9~yCB}M1 z9uPE%HeSzkj9v*;f&T888#!1&tTDHeu73^>^2a`<`j3Yuqft!x2F?}`p{Cp!vL=H0 zi{0{Y(o%;nW)~p_wswV^`iz!Z+e7dq^a|MDP0cUqH zG{&yey(I8APIEQ{MyqTGkQ;U+$oz4WpiDbSgW5H-c%4V8NJ%B6<0R2102X3|1ONlU zB~L!r&(V7xM#sYijyuW*h?FhaU1#{{ACPMVu7dtn+1sL+#ym=elvk>aK1n{#!z+(K zgyXU=?LZOlS4VEkEypB2PBgG)v$1itQg5v4LN?PsA3+D?uut2q$M;(ZX*^9aFJZQ+ z?Ej$TkW?E%P2Pe)_$dGIvE@;w#yidQ)nTLAF>GTthi1Tm!l9GBD@r4()j^{D22jYDJVkRD=wTwVO>x4YBM110dP9TC66 zgb`a=zNic(_goJI>jLN-?8nuJ!E-F$ocP#RrmF%SUewV5TA#(~)N-B{4#%2;5$DQ{A ziZA*WHm)qQ2z)qYt(@yv@51yDl&t7lgSCl+DX2%s8`1|1{aYl_qSmuvbQTOu7ej^@ zNiKmi4dSXS2z+`YD?9*xlH1|ltRJ0Govstg;2=oOF;`@7suTTwEWw!l0F-UhzSnER zZi0ND?h6XJlzzgS6VRCWqj3x3Tp+4E;{(@oN%zZXFeTcuFxL13d5C@Ixj-efKqFhe zVnDab9I?g5`{D?_Y^ZE%g(c#G3ufbRuxCvr^Se6gMIkzwYFFP4BQt;33hy;Cy~QayKD!ZEn!)%1 z$@xB@)>h%rKxq2UpLUBciq3b>xmnT*XL4IE`uImM=AuEK&y%jy?k_cSwJd)Rw(L77 z!3t(vOf$*a7&pTj5?@HncmgU8JX4q9t$pO)RPu-=9RF;Wx20l5Jf!j`71&)87|7h@ z^nED;&yYX_Er(~W6k=>5Zg4JDu4i7rwzP*>_z+CL+*I;==|LJ*< z=`^~caif~NFMJkyrb%7fBQDlD=y_v+ihJmnn3o44eV8t5s7KVC>OTK7ANLBd5GbXP zm{T2p2AJN;!_PJoHPc&2;vlfr*`Y)kPQ#lQgwC>W@O3?mo2)Y)$hnNm*N#ddX;!w- z#ZK%Nde)hGM#u!cHwa4(5M1wl?tYW9D{ukdgAi`>b?pBU>{pCHAHAbwwlmOeE>auL zen!(U`yz^Hd3Ir^vm}P`?QiC2!zItfc7D(-vh*@fu5u=r6qf(hwc+Y$t1y%7tt>x3p-zhPIT>Z z0WFnCTg&vilf9G001P4Je=`7x6*2_F)!uhR1bbkJe2fH6PU@~ps}!ss1;(0)an0k^ zP#J`tE))~9>M{UQ7s(u*qa;^Kw$sj?-9!bGXqa$e5wAHM-i1B7NWxe-oQ&cgqM&&p zeW3v-(y!`pEIhFipBt*CtlIoRWm4^?(R^UJl82i&#V1asDlgH7g<`JJM226YVY^u{ ziVI2qfI^*Dy#Pk^Sq!}YF6%=*JF;$vMi}9G#m`!A{}uDCZ-$}XX*2=A0QpoMCJe{@ z71Q||?)bNqpuY;{43~2mXYX}5-%3;iftDTTTDj&f+-_HNgimQ&x-xEl`MFZ6FC`#L zXKTkLrHUU$5gR8sSSpcwP(*+-+tH964W$>yk%xy2H_8ISAES)cSkEgaZsjK?EP%J8@`hpmhe=#0iVU%+KTgnKGYY@Ao_e))c6) zK*j=>?cSk6j9XdEBR=^~u$mZ}5$h5xA*fAVBpkuoWpTGv9S+cXmm^9gl7WBH=di9- zYdikS7f-;@W`yT}9am;Kb84@1DX7^0sSBsT08dxr> zE%PU)!_e?(X<8e{=|f{AZW->N>Ko6DwMx$-cf)ORM@u7~6fEmXL_h*hoJ;JlV2!xW zyO@RFU|>a@a*@G0q9xv(mo*;8k`HN?Qi=|)HI@anp%-_*qV#_W)M_*8gs0vH5|og| zney2L(x}l2Hd|Z0V?e7F!7c{UW%$WzHu{s6#F7B2~0r0cF11`(!{9SBG))nN^BnVgAZ5k?y`nuA;vziMqU^9#A^0yos2$ zW@(rddh8pkkWwt}rMf^3dGfqyHIBGSQ8xqBwMJ(*9+EC6#D(OHI(A=rl`{Qf(A+JH zZ}>62W5OamF2pqbN2fazz)EgwCJ}47sepX4d(3q0E!?egQt=T9*8TsYy}^TdN_K~2=?qQ}h# zXHnq&Hwu3SuO{6SOhNd-i}KfpPNWbsf}xI=|8S9iuVMD*^JckgLL|8V6iT|_{vxl- z9%edhxm0W!BLvgH-}6pS?-l#<1`~Ze{qFJ)DzOIpE{*rr)-0K^KSQ1hK4%m} z{vj_^>qJSs&weMpJ1&06DRs3s-;nJ(7iB*bTw6qkw{P2wi-jggzWdfZ8HB04@-#4_ z2-ns_u7@6?EPgEHVkn0Mu6!NH5RHiRj9ibs(DCqq7ph&fP13|3bam51MsvI)9Mm-= z4qL-bTwXb}4b^)()v$Lv_=r5IxU;%$?aYYwx_W^|Uk!szT@tz*+aw`RNCidCLhVhvwjnp8NyudP_xe}B z`Ww2A?q{K~GR+gLkpai&BF!tLY^bU<&WSH;AN}P~k$6HH+vr1Cmyr2z=oCatVbI@B zB5s_EM7Z%ec&fBv>dYhCY`-UY&=uN(m1ag_$DeSYAfA;EbNsVOODaoQ&%kB4=n>X? zrUSmp;2um@xCXB-=w3ZYdJFjOoP&wT150rPt2(Lp>SX zg7Em3g^^SO1_e?*_=6fNd-11xCwO2@h;h4Ez}fcGQg+lFK_E_=c!dH5n1r^e-|nZ|BfP1^s?%hd^;|2K{t_sp`r4>4L0uIuY{%$P(;G&cw*HCEp#+YQDUL)EFT=Ja~Ta{n)dRp0^dRv1@L9`ng8+ z)T3cn(SeECp;L~THCBq(Bh_hPO+u+ozJ*`!)RcPzq(n?AnqNnqVDW2bHM-1SlgpBvzq!jRlH~f#^#=kjFaSF2$ z*Agr%HY{|%+I4bFI7Mow59nsx~Y zG^cBHOB*6zpC}`iF42 z!85FZGrGcovIWEtgIlo2EHU%&Aww%WpyM&K+L2fBQ_b#=izy7?-lB}&sW4S!uAJbW zx{~z0h4-}Y*?ioN_H;;>HsiKm?bpnKllxs8C28n7$iQKeuy!-ko`dCf# zWf5`I6-qFi?_NcvIg++=xTO%~6{+;Hh7r;fstWbLv=6`)%eOb2vC_e?qqQq_fzt61 zFO0btJ4qo$z{t9DinUb3dU|~yELlY2*tbK}cDvkMCK$r;&L_Ll1v#bnFe|r5>N^Sx zsu@_LpF#t7--%fnFi#nyMy;7BQ(EE}zZ!~1K12uWrls1-jST1X7UgTwn8S@V+_NTxg)l^p_! zL1LEUFx-{jiXaW>VhTRYl?|P@^~WD#r`WTI%JmSMSvaz@Q@S6{8Dwua7Xk}ErkS-g zG5g7omzctF(U<>8)h5W-x(eiBM~Rk#@o;Er&-@+?;XeAC`Ht^Q)( zT{#U0t2UelAKY&SJKDCZA?tsgp{mAuF~e4JlL?Lb zvBF@*%tfB?)yR2$8*@SeC%JT@39#$s1qv%u7!43}py;d`U!c&z#luUx?D$sk`KMF zm7#QmXLw3C^%}S+td^>2=^%}Mu=}ZDpq#PFCJdOY@{Xqir-IGR*NHY(F6th+?KJ45 znk8ym_REX_FzFEySe&#n7Cv_^oQpU&*#d=i@Q$&*=w>IQr857l7jMtyu@uCa9d_|v zE@|db7N~`z*>@3D0fvY_lo>NuLuPw0e@= z9G1NM**)RpvO*^+ydul90QRsVo4EGq!4{{r`O%N| ziepZlFyyNs6fP^o`#|FxzTk?>`i0Vx2y^&{FesX%8TZP6g!5ouIu4X@LxRjsS#Yw+ zoyUslh-kwwBZ$i$dsQg=Pu#`O4JwJZ{jn}oyY5k>>Pf}*Cp|4TJh;knmc@~l`e=cA zbICIwkCn4F%A$_qOVTXA&N*Ns;(|V;RE{m$>t8))RW-UYV)g<1aMO|vCn;x6W~GFF ze5}yDocbe9i;19`oU}!F-kiXzl*@#yM|wI1i`! zX5&rTfsuu>zRN^x>vrz0r3)ur%RS~}Gu+CsoB6VS;!B9yc+p*86S=!aqk%S@iCjg| z1J_V`>%0n2qBa3`M>li@EEiYrX*dZq%K^f~zG$`;fxRf#YFnc)!1|z~0BS zpSBxZ`{?o6&D$Vx(xiHUgeqOaNQZ^X>9Hi&MOih;MiUKf6u2`1i3oA@=9DY##N6-? zO|(yZtL*F-!7tN~87vE#9`tW~jH9{JBtzhir0t|T_AzFJsJTA)oG3^R0Z2Y(fn`in zy!0QJ_IW^U45y&Yt;lri#$Q4KJ`6lg;~{*QXM@M5u!&M_XoEdn#~7#R z3FX8@AZIUZrW=B272_q&I;>-f=T5`f>9duaIXuhDcVG%fla~S2&UX4};Tx`>d&^#r z@!B84G0S#;`MD%aM)pIp4)KyeFc=nD@hA7(o&yVG%7{@oZ(s*Nq-xki&ZP424)>P{sF{394 zLsM{_HvS#UPzOKsZ7H!*ZVifeF>b1l!F!YD$$WdNPr0A*o|oDEgaviKz7|27vG3z+ zTjX!Xh~7DZNdV|~qKeFhgZ*;b`G9q9rh=BxZ=nw)bjl@bMWX!%QzfuZ6v%XSay z7(eC-471yL59zn6WoYvUUyp`)&Ncfiy^O|{U`yDvM+|Y6*YY+W`;dbM7X|_$K5c#D zq;~KlR!!p`D8%-_@2$Qc@rTbznqC?|aqN0QN(6~ayfL`q)ta9P4JeV8dFynmLAuX> zR2n5+T4I9m>l{8&W|8rbFJMcY$Knvh1JKqG`Wjti1Ce~ zTsN|e(0(yd`qt_p*pd2oiKL93y-@LUYXS6Z!ggobVIl%*%F=G}6p@^2;mBJ#kg6)O zw9iW3#2*-Z6!Mx!19n(Y%}}5&wK_ZJc%Pg)JC5BW1zoH zlIfqkUVb?u$fv}x&b~o3o0L$P`w&N~5gCOgOtu8&mvkuA=_`+*cRB1C>T0(osgGKb_ranpAzvOAyPT6XXNs)ft{nF!bJ9rtKkt0l|!`yL(dHa&;Hb-WD ziC`sbhgzB)c&mC!(MR+!V+n~K(N!KbNBmH5XgN%pWUOq|QlowP6#%?`0TD{lRcV5+ zaXrwXLk`Bp1Bh(VAgkC`dMN)w(GJV0eWh;2V4C$i8eJftd&qG+J^_Oa^r4*&J{E_% zKSrF)QFI|m_h{9@6w1lbTF`Rs1R4EY$k^h92Q<8BNbgv04^@#s_0Q2RLVxJl7#&b4QHFHC!MOO>{PQsMIR44ZQpSji`~I#!3Tw*JKK#?Zi;#BwYlELNqN!rF}k=dI0JuFv2;!EaKb{zrnsQRb|`r z?;uso(`>}Off~-I>a6+7-T%Ca!Y$lwim~=>=FC@ZwU}2f}7Roi#6QOnK+=90T9&-q#n9A{FZEDat*eZoo_9;Jxq zX9NNK=Y8pno?})fY-Cb>%4jZXxVsuO_HXkJcl=!86Dkl)d@*e zP=*7aLFsn2_aO(E%5DQOk)#EM&WXh~C4VtZ6Jx(N+_V7<#rS#{gj=wb^_qgT4j;Vd z6>jNT5Wi@>e(b_aM2SL!p2lRhi`gAnh+v>xYvXhEL=7Cy1_=(Mka9r9B81$wt zX)>L6L&d_e;Y~vw3&2tSjSVhW=>UlLNoEDJw{aiykX|xyHdNC)29RU|iofNL@2d@w zxf+_Ewe#hAFQd7VX1`_3J?jvIGx|-bhf&OGfj9yF^IRBuuSpMrIi`^l${7fWUfBbP8@if`d@( zzDDBZ3-?Ei)2Cb-{P;}c7lL2h+I16J(0^_mPwj2XHCx; zcBFqT6Mqg{I7m_Uc#f>1eWxfCw3@~lM?4hTOql&%Je1{7rqcEUB-OODk7d{nZ!}x- zwZYMOt$p}2E-jI=6pwC9??BBQ{oUkBR%pG9XYNGpp=Y1Ya^Afvb<#2(=G#K3Sdlxg zs;LP>H(>-PO&<)5;Z)clfTxQ`iBO2Bn!$+dNQ~;j6M;%6m=;vz2@Tp<+fXHUz95Mc z(r!Fk7>Q}2C;ES2Ags@Q<55=4g8C&QX2gfJZ%x~sChTs{9qcbU;H|- zZN@&oFZPRkO6(QecF%R;GITwww}FVUD$>~h1E zeWB6al+86e9)wa>qf$_z zf>W}OxbjzFNOFV`(Mau9!F`1$#Z;Afge?nEjHwm(j1TXJ#qRp9y95ohFkcU}Qo_bF zG)n5xdr^K^T9aV^z>gm4&oK+}k*$)V=B~?$!LUrPl&V5t3Gu)&^I29xgq`NWzyY(b zF*UpA-F-(~bq~Oz&%DI2meYCUK|>)&LI3X)f2SF81!OOY`xL9S)~Cr7%*dHYi@;KM zDwye(V1DB0^lN9qbOM)Qr#SXSIN7nAn5Uze8>X zlU-n?mu(al-~vh9pVi|Y?d;pUyujI!4xR?}WlkH0dh@?2F)|NJ&6a*`U^Cy}hKj(; zQ?2@Tilm0a5Dt?0pbON+zgi!I^S?B?FsRz(lMgX?Q=&s6^dj6)y$PK2ZEs40DlTh8 zxF&OvX(;v=_Z&MSDp!xn-Hbuc)DPbpPz=TEu$nh1#zppOdKs&e72% z<7}|F)zk%5ZTJ-XLS{fx=(F52WgS0iACf+^}DlRO`nRB$s|jn=p%c}eQ~KZr3d~o{9qQq5hD&&7Xshh z-Qw!{06f%}U&E7{&qvAg5ZO`R05BM54@)m9^H?5Toz;2}YxTObpG8L45RcJ2AO7k8 z?S#xa%XxmZ@`V`eb-!a=a~7rkk@33^rxIury1?xjD<#@ME%hUMd{B0fP3p{NfN4L0 z9S$4D{+Ks~$z_JNBHQVL9tKAR`hwt64V>P$`?M`XEar`deCg(xG&b8^I&Gl_g!K~J z(&PO&ogTr~O28USq`x}WiOd{S<9ijB+oi15NeionZaa2O<+z+o*Hx^gZ{kWmjS7Ln zzkFNiZAq{CQ;j>0G*a@G&9RrC2|9~abC={s@N2&5u7K9xSRz$;jK=ACj_?{CK2zLT zM>$|*nk6uI8@GGXnbEEP1o%T*+Wp?qFMa&-Uy+Vwo`>>b%uU zRO~-vR9Ww>pEp^gTVwRI(@Ks#a0lYx<;!gQse*iMsng& zqpr&yYA5-_ZasDi`{6k%8@#XQv^6S722S9BYc%j%uw<6+d}?j4rq%0$>u(r3=k{RqtB*%oJLk| z{O0fDGb{sBP zW{PHIVR<=A()E=OLbz4#gq0TNFBe95Qe}OuVrUUpcQECdxRimZ6d7pMG!~`Atre*M zd3#W=sBB58Q|Xwe(mQn6E|plE+4WY4olCB<)7_sZ)#`n}wv7Z9Fy-vh-E+Mws>9{0 zicbhJXP}onUbduWE2{M`;*wYV;iWWS0-$J_6=+djjqoMdd0mO_wrF3)V+7xamO<%c zO>vpmsEHjbRm#IXOQ2SRyUMFgL%VlNWs1UXeq=Hur<*Q!!-GEG9!d6)q;@ zZg-Ud8m6leGr?@w`%GD-7P3Ov_vc)pnM{)kZ_^<-onv6_Xnx#M>mjZ54C@38uYv;u zDl^hG_}K6EvH!)=IY@ySI1eG5%S+9%dbVqQX)kVa(p>HqvXlM>!}~frtL~qTbE2Si zItg_bEA_X4tbi&k*sI#hFhyxZjSr{$S{-9h|9^pKpdn2!2=EV`;6C6vC1|_c*|yiX z_<}T;t(|mf#_sLYfXn4mEt^uQv>}@`5Xp=Q)K( zydl_bFiQe7OY~n~OsP?i~7QU(&GOsW$x7e%;;n5qD7)g!Pq66Ylqg zkU{1?5By7x;(Q!r$kr_nVRlLcO{n17@g!*FI-}NQ?xD`+b3M8x@=Pi{t6zHY=IUVW zEvCUvxHHLRDFQmUdU6CxGdUL>;0AT{!extH#p1#5vT;z+rVUek!=NI;B_rDn7Y0G> zhtkT-xDE3JH(u8i5b*#mK^=YeZ$vbQ*!z06iEH7S(f3hI^&ng8C8f#ZukLzpbE<7! zm$(}ed_xM&@G_q;rN1=%;bm$ZcmTlV_%LOhBmPS`qQZS@_e8SWv>_t3>TsB3<)+D= z7PsV}QGRN>IbT2!_$vdLGeetaJOL9iic_ZzXQ>}~=@ML?BcUv|eQ909b)TH3Hf}xHm7?q}xEvHP zg?aSxTJH4<|8_gw*)Vz?U;+z~(}O=0Dj4(OOkHFRg2qKvD~1mmvagw{zMJU5sEkNZ zGLM^lcBb;`93@&h&|Ue_^LSa@k)#8Wlyp$IH-da?y;}SlVv`Zll0TllS%x?68;yEb zg`J`s!+}`~^DoY7+N%ik)+u@)6mr+01BfRw35^?*bm5)Pvx}_3#@c7r^GjzHyRK4P z427-ixUKRhCP3qvNVy$0%vtc_m&$H8Zv(=D_iMxs;X%r#Upv56+HHGq=WR;XceT!U zO-KwAwwb|1bg1>e`)(wu4ZFx3lW7_AWY!qjtzBees0 zs9CwPDu_wvA2RnE4GyefMS)4`&A~f7o;py!4>8DplBcjOo`7p-?BtR-=H~w6U1K8L zdM%z9_h}M_jy5pfvXB;;eskJD>qBPhMQeru;6*<~2RdUCH7a7|hz(;Ma@&*tvZ}rP zf)*S%66S3~Htk0#TP?4$z(eTc{q2GVUY|4EUrtJEd*3QoRkpLx@E#Tu9_#2c zJ6?7f8c12mKypgxP(3$$$A*^j>CE|M{FUMzvklo+?eV=spsQF@55G0DL}j)Vx_4o& zT8?{#sA<^iKaTN6dowo^bzY|{G)$jGArSDrynHm2jznU&USXevsI*s#OYDu1f~jxW z72z(Y(S!{CHCwl;ZZ_3~hDPA<*vK@h$Kz(huhiJ)97u}bItephjop#@;;j90hTuXt zwGpo`RpM*1u~Q3q8)hPfOcR*u2V-TD9x(yu52`*kV@_Tjfl~= zcGDe@^nuzxb(sl~An-S?4v|uzw_>{wss)@*g8h7)6%rAn?)Fth{wUm-ju~Vxc#f`| zmqm;+eA_$_V(s)>WPZNN?wE#XayD_5Tw-xfN1GR~ae1h=Y?N|J7olK$&ECxn+_9D~ zIg4|TaubJ?(NTo3EndzJ|yvet&P&gON@=KkpqmrbY+X0 zmKb7&z8xPahVodEQ@6l)ijnum0ZgY?v_#DPx`k88cQNON5+VqPDbZb{#CA)4h;haV zF6n1WGqb;9&~@y_EDLGQ(J3o+Ttewxd8xY;5BKJmxUBXRbQuoxo_&28A8wIk;d-!p zhYzI5TbMV-hv@)#iQRlU;XPrz4CF3Lwjl>nEM34M5dJvsP>bjpSP;9lhr}R5;OSn# z1N155Tkdk8m>PrdVAx93LCN)(>omYroTv-A+vBhbY4ek5b(?!s5BMN&-(-b^7n_I3 zrX99muhV5CIrROaC@Pm_Z1Kr>ctF1=^=ys>xJkw{@{&g0r;AkzV&v|QCgECOr?>?Z zx;u)V3$_qn4jb8EI9wRmZW#mhzI!UzO<)J&khs<^zb>a>&2LC zwSiiQgYLv}j=1H}Ze%|1(=-{tbxIu}P7fen2G%_Hue~Ltvedbk34+-HuOxWaRrc}L zS2v!;?ue%Prm9~5y2G1gq zzPEgk)pLgYK78e^_#eanh$PvKrmoFAH)6khd&?ini2cEN_jxn3-BC`v{f!HBJIt6T zR4=Q6&2kspDO{buUs?pGi)U*GXKQ61qcuGWeEfj5``vcek zJ6pi8G@8VwkQ4QM4cRVsb>5`G&|JOw*mNfEtrj4t${-r4ILd`_0YT(Q=#nBgSIQ|^ znOm?>Ny1ba3uo&Edc_t0VagK}ErH!LqV8@n&N^cdI}pTyX+|Qad%)rzF_G9j7GxNg z`x^+yqqVwiz;$_a9zdd&A4s+$XXmW_*v*XR!CpB4QdW+ORIjb^7sQkatG4o%QV%#1 zHl^~aSi)F|$$=nQ9DA1s8>8^Yxo_NANI6@I?Bvn?P{Ld*m$hZ7mX&p?K+;OYVOuNr zkiK~9UXX=()DNg_9R`t#fAQMSkYeBYrlZhFkDUdFg7}d~R)iUA^4RC;1vxs;_r2hR zAFl^cHa1Zn3o<5wd1p@cmfgQ;E{3!Ea3cNy=3t*rt45W!*wXaOKjJs+Tv6D6h+`gk zaAP+n#)^g~HX}Z`ob50)biv`;k#ykE6aQ9flilB@ptYFzZ#jBP&Q9h>T5W*P@<~C^ zYqH2Ug}L!S9u=wero{pE)AxaOmMOl4O^z;1%{cK#a#@>U9;o`Hb%pvJ-waz^IrIg4%C?(bc=A#-I}Zd#(<6ZJwh|@lP5H0R zU(Ha|&OZa-f#V&%p^_x52o2>K_Ts^;29!vMVfG2nGT5hNTIDeIWX!8NyPoiO8h5=& zMPUV=_jQW|8$_@tK6QzeMXxo*Te)snF5g|ATbQ$4CTI1`Z~qtO;;K#FZR;NH_hPzL zPw|bQVjUDHvbXTu1G_muS9lb*9r1|$ri6|6*vV$ECcQD5z#zRH1{<4DLne3vm?^6L zHsJ`0(1!mwQLEzG%4LGjuCM=wK@HtNPHN zO4Z&qjA4n4!BajBpWJyAoal;#rvB)}6==x^-j(ms3A@F&Wx%RtdRvX=zjwMI4cPOZ zQ~<-1jZ_aC?|bgUW(T`WL04$3D!UX`T-xBf5K;dTIGqhsa66)jG7Tn4NdV`5i0o)+ zyS)A6-p-Wnjh)tHyq#|hsAj3z4HZCYn(uPdqDWPt6r^n#ts8#8YyzJjN5_!I934%R z>RID2K^%kD_cPUC9lMTuF^NSvmC1w4K;#*Ww5Ya0Fr&DhCeK3+?{$!@zDtOd)8CR| z@j0pQ5xlWsSWXLQN4aOhGEmt7^VKko-gdTH7i+yArrBL6{kJbtoxDKUX_^o_1%M zoVX?nf|wkyNOd%mPk-_NQ`ZH!oAMldazFdg+X>DDfu6l=?Xke``~9`Yk1Mc-g!YnH z<&E8mU^vD{_dkrN`3MQ`F@J{(UAoj@;@+9cy*%gNy}%Q7?~KG{THs2K?L9FZw#pU? zRrb2&uU}Qu=kqPqid1Gv34t85ZM3hvMuuK{%J+`mV0VqG=wXY%vl4&|m0|a} zmV#tF>MOXFB=$4WrU!Y{T<+;rs?I7ZqQ3^ldvbgLJ`@lZ!*pix+-DD}&}^el3ycun z6NE9Ez9yr8qy5wm&M;h1xTujAc6C*TFm5x{)flTx4a&)xZw~!H^+_gfte^1oun}O8 zSm>>8u2)j-B3xmpf9D#m9X`AeS)iMyLMU?ymG%7N?1;W;GHoX%S{~c^P$WxXFn@{o zw@6z)_mz&APMwUHm>n^Hr25+c_n9a zD?hoLv>xxmCRFS#0j^oDT{kL0+*vD1-9+0R@|1qVl`U@k7HYD9*m%*3z5M8x-~9V) zf&7V9MQ3BRpE16>iMxh!c=z@EkIZEs6TD&pAjAYOnuB}fWuNSc*=2lqaIdNb!VBTQ zv>8qF>^1Llh*s>B4>l`(r?eiQiFV+Cv(kaS-0z-HttT`NF0i$9e|%h{$X&jua&4ml zn5`3Cxa_o~uj^Ac{30K>BZ{5Ax0?uzowZxk<61x zx}S60rzbSlMD9SxZ>@#2tt8AC8%jngsHSLKg8lg`&Mj&doLOb)8b+u)2L%*9YtsR? zhCS6o28h+=eNQ{S5pIYYb{`w88Dj$)o}?1JjhHf`NND`jK@x}EX$*df>?(He8^M07 zsSWpS8_=e=dOQc>OB3W{!3`%&FnaA4#VFgIb%(WVGYc#`X43e!nujNVb%wQg?Lb^R zx#6wq1u7<@WgLtL0vp^ z1f>6`GxW0LzSPuxIM%#9(7!CKgy$)ak>d)jE@IHwc~!M6vQr3>r#m-^ZyPQqTTtIv zD(@n3d}P4lido7=6WTDNnzoMY&L~OBO19gZep+k1?ckvUnvb}UybIOFxq6qBQs(dZ z8{#s@FL7+AAtU%*Hi1n|(W@IiE1k&e~a}&Cx__c$0F)0O@ z8_qBXJzDd|BYabv4#2t*>avl*fJP9`?RQnSQ!lhg&Sy{Zs*mP9(=hOwjL_;|WESrY zW-f`;k#EOYh&zwAiYGS0qg+muBtE}FQcD`{TSX}Zj+4v1%H{s(Hy1wXHCPS;l8e;Q z0PX1-#`y8awTNgfUOj%1f*>X9%86*{xIq3l-r^trPKK7NQK1;|Tqo2KKl4jjplM?2 zs9LqZ{3kE#?<&|L_EGJ7TnsjJHfoeNnt$3H3<%wBIa1GZ=vT<4Eh?r)-@#oc4R4$$J6@-kigj z=zd*En^i}HM}%Z;2L{(|JPa7@Ip;@NKq+0?0KYa5M{zsAM)G<@e(( z+aQV!>;}fmo@->xO^mtT9Z5NRGloV=CDBIcu0{Cir>+PZGVb9CIiJGF7x@(Jl=l1G z7qu%(7aaZj)55{bLkw2+PL}zPJ=9xNaQXJ8PZyxmgot66XpVy7x;EzAmx7)qrpC8p zlv7stz*7hhH}q5D;>nRV{%!sx&1nxIi&q6Uq)5Y$BxKw?Z_x2GGSxbinLc7M!vUC0 zb0XuU2-UT$uj9lU*G?6we-i-JaPLeV}O$LLB#tX;at<*F}~HPWtb=1BDHy$lJ& zEf*L_%lUpW0>L4i2pt1b5W*Ks!VXh+=RAQMYYP!t4-+vr0lH@vRlrY zeEU4Ad#P-$_vG-tGBQge(V4$_Ojwgt3DT%LwIfNz_ht1RhYrOuey=Qa_XQxjNlBL$n5AOj0g6#D9=fwtvd zlLnYxI>m)7LXh~-$%r&rBJ{A!=^+i&SiTyUFO3>D0x;>b~Vbr_C)Yg>$IHJD5Y z`lMTf(2A$wGBA@{ z$uWal7YO)Hjred+k0*y)wHd;-!_*-z+(PrD^49LjfpUK(eTiRRiGgRhXPEL9XCSv3^jQEE|Un%aL!j@dC79#Yoj%=G=USTJ{Tm$M$zN1j{e zE=2xMj5k1Yp|#NI7ZJie*5qGocdjs}{J>dMzga0(sSoasq;L+QQ|eRv0O*Gn);>Y? zP{;oC@l12WHmD-6$to-)_d8~AWI?XU{lkEgFU`c-R+j1}d0;tkG@xW}^ZVo>LwJj?)T6JEjH*x7j&;9Q;X7!d zX{KUA7BWUcTh~49;^$r1emOQHVTY&uj}`Z1l9M1dZ$)lp+F?nBrnygzf0?J-+w+ll zF1bOTU5o8^c9JD1o~&aIOUdI$vz4@UgjW#0)fnj*TnWU(;vdQu^#B}y-6Ckl(J{J_ zYO<6qSLZ;BQ}ShrR6N;p1sJxlK$i;Eu8yD-kBByzWOmczc}&A z;-G&BtNNFd(`npLJd$s$DgeJIug9YlXK1FHX7!=}Z+4I-W{RFx2vUMP+KLV|U-<>Z zjtnkogTAJhb-H@{=)`pcBvm({<%Ne!R4(gAHcxdVWUk+fd&1i})X$_vw^P}t%b|<= z(ae>ClEy1)7Rk0x7xv!)wLR*HY<-4?Ke)om`mLje+S zRh>aF5M|BH z){hq69g6t=tx2s+xQPiM$ovaS^{29+TZj>}%YCNc!C~l+mUthx_YHWVmRVWvAE)x% zZnhQ0|6fPxrgs-@fcLJWDO#wDFGnJp$8Z$8zq;a-w4N;rh0pH?2OY zK0ngHvzFtGk9`99FDIjR)gdyKST$b~8jraUIUatc3O%uz!;@}ncQ<>LNEjax*qt{V z0EmV<#UM?3hmRZke2M3;T`pW-Uov#?WjjdZbc!b=XWr%fo8Vv zFSHhr@K(q6k}@eX_5UMZUp8A_ws!+z^D6eR(_#at&jyJ9PclPL8{1~n60+%Q9!n(W zXMdf6#}6N?e~AnXC~)(|?3ZQu_09#0Ccxh*2^{;13G*@a;$l7nRd5)kAUS_%Elt(< z3R5rRnewcl3GoKd1e|8WDr$W`zuwS%psQ1Id>cAgK(P#D(+>IB1QBgO!9wNriE#qv zBbwWokqnq?K*~KHfilCDJ=|^Duuu!*`;;a;39=ov>bi^JtncO zk5%%&9Hd{PD3^bmejkm%V!jhb#_PKQ!MI^4JhE(B?+IVtjPa{4IY-F2M0kVT5}%qm zS?z`{k4~7Hqe(~S>L|%bTw35h02TLPr9f?6(~mJb0q~FF2qsD0*t6w6 zmXA_!l%hJCvA6iCV$UdYG8{Vsn+7`F%ll2e_#@ z5#Fm76i83RdJbF0MsOkTl69OWJJGvm+YJ2*_u)QBdgamkVrkB$x}dGJ$ORMxhxhKL zSf;(;^fNJZr4#ujwzb)KCuIG&rf!WqyM}@7Lua=FAG$&gEjk80cNT)$tCs8)%mRZ1 zCcq)*hrAE4tPLK+`qlILZ)l_J*RgUG0)4ZPFq^0a5^EH1 z4H28J3>}<(bF;p$Rq4yO=5WGpGj}Hu5X_#5Qbf4$KVA(`LnDi>yMF$YnCa2Nb7vC@}74ml`z-j(JAEg4KfYQt>E zV1tILXrI~o+*Y}a&cx#V`UMR0`klX~xff}mD($YpI;j7J14wR)Lgv6s3z)<+yOre8 zFPi#fGmK@UJziV4Ts44)Ys$DdiV!;V&lu4G zoE%RLfeP>~Ss@eBgOM~-lJ=Ok{WY1p7p6WPLU|4pU{WR?i#Lk@2CTUTa~y<|MtdLD zc`A9?f*Z-ff;DMTzxwE}RA*ajCmZv<9K6*Ih?gb0>4sz#)EE7%F6tW1pIf|1L}3ef zq_*pR<~h&JL6Fkxvk?S#_TvF%uwcoM>b}c!!|y{bWyQwPIa(XnSFcU*L6iOj(8vCC zZeJavhHE{wIoGR}Q;@Gdedu8{v^>92`PBW#N(vle(yzV^U8*^k4&v&!RA0r(`#O``lz*ri3n;IZzT7y?*}0$N8Bs_Qz6 zly~@N^R{fh8~CyWISXp z5RKL?LaV5FUYJ%$r0FOGChXd02X)H*kN7`y=8Wn>Bi*Qzp6*X0UMB3L#-5HpJ3mPtH(>B zsA|&x{AwX><6~_aVU`Nudq_IRre#CRfN8|vzJN$EW$YZVKB!*IgG*O@-!2P=meCFS z|9hAKJ0aZEA&Hg`c(CIrX=qkDGet-UA-Zoqx`4C#H#aK0c!VuEu6Ee+kmZRaY&aVVA|H@)*mhyT?rae@G~@_#TN|G_s*8AY@(>Vq z#7dWk;X?nN@=#N0dOS*$2%{WGv7D6gy_{x6p_jyhE@&+F2XlnQScz!o#SFu6p;Md` zVNWyaP;X6egu=|w5L|*`d-_Llap_4yxg(@fXS_4tQ+%bX$)>1~CwFzO+%E45y^DA@g46qgbuQ>L0>~*z>K_4Mi$I zS?<0QcNPOn_*FpUeHlGgDM(geRwm5^hj?Yvp6V=WP_CFg)n?U`7y^u)C2Gv&NuF6(*Z<- zTmZTXP|uDK_~LO=v~1lm?SH8IN_E<7Cy=~#L)|euxL!$PF=rHwS4p%Uj4rlA+(e@@ zFdosg#aDme-FP7>wHx`Hwo&I{??Qr$!xLu?-wo0XaQkaklG9=^3z@xCIf3yxNmQ_u zsuTkt!Q+^k-yvNPaMey+bxw-xGzzW6E!JAaQ8yPaZwX#y?`H7u!pUvNnR6n|RSqJY zzmb@MdShG1Hp9a?C1SF$#c)=39LUJ_e^tb)`X82@B*g zaVXC13@v@+Sn+*BWRrfzh+?V3Q~5M%#jZ3pPJzC%DV6Tsk68#bL)&DkSInS8&Kn&Jh$5xz=?hBJg4BW}G-5 z=K_q<0$jhZL0Z&<(ZzrLHe`OXJsd1!GFnuFRJKF(hR`7rM}C3w~&~X%id+3l zbF=$;sseK(x%*l=Qqv$liKc|UK^CkW@DEZh_!Rmm73sz@{thj`q*CA`_-v*>H4T|RO@~%nB$LCR8*0W9nI#Ab0H~7 z^Tr2_&wEg~d@W7BsvK2uc{-c_>eEWRlXKJ}m<5Iw);M8pVJ9W8F*vRp7(|2X_xY{a zGJVD2VN_8`NrX|~3ilL(nIKT(aR47c;J@N>jfSl=BYWy>=@gkOhVD2932x`FDfi3C z(O|Ip+@C*Kp{gP-AHZ|M z3qEbTw9aBItV1cL6wiDJ8FrtTzrsRO-nprQX$%UE_K`Ogd-HrfR;kNLkt7ysV@>_n z`Yx#-cklSVI|bVBVW#`Si-4kT;;Px`SliCEG1__j!8L#1cQ#fF8WXCHQ)K|^Y}=Y= zS1_8b@>*(<_of@b++o76ttGv#gt=r zBo1yR?1Aw}y`Umb9cNfWyj5_Y{MBz`u>ELcBzmFdU(4}qq^@kwKiET#e(B|9{hw+f zCQ350`GCoS2@wtj$32yj10_juuz*%I=#NHAFjHyN{QY~dcBX;bdqDL4=FK5I63@_8 zn*Sv0V?n|n-Pko?h1QaUuh&-?g72C2MB!f)*pf-4guQiH_~)VqjFy&e%D%o>EPNH= zCI&_pXX6#ZU03^s_aYD`u4*qT#`RRD(VIw7cKdRZB+kilL|Ev|I}~bSt$vwcCqCG0nW$ zH>joZtV{NjQ3epBLkY6_$Q;$XNRia!ns?A6f)P{fcZV~`soJ{mLLCDd?Bl1Cl=Pa8 zZbVPKIwd0<#k=?wvale+dMbX6vij%$jTg?=p-LfG?kaBR97{^q1heyea*Z^HDI$rI zC<&MkS6$WspcM&XP~K7}{HzNsZBEu*5b(=5{boD`UJ7&N!u$D=ne zlr0OVp8)U_KdG2^NIwY9iQYdinO7JU)FyHGprwr<^?$dz9A+piwh1ey0YHEGSBm|u z_quvb2<`6%+rQXxalhHDJs_vADzPTr;1AE*Ll{+^J*0@nzHoUl0bAe85Y@S)ij*}* zq=?Z*ZW6#4SaFXh^nC~={g+punc!>J+o_++j4PU%D|mATGO`(5n|t$hqpZUf&PvdI zE4D;D*(1|Q%1xb5$7xnbv{$4}79Ys0(wl)iH*qcPKSeU55-glW%wq@;fI+}AeQGC^ z&_-DI3b6`8L-e;AUiAI6kE%rH8`GhNU+Mbn6j5u~(bnmF(N-nU_q($!4=rpKSBDW< zJ_j*ZYe`I>0d_dTBDut4vhtjcU9W6Q+gM0)a;Z$fy=8wZtx5fJ%|BN9%GEK|GVL`Z ze6}f_N!wX(>H0iJAy-waE7Dhw{}zlV(G++3+pxJfT)8n#;U8zV!(b~D@kDuk@5-PY zA7Z2NKwRMYG@5Qk3(r>qXcxH8(d})Do3QB?EKYW?qrLu@zEuH z>+SUHPw|`@ju*W<-ci%*Iy+mzs!lj4#8*^mb0~@q_m0G5ErVcQ5v19nf#svzM1xjY zN;(hHHMtXo8B?~3fcJc5vSNMMGm{ScjDMYuP6yqMRVO3`N^lV;Yq)Wmj}T)PWcIr+ z{LH0ph>44)W3M=cQhhyY3T2aa^1y@UE5XB{&ZpuFbT{QB{Ax4Lh-0p5$)h8veSqYh zHPf>dT=L>7b>6uaq`eqLaEe{8#|wyLLIa*?tEx-Fy;{o9DvJu;;{gfvlSG90Y*Ewh zCyx)BMg(Wb00J+DdCmeziGA_|`-EcW#h|3hKF$ZwjKJQA z@HN`K6Tp_P46$@c--$dzL$L*8scTsyc?gtwpInXdMsIim<8=#{b^ze?4Rss6iM&is zq&$~VGY1losZnkR-6z^U4PGSHBFQ0PHLp;2Q+v7weYPCw^D{`ivx&*?JjTWvmtrZ9 zm~#I&Vjd!wDODCQJisy$Li7Np!|UeK>$L?vi)&%vz=RqIwr?LR{ z;^7f@(N!UWf{@rnIwbmeSe1lsC!G{b5}nB;_L+n5etwrc!~59{_DCTsk+Zek8tt z`uM8ERLJ z+Xb>&%J|^^kIO!yvU?^$3<~2A&vecZ#^ku;-YAIQ=3*sblL41w$M9)U5)DxqdfgL( zcYdP2Lfwc$PbrDj7>9%B9S4~uDb|om*0y;#Q>>9kW%y;?tV%jRC^M_3{MwY3aqur| zJ?4Ei23_dIBHktlq03;Djg^#va42hNJ%gGo>4cPJ=XIiMT5QSaiBZ z_mrOnuG0PJR5|~965YOoX~<=fb~lsPbq4@Dg=%D~s@{~Z7+~&1uiW_P!s$fu9J7}s zML0==0l4pG8fG}nUt|^a?d}~Zt=2Ew9xz$+RZjS4Lhm6AG_ydgpVI$W9u8{%wB}Gi zR}JiauNuTL8-db;^}^yC7vMWIofU!d?Zn#l^{-Gdv}$+t{18u4b~J0B<{DF1uqP-d zoR@|~)^4r>IkDxV%+(icjd;NSZch#5o?t#{32{!WBEZ)6;Pfv_22|EQs5cb~>$~9J z47&b$r21+2Dx~)8x%fD*6F#E%=K$@iPjkrc9$I4YO5nC1tw@*Ld_ly7~dpb5Ae4v+9w^izCc1sH_*D z6G9BzS1$0)}(8)cM6tOV+Nvej!eUSVkul(2E1r6;9?kb zS#rHa;4A3?G3wD1*P!+d?}P>TFa`VPCYSm z3;B`Efae-|;LVUy-;}?MriM}A(9=N2J9YFP9#RM+ zlC4+Fy7zo|H)bmGrJ%t*%(&d>WxKdg+{n@d|{<45~C2918OZT#pA`D4t?73mY$B+ z9+W{nvCjG)DohBR_EhOm8)s_Xd2o+}_sKS)-&;#c3BS)rLJ5bay&5~)NETZ)a4(o?clcUXZgZ+GH z*P!wyd|4a(Qw)(KeDMdF)cofxyq!AL9jeJlshWYwWAhwAVFmt?(AixkI%TEK1OXe$ zJ0HL#kT!Tjp#N*UdE~5XTDBR(yPkq#jaCil!K^=#3LiumO#o z#r9T>QG1Th5$J)8Tg=V)Unj^Zt=b$Z_gl0|7_Hp7R*<7sB@q5VNnf|gIz}{D%7;hOp*_w|!2jh5Z^yOSe2K#V7xAQE`O4GWrISEy0 zw&wi#u`#HMg=RX1!en9XFJ`^-4>U!@q?_iZ@)~SI#onew_3_0b>8=JjT6mEkS*xHk zl+)vR)f^a|0tt?Y2VrcvE+JIS~<Gsle?vUBhXt#N>5WNH`EjCeSXvM8zP6Uq_pA(~ELD6_WGT%(O1GYoF`9MM zRj3)eWNbV_J=b0Q_cHCLC0DToSRrTT<{_+z>XIEJjE}v*gM^n$*yE(?>=^EiyuS9u zWD`@_;;Ee%9bbuPCXiJpy^3cu7eX;Z-bPn?dh!%JkLTJy#<@7<(dYrmsS>M~8fNt( zf?Uk7)}wHkR}bQ(9v#X3EbghN zj^?CI6D*W*3tsZMO@#M~e?tJ+kyJN5i!^XZi5yWE12eWLQUg#0uf&zJbzh$=xi3=(WiRQ1^hUtuYgc?P31y&~2@**t)l z5f!f=hukKaxuF8VOAMZw2T!yAB3ZpzNOd`)ag5)gl8qdb-{FfCw2C z1U+$SH(e<@8uRjog#rzhZa%ZqXneKXYG`28(srW(sT*{XDLik%eCNO#$3a9IXTR(G zdzoR-qI~Vm27sC9nOT#jp3&1TYKDowG3wlVtF$d>Oc9};gGQAXB4+Z5c4gF`U$zZpN{)`VUOf;nh zI91Rab!%3GH;w81BUN+RXvb;ipA`SVq7)jt)6#sF1%4Fvw7 za)P-KiBVH*G+1W*X+|~zHG|nq0cM*96{w)nS{Tb4WRc&cuPNkdDXh(*@kv)7Uy3y1 zM2czab7J*PfaJ4;$Bcmou(P5eG6rG%mN)nRe)6wbB@;;A=oXt32F`wjq*~`*6joI^ zR!(a+-+10inxc}~EolIUeXQF{bU^dP0_9oJVR^({o@_IARdm#;yn-c(;`CXKISlUyw}&Kw(=B_2t#DOvucVb6f9+vNFOx62)?Mtc}fjZN6Q8>fzTwAbNyE2f>Z@NhOlcy^9Hv~$8|GE!e3o1hPSfkJqiS7Tu{!Lb&256KP? z1Mkd++XDm3i?IC^OXof3QH*4E;BQeafqjgJkvQcg`(#)lM*}pV)P#MeVK|O2(ggy0 zF<#ZF^m50Cexw1Z=sf$l09>67k~O7%=XywZj1?SDR2ntWp!tp=-uJ7+P~Uy?5A=pR zPb)q|{)y|t!!d$l)FlFkpHVRjm`$eZ8=E|sas$ywyW z8SlwjwkAIFOosP(zl3!VWvB{~YC?ak>XKu~ep|fa0+#OGoM_$}`BGR(+NiF7&_tq$LwkmPxlp2- zRp{1Bo<4zvgBYP)n>stuvDy9Xe^Md~x*V2yPy1Rz?RP6i!;M~zi=+?Q$HRJqN&u;U z`#ey=)(!QK%V_jdpEm1>?YUL6c|4(&#lRX` zAMp+>-B>UK=+Qg6cR<)^9e~2^2An9%enL|?vUG@XyMZuJ*fcgF`%AI1h$_RWS<%26 z1q_o}V(DHDNN-_=n2jA#eNnjy@>`^Dg^+x`S`#lga&ce2P3;(qx@kK&EmrJS?Bt{Ss@)@VY0FdXUrVp;h-A2Ak802($o1n%F3{Q1XQu&Wfg4VOa6;a`o!xMj2?SrA#_6=D00@95L{hcsQ;2D$S zFG3K*#v1Y>)}50CEB3(%u=8ewG`DEiZm-Y#KgT9oINc-TTy=_EC$CQW&v*GR$^1{l zk7F(-p}e^T$u+hcq>VF5Ud(Xny)yY>VQmxhN)K7wnm(tToUJ#L2Fwc0dpwFCREBMH zpbXq#X+YKfIup+L-LaeEX={l zwiY6%j5H{=KEuoyZ)s}C{Ty_Ihm#c7E&39Dm+JZGIhb`G)lC4$K^DD(YP_U@nfBmL z_1<;rN}?tq2z-_pkL0Z)(c(RS;N6zmG|I(1RmP zBUyD7&5eROyX`40X^?ohOmd-9Aes)ryi3_r4ybK)~4J^(VAp=a@S^|!b z5v*g^AOjKdq(M9Z0m%xcCS8Tm5|KgImViFRUA+(UD~&wdVpHZU%1fymk$cDbk>`R7 z(gn$uP;eJH{@|H_3R;i0W2E%@dHi9OLF?a_l}f_G#rK#eZd_fYBhJMV+f@=<+a>fF2MDCT7f5`THeF zW+{TbrqGkLhZr=baAA}gpLv#Ywi0&>c5||Y%55NE2a#mRa-fE?14G^@X#6zcO@0VqV+vC3G1iC2db#J$Hdxf^c?P8>_cu(x$2c{5XC87p0sR)#>{{L% zcH$R5;at01tK8m96FEr1*urFxL@ilRY0!2gs}$4KekL^}aqlx;Y)6+cHDw3AIhy6} zia>J-B<(wfbnLDk8|@1u@B4xnLa&;7Xrs{Fb1Hy4K|TqOxww*u%QzkNtQJGF{Jtz(i_NEQx=)s8ugwcj}9nABcRElk_fh> zWH@l&x@4qUNB&PMo#iD*s@gP|f-}WXU(jz> zZLgf`E0Wm6H2YL-C7wcCa<)XfV)l#$Tf;%rV4x-S*y?t^k;M|B1XkVw+cRfFuoucH z7~9fY;GtnhmQxWcOH3MYm{fN<-_k@q(>-g_JJf$l^N;9)GgU#i6L0>UPd!qqNGDLZ zOxIA$7p0Uhno}#s`}-E5+(oL*;N3NFYbE3qswd<^)Xm6KuT(38RsNPoI0vNRWZPpg z1cv_3C~TQk#X5Zf{Ty|Cp)q&$^*o1jvz*y!Qhqjyhf$#34SG2iqDf&LQY;_u_anlt z0d&aobD;iWE|uwlawTQTqPL9xM?KlSSZ0k>xfD{?0T3T@F%K?(j`I)0u@dK!1ry=@>@3(CT(`3r2lZ$TE@2j;9`@#{Fp^d82bnTN5CP2?dyS zkK^v;Eq(w^TmPO;3Lx%mh-PVysFsq<&8IE47CD zSHtITZD)!d-`op7&QLFu&6mlu=po*pw?Npa+zA(5uKqPnHkcCe;2$m6$JGgjGjY~|V9rgbg5})D1^EMM z84>>NZmXo+Jg<*>hoXI(p&a(O@O&>q@!BsoeLXPpOb$p#x6Me;!UN@jS$GwK+NHcc z)NF{j4+j|@%s*zKP2OCDm}bawc>{J7#=n~5=Jjwpln5ZP;Z)?Ocx7xJCTD`nn%?Sc zX_$;$Ro~TR&huK4RJ1Su#xfj;oYap4GdR*H9cjwQ$Ze_KG5q8MY!s z9)WgfjpB*Wxp3#;M$zh_>2{SAZ-v0e0T*?prlgw^3A@oaefOQ4J}$=e`Ro2Xj~~Pb z7ZZsSBB2r?LZlr7&8^)#=`Ks7~s7&Y&`)V^YZZ*C8Si|wkfO0?X|StUX`^uawF|5 z3rO+>3+_`V6}Wp~m+;tj2*EuAZl;BUBqDmO+OqZj-2g_KnOW6WTww|mTm@@K{IUez zOT-LF%|gY>f5@a56~wY7hUGFk%F%>I;ulGE8f3@=i}{gL<6K`mX--3;JO2Mp+I+D0 z>2R^2G7P&X>OWB$HY{7r?%ENkpe-84*cJ7>o&}k=L8n;CQ_cy6^{i&fRYkMhbR(g; zElY8#b8%c4+GsPOSlmNvO+$OQ!V%HC?knM||DV?t7m|>6lzRLLl#R#UxOg}$DOFkM z+1FT>49G2D7Pft5X6e3D!Er;l?(6D2!)L?;v;*EFLeN=IA~!{8i8BUF zr@j2|aff5Ar0jRy2PfRA@WehI2~{$6O^`ZOQz? zzlzoyL7)VMXFNaTTX&B!`a^6LAE6_*B^7+pr&pQ@icBJYJ~W`BKqV$fuGn$obdMrUeV15BefBOle|lB(~gTUz;aZS(p{po1F1^OXeX7p9I$GTod_ z-S$DpZh$DueMmFFp%r1ZdzJP1_L$Y>%zQBYP3U7dT)rNgx=O+fhrkYI1?Bt6pbX?R zD@5v5ZP1sW+}FaMs9my$`*Ma9fT`1tBFvC07S1o58vza80ErA(XAyoU%DqOkyI(no zaP7-telzEW<;5OXO*jN7kCE3!kDS-D+8@aA5?P;(|dW%SJv_Z8>ed%vBj>l)RO0Lsw@SF zM(AVzar~(6s(b7nYlj@wuEL-2umw3X^;Iz3j1sPXlyYYb|1NtpmV2J>Jv??-d3Hp& zF9gTwuZ&*Z@Ud)l9f|;$QB$^tpkvr+R$j?2gRG>Iw<;ij3Lm$cUvUQ(>KS;;@YElR z&Ku&iJyzWU)J+Aa&)*B44)%mRVY)^L0tFS!V;6tyDvSj8dW(8|bw98l|BF)V#Q6;B zeDw13Za5&sGKQT|yqtzxmSku{ZEWo!&z8FpGZC51I)~GNG??Jp=7>XJi!`qX7)x#d z#JU94$Y>9>VE!hvp-UVP?IyMBghM zILKQKCi)Odm}Sjg!2;EG`baSo(-u=dtF8eyJrbw0M|H~UIQe+U)fY#OBUZTrn(wd z`M7h7*72Rp7Gv%wWu67f0eG)qz5)!MPP^?GzXO33_D2Ylp(hklZv3B#%EuWb&>Dgce@IL~-tYP6C2D+DUi{=$nN2NRT0&GMvNJ|($S z^l;cZwg|5lLP~i>Nv$Fky!NY)Myt`38p-J_?zs;dM}dE|_&7uH<-8BX4X0_S$bJlb zOe~L*cCSJM$P!sauA5B%1x0-u-EbToe%ME}s>F7WB7hfiYz%dY(iYzQt|kS;n^cy&yBHNfk{he7Ov=M(Ta1bp_&8x>O;B&h=T3b5+;PkTRo(EKg^6p zoWs4ao-bZnK(gKe4=~%{G0a0erxUq4&vrWVE&c$?YCER>oqmpc%1D6rr~#8WsO?d@ zGF=vPG9tO|(?@QfiU8|(SKZ3CNJB3HJ{_vG^Uq&-JZoecj3{c8x)7jj1o+fNQ?=W( z!HqOZSnTNg99XoWOs8tr=5Un@X}?_9-VLdc8E=XiJq_3Te%2MXD{`7y>v-}|N8*Bg zXufNUA||naGI5=d#H(L9IYao2CInZ>phm(kw`O<}Ky#HY*eW$UB_-U#Ur!b;51U#h z7xpw7^LnHlKIFmjcu1jX1_OQUdh!ue72!exibew~1u%JZYH~WLkK%iah+a)S-H(7%z1-nBV;!!f1$|YR%hO)E40syoI<}XqPGl(6&vXdZjea$ z(LMg&ON=3gSe3Q=sM?6%A~ah9Dh)z2AJ9%#D4uAyF++f!Flgu`tqJ->fhqwt-o{t= zj|s{xfxkp5gA1%qN?Zq%xSiu;Uaa-4KMnym*5Ud#TM=sl|8&J2IhQ6rk4zsCBQVinjW?m1Z^x7ou$h$h)c)LA}Y z_v+f;zXN|@D>Tg(a%fXuM;P{-T)vk+C5`YT-e12Z&+jMd&q!1L2Yp;9_?vC{z}zLF zm>oO^qLOMD;<6Mm#J`TxxFO^M&~>Kz|+*fe{<5@~L9jdCR% zcU0g4yw{pY&p7NerynoM2+-l61Eopsz`S1Md+p{y&HvjXEgKRSwtydeD|vGVIE=@g z`t`nQ!c)aC7N9=g`DWi|Z7@{IH9stM-+%JZ0=k+M#R?!@ppXLENRg!8j`g8-<9 z)!y92%^LPj@4zCgYRI-h6g7O^C-7z;oHZ7TvV{FQEnRD}fGRe?|c^a;|uq}r;SQc;D ztgS9iZ$2+?=YpBgD$cu=n2W84spd3i>B#4TKnakAcj48O_@5Y+)t#Hs40Gte3Tto| zZ8dT)4%{AuKl%HXQ74A_TDBajG^81y$;d*Yj!|G=PH!%|DNuE1+)j42LuZJq9PI*E z4Sri;={Jz)FD1r=)BG{AK@2ogpm55HQ;8(c#;cS=XBDYH@+X`%^3UqAg+)WXU-+YM z5y-#1i*=%o;8&OyN>EE=ZU8Jb;Wrcv>aZ(>iu?-Xxx5_o^Ak!B^IO+?zZZz~(fnqiamYewCXmxV}IBBfyqhn@~6Xxw zWK~H>DwYhZKH|`&wubx{z>LLi` zhw9HFmY+mL-tZT|+xSDN6S6Goo@zZ$<#Ev6sufOVNzj*CJ;0>k`otgF_u{RmSN{H|$N^hBF|qY^s8Drm4SDiobS%NbLF(a1i(v zw4_?s@ThEwXWTsqPcupPk%d$d%7mG{mGLCw3=n<)j9G?sxp1Z;!dE9c=i}W`IBW^D zpUHguAbSAfU@7xdWKA{5oGeAqAPc7MIiQHDBgdrU5q4-}a`RNSb3~*&#po}4pu~^5 z2w;NDPg9U8+x+fDDRZM562IvOO-k0?Hj+Cw%^=MQ0=|NKFy%h@=XI}x?x=N2h)IWj z_aV|@KeHpDEGb6hmW^wJn+em zz*_22La~&GMfVY70u}czXwFaIVe7r=3jK`)!J|R=O1b4$iM{N$W+B+CbV-ck88j-;%6)pHuWWc9_({IEGN?; zvpM2s(Oo@5t*qz5{*&v^&4WUZd+PS|1!IVhhbfSy|I(v`R62PVm%UH9h^dQ5T=JiJ zy(lko6Q_2S0uJVzGx84NSku7>YEE^zHI?bb7aa?B1(p~f&L9Q(q`V$0*Z}P)VGeR#*#G)ClaZ)9E zeil=_l8Ye}_ua-ZF{5;oG_KLK08EY9zD$su-ZJOF8NSY zpQ{Df>-VkX5-w_z%&gOu7EA<&vk=~O)44a8de>LdBBH}!S?(p zT|)Br7}^#Mm{;oSCup#uFPoP1f_)1oX>9)5(P<9A)`zAXaa-JdCAtE;v$-u7p(=o>5XRZsXNMo=os6ekdhzIg5qy5jYy7>=c8w5Zd0| zD-Y}LmN{*y+Dz2dbY&Wn)w=8ItM3^0C~r4|3jOV`;J2J!6mS8Q+9!BUSoh-O&~xf0qqYN3U6 zL$1|bKHM|Os>m5wc071Ytfp6*JjlI3`>@j5>+3;qz4qXfl=YLS45w~`dzu+Icbj=F zm~o7Be#@0u7Iu0z8q;cz*NMVfGj}qd?(G~wC>uN+B*~6XOG#|obgK7mVlTOQj{k{> zCmycTSe!=?$qnj^XgP~|X%wG}i|~TKp79oXLcy-u@rEi$KoMh2VOYth?I%i|;1YI^ z=C0w<)d9)6dN%p@n3e4%F0(hF`Q{>(I{cJhxh**m3QgTj4@VkczQ#0&BsD>ks_Koe zn4Ua-*C8=z`%5o1fi^zdRH{*wmf0mVo=t4JJsvA1MrdJ)P5kL$u2!KZ($LHztrfL^ zi`SN<4aK*?ZnxT~3oO^(Blm>z+cnn>g@RAZA#IOIBq>dRd4+1x#vNkd@Y3g|;d#lz ziO?AkBDRiwxtk{%>NOH?>vYW#%(;tq{6pCZ5b1$>zz?rjGSgDwe22vuWMr=yX?!TE z2=N^fIA!%NH?efVh}z%`Jwaoiav8C18XoE={)EEA0xsWNsv(0u-Z*MN>KXP`$!CdP zqdGD|l+2AmuXW^wL)n`8Twuyzjpi$#?X)*qV6TkE7|@cvThv|-hBek0Qdkz3RtOWl z%_Dw=nv?8AiGVYJ*u)nG_Mj#=iml+Iw-p=No&u(PC08w)_n%xk%|b^s>;DQy?Ut-# z!^KKY`*v|?J~zw99_s#w55Cc5vR;viT4=MR$soErI%Zo#rRCr4K90)6K1I6p=h>0$ z!aCL{Eaq8B5TzDp_I6ySJ;^T+r0(jP5Y8!xiP`1&g+JlBX=6oPO^u0;|K63QONu9W zdO>t_8SWD7{G=7Jg4KEB8OFc{1wY$ZUWZO%Sdfs;$ZoKB;|)H@NF-@KL1kr5MfVVI z!X?yi8d%Q>>q0TPlwIb}^^|tQc0Vb|N>y&7_1%5G3#L4HJ2+p!jSAG_==NTq*Xe+T zjNhDgCJ$VSFJe&~X)4+t$`MGf#ZN!*%OPJB5_TlFmFo*}T>1B^{cX~)V;Oe_&dSgL z8+tp8M#eK!Eut&|mP@|ibbSV_X6H(yf!y2MPfI}97x9o@U(Fzdu+&}(ndklN_5xEk zbGH8+OWDptR(#-MLLCMTARcefBX)#)rKb?RYw)D>D#JQNN_iOO=|%U$BW7hnk)dc_ z5AS6A!*f1*Tdu;3mG(kH1tfrO6OPX&Lp5}yxj#}@{HMn=`ZLi?Or~|Cyfj69(=S2I zR^hq$T7>`A@OeY%UU{V8XU>;w%)^aP5?Ro=hC8mzfArdf<6sZI>|pkeEYeEV&%rts zA=nRtP#q3la@?SR$>6XvM(I^WOFxHK7(9zb<7RgmiGH7K_PpZHx6z77MbjR_c& zn$bD~358cc+qDvIanfk1OX8DJ7I-eD=H#1{z^9_mTPj*3C$CKgkB8TAdxg*J8nkKd z-bGty$jd*M<*PX&8O_;e8<;~4!5)p?ev@d~DFg$8|3xf)>@2xk2K*+pS|opV>?(kK z`QrRzf8%?Z06QnPf@0|q+HKE?Dul7Dsg@M^qDxMEz&q=uh+R-qC&HdGZiCrJ8~94e zS}Gwki;G{EM&=%aBD&HZ$?Uoz}o`ifbwP-`}{-7))&e&~IN@ zhFqkeqHuLXvxtrz`*75ZEuT8Zbs^<&xzvwrAJ-}J&p^cD`VFyI8(!yueBq|9{Eb?t z5tG6~36W7Wl?l}*hZ9x|+fG5U^c=>QDGz@CfSyrAxgD2nkL-N`I_|0-I6Nc8O&e@@ z$t>{)3FD-vKsx3`c&Dov(@WWX7i{wXX(jWvSzLV6AN4SJBt>7%#meJQQyE8WUKcM; zGi>wpqcx6(2Kl$@fZt7%gC6*qm9!2IR9mx=x4A_eme=f>k%JW|!lTNs~mhPijPFWa!ZDfwnzlD$(S|JUS3aVy zB?&((Fms@6gL}tzA*Of|h7zW6=&albyrSEmd>nya}6#pY@{J* z%CW^=jm5S|*9Xn2^C(B+mzgC0X8X?5x!3zhpO4h|Ba~P7&D#3&Yl)G75cYAcUeVUu z0ic4Q0nMv>Km>6uWG-$7swrCRFemNK{iggj zLZjv$-wG}TDROB->jztxtH)glF7g5IKD+r!szfzZkI772)*Kzs{!zA^8@hF}9~Nxt zSp^CWJHPlWUzycvEAfft2`a&vxZtFVS$u4E>@teHANERHkMnD;L|jgP&7a!)m!ZQ_CcEq zws8PM7Iey}+>D2$lcmC-(}-`?!cvM}+a&su?j5_5XoWl;)k_Agqq3j8DMzkm=oVi! z5FH6PMgb31qyPlr0Vfh}bH$wG6CWbf0A*zer{&CFL4OC>oLTbhAJn`d3BE|&`N`9E zvpd+6A?Pr#m|cGQU0=#(Xq0UJXMZet2C}CQZa(#k3vY;`leSlbMCUxOZKRtEFBwHM zh3lLWf@=4$+73ucq#^vMUb!NxGU?DJcR0fCds0O;fc{ex1W*8GMj#d31-trAi`Usu z>dgQKh60B<)21`2V4|C)70Zd*xm=@ZwxdftA^O9a_4$?epXxFZz|F21_(JVRWw zJE}YwKts0~CQ$>NsfM#TaPbK0YcJcSKhN@UGZ4eNIKYVN5 zHqH}F_ojJ{7T0zr-54{kN&QA}Rwf-We7B%YdIu5-Qk^&?l~}&7;O*8QrAHB!862;f4IwZjoH3)c~H~s39xt0UrNx5Ce`NS};Uw?PH;7?AU zFRY)o5Y+upV!_Z#Tv@Z>7v>tsOvN~OU}7N1on$J#!z7razhrq_x<1bNRa)$aGh`tv zxxJcl5pjg#b!u|es^kBM${)0CM_Me%EdX_UryaT(#S|Yye3k7n@5%3u?9UvDx@>hR z68rA`>QQm)e`^wcNoq-+;0Vp10`? z=`yH=q|=s(W?`*Ee}7YoI^V~(U$ein{A5s6Wrq#vdJS_ED7l5#GuX58GAsaW+bLvl zfMjo5+DI@H1`1W0&ES*cC~isQ1A$=dLI8C)0w6lTA=VjI0FoQ>hbjq3Y826&tJx~o zVa9vfx8?Z~H!KiLN%IBE_N>{M^3HG?+7k2Ty5e%!(hkmJn!?s41GTWf0HS;2Mf@_a zPTtcwq(Q-JTybX+;KCm;@_tg8?IYm7PRqi^bnNcjq(OSjPzVLknQl|35=b}b#{;&O ze%@*HJXRx{3*ywt`{AwpXVHbgdBJ?e@Cn{DAvj7yJWdk`(JbbQlSr)|Tcxz|a03eA z1yd`L18v*92?bTjvD>Af7Bf@5lZ8Qo&2`q&^95YnL<*-f(%twchEgF=W$x)`5md2R zlL1(sS2$P8zj0K1lf=Jh#rUi{EI4_#eA(u zVGS4lr$V9}PlaT2v{o*i**>+9ss!(Jg(SeT`F++-&PvjDMN_C-pk+uu<^O)q;7%5_ zXIn*O;)Fy$3MoF<@TY8#L5hE8$^JeTH-~UqAoBc-MvPB)8Ik^Ke&?)=& z(mIVGF;>mvp%bk@&;8a@G&MC`-y!N0bz)&cb_TwQ!T*1RThv??Y?pHRiWi}vI#x40 zv_8HW=Z{M)y&Sjhpf_4;J!i-LBGXe_oGOT zi_kx8=N)*W<^etl!S;quEn6bZ`czdHw4g=?+m4eH7WhPW%7Ffm>l%5563a9#(6DGN zLqR%W=GQcSt!(!7Qlcpu=?AriyO=b%QG})g&oXAEgoIr*zFu`d<6=-Tz5Y9R7O7q5 zg=sWdhnYi|(dh(z<)$Q9Tv(r=vvg`c;~m_!)rEs>Q$R2n`|79 z;#pETL1yh{0)?eI%#?H9MG7w2IoW@7q%K!V4}hI+$jD?gu^ii@|G{U}5St83Ge zq5t;NCF41BMz&XyxHGP4-}vz^DvKRBqMoi~!;%uWiaTCK&*MN*)sZx{AdCBjh8arl ziHyHx8k`6B^F4QKaX6q?8RWr~vlNGcJcP?m*e>r(8VH`00o7eGgyhj~Wi zELnCYFF0H%Oti2NCb3t7-k*^Qldeg&NFR_QNETyipT9qCCGZD#-3=X^42S7$E(9=}yxW7c4^XL9g^@ zcyy|DH9_@1UwCc8 zTrzQ8%v;U@@c!|&zzUp!H&@<@^5j8&`C~;g-S-WO13X!pKZvvnq;T)Qn~u%5GlBp$ zxHnWEhiEILAYv&YeG4!~qa%-XcFJ~Y(L$~v*7t_=gS-(1hFFfuAjTui4+{DC;5>v#-?OPkIwA^3L$9^QfdKz%M zBYba=a%g9{0ov`zERtFXBhYzYJzau%kjhLVzWl!Q5$T6B%bX7Nw|}gL1lbx2Q)zf+|85RcL92{+K)ZRLINP8fA{=m&YMUVBE~X#EfhWmnNo;%%UEqM=9xL?AJtO z{J)0qp)XTw$2Jr2E@YxMz0pax8er}bcSVP+uf^4!kv&ezduCftEZ4&!)68e_Yb7yM zOR`5G`K^Q*K!_;Kg6ht^PxPO>HOR)C+Dsz|Nh?IGiXD-ib!o=*$Ec^gcFXS$LSKn` zjSvEQ0_E}rPcMIl%Sw-IKX=J2R4$Wa3Rtx2f^0_7-k4tXRB6zK#`% zLq%efl{@pnsA+O!n?V{NjWr~evUq|&rU=lR0qls3E4p?3a$Rc1Srs$XGr!D*@mJAN zIlDHmxUx7lxGa+c_00BMtfRD&_CLHVROHJ+iy7c1vS#s0iCx@X4A-EzNPx}xZk9Ri zChhgKB{zQ`0)jbRMFJYv!V#ocC3F^X&EVo3-n?O-ktxQr&p=V;|C+@<92OfN3f6dT zDvMqBEb|=0lsbJu-^RS2((~ zc!Lr{MDuB zo9iA6=HLKk7SQ)`VdWB0Yz8jC7+7nsp9S16;XQ+q_?VK3=cmouLML zb*W34Km0CfbH(ft2wq)I+=EM}snl&o0CDg0nF4A# r==&4I@E$V`TtU}6%u&ceZI``E%sS9u9<_LPrNP|3CWb*Q0MM{J>iL!k diff --git a/cmac/tests/data/cavp_aes128_large.blb b/cmac/tests/data/cavp_aes128_large.blb new file mode 100644 index 0000000000000000000000000000000000000000..669606f91905b259e4da83dfbcab42ab17d56c98 GIT binary patch literal 1049065 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 z±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≫3obm#j{EtREw;GHd3tiGY_5XHGayd)JS% zP>3ffb;+1{+tUcZe!=n}N9rcEF>evetPnp=KSUmZaEJx-==XH6(;J?&h65y}WR)br z0w!`5iAW{yT;o=k`-mhuC;|H?NG%sW3kyS}PZa08Le4=`$DZ>W9NoTKxi5|6dl0op z0kC^TR{__D(GGWzI*teLF1fI|#aiArawbRHDoiPO$W79-unuOmvMk*rGLK78hC*bq zpn*S;?G#!CeB9q7W2_}_Us`&Wx)mT_a`=_rm*5xc^?PX2^P7`sD1O1%DEQd3yz&-rU z92nmS0^w4JKSUpUiY90husG?a?#zBQp6KNf7n#J^&Wi4*!PVl66&aN{{mpUy-_)J> zvQdABtGs{y7&Z={j2Y+0Jk*tCsrELoe~5k>y`cYp7c-}$nJbFhjJe?oo$XW4JcM-p zLjjCT*#DVMl*N~%s%q`czLFCs6up$F1{C@Nw|t++M8R%eWsfnYC_{PnUj@pDotcc1IZTvyI6^e zx7YR0l7nyBvn9^WZ&ozx`jP}W8i9gEtXL5nk+A`i5zMl6DW!_wC#qRtGhxuqoh^T zlG6_m;vl=6&*34h5CTuExmcMiU^3qxelZS68CvP{plS-_7ilAobApP7ND}ooq5p!{ zFH8EGr|DKDWzT{|RZL>x6Pyz*QMz*>dUfL}l*UURYhhn@?1~|{&nl-fc_JU~Am0$- zFfQX}?NXuZT2=n)TAP;~7QJ}so|NGt)00Z_gj%E$*NNgi>(aR7yHlbfMj|Ql?I~iQ z95lCmEJ*3sh&NU!4{>;ox*e~3e`r9ibse2zICtm8k2A5WOy~!Mbepb=ppLFVqgoCc zZ9U(1FtvQr!A=iAK)6>F`y8p^kgzqRQi_W{?y_DePkM)9z7kBVPFLgkckD7D0gTz! zBc5{E?Ftud<4h$D>&HM^XgYcEb1nxCF;l(3;w!SL4lhh7>(B^QeG9)g0X``> zj5?py@R=o=-%_VeQ;LIYEUie<8@|1|!0RUQ4`sqX_->dcN3?X($=xhXuwy6kIHDjV zi!UfZ;%w^A?pZSdcCE5kK_>j4HXYI>!d<5*dNo~(0?bg&Ewz<9Wy6GIP9Jm5rkBO% za5*GCQ6UQRI**2JM?F1C=kKqaK1;h&$LnSEKC#%8y;`RMC01BHzt1|8W~k-V1*MwpQZ~IoUO0!f%hXKWF;f6*zcc&pCVKg~vPxwjy0+Kr zJJj0*z!UUyh0oxO+an%l&i}5F26`9)>uIk}4KNoU!q^4k5n@Kc&RYY~2eCtqpT)6+ zIl-V#S1e4#!@Oc~FKfd?7|ex+@Sr;rd!={9dajKvhxnO?K)l23rvbsq$+Vu2p8C41 zF~t+R0H(tCrsB!=x5o>V>_D6?fT%kU+1wp2Yn1I8+Vc=EUR*5;Y>4eflhyxSq~T!h z6Lt-&>e$yX6wunRK!`DCCiK_#HqLGa z#4Chz_ureGxO^QmucW>^cC5`TF)cE58A@w?YjKt1w|Zzi2ZO==$(`rI`Z-+-|UJF zWA*Q!rGb(hIOjv93UBrCL#)C2>MNriPHg8wnpOGejfn5T`>S*#WROwGs2H(5436u)2Ra#aN=n5?pK9u zQUfxI#Dj6$@!#;=uc+3s-$T3^n1uMEf`1|zf11%nk>{q>__2(ZnpHjNs8b1bf2GqI z%urk;^f<)Hvp7x719D@7Kjhi^h&^_7Xzs8ZwS%|txHPo{kGE9o&{=|PZ%uK1;zZ$a zfVHJ?)rN`-NVq*;xr8>HQ4A0+mRo*>w)DEKR0QUJ)OSdM$L22uyd*yd|{V5Vdw z=)yCQS(2dlTPZ&+zAW+_8Rf5Xu#<$Bn*`Y6C1&#sb6dgXW=qmV!TzR3k7_8ezsY#D z67TKbH``lAG>nl32Novqjr4Yaq@d>yjA3y~lw@7w@()ah@{)WHQ@=<0?HlYHm^G4* zN;Zn}f4bGu-rnY98Jehe6;i{cOQ#&rZj+kLO|>vu{OK50E*xAj=3kqkPdN&f=R&!0 z?M095W>s=TA5`Ru?hdsFU~Rc$r?6iGw1OQ{){dV1dl691-n=Ll5$zU zDnwMhq`+z*%!z-?QLR5n-!ozYi1RMBXsbRViB5wD1fPgbY5)3#VS{Iml1fIH!wxu3 zLHLbLfw>CY2G;4qafp1W^wDmpwuz6hparS&ZyyF9TR}1+_P+xTSZdc*d14(r-YXZ2 zcmv&u$#bSBNF_sj2lec6lS)6n8>fa9)qOdfo)Nu`r3eYIgw4;HPNs#u%KtxWZF$sC?H=7wu zm^VTfsP=w6>RArg3Q~KMx12huWWl}F)ZC7vsQx*Jii3Y9;?ut>>uOlss?tuh$AXAs& zvt4V=^vliVF~tSYXo-o|z22Xrm6 z0j^6lD`V5`P(*x1haR_qS7+?+9~TE>wYf9rPQm4`o**4dKo;pBS4S!tb`qMJy&ev> zMK$@Mzg9A6R|WUq-{vvfDT?``w254xi_u$LYdtoqBx>s+LB{#d>*;AM3n>pxuV@Zh zuQ8fJkOTs)sO{}DgInXvhAg0ShGZV0^PeT8 zkny%$cQZ=WuiuE2NY$a2lra$fh#(+#Wb>~1mvS(*+;jFxs;jU!%fm62O0IGUlRMh% z*5=5MJPo~5o*%#h#1ucFR`91aR!XpLQB#H18;XJrKzD~5>yiU z$o%sO$GOmUuDj(WAt#t?Z6Zd-Zz@8|vaK6m*VG;=I-nd$(m8HJS%Wn{t?}k`cb*5} z3Ys%Lj)7z`T~l(!t$)@Sa6z@-wuJ=rsTpfTBAlqV6<}#)E>Us-Cycsv?om41uEM)-;Ld^?e8teS&wa$7$ zd`R2!C_^t{-&lbBpPpE_;J}2vbyFB$v}UtW)>;G=q4bTnM6jp3f>_5?64w9MMn}kQ z>`?v@a_L=SzN03$rXN&?ZEeP1n*r~2;NFuFvag3iI25_j zXF70mYp&EnNOQ1m!BTfHd2xjRSSP3mFc06@pj%;EIcwnx;GYp+b7^Ibu%;PqQZ9A9 ze5p`{Tcy+42=lQi=?<8~CA@+13HcheDr;yM=Oo(W5=@MlcjJVq_d>8gi0oG!_r} ztZfQJR|=kq#zu`0ZP$il1f`?8F4;D>SvJK}<*ZW~h$`Wd@wGJotGC)tMVV+wu#*M| z=))|q)_tyDcH{P4HMNkLooek?Gk;(qpbu>Z5Tru`*iDDMTkunIF5-VLdbJ-zqESrq zCPpZ4$YC4>?S5pHMV!t>t~b7QR?>F%Ak&m~N|W3_Otv^81GxRI4#{w(dE1GwnECfn zHritu@V5CJ+gK%|ZFQO;nmn0jJuYw>x-day;ob!779-CBuLe~dp2x0*P%Bnb)f9J` zKvZkqQNw)BQIPL2KGZ@OC~dJ`+X??pzJYR~`)MGp;N@x9hP}m7u(ZGg^%g?IB9Roz z+C`vee;)YsR$>|n<%V4ln0 zS@1D(gEUeU zY`I9~A!Q@{Bgg=e9_yA95#)1Xu&9VW2O;PHUx3YrW!2nviQKB4r5b*;-ziy7&`~oE z=2(an2AUJQc3j$q`(0{SKCWcrbi_DfKFl$T&OWlgOtrs-c>caNkZynaba{L72!UC* z+U&Ok1$ic~Rn&Igt7tWMqjYlEbz#QI8B><7ul|w(9lL=5`r1LGt2znM%NX+0(IvJC z?Ay28G7v-a`pg!phFBoL=9h_27@6||bZ-BGNH`KPzl2#E2ipoNvXkwZUF#gGkXQ$t z<{7%zZV_W^P}UB(v<9?p-`aG!pZy@U>Yn>3!oO_bdoGDqx?i8Po1$YdwnRu9mo7}#@OSlgqHoJ2m=z31QHw+*SQ7# zY)7#&U-&=gV#bUV;Dh-l;3aSLD`BAYv3rlNDO^%=_~jNyRD)$BsRN{8JE-7q4tvVT z1LOZ9Lv@Yl;0?3tx*q9Nphh6vxF$)AF4QM+hVsffikSiGWZkkwpqCSM&_ zItrq78vj9BWOOP9Ykuuo+$TKDqQUZC26|P~8!(s{S%#$vh&LHm;Hrf zrqxtmnG47T-P*?hM%ZMi6jFxN8{jeqAw3P^h*lisEuqg-kFY**GzPNuNGWH#i20DY zUO${QO^LWQkT#V#{>^J6F_S)i=UiamsG&Egs?$L3@$Xc+x>G818qgk^;{Y(Y$JtPn zz=PSUuV-7?Ly4VS92esIFhXpCZcIOOqT(m`nXUXAg(M|8qNH228p5yXC*aRwcm9P; z)YE_~1RPh)?lsGM|K?41%zwb6`6qvVS#hFORxo|Il#OaC(N@VE5Sc_B_HtNDbRiH8 zre72U`}5;Imw;WZ^`V5=(Kmz9MFQ|=GH*_t;jz|Q>JxWiRgD{j0F^8iKsQ#N%V>|$ z)|geodWJVtTv(U!jq9#|uV~SaS{U-zzIkcliIMdN3xfTZmtP!OEk4~mSB}F(QLBx| zY_PZ6w2ed!(OJ7!E9r1dQlSKvoQf}^5T(7Ef`8YP00x8!ZJTh2Y-sDNfb=v=arF4` z@nsf^f7hjGj0`wl+`(W;FwAqhB4>>3P|VZ%yaNAFbM_fuZOwv~wRty<$%<5iL`T;O zy8fpD5N`=A=Ba zhLte7_T{04g1+FXw328?cds5ld=uBC-GLi!0n{mPzmz(O#>WaBJPDP?rQaS%2T69r zOO|^r=X~G(x@apcHxmO~##XCPXFtlLnPhIgdUsI(FB@A!hW2NI+6YS1I6D!XzdMTr zO@|1lSjk_G8DlnH@JfBp1Q$GDDqD|A2s7@odL6PNGz!%^skQo}EHbS{Rm$tSrv~K$ zZwdi;?<67wyrn6VW$?VjRnSJ{`wu=HC`7I5xa{iAbiAlWH#Rf;P0Lpv&o+RV3O23rz( zimtiggMUyxOVFXgo`2z7`x-PbP4sj}%Xuz=9lq|-z+JtmtAFRSGdcpoEFLQeQ3{iZ z=0rQso5}m&wBpHaXZScwg{eO&T^u}k-jO)1`#f#1R8s|u5@sc467MRuM=CS1Stj2F zk{npc`vH)&!dJ?T-$-5J_w}^>fee}yCz!OrZyryun&n-e&6T->ZUnOk(M-rZ6d|#U zM`57v(Cx-y4!9VTJsnfwnsz;e$LcN#aE8zUFOMVptrx_v3(szRfE>XULv2ELtIMPw zl(I&61|R&I5$X~$`&N#;p69mt3v<$)b9^&MNWFBpp926r**?^5g4l-`c}0hRQQW1# z_~q1xO6wXu7+knF%043N&$$MZw)qH?p8y(kC{$nba^>IMHh6DisFB2Sh1>Q zFb^P>B-JCrJO7!@7r4lB)wfhbOng*875a|1e4A-8E@+l3 z0r5D=*PiRk#6ShSbL$*z#R$luyr!uNm=UaWKcJc);qGj) zmiZ3A$BZIjl~rrhipXL_d~P2oz2&oq{0}r@iYFI&QQt?BydDbo2dXS z1D)WM^Oo8&uh#o;PbjRU9=kP%K`?*mnerZ^>c)=DJfpoZfy2uEdHM~&(??g3m8pA) zy)zAcC}U~mw6OOcqGGPnKBm{S!QvEfc1ED#9HiKVjDhSxwLf8+=+N}6s_vWU@&HZ?wlf!Jccb(ePa0xKAaemN#sLD z$;qHeu!%+NRwwvqV!t@h?iYeX=620yvAI_f6r-a_Q+2{`nZDDunRUk7c12|n;3$+i zfj8G$m%$cL;+mbnz_n*im-USan`Bb zDzi5LnH(K3rEC<^XkxRm*f2G#rp|q+mMfuA{qv6U9MOfGu$<2V@xS>Fa*o&2NZQB5Zo)bvXw7lFCpLxBEr+UF@oBVY zg}dA4cHz5=^k1I~GN%5F5G_Vo_{7=U1twL+Yt0#s6AA?+g;apw3*o@C6LUtZ)^(?n zH%5~4?$r-PcDu4B0bF1%ktDfEECJU>!)HhczK;?Q{t=UKEr zz6~u}8!T!J0=qShA-+gAvzAzbq>WNC_ORv8W8FYjL>wJ1u`>Q$>U6gJ_1Y}xiBw#> zD`B4dm)$FoVH(|h+%q=DJDsGr_WuJ)a71L?*6s}~O0B_wK`=oiDLWDwQ2K!i0hQ%~ z@B}1X*Clv;VheM=Ntr<_yHGB217>HHW*7zINk zP6;+bQ?p4K;1f{C%eHz{Nf0^o4iJtxwfBaIVQB@*rNqKxp|X=`Zu;vCy_}$2x*YN? zHy+AT1~Werrt@CeBTOqTHyPvPwf2ORCsU71w#W^EOQ_IG^x6B;iQ~lrk4AZiToJ+b ze6S@(R0hwA1-y~kl-MbbN0Gy@QenTavR$=UTEeyijnLH!i`(XaZ=Z%ASkzpB#{!;| zNSD?~RX65}cT-7ruKk_J6Z&41yczX4;KcEcJJpnCw5yRbK714e{Okj^sNaKVHH^P7 zv()7bbkT4eZLzHm-o<#?Hq}S2F}G_gLm!gUIk}I!9(7)YTO(qUBR}$V4h|He1nP)z zUD*jfMrF_MXQ)`6!>4G9-{DVMCMRlujIHeVa$?>x$$e#2dssxJ27;kIY7h(rMl-$J zJ`f!npUa6pM&(l6zR3vMsG<1YU~cmT-B?lC*+MpbGNKeKk&toWNgeA}g5`NLmgw_< zyOq^k<0wG#;5I?1%!XE(s3R^$L$9%jUHU-E4b(n#U?0z_Lnz-jqc>;7(q!vSEv-n` z{6?%>nK0%B)eYdImosTt#{W2wX=^Sy4ddJ~XH`Y|JBa1AeXjCOwLIbUsQE0+G*wgP zeElJCMXWF>phT}3${k~XP@U`yb_q&O+M1tlRn#^gA``{WLTB$F9-$4JZ>}z)TO?ej z;2R>Fc0Nm~@FMFaq}HUr%ex}|E0yTz^W#qi=4{J`yBl%B#0<9M&*ysHN^M1{s!-6V z4M@jm9b?UpIGw>0&#*tM3@vJdxXkG^TL3WgrOyEf4B;|^x7V;Lo8H8=|msRzrM%ax5&;=Tq;5h@Lgg=ftwS2@Qo zuQ3+bFM;<0j}M67gvikC=QjW;6IS?ukE9KT?RN@l@sxBb_WctBjtZ?TX}cA}cui#p zQ45F3)@S-15lPZjW2XTy-d5I5?;ykHKo(=Y+$XzFmGZ$*quCl)jaMkxO_M}ZuQf=^ z`gl=#(tyLmUGI%(rL(U6Jt6p=C`c3A_J79vFhO!-_B-E9=b}5kLCRpdN%dB_?r9lS zsl}W|r<4tmDkEF`Es*xbM%bRsQROOWr7QT<)9r+xviNl zRbMWta-I44u#!o?fB~iTLD&!@sRxVIXOi4Z2IY=)6=^vZg;WDiQpIOMW)L+9x>nln zzFOks`;WUS_IA8ZSSDp$O)TkBDwgThQcHs)TAqtZYa$qy=)XfxQ3WfcXu&<>lFqX1 ze=b<%4Ox~iYSpTkc?UMqcuD&t-#z4Ci(p0+8{%dJo3%XHVB~fZGA6)8v9m*e@m6aO zXv6Mh3M>j$vJVb|#8Mj;5Rojl`nOcI*vm(UoDCd#vqDjzEldy(9sRIPLoI&?=nB69 z3b5`{x%x}d!IzcGiC`A@JLur6B~@2XU~lgeulG0IsX7;h8|GC-s2g5uvc*JEekucx zlD`OVVnFnwEdQM`A$?W0#W!%vn8E?4 z+q42X9S8igzB*sjyJxMbIW5}hYXeZ=x63xI6sz*Bw;1d=HNgZn0brwe?GDo=uExctM)-~Te2Q+aU=2RF^4BXIo=adn+T-cguvFdFM ztBo6m^Upzwz9v&st-hF)@)CBkwYu;ywu5bJGsU}y4DnN`C2HSh43_zP+%z`8Ven&E zd^8R!$wEn#fPkuAnG%-mG_Jq7H>~UdIbHd^pPnAn1g&(B-#fHTU&2Cpniy-k=SAyj zh?28NjpFHX^hGa>70W0^K9)HCnlp^RS1Vh12h?j|M{U--pK1=pstq6NcQ!OOE__`L z_k52W7jf;6Tn0siylCFQIi7K$2px4)@t2=S`4y_;KSfk?Bo(P=u7HETFQ`(%Ato8_ zRi3#tO_p+H=7^{0IW^(0#61^i#qBNl=UBQWAgK-;piz#tdy;M4r+hXDxYh;JYh^VLIUhNur0ggF*p=t5a;EbJL~> zMv)LAD}<8C>tNt>c5D2mgN^;Occ%`Zh$gvaBG_hKiT)n+!J?I=t1DEPT^kp=m<_YJ0BPE58_zZoVKg3?}RI~kH<4*VdQ9J$-DWq5_=^l z5W4;u1I2A!zchDv3c|h(MqEpoPK^w(QmgT`co>i-!mXf>e~n}p4Jg*HiPSQ ziEPd}G19(0?2Qc=LK7h=Y1Vj%Wz*<9b7w5BsAZg9)@MA`uVMJxEqpHNF(GZ?YEymv zctf8BQ63e>u4W^YvsZ}?UYg4oI0HfBIGWk#c#}l*prcA`r zJa6*G9?2rR@Pe-}g)OddN1b;I+WKLJ{1wbnu=!>Co5Q7|uCtr11%m9o5B3<~@U{L4 zBUhunWWFyB&8j%fKZry81B-})vHtcVQQ3E{!IE`&S2djq#<$}aMu^6-?`PG!W_og> zyq?xbll)adgWcmoyuaAi?5FTkW4e|Nbq8X}AE@AU?g^6?9fvsq{XJ1mni|`RoHt*r zYiKY^mlE;~c05{R59l>>HlwUo`CG<>J8>?IpAR<)sJtD~9xaYE*p=IUBTz1DzHVBF*h(E>cz9XOLPJfKN`IW1gYlW*k?;;rT$y){B^-0%%qdN~Fy z{qJJm*~!cRD?rr0{j%z*$5&4*c2#6Om&=E`ghL_eDi)(HRTar+m#&`8S&eO~|n{G3n-HUK%I*N6bKn!hhpIDU_mHkaLskv_toSNUponvF#yfL-z zp?-JxL!q`x%w0o{9hpSu9i zGKWYwggJT#BX_v0R<*D0R-kQmyS;OcHBAgCe0AL-ikrO12NTAd1^cT}?PExY&qvz6FmroOK4H2P!eKfimOk8NT^4pYep7J#=QV+`{L9?=5+49@wP z2FZ_nsW^6JPGanCJi?8P9jt3yuQOmDyh)=1OemV98S(GZLzCu}MepuzC^~lF_o4wW zax{Ht2K~^X{cp8`^9RNRi7nZAU0jgOIf5(;imIX_6xi|VhQ=wLR;Ci}Y8;X{MqFe-EUJmMMU`{!cV& z$D(dwG_0Z(Y(rVLbFj>ASrM`5vHVpJMP=(42*M-6Ol<$$HA&+LZm8?P8f<`;4s9;L zJsYsob7f7>N7-mxOAJy|g*;+_BQ!{-YH*&!@PfdX3$)%~iSJM7q1!0HDo75^3(ZIc z^R5_kN&`%RXBQB50}lp1?aY~K01}ROQ|a4NuS2~ZM&Jc3p>MKO+xEp|4RcZR3B=M} zOT@njEVpCqS?K6egpjq{S^E0LwB?9u5h~{iM4qC_YC7ioA9+il@dENI6^GD>S?x(& zTCD+(_j>OL1thb#M7$~4lKDP&U)lmNVU7PeiIB>oH5S*~r>v27wj8Q1!;!El@BQL> zi?~7R(Q4}W(JG=It>?2=2?zJxzE3hY&I6=#olf7dUgOu`%jG!C83p`VE9yK62GvHy zg@y6iO;{~J1hn2FzNPD$xW|#cNoW4q73CZIgj}h#bA^u_DcN!sjP{4tltiVW0ob3^ zNtw_n)uHz^Z01HZ@ENrTNY0#qo!)`g$q6oe4B!VC0ppv_(dK!*r@2MUWCshTlYi0! zpE7kSLp-jtL#K3-T8xKLb9+gh939UDHyAkm@-sat`nw9)>?KUk4fKpjI^MfGA}S8t zvRn*h(G=wsPBaC17D4Iis|+z$(UJE>iyvSUMY(W;Q@ta0n!~yGjmS}ZT#UJAXE=q^ z`9xlhGnk!XM)4V$=7&7L`|Vw-nK((fGGilH3i5Bv?AB>59Fd!^jGC?{QUig>T3L8D zSj-o<0gunbdx96q5)Z#AEKz}ie|*|Afq57kAked zhh9U*S}-X-wi>qklz-10D+Y@$XGBErmzC~VW=g2r3<{Cz#d6)ag8wK(-!2J~R^jVA zvIQ6^#&Q>&UJ^KQc1CTas)bt@Bc)&B^Wo#@XEP+j zL!To$ywm6lFACA<6EG>iEl2!50tqUYlFz$&<0BTYXH&dYq@{k4=>ni=@AGMvv(Haan~uPuUwEfN0Q07aC(tCaZSmKF5215f{@ zL!l6wD&n-jz(ik-Ie!2CC@R+^?`wd$Q zI#NPArC66kxz#vdr-l084&0P;Zl|yA-|;+210xFSIdGUK6L2U83kwuTahYYMs7In% zlD+2NN&Yqb5RVZ5iQ7j=DAo@L=iyXFJMK{`N90{~P(=t(at>xlk>0D8l3Vzr%F%Vp zwjH2h?aJl!RC#XEk%m0U!svH3Zdn31ySP(A;;Vw(;fSB2aCS+JHP3u?JISllp;iye zk4QdhZn^&~S*l&Z&g%LQsye29RIV^*I97c1cOKRg-1COF6DOr<6&Ei8=L=c1gk2;` z7~V3mZgtqWtO<4$KA{7r5X$TV06HHild@uz<|*oa=q4#!$8P7NsNa;FH|Du~cN(`egb-6}hcwa@=$|G@h|L$(<%Xb#4F2EZ<^1!#0|zgU^8(_gz?5IpiKKcPF0?>&XFD z4YHZj2ebo(X>M_#9&tn3pQ700X5geUrsjhHIdV;w*{7?^l&>ksdZvsHnX_fPD|qGz z4XyPTa|eIy+g}g4KMKokOKSqYzEJuvc8@6a|_rj3u* z$c>)87TQw_BnJbM4HvunWSY|oZW+cTj@aA4z=%A9@O#uHZ*fTJC zi+gajFVo&k0n)=csnH@oYfzDIp_WMTX_$Bcn;hOa{vMYNyK^?15v&xYOFie;@86bA zIWkOJ$EVDMmYoF5Ez0CI7~OD!m|+w_ndLYM@zdk{Wevx>EjqI}>??n$Py)rMJ^V_c6C=`JlftbD{T+6WCSWZ#y~_hWe)Vy)~DDKYxXe)7FfejY@{( zM5iSzM^rz#OnYddscObV$2uVz)2=$Nwq0K9NEAAkz;^K+aOG@|ucq?r7C-o&?<6`# z>XQn*620hB047vfPEO$GPmzh&{Y*y?GeP4E9X$z;?D(F)&OB3B9Z7pL)_EEcP9Q#) zAhwd2YB(^HIm@?vL8G0&(j&)%2SryaK|RJJ(^)dv|19|lBI|}eD;H~)QCzUa2D)op zCgPDyb>j@BNCgh0g7u{B!Xu6q+i6Z?h3$XXQb=fQpVl1q6r^b^UqVx47Ct~c^t10p(rpY+(oF&A-tQ0} zQH!3A^BK~YE4g3oa8aIC0eIlB){_D<);&V?O6^dylG3Tp76KrYfYiOgDT>QQ&@?Sb zlF{*O7Pcr-2{iOy%5~zvW~X|q##|NXCo%7l%dUME?rs5t{D4~q0SqFnVLJ0`$xjJo zWf~4^RE{ygS+IE^)3jLu?_z`*9KQk}zv_h7C`9#1#nVwymg%}&;Q+~SC+Q+?Rwhf7 zK$N~kOieruY|LfgPf~`W*NL+2&1V!2)K-H~o03<4SJHcdWOA9mul zpQ~UY@jF~U$QE}iGN=Vbv|dx$hB7T6vd zae7}KM~$rO2@D_o()Q8Xovf>xwwigSZW%zp6O__KAL^g2uoTW(I0%iCcHO1Nr7uwz z^TkjZG;ulA*f-Z!fwjR!|ikt?+<2hAyo)HCV-PO$_`K%bjSjkhl~1 z6-ZCYT9!#>AGP5GR~@;E+Lnx%T3Eu!m~cTf*JXt{ksR}TYWZp@Vn-Zhni%IRs*PO><91Zoi=K-fq~vRIGjMt2S=0+;(?$D(@p}oZQhuuoMb1PB9Wc z`|-WIPu+wJsVLa5A=$TmzAbz$>NfiuBFW81@|WqMA)0iADYM&v>5(2>p44w!5OVv! z30eq@3s^voLOD#GxG$w3$akmE)i~(CJg>)?hKWch zj2Fa0-xUnZF+WA!5Xu)a0w*R;#fBls!*l`>Amh=p%%gU+&QC|9=R@ zHQyf>u~A;$7B#dO_AE^i{e5NRY`0%O$(Rvl)h=UuzdRWHm*4A+1##Z^JFd@iC>2Z~ z?~$n4msw6O1Qk}NCPG$FaMycuj49ZuO$_}E z5hF=65{>|BnzfDik2og_{6Jg8396=pD``V!m?c6C{wUg?bbA01u}nCndy}lPWA=Nb zu<27nnHfSjw+qS4xd1ctS{)>dkjQo3230?8&EhujPk%X?gp((kXnXVJtaJN1tGbn5 zq4Ddg7sLw1qRln3&9#3GRGpcTlf3BOJxSVmQJZ@eN{>Skmnt$rN`D~n6w^*8aR5Lm zAQ#U+)=7H0GYI`P^=Ty=Y|Y|oF2J6)3n9&LLxja>_teml-aUW>IY>iD2}n25fA&De zv{+XNn&%~NGw{$?06P_1z3Z1?OQm+!?(`%&xa@S_MGo}usce0$rw$1GB$LA>+8brn zQDwem3pJ8n|M{mqN~;}nAo>2V2&5KaNhSq&pO=zrGtokS%F`-FJ!1i8DfoGv=hn{x zzk8vMSULgPb0)_s*)c1tl9iMBSaYf5OuDgj=SvzZGFwuKIvC&9zK^UMEX|;D%tUp6 zI&sK98N6%&2A~A7%L~z5)d6_?9670%a-l%%v$)$z;`o&X9EgZKV@m0kS6H(-~ zS`s9&blB1DF^Nbf?^X$@R-6u5MF?B@3;)-s+dW#Tdb|f^JJ;N^Ew6`Glg@j`lnO*P zG^`iPgVL@s6cSTav0yrDO)?WRI^y7Zol^wk9@m}cDG+72 ze%;*s^8Y`zT{=}@*_IUOE(N!6jz5vEI)G_f*vTLM&oYg5(Vs7_UscLK=tF+V621L0OowmP$LYD;itfIdK%Y(q=BZ z80hfetz9%^YKpG>DD+!0 zG>n{-Bm4{MzBfm!qT!+@@YOka6Fygw}IL{(f?T5Cf3nnmbQ?`eh zgHU_6g@kQy=lpe3i(9YRplj8k(0CL6yZ08drEF*TYl`>Cyqo)0g(CUft-m9g161W1 zb!NJ_g2qE)@^G4*#IxkcXp$wQE^Ap8|JJ}GOVD{lLK#xsN7~;8p^M3mbQEbm@G_NR z$sM|e=V&W_UMRV#pjd=<@_Z2{9EF_JW%aMKzC-hvK7mKL&O8sYCZx{L`0V(JYV-k1 z$|kyaeV*N~IgRE_b>Ag29UBtJiHqPtu%1;RnTpu_6E)0%rdAxd$=4T%ReyhcI?de2 zaVHjqGBiU&W`@4PUwnD^$7YmR*6S`)$f$cCj~W)Y#lD#%~pkx#4UvVn2;$L2B{ItF^M;qi6}qPGe;es06yCbW0o?c|43j>xB}{C}9kD zrM$%}Czwf?Hm`W?&RSaJS+TPJ+Vs{DYbw0~=?7ZN?h`1-{|N^!2Yp7`1i}GL0Sm45 zM9}fC$aJ@f?j(fFZvq55m4oV(s}=WOvIbY^RiQM7ADV_A?5rs5oq#cd5Yd4OP|ljs z2*0ugKI{g(J-To>(-=Hzy%{*RVB!k)y2r-Bm$AU@2*aOJ5k0ffqM(VE$P>JoB?S#@ zo)oq(Q!V`F)b#}Ml4$49lfVctYMG`bXHu=S3%1gfzTDn5#7jy7Zek7Ojrg($EI+N_ zf9~&Z7N5AmR&}kqDg!DJ_G#Ii&A^1t_@QTJ{Nl`({(9h94 zS=SJ^d-QL;L`{ZNEX$}-NPfH4z&%D9gN@8+ImKCPdT&~&J@BzilWYknmE>ponxO*j zuGUp#K!I}f83H*fp78`3qMRDb==0olU4Och8$iau-%rMT zy~2kq63}#FyEbNDgxJ2;&I#YfI08H%g z>)D$i=7;qs&kX4bD=9rh7}X{Vf|nN5nl#lJgo@KzP`tfjERRmh*c52QT8Lv3@_40H zP$+VZ1vUoUID6ranlfWnoLrdN-(yvB>-~f+B~!c>`(qWgVxl_Og66-IuY|RQoV9#i z%RkwjNKr_hm#&o5>kXt-nZTHn%as*zdHURTm1Lq@hVdNC*i2b$GSO5Ti1EsEk=RL> zd`^lm-`fDO@Gr64_rOJm1GQYA+yf1G%|E-``X6Y$Z<%&6W>zl2KIbcF;@IQ ze~m9!X@hl6X%<45vH@~*9s=DbXgn;4o7(Hb%Jtt?0=Jo8eZfl_7|YwG2Z}Za$k*p_ zRSoFGp0l@7He0RfP05T7-dIw)m_sR>8-cSz$NDD9O^bkOq zh06xNP^$oG+v-k7o@4D4VRO+r_JWD6y_v5~lQC(@37`&b?0V#SippOwr{n zeFiS$?mj0^-~vn4xpGE4wJlJy*m1fMCxpgf7gD^QMprt!X}`?oh0MGTV|gs2K3!p* zzR_a8DpkTA*)Y1?=~sI>G?2l}fY+=J_5sWq)}MN?XeDodHcXGCc(ev?(9V`*H~BA# zH|xRPTvJXd<-9}nzO@M2voF^E-X_W1VT3kBTS7jg6wsrEd$-$I(|u!esmNAW3CBJ( z@y;r*20#JghO!l;eogxeJ#?Ee2&aQG52%5DpxkgxoAXj`Cd{8jp_1Jc-7Il=h}5+> z>;+0Y+MBS~;5HLc!ry42DDJs+l`6e?m@}-_MjcW3=U!oz@ahZeGMvy!P}r5wc5nB4 zNW$J-87oyPUYMErVtH>!JKeiM{MS!BEGGekcNPF%q@rj?$J-NrxQ(;I!yg@8p}Xi| zr?59NJ`~eLldXLwkP?Ex3Js6hJVeLbbQlxc49>aKoa`|(Zss(ZGWr$V^I23+N{4Yn z(ggm^+bsCXV_a7uLRRERq~}WtyvK2ex4;K{?-F3dVi$iOVk31kj;`v^0JZse$X!7n znc6rn!;izyVRi&%)WdUGaKtekbPSnlK+qS=!jU~-GW!$U{|>Lw33~=D5K#gIY}nP1 z|GkWMX>jLCddp~5?ewabQ-t&hP3aCL{s~j3z$XZl77Ofr<6RK^*;DC=GmNBXr#rd- zmWRVrhcb`K(|L0;p*-OP6<<5*#c=6ml?}uhb*ml-;1^Z^P)<%z7v}!24M!`0h=!^x}S=)H1v#p(|p;v@^%qmib zmQa!N3-`+W6tY%k?i+DS+rE$;7&7(f4vB!*%`-elG4B={m8Zlla+0^e)MV11<`dH(>l976Ntv0y_uDb$Uq zHQyc>wkr!Cb+3O771B>FM$^p$8^J-@bZcN?Zvai#l{fKH zGj%QfQ}AwL>J)V^w{ByDXZ00@qqQ4JlN`NhFHl z^<_eoj=T}*iyArYORzQmOjVIZohbi;mUpNJ#^AsQEw)_|tEY+BxtoZURZ2}YGBtdY+&w?MA?VqWZV=+>{x%Td8hIjV%Dd*eg zx=orALFSP!CB%`L=e#si4}Wn3Q^0?_dKrosZ8k5**Owi>rShH_JXbBu{ zh6H9F58ih8~$0vZD)+gl@ErqyQ08MsQdzp~Zm z?h`4;`Y&1Sr~`ZD%h93d78Tor7SGVZlR2SInUN7A@v0zt3j4GGrZif&tHx}2V9QV3p1e@9>4L6+<7GmPMM-N8Gl>`^-}D7VdvzwmgHY7xh32; zR9;Nc2LfrFdt^!{m>o21_^q^^n`P=C+=M9DqoBN|-A4&8Dd*kb)a(8*2qy+5Kz4B& z|DpB2!h;fFGi&K=pTbcts_rP=LUrfd(Pnu%xAjhZ_hqY`Fe^k+&`=DKgcnRy^WgHF zt4u7iTcS3yL~(IR>UXrh55ndz;T6pubB!S^YJ}w@`L_2u52EFj&NKoHK%luTMUf(e z(1X(&Q*HS>c%-L%68vrbQ!p*;KZGhuV5nm9yx<3MgU2+qj^BVyg!PeSrk%RV62eArf{@2>Hjt}PFBK4np4i$soZkXR8>29c9dV6d zBoWeK>87T1P}L>|oGHba-?mnIwf$$-G7!=68TXB@Pf^KKk3Kt)UVXN{Lel$WFRRi2 zLIPL=vW1!*1NCFOe9TkM+#)f~NzsD;iP&27bp3NtskeO9fl9NNK{U3Hl*pD@I2kTB z_ZhQP*#eADnDt}#RN;J7h^Iy8J$x@SeU80+3+md>QJru?ni)2If!oS?sZ0NeujF`^ zU6gjNA!hEtysW|vW`wmssss(3IC4=$K= zMv$8`_WLn0{v2N}u2>67Hfs>aUQdn@cwdA2lf0lz^6*u9z0ohV^{8Vft&^*JcqmYu z9$SdNlcEEoDObT41YIV+&IV8qtu&~ga=*8u6c;?OTq}FV;fdFcH^!shWFR($lVUwa z4G2~qWTe{4@qqb`frSk(Oj{^HC(`e!`hl!kbFH3Y{A`pe>j}E~`Kz+K_A=%HyJ8(k zUqelPuE(&#)~*_CWT%QvZ@B+B6W@)%BKogH73AM3N#SH?Xgq93BraNOECOK;Sa(v5 zCuXuHY@`qXL@JeROLN_85GDn1#`OkgJjFrv4-Z=c9)?PFKKigeFMMd4&%#0Ox>zvKwQ`zzu2>|FZ19*vc0am0#e1Vuz*%Ki*;{tIpc>jYRf}X6=D!6lj zNDiW*9WI^NM4R(R<|s1|E~Nn({Jm%m-XC(LJlysr(h#yKW5t=FtQ2kx;Boi;O6Rt)FQS?K3difUpVxOBw2(~F9QS%6h+5>Gw! z{YPhfifh`&2^o&FW9i0D2-u(uD5mRECVV(JO42lqwvaU&n{yH@tg|>x)8qP4BN!=} z4^8Eh*#@$KO*GGZu35vl@$5JWDgO+nLm#Ft^L&Qr?n)p}T4w9cf<3j!&+0kb^q%u( zXhkzf8D??oUrXSEE@MTGk>m=eQ?!nG|BAp33{mV#QO(u6zkmahPS0NLIAQ!*X2>{{ zCu0PdD1w00q0Gy@%-$G7V0s!l1ha|`UZ!C9OhXAr$BF&m(}8`w9;!NDgm7fm0$ zS`lblMk~Isir`<&d4yp-0-8ui;yu`L7{4e)nUDBSMqos48;2T9simkV#)p~HgG!cHb`NZA?cR!X;sEV z3+4GoZn5%!nE404qQo!kX~tawhldPYg2EdxLJQnk$+c)%9`iMxiaqKC2ljEC_DfEz z5MD6$pQOe;?u*n0{$YlkdT|6+?QcdLGZrc+E)T>Cx)t^B;#WT+R2|pT60iIiYjcP( zDpkc04QqiJc-dtpYx9E6vZ5{LTL}$GZD?}U*FfmDr??I0d_SM{K6BXz3_$=Jc1}5x z?UtSIcT|tus3A>m&0of;YS^qt=cCEBhDerQm?H`;@eZ&}nL7M5#9rUu1QeNHzJJe@ z+cMobzfEl*f9XlTPPc9BIpbmF6+gw3wVf>xV0vuhA!Dr0X(w2q}KU*X0WnJn(x|1u-O5RgYuKm=ZIXyhQ#@pWd_W z!=M=SNr7UQ9S8$XZu-NJVKoxn2Hczii?kn^ug-bTdS?b|D-0+Ka{?!>;N(1eoQ~+Z zS2~Ixg6T0(z6GzPltk|>X3vQ7rKFL5ML4*gZefmQb#x_l3aZ_Ev&nn-c>sGx;1a0W z9k=Pmgg;(_KzOU{M$(jyjKRwwbz=oikYiK4gB`F&LIT!|g+5oVc$w%_w3`6(ZuFu` z?i+S8Lo^?kHaE$_d`|(|Fo4RcfQ{{?rWueY8Vm~l1vvI8`8|f;;HewbGh`CCZA{?* zz8qoa1CnjG_R+0Iq6DnH8$>akYrM?_&kC?CBwY6W> z!u);Vu1ThH5F%IST!FTl5;ALLHGHvU{{yZ4)9wBqb3~QKbDPJBO%><=k0+7KFF^^%Gnv&tXg$?&8e7T7Ew>H3l*!5vU*;QLbLJXdWpUEuGF&J{F zyAQ7?VxZ<~~C!VUK5~gzE%TyX1$(G(| zR@{a}h&A)saFweE#)Q>?(A zX~w0L%m(Bdw-TM2cuTq_Y4(Ag+hmUbU!MS_=;=5}S7P_+s-#>lAwrtH1bTk*k|~eTH=Y54}Ku8ZClI zRr}RfRKS3yx9Ur-qF<3MZDW@xoVy$>5fU-lfSpUDB>R`ouwRYDiSWpUGH?}n2OP?7 zFVtDx%zPwobfS~NvEBN81k07wDVk~~t=iIb$8*I0Ymd#~S9`@-C zR!$oU@Dx!I9{zVQNg!go1`uJ9Mo1N+%*%tW~eQ3|2{J*%0*;20WSZP5I}!Aw&J-ofh%?y4I}~#P0o^ z54h$}=AAl?#C>Vd$55JhVGjDrQO#61(JABN5$R-J<=}3#x)27f&lYb^qQXC)s0FyO zKoC^k>bjy+v?5W=_LhpDKeUAWkIzzb$CdxKUGChWR3{mCY)_MKmf`Jhs-)rXH$nbXm%azp-6Doo-*wYSA4e`KvHQ&&5&GkAQC0wz>Vii0_b~OQ@;H zvJlX5oaE%r|BkOt9+JEs11N3pDJn?$c`=eecl;j~z7c5Qs;1r^RKb3x!=I)wU{fa; ztFN11Eob@it#oEDr?*a}`rou0;f%)AB(${>kVnJWqz<0-joIu!RoN#SS4*o!_Ertf zjyJDitDBL_c}!}$d=U7>fzOn!)$IY1*}9wn|)E&@{kzD zmWs8Gs9b0}jw0)F=}Q8&$NN*`8?AW$Y8_KC#$}-r0A|u88fh7z`v$*tW=6b?Ed+>C zqM0voPq?Jr=ayF(d`=0j@rB<4vq`p0q(8UgSpF-xgtm|)vlZ;)J8NNJa0~)67xv}n z96?fFb#ts4U)?fknchha4bRtQ54>y9H^fshLpGZ6*#Z5#aqp{W?4JH<%J z*6tpfu)N<9TgTZIw#4_h9PyO5+q8{J=zf|S(e~bt@>IM{>xEVrvv~(hK?+q z9||MA>S8aNm)E2NL|V8f@;a4TIsmN}JeW>E*|B!5B4z014;_Ceb+5y%GRnFzs+0k* zc##@yUB?JHd>|R|$`1rdz;-jqQ^;Z!C2MJM{a{vvbtS)C^4eFk*`&U408gHBV>k1N z8EC4+h6HZ$(dEBln1n>`;~8Q&R|E|-t!&=rVkTy7uh_#uyIyd)5Nu-5OLb5v7|c>n zUJ9*3x3BFlBMdcv{b1A-EmR(waJ2w?No5U>cx>qiB~MRX25 zYoPah|1qDr@2-DTrz3)3hQ}9PkKBbzV%LD)YQgynSKT_x&x@w!R(%^)P)4uGU;W=;tIYhYjvvd&E%VHv@J8WFK`< z*X-Ty!6l6eCJxM{kyn+O1w=91HVX{?`F_Fq`ssHntv+y@hi~75Z5;X#ZEjIxtV3Si zpNn0Ye(_#8_P?0sANv53t=1ZVYDf0JcZt>9wN6Hc`|VZG_p3#~CSsbLMk6Y$4_fRGBZXtn!$zt?*3!t z{>fBX2)3^)F0i~#CgTp=G}#kbRpRM9y}EO&gl4UWonJht2l7g4N9T}e6=Af8Rt45K zN?vC52Y@&fChXe2ytE}YjNlSqdJoTnLt+w4Y?ZDScyDBCUS0dbI$DyFLlHKK{YJ19 zuyUX!7_HDUUeUsUN8O8|te50GDt3Pi8ork+!|ltF&sHqg{0x;r6ahQ@A8&-D*LNKX zTnR@rDFbn&N1Y7ZzyzBkS49bec5OftXzurW$VJPvI@*#DSt#s!@EsceY{V3fks;Om zZC(0HiX)3GXh|8uDzgcxkaRCMB{!b}y57H{5@?~g-x!cD?bGSOp35!0mReH?w=iR3 zP_aPkk(tHjL*f*?w&yEE`pLOLQ4%jL<(L^Yx23Oy*i@&)+dfX>idNSW*b?&;7tEry zYiCH9e>DR(b{IS)CFp#We-(irP>zzqFX0a+t)omN(-NPE%=x$#-qbP5pEYJ=WoCyY z{!r}Fp_`}zB^O|paa&%5G_2v;)*!e4t^y7_b$N(+`eltw7>eaFRXBbER0JL+h{;^gcbY2J^*34dxg)!s(*?CNRr^9rzW!vNm$UK2EhC~ZPXRKol) zoH7stHF0;Q0wqeG2#?s%B5w7I^&pkWCkvUf%sc2}Axy&TeTz|_gjj)yp3f3DsHg14 z=~=QEM}?VRx{`b00+uKHm391P+)TE)o)CvGy>e=+AO^Jg@TKcl2N2verPb&+Wp|&0 zaLJH5@ta;h$(R>GgKxt1iZM5$nff&2bkwY=*4Scys+YGCeYn8zG~%3)`rHMReextp zTAQkO)mj`^&f;$2@qN@uEUwkbW)-2JZj_{3F|b=xF*;{=GA`gtHrwkltVECK<;TQQ z$NbHD#o)-*4>N?w1s;-X@)@6v_Y48}MYNCgk4d%@z+TBE=?IyMeL_aDz>rkied7Tm z_r2DK903+WeT!q@Jf$2iJogwYprJ{ z&lI-or%?2skKVaN0ibPk$b()Pw_gu)njh3(Z6TZ4%-{{btI*chM~OfbTqp+>neu7x zQ9FDrbBDwfyzT`nE5%m&wt9CGJHTX5x$G)hz@PeYCZ>FA{2pcYz}!qE)C{^NFBgDU zQ_D?!f3|-~CDJ-5o@lo>9WLLG;<6dcu>4@kfNz+rckv=47EG?~vC~kSB1qSmzWrKf zh&mH2rQdLF5K3qpk9!Qv=5}67O6g@&7!QG#$JG4<96IAmock1-M{t*`gRwFISN=C` z*V;oAAp7v}1bZ+sewuREjj7ILJKMcR(W~QHM|dl){&E?MvbtQes>P${F#@uz zO1!mCph46pyhH~YdVnlqzMfZ+V_9j_bl~K4pL_kH=5q6Mm@A+vfRawOT)oSCkt<*D_y zGi=|V$@+!)4{EeEM?~Vg!sQ2dR3xsH1vN{D3C_<@^ND)=C5rHGi(!ypi7^4CF%k{2 zy0x=gEk}3ZVwe3aD|*&d&u^M(x_>uma%YH@&G{x^0*Gs6@A=a{$T_wG>l!zo6=XmPc-+-r~7mnty)P5(NBmo-pX;QED=L{7-Ld_vD;cy zw3ri~yBh_RvGAV2iIIW?FNY%BztWK7_KT94=E(J9?Z6|`=P>vxqy5qwlp5#K$*kNp zA8eCqwoOEtpzkQYsU9v^H9QvaD; z5BF>OIi?aHw6e1_*l2T;AEMEaA?`T3!|c>vtN5l(_X*SAF4;mjc1LB(2>DkV;zcOQ zyHa(_JbF9%ZS(BUZm+{`XMk1X!GLP4m#_+WXW!c|4$i7F^N~m7f;g6G+^^%V%;R>c z{w8PQYt^(e7&wv20IC0YPWhlF&=1O_snXh~MoP;OlK}^EZm@jMTo?1BdM%wKw|Vc! zLBOyEJ>XGcyZn5k>DljQhKP&VnntL>WuUCSmD}9VypnPm0HN>Y6+*J-Xm-lQou>)d zJd0T^r%O}MP~{FtD9<%zTisncI%Jh*c%VL*no}K8sjsf>Dt5cxP+%@MZ@naOv|B=G z6sk<8f*$kcW!3M|NqSBT)M*TJ{1fA*c%)>-bmT{PiCX|N?75S-=5?stgtOv~k85of zzR1>_E6yP41V9vVgTdI4AUVSn1$uD&!Xy!YLd6D9{Y9@KaDskj$~RD3=_36|gk~)R zsxEG~YmB&`>%_~6V`KbaX z-95s${Ie)-SyFFnE55uD*d4ACxiAre7p@M`WF`>eYa#XLyPBg-O*C zZ5{U)UWG`P}(KQJJ5wJTVXRIC4Jtx!cgfg>CSd3=v_7b8_N z?X{+94M|Ogz*PS{d&=v~4u+D1AMDwM*UenY+lmHeetq8!HIyXQOFx}I)r~81>5`$x z3k%eV=tcJZM>-#%JpC=Po>|WCytUh;Ogre}q&gW5Eyy>S6srOiLVC$*kN-JbGT?Jr ze12ha#~w+gsYjw-ZE7bz!^tZfwvjAI-$|+#*l;cvDL}iz(u2Xr7rtEw740=YdpYN=R-Frf0io7TI3d`_IqEsG2UMU(DDm zeVRGv@rB{_@;ccJ^0qg+&8_h8M=kEbwSQt~`c7PjwF;TGxsRJWz5@RiR{RV?BI}4a zMYYeg8J;G)A!|(CKgUwIC+Drb6l#h$x`Sbeds)r4-L9J_Jij2Ryll|6f|(8VB-A|v zT{s_f29aMCLBVKr_+ojZhOGNIvzZc@=16jOmY;N%0ySvYB5y5l-RS^&d>4|hUo2g5 z?m9OP)0-$lXOVgRX(gR+nm>v0T_;eeiX_{M@!IYP#I9 zGn>kKW2Y0BUISSE(fHBN=us)$!UT_KA{7cRXSfWfzP3w-mJ!T^RO>)uNTif2;6uc^ z92f9>LY}dA)1|G8y|HQd(w<)-d4^Gtq~zQ=0{Kt_b#K3f#ywOFn9AnnnpMr(0hIOj zHk&bz%K*`Wv^{pev{fYu6}y}FoNwSiylNja3Ou!p@$`sir$CyGU)A3C!4XQ5m)|Wv z$=t&pi?{|1)!xWz6IcHsAM0S^Y>F?lgzHtOv~#oU1z5HVZw4!DO2Snc1&uw!8cRwF zK_n6Rc2gQ7?rbE?(=qD>kA^UBBy_bokEd7FdsmGfKwa9H%#PBwBHgI&mh##|H%p9W^ zR<&(6xrj&c^5{p@;)8UR0zo4TQg4BPk{oO#wZn(ulPir@-i+lQSMzsKLFd0s7EK?v zdWm|wZRY-)#5h4{+Q5(ugHMEsL9W$>yFPOTYTVO#mIsIVfkhI|;==kglsg|@kQz$6 z8RH3fHqN_7Wwz&Cjxo}}HUUt>^{d*;DrMnT?KNUMMOeEso8i5dZ=wQfN>6~B^xR0)4id9@M+AcvZ=feBd+Kfp0%xjhUTDEH+v&SJtQ_A#j22r zP}A=ruZOIrD=?CX1ZVK99n9@*^)(#f*$hx!Sn{$v_^1%tCop*DbT0BhIPxC_)J7SjB~#2Cpo)yR-5!ECxr2 zYQySFS&sqSV|i(GZ6ix(3McTY@3hvEsCWb3iNl%r=IN_=hv-l0R!a2ITTS-t>Oye0 z8#7Whd&slx0c&V7M61=P>fQqcWDD~X*#|QIU)`?EadXHho@=UQen{KD>e3M8Y`aFY z^@0sU&X^}B(ZW&i*}h@)cPWuh=b#%VLM8??^u<4Yad_)!BuV`4sJ8+vJ6c2_aLN#| zB)m`WvTj_RYepCCK(;lC!eZLnO@(QPe~_Cr?-kCK9OR&*q;$P1w}kbG$^nwGkSpkS zCiE={j;M8sT`&v990WU%EXFkI|5+8ESsqo|(TGpWcHn16E4jF7>n_OO9RwA&7@m@0I}umIIN z%Y+MzI8~2h(RrC7IhKjOVPuBTQDSB3CCJPsRlS!5I?H-@&XDLgw6-)^cqR8H7k05H z!mG1@-yS@GQMlrD`C~K1e8QbNM<0ux(WTLdAkRv5k08Gq&J_#!Dp-9p4>o?C%Tsg} zl$_=l&3@pEg;km1K`2vT`;&vaY6LRoge#*bLaR1#qZW+p^BC;dP4eZGUn({FZGr0U zm?p$wdUM7`%iFycfQ@*zagZ*LEXawuJtYOrts0v2$WfX^Bc0q$-Y^>O zCk~iy|G@^wK~AVe;Ayl_aOM1l=x)porg|1Avwh46NnDQPk|l*qv;B{{30j5KORc;w?i@wUfFoi3!3Q`%8Go#FLVtlW{^4**b9&PPd#vU6;#qo0nb85X#ZbBTxn_D%8XZe!`Q!Yvx zua?_QrA1hHdj83m5v9%5vG;}P2YIcfZ>|i?Z;cNngfg+sBGjGH_V<_kZsQp4dsH}X zmUGbp0R`f`PvbFGCaN`pM6)t`z(%Ivk_zO)R>1%KO)=@hrDfcG`WE@t9Aq#N6U$$n zU{Sv5h6H+f$)lh+Hk>^W<2J;&co476?#gK;mjY~HUxKE;QMV#GU1sFWSeg|QMB!i* z(zlyqB}1xY*+HP|L_jDD`wb*5m~WF{yA-(aPt18b5A_AUNH)24;BiG~m+}gAjqS&K z1t)czX!CE=jbPT%H?cGc-wj^`w0NQW;Q|$;4n9;&DfUq&W*vg#gatu@Q`2#3b1!7J zUO@cNsMirehUyc?jz#gPy?i-Gz9fM4X+i`Eiv*A}<*%R(ciG1C{@6?vyLubScK6#T z!y{bLgy=O7uk@=VQLoh7({TJ_eDFtIIRBV5n02zP8El=usjN(-XJ>pct0&)LMg)2} z3mQwvjyf=nE8qnGN@WXX;&zblJjKia`u+;ZSN#bbus))GM3t(3I3F5C-gs?qHZDpT zwRU4WMjo9xkHc}abwrY;;&#xk#Tq=QTMUhXuD!xZTjB|dmu}$MbiR73VH9L(@JDFI z-MO+*ONcQ=PzgY&v~q@(_SPEGkXP%be3xME_isCGh2+CzHC7^GCi@ItN{pccYCe@q zYxIs!&$G>5e^wDp$Ah>GqTMKgID2i9rJ5ss{EnAxi~lK3VNvzq4rH4QO9IuZv#x1hdftUfJ6ax{E&=6GHob1UBDRubEXEQR#x8s_mxohI!24?KW3-XH zW|ecsbSS?PMc9UTAYtXTo`mDSu>YJ^{Eqi}C;=Fc5O3BYyw@GKA1rGn`2 zp7p>TKIOpdotj_@j5vtQ)bI5SzjNO-+N{}__^$W~dh0i)&ZipoHm#C0%RwRP!BsxO z>;U_igDd6JC5|li8QTPM+BizT)AMVpXK{k@G-$vLnNAT;brSq8G6~Dz11s$(X@8h* z{M54)XtMGMwva=X%|~f~ILGEuDG49$zD2ukgk(%BI=C?z*Xz4i&NYq%kkU$2QnYL1 z5p`}!)Q>jqGS96b69=why96T#1ixwk>ev4BO+QnO^E3e%&2uGCd#D6*5h?PQ9OQFA z;Fq5=m&6+h4A_>1k`HA!cY^ngr$R6 z|3$Ran}_dWcAo0%tjsjl*3;4+(5)+{zWe za=LHSg@!amGr1@TR#BWaa9P7d?-v-`uZH^N!3UY-Yf~18Z?xuskac*FQxCUv7#p>B3aJx0?&&A`oBG%8=TdNQi-l@nMh0aU*=jMb5 z+5(m7HYUFC+(Lk;_hSOCf-AGb3x6>mwts2|gu4Nv)uZzXEI@jlGa@ma|C)LDlqnov ztT!>Av`PfVr+BKP-zVlS54npC-#(nZ$~e&&A=y z=)hW7ZLeB0h@b`j3$0wgvn{BtuPhuxTp6~LQ@>{2rFU{*Wt$mrXFYexNExUjuE{V4 z(KwpmJ6T{=%oz*T0Fs+^b%81Or~1n){#v+u41TS_4>FHjzU)zgLc18(f_j}lqe;{8 z&pyk}HdoZ}Q?urUaRNc!Z97rJy^Ylhv6nz-`P*NHXmCAO`1nMs4br6h{*n2Q(X1%I zMs|sn7*R}>e;*ay`TFW{N+nOw!9uUgzQz8Qaj2aj)fz?LX;6Jm_ zdno||&axt^`2^@)42W&wf>yFb3-E>|k1wiKZ+$YP4n;2Xkf@51;c_#^`AmDLUo*cp z>?lX1(kX58-C+X7_?+!<^8FQ2g7bo7iD|zNm_33@w9uu~@jPdX)xQN$ElT97|(o0tT`^vvniy1#(^xS@{!b8Tzgvtz99KDhuj=Z;wH z#~({y%RRUNZ~v{g$h3!g$QxT8zSos)939_yeXvC@<`0%GOzaKXSK%N~Ai$kLY7K+g1*m zQOj$RdR@^>#8AdahB5J;Kn#A_CEvsc)=wo7ahf(s%FQ4`_%}!76dftQJ+FwM-#g1< zHKC#h4F~B6%+1f}vBNhHUYcIkl$pNYK9Mu0u@hZhGT=q_xS>OO^w}Swj~8~Mvv6Na z%q&k$kia_IJ^lN0A%^z*V2At<@}zH?>oBIH|Dcj;ML(jnJ0s;|3tw+Z40`=Oj3C@_ z%@_vzO?HpEN)kU@hB$$`NTGXYqoRL_`lO=h#MG)qjT|oRJyH0MovyA(7lE<|z9dEw zjxY4v^z1Dmkqa<2JC`k(L@BDr|6C_mfq?x)rIU<@Q*D*z0XpRnc`Y>Q-E&MM>1J*Y zc?9vXOP?$m1=W`Edc!PJDRvXy2BLonewWj>wQvdx5{^}U{Y3>W=hUoti<^JRbcp}5 zz|+}0BkKx#FR(^s(&C%sAlXtWQg;?a4_sLB>sax%E+z>o)>k-}-;C_U!RQMOJH^?w zPo^7uj%|H&mCrE`*aX>pp2Md#O>M%`=!xtg)^KBYdkpKyG?aeO7Dc4)OfH4F z=CVf4*?ur-N52j-0g={OOS+8Y-&0z}}fxyJ74E0_cY6cvKM?w{C>L4B1Aq!bO%!q~t1dy&@L>Vv+Dc zb0RX=-J9RXV?}DtpXJl^L+%q~rS-addu7)j;&d2NrdBcry|9Bb6i@ajj~XZ+OGU{O zCdfqAfe@lzMD(j)BkE5eAbUlJQS|b4>C@O z`RoEC14^$0^9=LX&a{|XHs<_!G#~$}G@~DXQMclI(-Czf_KlKR?jfe;ClfSQ(P?xE zoT5R7z@st|LG%WJaV$klwyGrLjfSa4&&LtZG}muZ6*QG;c4s#TLpn}a+9tcg$_p(? z+9X6CPC55(Wfn7kCOyRaT-bSx;PHc~7UdtWx)yaa-QmBMD$uRlZV(8zSS6R`ecV68 zo`G!}E>pQW4>iL`ou*;f?eqP;R;xH4F;vsf-dxbw2vgKoDOb>pP|x5nB3yI{9t^F$ zCeaGyJ2FFHi9vPoqs@Q>57@2D1xuBbbm=}+MuLWdiN_`B*v2>A;yI zw-cxwoHq#H?7dL6n_IFR0i4?!+SVJ!i?X{`(<0Ub4(vjn=c1lbu-kB>sBwQudF*{Z1wH8)Vz4xm zBOD`c+FW#h+XKV^LQJqLH&8nVaC~op_(4d%FAdGG6MKN?y~p^fE`-fTOp&ywC`s!j zg8JB?kC^Sx`m@f}D5tg-z!MipYm9)+*pkFR1j1QPxK94ZQ>&o#$%%g~>M0h1 z7lNic?KdbLQ6)<#7+@+K%HS*2rgtaW<_63(MDaj;ywC?YlxQbtn%Rn5tr(-nexOwu zm}L+Oo(es4)KlDI;oWO()C~$oWJcbQd|$Ki_f+L+s5^k-oqDDSq&P8J4-uMywGJBL zIn)ksj~k%EyJDnl+~L5AYQWH%yoQL4&D2{RKU17xpzGwH?KZPvR5V)4K0p{NjY5Oc zA}1*$qmFp#d&JxBBJ(E6o|ZKCN-)kX);`bek7|Zk-~n7i8K<|5a7rGoMpT`Yt0ilz zBf!c#s>Cn%_n)KF{{CqdxQF4dCd;hMly(uR8_A!hX-gEH#k+oTO-P{Yf(4ht2baG2 zrZCQKl)_4{_G}stqd9f@EC~gL8qY>acKtANk3AI=_hQVw&z=uYMD-#MTJg2|>6i>z zf72TXh0#4f%HWaOP%w@iLX75#1Ey;ZU6RKhS zTv_~cTx9Zwf)%;qm7@KXKBPk-$I8vlBG0`()$KXp@T zf8F1<2toSQq1r|7pfzm~uj2`T&~wI4pPj)h*T6J?7>`x9=mvY*_oRbnr_^#<%dA_A zui1n>TH3_(4{a}o8b|hZ$q0yixNiMuQOUI_l&?G~6!3A}Ld@uy?qrOp3vY>>vo2}k zYodIcr~H1WkyUg82A|hd;oS7YeU6h1b#B+vu3%+0n5W36uvHcNN(Rcmjn4eczi_e} z!_kb}->j&>!-mD3$K|Otb-lq)M=J;jv1KW3V)E!o$QHgl(viar`H9j&fyC$S{2I&1 z5i0bAdrhWaRLEcTltyw`)rIn6Sx?bQO{__FPgZ-7FKt)c@@%`w9bDhWFh}rKaPa$Q z>A?-)v;~=Yc2^nCDO&irAFHs_LliJ%qXU3nD>|pcv&YRTJvW`5cL(jPh+Cn)2=dIQ zP+A#y^ z$%u&ms514qzH1dT_XEq@7f%JL$K0bPi#Ak$ToU6)GvOXhNz;# zr`nCcw%1l&Ey3*L20FGZej9fD8EJEr=7raT1fo{JWqc6!(nz@Ca0)`Y&S+*p8_NXuR{Dliijd+I|jbTr9sLl^!mM7b} zohZ*YSd{Y8xF}#sNY1GNwG?y=jofI8M^#KTgeq({l=(kCJO)V8wlO;9`XyhkJkvU{ zwjXRCr`XhFobLMl?%%G8jC1TI`l$o+n(_AdE1M%QkB}nU(LnGRX4_4*v&3RX&_kzm zjCur^v6?rDiB@&7pqNx=%yZ~@Yg#M^?2n|Fk=;ROa*Boi#)#(zUh8>Ya-hg+pj!m4 zGSOk1peVekRjY!fw!_X$VIt8QvO;%Vj1EVQR^N=@L#eVD*LU)trxY^RU<)Rz3evo5 zjzhQBc1xLf_2$PmCrjujnPZNn41gGI}WXYNpS znI?dw5caoBb?=m(2Iu5Kn(xN#--Qk~=L_hi<9NOeE>2qFa;~zm0n-SX$VifftLg-0sZ->*8VT)MH1xKe z)E1ANe0HnMmtBR_1;u=y(+|L}O7wEHEWQU_I=Jp``QvgEw(8+?$XM=)6$w-?*xtN+ zp|#;qotg427d1FZKacp~D)XDq8!QZ80sCTKK*7Itw10QD^8j^o(^cD6ErRK;;CCPh z7(%E2(1Pt%l^>8ojW~V_xm{Y-e0*zM*xQqiikfsUSRl&G|D`BbQfm; z3L8+VA>J$LE|jjWG0$^5IP{)0Bn#ZuyL=-BD^}!+KU`2=>v8;sC&eYEA-P~HA2HG~vdd#$tw9?BK z|C+n7I2-UL)rKifCVAQ1+jh--$CVHs<8=&?mU!`0Gca4J#1t>;26)9Fw7gBy2*Ya| zfTkt?-m3rqa&Tnpn`}tuxpzGnaZ}a;(IM=FKQ_$97!XiK zuS5oLledm;5fMZ|`fnf+r&-#;IrCA+C3h`5@#4cRIPN+;^g--o{p1fA%=VR$g`!Yp zHBMSvR~58=o_H;A?ofsSs|V8nHwYwBwsd7c6&HgQN}AE>-TJAxr#V))+EX#-L30c0 z$!E(JK~Y%9UZA@A0zZ5hy$nR=d`l88b-OVPMsleU#?ob*lyTGaYMPo*14!es&@gy z%yBjS*Ns8*{H?=@ow0u1kT%E`A_rr@>O@X@uRf}j5Dc!V_BIOBZ{ zuzurs-|6~nmp{V!ffLSlVX3BGn`UcX_lCKvp$*ZQbO88jchnkVs3)@~`L6IgnQsyB zbTAQP{V$2#D-+UT!6Rvf)3%s_hU!y>7nxyEABnvG72`Q06z6Le-rdEHB2NHv`gOeR zxbbSj;=O6#dtq-hglQ|q!xkz2!&LQ09PESH^!v`x#-qT2V*pYOHeK{L%cw7MlO%~g z;a;h=IbyqE$}SdBIcFSfpi5!}*XI(i@`{a83VBq1LF6a^02y$zgZSK;n5Rf8qle?{ z=4OyY|MrZGvVBoy>Cd}Q`Fd)1CqQSq0l5{L^(w6PZe!;{~e9t?O`9 zzwQ7WJ2)%C8E#W8Z{p8r@C%Tzvoi(DH*h_hqt#6EQt9ugj#zW+oaxfn`mi8I-W6pW1+L30b_>EGRTXAPLMnE0HQV|%LSKEaPt^!@|9rCiY04mmgT3XhK$S+g%tp+k;I zvRSDd4h5xXsr$C1?TA0J0n0nLOCj4UG~sY8D@u$Q?73uG0v~yVinDm1JLF!zqmtj+ zvwaEKe*Pu!KK0%!m;$9rA^20zAdV1KmRNKnd-m-CON?Pl!EzKs;w;OnKAbX?b9Q@i z^7Tk>2F%L|5@0LV8Z;`Vgro+}AlID0XYbSB0D?G?iB9H~lPIZ|?lxlqC|<4=Q2xR> z|K6IBnqyMa(FN33YXY-wMpReznc-V1ee*NEtmhIdh$#w3Uto3_?d6s1B6@eDCOI8U zo66kyBH04TAjiB+!k{+^K28Q%Tnxl`HXZugJH0~0dRVO!9{OWnGzW=AwJc}=z?I87 zCt#=|Em8x&j>!;&!191Y@Ll|Rm+PLk%L_KCPvM*^a5kkJBj+s zUP7#1=N|Md%FYvl?liM==@-i?3>w0IpYPYlZOFjzgbtC;Hdf%UW05B~`+{j{zIGV^ zMlUxANFltb7vVTTY1+EBUPAB+zD$oVf}iyrmk16c-fMJvcL3TTKf9{qmkjN^Xvu6} zWN8!-j&h&4{4{Ym+ql5}we_(KyKTXD~6F(q< z#cl<^gAUbt6J9Cxdfe2=!~DiH`yep1fW_(5eEJbatQYh%W~(sI+O``om>FMSQcCBs z<4pfhk>9o*kMxJS#$!3+*5CyFS1k4MWQdeHT5rQW-Gu4c9Li8YRujwxp1YoQ+m)9q z5+;G)=n=YqV$&jl@US;`s_lQ|*+3^wxrOPJeX=uxlnsTWE1eov^WMxPB)KwC!mkl=z6xfrTHC?0~ybFl9Y_-4j$4y2YSM3PTu64_c{R z&50i>5dBG8u)tVp6fKFc^``{JWQqd{4`Mcez*}eBCiz<2*a`RBm)NSL)1nK6aZS3T z%vX(*`VQ_YQ2&07D6s#I;gWDTC^31bcCHE@+HXKp`4xx_Q?3T_$SgRSS{K&mG=BY= z>@$rW1vt>AxO7~9^QtH`05Vsu_`G_34rv_LhsgV~a2 zS>*|N0*h~Yr{vFAPiPQyrKZvN{5hCwkoPQt4{JX;ScXs|f|1bvAZCP%!{92N!H{2X zHL<`tM_y0|t^*pva}pPk_xDj`H%&>*Pg0f;J($pb=>Dw#Vc%%(Xo+enGVvs8X{9>R zbphwY`lg-sp(yLj90#P}WZ^#EMdf&z9g9C#;eyj|VCp6p%*2IvcBgp)*|hKl+RT`M zP5_KHy+|?uWq4y|f^p4o&6Jk9Lw!QWC+*jlN(VoDiooqDnUTZ{0B$tiWBjIg2LBr9 zkP!~V51OLBJ^cH50uJSyIn2Byw@r-xiS>8Xe(P5#=FO#`n4_AZIuer~ywke0CS&98 zl>4;qe!>YaJwleF%NWlD%kTtg$+6KG!u7SA=ez+Ho?-OY%FQG%OzIzi%34#Hu4*ei zazT3u99|xI1VP?F-Di{G^L&qdvduc^X#DyEO!rnszA9Rs(DXfZ23SEBTK3yBgECFb(Q@i*Q#aEL% zofXEIaId2a27 z>g0E7|DTa|1y6wW?W|>tm9VN2N&}yuinnF#4mAwa2zU55sd$M9=IQ&Td?t!yF=*Ov zT|Af5sx(;B7~IN&MDGfb>B~}Orz6;G1N8HJ!}J9xSm+bI3|_T^nFQ13mk# zMIn=5{>F8HhOueNe43Ks!e*7_$W{JG4t?L<V5uv*sH^=}H(0 zmVp57Q%U8?WNf+8_VTuGrIr0kL3Mto(hV2&*=7Ku*@|W~7Ccs#o#x%Igwt+0bDo3I zWb21Yrd0GtD5tpz^iJM|`VMNk5A}sXHI3RP9acZ~>T{SGIHdSuU33cN?zFH8h9~LX z!hiU%kch+Fs-$`1U3Yi9kK=7_05`nf(4!;gLhzfZziodb9xd<#B5!!SL|*OMv-_En znpc;ep#^|Qw$Dh!4X9$mW#TJDj-iFED3HP%t;2eD&@P0O#Wg zwFmx!FE9c;>Uj4s)T_{#4ERb$>gg9bKbbso-XXXITT^Ch600O0Yl1asU4`UxF=lF} ziO~`;prV`Q(^cL|VZE{IZ}|%KPo-!80Znc#`X|wGB>{CXD0tHj=xd$=Pp_t|O$7Yt z97tEA$?LZ5@S{gi$6<(IU4yKYBuhY4u8w6j7VT-D3>yGI1vnL?E6b=i~Y$t&(4 zklhSv1jwXdq~rH=KF~VID~Zb< zPWV2{b3<%a*hLnJ>^{rLR>=#ZIS;I+wmW@zvo0zm+jC#B=5;Xo8}GTf6Qu#=zfvVW zt>LmJhTl@M+%c;GA_9cW`~WFGy2ud+9-hCgW@6?dhQH98wx$4{Ec+K-D~|L;JWL{E%Y_w{QdYqFTvVQDWe3S1MBYJi@ShijYN0_QaKAR zXN1o-pE=m*TgV}333e_z>kjam8q?_#%DRzD&(`-OVHB$Y94OpnO2@v$Wfv}z*kqZY z1{4~ojosoW%r)I=qY9Jkd9+O5geZ3jL~cycQB|>;S7lmHUllb!P(B4Lwa`qSz{GET zk5LuhuVc_3-%0;37OnFy$I4JXW7)QlAk3k_`9F?m^{imeDi86ST^qcp8OGX*2A*#f|3o&b$=}OmTSXk;p|wOu8XE`HZVjpQ`&+9hm(|4K&0}` zS_S@D<`?IBDwWRQ=*TEK4Gf0kHhWxLDrV4Pp(@LMD_Kp$JCLKlBaAQQL*yhU|n|!R$ zx4d#Rt+GVmhSv-y6hGMSdKG}b??s6kzIaItkwr`b@TK?P1*mIFqGzm5g*pQt+AE+o z0jh+kl7gPJo(nXYIH85BG*+#qFXYHV(B@hQOh@lyF#7)bTk8`&Nj5D$n3!e5#3Ip| zHZ`a#eX6HZ+flP`1D(IPA)WBg8!rEu7I5HAJ$9kXy+V{Q6!5U8j4?HW0{f4N?0JHasn-c@#OD5RTZktCzf}^8fHGe@>&0ph z(JU)4itbv0Ix*IGQ!Ym>TjK(-@CPoS2}33MexDsK%R2~o5kI+YT@**uE!DQTFaXrM zPI6+c=#q3@Vayw^-9bR_NW9Z!o9HGgTEUY#VM%4l;e7VnriBy_n=+}pkEWYGIZpDD zdKNh$0NcO-p-vJNp(%7)CgG`kXdYSQ5i?Au%%gak=q&kVM~`TOIM$PrvP-27(x zHBOup^)1>1XG~fuK^q;ECOeH5Z#7_=D{H^EWKXDtrP7hFxFAl+w2Cz3IKzKn@lf#s zVmiD=*ibhj4?NLJP`y3+k7%}@ntn`H!~}(S#rNW`p8Wm_$x;W@>1812x-M+ z;t8Dp^k)cV0L+6v+(j@db(;rR6ooTY;2pRjrIA^P(;K<3$}_<3R0BZWa~s*RUS=A~ z#$4!yU3w%}neT`kwVBea`Y$E0Jix59r(A%2yb;WtmKiTYa#3MeZtWV#k!mj<48{Ib zzv~U?|8VXzmxE^a3?j}qCW^RAtMb+}Zg?0hh+Gwc=4`B_1i$Nj_ogobvEYpefemq3 z*=2;Vc*!JrKlBF|V;~ zXqie!1%9U+vP_;j&%K4Fu!d}G-IBSp* zF07%WYGQ;fcX`DZ?YdZ+@Zz828t{GF9rTTuVfainJ&R$@F}V2ZaDHf; zn}8F?(EN_T;{gL3>)q490o8v!L>kCoA@~&p(N7jDB1fl9dqDT_8VKomp;5X*(PHK7 zl?+4oLg06g9iNG*9`eyo^II1~J-%%L(_)j8 zPMI?zj9sjzbcw*|d`UT!ZqCw=ZAMgzGYbINoEj~BXvi{$Jg|nL>+mM!^p!XAOjGSX zU3#moP9-6Ht6DsrY1 zAgJ=AR+qKu6ZaQ@RavpG7-8-{)GxP)NFGnpcCmZg@5<-2P#wk64du6DZPoAG)>4$) zOW$ZLGuf#nTx2ykKc(@=hB9h8%f`J>qdK*++psjw0TR^WCcDj7<8vBOnxWT({=Du< z)&uhK{%%WIuH=-y{;omOsw{;O6UK8-hbCi^!laibwE`aQhFbaf*HnE}OPu&8MwFNP z^+tzTkDObY+S9K3@GS}ML*@s#-)gov@5Mm{gImnJklCP^IBSSQOfY)v5bJuHKKs1D zO^pc=@(^Q{=;`eJ?Pvrv4g0b-BBDhloTEFMet%&(sU$pzU1X>M{ieTV65RY$leM55 zWD`}*9KRBk3tT=*e3=+TH>*}|O8X3*2^-KLRR0{A7;5wj7^cWG?s%IVOjBj=rgiZ9 z(-HKc2{v)6u{^9-)RLyMCbB~zL{zIhI^yx%NG8Y>c^R>@zZQ_xVPj6^i4qH#_IDE&{UrpG&KWc%`7}+|G4DF~PfAC)ngxUQMH6XM zIZVKf6=J{%a~5{4ZmVkeVVizT@QN9UO?ZXjv^tjOI4h0l!XG<-SD0#KnLT)gk%vWC ztG-Zg0wf$w-f-D?dwoF94Me{l00`FbgwVmHNg7wfht4vQLU9n{%$s>Hi>spP{JD}1 z_{@X(H%*Iv61;mhjiLw`l*cGZg`~eV?;CsHnr8fU$4)sYxSbz6bJcrU#3C6hfsQRI z5p?siFE^7|>@!Dx^Yp(Z5vIig_01jAG&isFkS^#fdGcM&)Ml~${0X^F1}NW`N>ar8 z9t|o@<;M`1Ne>?Q#05mJWe=Zr(axL^h*4iAX^3V|dHZQ@;JbxEG?|(<`j_&6YMdi# zb8I&2|JDe5crfuMivXnGEc{j$+BGAMB#*6UY;*>K>&egt^&z4@elf16-i4t@(Q(T_ z!byOoNz}fK^8XKIK+my?@tO4(gmvZn`S2-E*a0l(bU%70aZqg-grx|(dSoM>e5S~( zk>lP;WU2(8NS44dd41Wtr0M}Ps?N7AqH=6%9kAu7tz+Q2s2uvx#q# z?c(NSzTnjtTptp#;N3KKOs&(jgKMN$nRVs2O&I*N)JaLp zAKT8YS2*nW$tiwTyK;xe`!@8QXlFNzvw<`JXLwk#C+-h?H>y}}KSr?|OD8)v6|)#( zhrJg?d_Wb8+kYgfpOBAS5lf**Azx}1T z%3VV1R*r3P@p!(Fn6$Umc|@pS{esYg23N(5cC8lP@Fy-u;tzX`!;sKQnI#DNzftW| z<&jv`SdW>ZgqRqPw@^KLC!~(vHvt!=_QMZ9=<&Gm3MYqe5YvUM@uc z8cxbQqVaRhkBQHa|4fRNljrLbbaedxl&0(5H%GA7vE}d#amXPmJ}2-$!JFUAMAI`I zxrzt(GXjghJWV5`4d=O!gL(?+Y6A!uD_Q8$-dBq=cv@Uq#Ng z=t5KV``2(wHMd(MAK`0?XwZH5a`KjK5nRf^kGxzo^N%J?f|NVrhk(p-Q1eKliYfWBeD4=b5<5cMb|!*Yg`!Vv8nE^~kkmhj zg2qko)oaC-`2#cQYow{af9I*CT;W7?NL7R-CMO8yJQVJ2I-&NBcv0gAfEy*E%p10T z(TGB&Jm!kydwmMne+k)3z_Zf9fVJu8om{X0Vv zVeQhg*3h6OD+rIz0zmQ3)tsq|Htvj%TPzNl*&-V4uw+5*h=&*NI*{5&lC4#vR3ikT ze296P$};}Ge(!u|VfLJ-1Rg6ROisfkE;Xp^xI6GiQMcz}L1MArbPO>ldW|Xs)BmJt zYATYFUqG=?3CpvkJmZ~@$E0o|LEiz{1`sqZe2_|Ln+%S%tTs7#P`Z}n#dKuKW#D|T zZ_>0P3TFaMhdbrT=iC6doqq@nmGa>%bkYR7BK{<=hD#Bukb2yReP=u~R)R3Ux`XDk z-dfzG(q%;n2Ij6x47A}IpD_vt<$D-U@#kjtjH{a!HQLX0W|r?<8G&M_i*)Q6Ky=gd zN8v%mzwzpWnqBVOp;`gPxXa02WVMIyiu3wVdMkl+D*%5y$cY1wYyzpRE5f_LQEi;H z?rUdBl9|(IRX$p=8bF#|6`1=%ivyA}+4@C`xaBYjzl=!UD$YIy*_Ef$oC#Uatppgu ze#UYWwd?0jb(&2B;Qn*g+WH034;ZfjH^YTGnYW`m&9xBt$9w5A5%arBSgSBtDuwQN z{;<4cb=Kxc-7L$@*6IwxsFL}p|qu0Wmu0s?g-K#{OiH;(!p|h%MsvIl& z12(B*Zc=}n%veb2D7pY>_o!#*o`a_OHIp?;i~RgBYVNs$937#pEpbW&bNPRb^%bx|j1a<|spW zxd+}$orw(J#HKv@vSp?N{FN|WPri=xvsbPZ5jj(W^Hc!EjG-6B_*X)h#bOefu@UCF zwGR&)LzFSw&D`uRhS|KYY$YD}hC20dYUL|s1NfU;kw7n_@wP=TANg3M`TX3mM*L}@ z_O=`Nq#EMkTVi5qaGW)F&o#ArL_0(K3NDEx$x1*U zszSt(puuFD1xV}co*3%lAfsEM@<4=RH6k7l0*ki{@;y~o*#wHsg({c~Rab@>17`DB;(`3B=s%FTd*nVF$7eUHNQm)C>h|w*`I{v1*h{^*Edp zIoPr>0#FkBBe%wAfa`*57>3M$Lk(YpH*3<#(Vlf`ld*i<>FQs`utb0o_#Y2M2{$SW zrPE0kjX&BcM|&u69W{XyY4w;25SS=4P5;`Wun1{5X1xS=y3F*H+&F&D;Y|zw4B3Wp zOqmAq1@f&c6XDP;4K-Iy#{6e88aqEM=i*?;S^n{%YcXMXs$WirJgcS?BBBgIy0v{O zi0v~mHQLFQ*v+9rbw`8k!?1>5GfXrQEo|xfo#A|?uC^hD)gO+I60BYQbHcKC*-RZ< z{;tAMxB9mscW15275~%I&zJYyjs)&{Y>YQSbDP^Dr?;2*N47m(Q7>4+L@p1%DJ)E< z)IJ?xXpCBM83l-4Hc|aBW(P%AG9ksZ!>yk3?ZwmnN2RPyVyv12+Qn^l#z zA|*S?8{$Y6BT3j&;Ph_^iq4s(s>;pHBGs4iZVC4zDI)|a(>K)6(W0P(wLv5sz~Dvs zrSP1bETa4?YXVo~^2Agx$8R zx^SFfr^Sl~o^Bu9spUODg?c_X?T}AQ90?bfjsKe+1+`ya)6LE;R=eE1!FlTV8+_^; zis-|C&;a+a7T|-%>23$|f{rFuN|i7godN#5&SxH{Y^*T|#CVY1r|33LZiCuEI&fPl zf#zWz#^XXWry(K)9Y$Y{09q_W$$xuaoZKOGhTAkv1C+S(!-;zat&=`kB^(vHijNTu z0}UIVd}1TD>o7}~P3YZ-4MkRCs;Rw+tJl#=ZVlL}%{ z2?44toEk51qTQzjE3G?&LHX$cZnh^ae+0$9-D$0Q{p1 zDSl!+ioUur`p4FFqO8x)1A5TVJ8O8TgIs?;{ehi-tyrh^#M}IwCHf!oB1ol9hV@c% z+5CTF-<`gBVh+KwF>ZKEY5IDS^Mj`LP9O?kk01obrb4Fu;wfLwxC+=!z^EN&0D}Fw zZA!DKubRfKCF3peDWW+A5{=MgE zRPO&-7$^dXC2TS~gEM}&Ef`^&7|{rGa$~cJCzf6Rs;8eC@;=hx!=H5LE+oulTkFw_ zhRjJANRBQk7+O_M5pPoC_869)bKBZvrS!pJ-2%8*q5mN^^mVfC*zXsC5U$@`DxQ_+ zy@@Sb@QI_;JHy_ma#Gs$|AGd9Za?e3FwGAvn7J9{Di1Yt70tTk{+J6P|E{}y@Er7r z^}DQuzz?PpU$$LagZc??!lYKuODEOJa~%_erIxvwkD8)Hpm9Jtijaz`j>lRR`n(ii@R*4xXaE~kct;`f)Z&diksQqU zE(`4n)WQZt-N@5?l*ystJB(_NQzb%R7i{qbO0D8nGNC-@<(*F4!wN9|L=~qF^ruQ$ zyO`sQVjvjGQ;tjgpgg{4N5cDtwQ6$?h~#BfnL7d7Itb1kyyi)7JotG%wgbSKZ0HE~d-kcic6;*d2cOB!;7|+9b()?yDr(%xf2_n}3}VzDVbW zp&CajvNTLrt@bZ`9Zqd1Aau55YS#uvj8_uFcC_WiJ4VZW74L5QsZT%rj5Zeo1z#Sk z6R|< z4u0D4oOnDKeGUvV&~*Gda-w$s#07(TuXOBR6-OUAB=p$@hSrOq@e=s4v$V&9K8rt09xDL`aCy1+b1rR`G89 za4|*iZtFD&r|()qJgNWxIDQK(Xe4to7#vddtBhn%J;CkESAa49ge)B%_K@lE>Ij2 zOTe|u+aRP57McF`$CnH9qtHP6*@A89>iak$yI;z4>88j-T;zr4AI)}AZg}SI5o7Aj z>A08#$%VN6Y9Q`qOX`i!baoIGd=*kJ$fS-0 z^I+NCbNuicdhs+Q8y54Tu5jt_bxQ}#fQfTc%{$L6v~Ioxf=8q}WmB%(h!_*le(;%A z)C+BOUp62fB%L!LK4a-6`w5tIItin66eW`x1^QnROxWu_l+n&<(-2rS zb8Xa7us#a%L2n3wI@KbOF~2wypUyYUiU;BdVJFjxC^o#q)L-*U`Ts7AqWp`zfLPNH zNCy8ZR{ZjU`a21?a~>f$Nus)W^r~?z(8( z0YcTs;_EoYv1L#xyxDSwp?%KTvuE@JpP!d~PI z@s=)sFkgVf^rtLv9ooTWT>A#!Q8+)Q@WQKvDce!|$T9slnrekY(Ew0)sZSX>OziRH z^ErbAPd1#!Cz|W5LL&u)hbpU@V|q|6Yhu#2>J%^_`FEbpC}|3c-WpvKd#|<4rhRN#&ZEeumqgOWM)9c>WECE!R z0Z=`d799COynqL+|7>Swhxegoy!Hq~F3musGll;5(jO0I-zc00XpXE>P_pXTI=-nh zs5vD$WZ4ULAecPZSqaXof$dbtTmoPUs~biF2z4Ut5lI~3$e!v>I$@WjU$=u%LXxcT zVS_8YSI+`VxWp8BJxz6@A;shr$_bXktkE_$I|LmpKPzD+2v#kIQG;>d-r0Mu^|(AP@}Y?Ps!JLa;J6jis=rsrzE7dXf7 z>&+A=D5f8Zw-Uz+4#>SD3^I(#Bn;P|zAoZv+NM>+_X<1}GYwI{vrm4RMS7l}M2dvx zy=*?$&&!&YSSRYh&L;(4YA}u!j5c|lThhvPtCgVDC7pBSp=FvZ*WnOLH_LbH6*yh= z32wjtmifyM3H<7Nq{jX){H5p>p#M(I`<|Pmd`w5g^q^R%KNl&}CT42Fgb!#Rs56c? z`=>0f;!1dN=9Sa!6LU>}ol|Nn%6un~3!yk0Y_^nqF9I`Gv~(6bojQrvFOa2c`qmhJ zyyhv-gQWJ264wCAhBxXiImUkI=VbBf51wdNoXEN}#Y=c)GCwQaU_IOmMsC`iIq0`y z4Lg*NeMX)q%uw01tyCR6VVhoXACNF6xY3CTdxFW2R_6IEKQK_n(w6*aJg6T!SKt@1 z7J32$B!z+A$UD7R434NP9s`CN_QR{UIq-%_UNzna520L&(zQx~=)0Pyby_O&;%G(< zfd6j^Zqr&&yuv)%(5*$I35RN2qpN6O+j9o%QwExbw{gzKq57mYy0EyCBS*$I6C-QY z!Lu-KgaE{RIEIOC`wB(k_f zwoWTinZ&GWyId|tM5)Ur!5Ih(g34JYK%eN41eB6HLryX&PWL0*>PP?$I_IvS=JcJ| zcHTZsauH|8)0v)K_ly=cx{n=6Hn8l8rv} zWr!`mcQeUYq7YVu|o1aE9;knyr_DOw+TSsN*^_P_uYNrBF}a1=c-0meH)@XGq)v(Y+bqua{t zrc6vC3qm?AwI(Lse1S$Q&=D`-pB>?mc?AU1^Br-lNxSq%M~_hKX)}Z{K?6-`887T* z+7BsQEVh^;-^m-Hijt^@aZpV>tkH27hC^J@BuM%?XGq&B5(|I3Fo)5#u=epvQ!F+F z$S8FC73q3QID_BC4srkGbuB;yt^S(N1rb*Gv&Qtt5>1WmY7N()S^6>K4c%G_g05^$j7lSfZ|6dMu4;uSVh za^{0^M-wvq7LYrlDUs4q0i7}JKjfE4#nO>a802_?2)jF`ly6?W2qi-{XymD35u|b_ zo~Wt#2@b;q5~U@s<^JbA_r}=OF;c>(P<-!XjIQhVcRY-9Dfci+n*T<@PuLKkIl!ha z+CV>CsRFD)xZ)+olt)OTY_wmBcADa$k8wRVA_mg0N*6-EJ00lY-f5@(yK?4k9B$Yu zZyy0T?eO+zc|c@8%l=b0&33FQMQZs1wPkI-e@rBlO*X4-uzkau2o_??otP08sXqVhhQM^;?);+fI{HF>f`HbP2H-ME z%oRF)iw^C_$V#KFKc$iygmRY+>d7>Yq$1VkDkE19-?z$Y@L+bZf6g5%0kD830uROG0%;kF%~j2yr%-QoAIn z%z%9IL2>ok$XfuW=(Gi-0Ce!E<|gdC&pvJxZ>@GfVY3pY$n+yFH_u}~&g-Y^rV?Ui za6@aoSONgVF!Ksf%BP~IrMA^I%nqc1{EAOs1;^B8ax=1|Y-aM2+_q>!&;>W&Al{Q# zQNhbnxw?jEGn1EBy?|U zp1_w3wAhB*uJCTw<_Q`oEyZ`8YI;;ygoS3vg5i(Y@%Ue6hPd4K1?qmOVZVN9C9F|p z5_oUK3Y1utEvnfDL3oSTSKpovt2fl^&F0V^{xOj_-BLPWL&_9KYxvb(R_h~1ZFN+K zX@Gc!aHW~CfcruH5iLEE_Ryikh4TzX_xCND5}}671#NI(lOn8?nJY_i;KNPN2SJNeU7aTp8ya1*NhEZ?&?p(Y>r530eifbBV2%2`O$)Qcn1ln z%!@q-`C#e8!cTw|%6?vT`9x6-Av{=Z;h3s`%DDQ!!TkE9q}Co{F(abWBfHMBokn>I z%u>wm$)iYXyvho@NBT~?A{H~C0uH|Az-%Cgw<NCM`lWxk<3( z|GL^U>AKxs4VR)eO~Rs1?#uzD<;{$qX*RSrv1}m(N9i(r zBGf@14%H~_RVM=@nD00v{>-(nk*|4M%UMdPS04N7wf z2=~|C$3vF&zT{unrNT_V9|o^XnsW|#cKK}1X@|;5mXi5iPFE(YG<<0W@f=2bvBB&J$$9`%oGqM}zb}~NTM`I})4m1Br^B(- zneKJ^4jYXcwn@iYZ}f*6XP*x%fw28M`+yacO|wAF*)~9S$0vNw z(G%if48`7f?(!prYsvClUdx%EE8RMJqMOZ;C-7)D5aYh#PqgRSQ7B(HCLvG`;c*n> zLh$utlFc|(&mmjQ3CfzI40gC9KmPj$%=USr0fLfU_iDapadC;M2IJfKgKm9~i!#}~ zfExkXr*HFqhNB$yk#idE1~SHU7G827MR#wF6A{x3+$ngN{k2F8IDWX3S~8Ph8nyYL zMY*S~7>;>`?K>=b8_j7e7w`YF-@9=in9#5$b)_j3+#Lc3#9N_XV%KkQ1hLzBJw~D0 zLIO;Ily&*0->6@>BC!mY5ry#sxDFvzV13qXw&JzxD*02QmPhwVAZDU;VV+FG$F*@; zHwVm+_t|6X%<98UUrUW><#920|B3oA-wR9ht&%88DeL!(k!y(G#fDU8sh$G7%Na14 zMz(L%<{^)hjKvfrCA(3`u5j%a!nyO#<`ya%ENEcIKMf)eju?byJ< zgB=`bo9Vx=cZHc%C)Cn(spbr~Rm@ERsVF(YpWR&dO6@ytL)xu%^s!iW* zPYUHY)%U8hcoF?>Mmh@w(I2*X_@3 zwWIb{AulL_l`mDa6sbKp5L$ZEj7q`wexzkKcf}k4g_8z}SrF?5r7y)9$mV{Mt%Ukl z@I_dhLnC!r5%9A6VWRk1{Or+Vy@5**PoFVPdsrNBlUZT1CsN(S zYM3GV{&(<&w}oB3)eld3EUn8sf*N+GIYU)CE}qyp;Jp{-)gxQ_Iac6M$u`;E?~JwT zF6NFR+8BQ?0Ymf<(0=(_-8!(eN%e`0cb|=QH;rcf#rh-vQqxj_;U=9D7Y~8Z<<1ErXB^$B z48VMI_+7?wrjETW(lm^=mJi9?(~S3_(%w(+D^S3O=Grtl;qnz)aikA(Oyw9hrzNhp zn|GKPN;Vzz%^>byY*X~Z)T!5ijMy4T#wcaIDExl9&1+7n9B@l;`pX~O%0$R z<@){NQr1Mg{C3Gfb3QE_4L2ya(PD-_lT2{QVdL%29*C*kZDsV3(E$y>5)q;G;*yUb zz!dI{9a&Kmy&g%9VL2?1qvRD)Az3W%-JdAcDrdb&^)wJ)yZf-_ zHKndNo{h?*T$4E*<7}lc*F1JUaAr{CBcj~5e^JagRSp>f8-|ZZl8KCdr(p$Fmtx89 zSHcQPGpiZ?wU2Qu$h`No9Wa2Y&aRXLLJ@M5P~lTPrzG=YZFWwZCS0ej*w)XuY%`>? zSSi>OdnNSJNZ_22Co>ck7%T($nqhaM%Y-U*&^QE0cO&2z8%2}&$%raZpqO+?e)Pe7 z*+%H|>hOlj$?832dp+xi>l<@XMcsx&|$ zG;E2IOwFpM?~J<9oHyMyJ|XSg47PWst_uf-p}MB--0Yx;w6}{V{i}ria;LlwSMfCD zT!zGj#jj$b$km|{HkNpPUKvGQFP;%1oLLsNMSy-FQ=@K+qdY@vD2E*Oij$by6Pe*I z%#P`)#xUzkslG!s!h;APa~Eo8o4K9-@-?4f=!aL1;WNn=@J#HWzT{oxY^>KoF$wx=L~2W1{MdbyHP7#T z_e^y!QYTwijH9PSYvDpvsCpIxzQI|J8EuYE|^7&%zc!K=vGjvM4iqT)y|;U}8AXtyuoaBoE5d`t~3A zU64WhTFX5~{*EamyOFIh4spW{Uj({XDe8gST4W*w{b`Mr7WbE&&8R}A&xJoQ@*c5X z7~3@PRgE5TR7eG}_H}`FJtH!2X`TgXU_-RUQ<97-pM`UG@gOPuu1e17lG~*Qm-ZK> z7@7OlHgXi%d-dDdy{muMMa?VZF%gH87sP?C>lsZbBf+Xu7`tdwux=;QI`v`pnYycx zrA9ZG&R3q)12f#-(mk9>(8jkLJ0; z5}GNsU9mo?C9aA-Ix+n;trpQ~HA)jr(cNE`uUYFgO;g5*-alf|?}<_8O5sc^8rFHf zQKs(kM^thBqx^yOe`K5Z$J4f};wBL0l^`sxBmx^`x?B7^3L?MoHv%rT@%1fk;uJt1 zNUl$%@NmT^{WaNXGoTd`|ZK_DnM^Tl5^5xn_w^% zTG{5+wmGc_$v+%+i5+eLr^|+rx1lghk|nAS_#$H&dinwdmprQcCV6}*^i*DKt=aoi z01yjC{?XL|!`bpkSsqi>*LVNd<+3rYJ+($y!_7s;a}l=ooT>O&L7B=uzuFOtv9Hy&5jKqKpgo(7 zhgcfsJ}}o8tsb6Hk@>hsA}q4w^9x`&8D}85k6&Y`*?MZx=<`l@K2$@GQbrvtHmDRk zcizNsMQnJ0)5E8c0b0NAIRPR7mUC`;OezA?M0dXV2GI#b+-@1DG!SnvMpC}2Rk>#o+k-y^+j*;WQD1kdF2%we%Z`@1q*A~_tbI{?>` zj7fn#&;2&-kAshA)zxUE1ls4v0`R(0n8%-(9Cj*pO~}JOe%J2w_ubFEm`3fCzX~=# zY&k=LquAb(66?Xt^wXiIHQH05ur`u zNYZhVBgi~sT4vf{94(hOv{Rt!XB7^}n@%8{KS#(UX3=WIHId+a0Gz=XutejgXfYlw zXtPtCF;=Ys>9;5Q0+&y67cNPK7Qq(8q<0sfy=lxJoA~0@+GA}G*_m=tV@s$5k4ArI zn@mmt?}WQlZA$Y%VRmQ!unSindjH$|4_95pFG6?P<7`jEaCPy<3NZQfcc-Hnb5 z1@j2s2DzHQ<>dkc=&o$FLykB_^P2vB>krSkZY{n~yhxu_@Ei|>DPgsC=%2?KxkS%h z7WA(#h#=yt584Ke#OIgky%zo*G11Bc-10qZrPvC{f4N;LjX4}^i9BqrX8CvpG*NDG zMPA7fj!xE-PjYeY_mU7(LWBfhr2PAs>ZZsLA981EtS~zV#9W(s|2vI0MJLgf?j|Dh zC&IWim=zInL?rR=ux_YNN5qo_{aWP=Gaskd+DiV4+%>Igw{O~#YYi3Ymq3duk=v}=Ue($@s?U#dQ$Ibh0zGQ>3fi>$ld=+M_r+XAY=RE4 z4*LrOmYK>q*=FUTwbI;6O^SMD zW=UDD5%H)li`pzDVQPgz*XFYmi-*|6R?$BMb0D5X~VEl!FUVc zr>g{hai4UGbz}Xs>{v^JoI>IKw4fNO_c>&{9QfLYb@}f&(By-|n|dA|OKo|r{&hh8 zUZ57V$?Dq3unj2iJ(?p}IZ1MvERBii#%wB$eU2-bc$9h1tgBt>MPU8|N46+Pb#+Vg za>mDeCjDj%W40Wcpg~i#@I7Hc=v~!__fYF8NuV#N!q^sa;UIQ zM-=li(gvIQbaa|!KQliQpbh*yK@)7EEi{zGHV^JtCH-H_6! zIN>Hn3xGsHUj46{$e~~OqHh ztbFu;_jAQFsWU#&?n#nY8^dC1lZebn>+7WcOn(8}87%xH(t@-JIZl??vuoRN@Y_-P z&K6(Pd!j?l+T@>?DK<2D;5zL@+-)C;y#EggjN-Lzp&`FF!*kjBk`OG!BEux)=|FeN z+qq*()2ufKHUAVV(N6VS3xw_JIjFEqP5M>Nv_D#fep%^+z8YClG+OwaDMttcb9Da4aHd+O@H4?FK$!*Ml;d2TQjG;S@ z9s~uL4@WpjT!dDxDq2&1tU#FsNElCI^$6SY=!K;WZ?GQk9p(b~Cz9G34o1X=ehYT7 zclCjJs`}HOCIf(ZGepAbe#t(OcT$K!_+jd?Cy`-wohj)p$npC9jYU&EGH3R2d>V9n z6l`h_FVjqDZhK)l1K$tl7MEG|XK<##G{VGeUH&W{#)pV&{ljt*9dUo<@;!VFU6J>1 z`mX|M0sS+>YM<}oRZHkTs9EI}`WnJwuxqyoWs2QYkSOhm@`lh+>p(dA}^( z&L1+Cg_1}?_9zjGZv*ku8?Y56D7dt3C~=hKxEjyUU?*^g8y)IAqsFne$ScgSF2hI_ppFUp=&q-0vH5pr_}}dhSPvo^ZFEd#`3(BTyMz%=YS;$iX0nn+TqGZ;>+foJzF z#DX>g&;bywYo905_eq5AQFW6>__c2xa*SXp>wu$3AaH4Ldnh5~e>3{7XYiy+3h7s# z0$&$04JtOBv%nfYDw9DicA$ZA)I^nYSyI)r*JMSy0B+Gx&Y9QlB2MOZtB}Sb36QwD zGJF0D6_=irevV{~9IVSqneK4F7Zo3-5Cr}}*C%VYeOsUH zq{;4f|ST#pbS9n`N{T1ze+cBq>JHcCm#-Oxy4Rh9y>D; z7grM-K2r&{F=;*i@}Ff~j^&I+{aq3yO8WJb^h{3ElbRoMzA{TwE&b-s8&hq7#XCsZbMB>QE1?HLiLf02dwJ3|m)TM#CIX?4~}_@Hgw_p`myph*n&w zkfVTGYl*f=Fvx~$Njx!@jBN0zs9}8u!?e^$Ve30Ghz5Y>B2KI$xY_wp5 zkT^!bR)ub29a%E2Zq{5du0@6px*w^9>Eu9hi9P8*{o+48>6C0lNM2vY94EHfZx_mOuxAV$ZX*Vy-R>Z`bjfI#ULgz1AxH5+G zWEoLVPmqTqyxkxV3-TVN-TKOuc``s6Zu%|0dMwyMtE^wr#6UxV;-V+^U)0rO_q2ky zDbQ0D;Cmp1Qz3WgD%a#O;x=#6a%yLEFNR+1?HYA!X9(K$;ggOP3%P90DZ^*faT*i- zv|MNML9f9o2UaQ>`GVV|w`u{|YMs8_@0V~TIg>T%@S(5PUibtAjEyNLsO4b^swV(A zICXXV#(am10ZQM1ZeYiXP6;t##_Ie3JlSy!1oIS{Jm{Jd^qMtpljj(zb;3Aw*@;gp z`;sRIeFznm3-!ZiKc6!R!WaQIwGrt|Pw$BS$027)bg(t4GZ$2h309Z~2|`QAcpr33 zFmPB>LJmTY-*|wdd1|gqC9yZzL_HYdVtD5_Ue**A%dK#smq_c5>NlbxQRo?09DKxO z1=G!766p~>yk>0uP;fRPmc$KZu?5wuMpOPY;2;GSlRrM{;6BjB+4ccyge?=fk`WiMYa9~ zJmYuLXyP`c3H~NX1(X3DjU*S!{-{eZ1teac2Y+xxz>&l2Dt*J_pg}`CLyHPIozIQ| zgqHu9K^cb*@($7VEyBne=4hd9ldu~>jhqF#x{v{bX{d?6eN8Vz&I>65%$*F#W=hyB zDs?r$t#AB_Esy!Qb%pSc0qfnRV;z7{vY zS(QtfQF5gI3&&pRMrG61+tfmtpP$lCi}Tc!8fZ!O^B<(D$PLkcewK9)j$U{?t6ag_ zr7%FLjkYp}8rz`cORp(*PP_sxp_e;qceF%oU4E|%9j7;_;=KZ7p8q3|scvItt0zJB zyYDw*$PhnHIAoTS(67KV)G^GGZ+zL~RD{{!ruCJ+7RmBpOBr&@hBN)zhVJ4rsX7^X zRr|}smKYOF2+jv?_)GH2#(3n(jTUW41`MT+s{e0+7bO1~wNjcEnOvRjs-3|K0@R%` zmosfe8nO{BAE{Xqf1ZEN`djs(Aw*#&bm-@X$JVCo>avA7h=?!vP+we>Qxa3ity`>E zXfa#=omA?m+$IL$&b&R088rsigh~Q$Tql9?7I{dbHOZ1+ZwOS^3v0#qjd>oXm13T= z1(MPWVulkiecn*!QnU^*FfFWl8cpmNZV<2U#I^u(8D3P;E!GfhDY8tCg`3w{De8Os z(sqI?xT$#1ZrU^c3DyxOgusE1V;sc+mnQbXqG(9L`-_hkv~B{gT6I4?9VC!;FzjuB zb3{U?Q2cUH;?A2iT{j%Ys)f|`Q7|nToNZYr`T^W0p;Jrfcg9olGe!KozaTFk;TCrb z8?yv?(A@Q)r>NI#HF0Px)+?cl+x7Ip>+aJEqe^jCfThet|CZ}Z0*GWccEuvwGt^}R zBLxbpr%DZPHb_iENUn}#a>m1t(n^kSt#|-kS7@h1Q=Z4-yxiwD<2jEuI(JdPagqkp z-j!PaBC(4a3Xp9zv*)tT@=It)@lU ztCMfgzv=qSGN0-I&1n6==2*n$JUgn#A}cax;9`L2R!kd6;^6U2gfX1BKtSWc#1(|Z zOAawO!FJf9Hzt-qLu%8k(1vn4ET+AcqVWz!=3+`Iv(v01vRlLqp4z|i zrqbww5_xaFDhz4$Q)LB zJSo`{c2OZeD#c4@{j9kA>mKU_E`N>^Vhgo(=CNn6g(X`nRx$r5;7q>wf^CCu6Crt( z#oQL2PmEU`OLR?i+&I{el{B-`mJ+Z}_?$&OY|cof9x(S`;A1;Ig!wLpiHh2$`vXKH zltQV~C*TK7KThAB10*>-T(#;yTIUkZ)I#XkPe!^0Ap$S#*W%EJ)5*r;I$z}+4Xx^l zmFEF81&E7{TcjOdhkDEc&q}D%a%P6%i;4s3IdH{={h$P(V}?mB<;Hdx4AcjG*uR$< zVoj$0z)hKoDJcS(S-T?oH({+Hwp7d-`88<9y6L7t?5D1wpHH#pCH^WebKhht$wWNP zmh~u1mdAKQJ#pMKSez#`@;OrIbQi>~5w*}5VO4;jOi_`RDzd&^DE~s&?o*f^f3k&j zV4YZg{N!=1N4x<1q7e_^{~p79MLOOU_VtO!4`WewFSu_9{1r^k!lFb=Ufrq^TQUs^ zTFbiDx2b}cY4pC+Dvyw`+3;&;952=ONnC3chZZJkFj?LJdYBCMR}9p2nM*_CS{&70 zn~FMPD>qrs%k!2AkBv}$hv}|NpHrMc#1jw*NJ5gDh}`@9%ocqqZt>$yKMxu+CdKgq z3UeJJ@(_T9YYD3bD@>s%^Pk-dx;K}d2ZlrppHy6ZU=d#cZE70Biy9|}%LB7cYJG!V z_3k-iu$$EHIlXr%Y1nJRdq`#~a2yT}^O-Wzy{< z;kamNCgeLUW7EI$TTN;1#XU=M^S|D#vwQxLb22s*sFpsQa9_f;b(>`c6-5Sv!5Tv2 zqo_Jmgs7Ho?2XE1i(Qw6*TB`-_g8T!;7+nEzBR!9l?!IfD4ZA28V)alQ?`5zr7->e zudeAs0+91mgEh^o5fSTqX8?(wL)!1o$Vl`VAlAW;XGzyS#4=Q1*~4+tUgA*52z>Rx zupE-KvAhSAlG~~C<!Ib)22+1Lz-gcAy5;RX?$Qn(TV=5l=fb0izLn4h&x{UMm(0`|vcW zc(98i*m%SVtDvK!dZUd~WiCfm3w8jns?U;ThkFI>k-t>pK|FN*#C?-MT+NaW0r92leWHSvAT)EvwNpe{^<$BqP*jtr4y;j`Xl(fV1~LBYD(Z=n2ic zE>Y#;t3e)J4&6I#;*rY!w#8!Ed$KAUEp(dZwqS-<50_ZCsN0?O3ZlbPyJ;X`VM{kC zE7CWoZ4JePisSqG7pAcoJ?#4~Uz+lP{Xw`t*{-&?SiC66Ds9}FEjc!gkEVEUG#Nnh zSL{<=bHJE^WEE)d$ruG_uDfTIXbV61zrQvkQw((|IKgXBNCdB*Hz{1z~XW6tuE91?H*plTO)x1Kn zO!fMni(_p}tIiYXZ})gxZYzX+br%4IC*D@Y=4qIe_y5F;;1x&o6=%PH)JFw3PBm+_ z2eCqve@&ny5(Z#m9n@(kVt_QFuC|B)xm$>HO(5`6s#u(xDhEoVAv>T22cL1@*-bn? zyyW%P#H+sGT6^3YF1#Uk*|mk3$u5MTzi+<8TcdFKxAn^em3|{#j^;E?&_iAbr>-3>z0%>R<36 z+WZ#v!b?vUIh}cXq|eI>o*!Nho;~d6)27$^Q!Q=vb=qn!d-%R(b!w5fVm^h-mxVh{ zWnmbf_FqZMcn1W#eX=g?_TbF^oi1L#~vt3jRM0S*aXfANrmDDCo@ZokQ8RC3B% z&@M;~b5Z%}OThgk34k2&Uw}~fths{&+j*J#i2Sh;Wj&}s-3#CJ_g_B*eC>MXT=|nD zPHdnEwRrJvnYOMDh}#k-S@35uLsF0!B+&~Cu^wtbSxvUVQ* z$y_bZlybzt=1}WIus5>1A)6LiK>Vy{aj#-wk=jc>-%F0mJ==OS+JCQ9eqzL(b(p#m&WxRC7Q&^}@i*-fd*}WI1 z3fcCpP(n#f=v2w-`K5^Az?3n&>Lrn=K@3(Yiw74BuW^-~8WlksVL<+AC>kdQLN(Ms z8fRIfQPmK*s8Lz$A?DuBVXz#2S@9oYC1Q*lG{@z*s>TT^0{Qy(_(J0`re9jA?Y`n* z7Lv3-xhB5}-f``YW9+CQo}iseLW94-hXjw5h2@*5;YmejtPaMuh+K0h4SqgyYw>>| zP`mYp4E_iB^UY8`0zO+p#=)x$da(cSa3|CTvK1=Z=#z_Pe054b{T~Sm!JB3}m>-qGfTn)TQK5truQLzx)4;Ti(H8%P1esi+EeX&%QR0m!lJ zO(Y&(0V50;kbfG(O;6WH(AhsdoTr1R|J@1SImxun;JjsCf*8UwjjJ}4Y&$rw^J3Bd z{he3@Q=fr8(Cd~~!=VG2m6#Z-tgZ`rj$Ax&N{+ql6tNQYFAX&$5LMplzSWK8`XJoSdLN;D zytV}n0WkePZZTv9X_AKvMr`I{BXc=)5QefjbcBMftYDsj^mxM%iz2s{5{T2BHMhRE zj`DkQ#!RM({&xCUZPgc&O4oum?1=8aFkrfz8(+HLz+E~yWSc-H;hhp?NIdwf%J)N< z*@}+pio!(kK96HVfm?sDGMWi^<)YENg}ur%K79=ynNT5q=~Q}z=WRbpnUqn#cyfs7 z(JeqlY=RV$Y!vCRb^|Zt6~SXYT_M<7&#|~peM&{#Z{=m_M6g~j9Ae%!w#z<%)~^Qy z>eRO1>{`4y=dS8_3Q7!UNAqR-gB^v7?))UIDXxi)5u=bW4L++TcC zC&V+pf;fZ+Hn5^yWY%5b`|iCA+-F4RJg;(pNlcHE5GkaQo-ND4WfG{r;&nJKeJRPS zvC&EZY_7$cxwR@joaIjUJ=Zf+NtcSwma=w_29T3dtpqowHX`^~f>CZSlc74^0gQt{mhC7^f)6ZWy!3$UW{}aY7+Oj>$Dg06e}z zi()xWH!+bj_T=d!h)tEKoNH;?I6pVlTHKRr;J(=vrCf3^?Eq3`1J}iAAVh5Ek9vZ; z4@zWVc{x$7qSkJ_gG&u6moYAdg{ejY|ENH3>XO1~zYDR?F$(v05H5rtZB~+||7sVPZ3y473lrPI-Rysv>u~&#JQ{vDMTH>L9+2La^z5Q$iY^|--#A~ z1ZLkwmqosOv*SYq5-W%!D!*{QoYgJS&qM_l*xpqLo&nYjJ82*7rATXujhUUwhp~a! zY!_9H{FR6*$dAEDP?RGPXfx2S;1H_?V>e@+ps%gss8i68m)&P*cSK?+VMtH98J<8 z`9=bjc_E*7?YN-27FBOq|gBaGBoicJq)`G_1md!jTJI)YjY1&yw?hzk(w*4uh7pKN^$0Z3v)B>Ssn$CH54x(X!`qL#AjJ90S#RDRTv` zhpVPB3qQ(Z;Jczca_@*ei;6?1yz7VT|1-Q}nx6naM-^|vk^G{rfl+n+diM^|Vow{c z0ts5@usUB>E3T4I#(#I%$>uT>6jDn41-GqPoGJ9~-KpvDc0WeFqDjEYO%g=hd8UDT z;N_;H+t+Qrf~c9n`-+0$QP88B=ul4YUG#9E;AEZ!~Rz0T)NJ=aSm9`W#j^b zWx*AclTlMjWJi7QMr0U=htzSpa>3seyCX<(9o6QtLGDYn;!dN5FLyf4aGySt?E}Rk z3w;qtxmgp!3S}?#BS$~qSQFYzk{#Af^b8B;zA#z`aTf2rG+Dx`cDiJ<)pPjxKFNOx zR^eJ#8Po~r!38-_>a+gb^U7Tir~eI89UFe>+?N|8Lu$>^DIdTAz$$6vzkJ9Gz*Xwo z=328q#OK;QtxNV@oCERuy z&I8?%oHeRFpIHAzuJaR^PKhzz)+Pk6&^HkRp`L~4Z3Z!VHFVPtLLZm2$AaC}!mm9* zBj(6WFlLcfD1&WnCi(VGNr2Xq5}`sT4ada&w3$8vkcTW#p`$6J0JF6c!-O^WA%QzE z*MkU&$?H#e?e9DcWihoN>z3fua#iI%3QqN01)hsdSa9*dL=^|GHCRAK>I>~9*5 z#*&3t#Q;8KJpWBpUJeGh!)|g2Q+!aEW=jY_*Au|)2ESFXFMDfRYKm8))|ISu!fdh5(Q^G zzhP}4Zh^gCafQqvmJ)hiOX*Jv1-}G~;z>nqjh3}nVxcoV(kEQj3ARvC&j-0gtc?og zP)-GWG4g;Ib{S}a6!HddHwuCI<6)&x+r#3m!c~}vfNzou=c&-fmpO@~9(-^fWYRaT zN3T(bg75u<(`tZSUCFT^OPIUgwwxcQ$Y%JmA}E91e8}Ehi!%_dDD+Cot_5wQq~y!X zoa!=iTG=O)IkazX%hS|3z&0fl2^xPnJ<7{`JGhAR5zNc&9Q=bRaUB9meE7MA=b=NL zy#%Ha(81M|SUP#V-0AQDR`{0Pk_$vv*I^f^$s2Psj@w7NFp-kcLXswu$Lp+!pG{ICF2SlL+KaWn0Ew@P#OO^tr_>Is+n99-rgo7qVE_Vc3(zb zp=Z_p7&rpip^jy>IEi<=vbj?$pm(`Vc6?Z??W|3Gr8DPc57Vt&ihQE%%pS*~guCLp zJ-~h=hLtm@P;)0^mv+^5Me_{+QwuyvF@WwsXvmQ$eqel#8DlVhXj|R(zgH-mfj%p% zLt?!%E?D$}r3mTWC;+>3c@Ec={S9^?WdCP7ja&{!qpGbEjZWfCg`#mm21i7{?7gs6 z*D(6W(3Kj!FZRB=y9$y`6bZkJPQJ0c-`*ZoyO=~Ly=`*UNkYksFtkMN)2sGQj53oW zNrp1FdTdc3F31{jcx>e{7%u$`S3Rf6GqqrRyl`jzz94&;pql0ejCH!4(bQYRg@8S% zZaVKZBTrdBZfrsU^|Teq84%?0AI7Z_jZWNi*I^RJJ5nVW>Y-@=XwEDbHEV{jt#wn# zE#!JPcY$#!Soj0ch%QiE(bN?rb3H95$ZS}*Byv1+|M#hNRu&=6PHvbk8+CZ-AQ0#l zS7A;W^xzUjMXsjV-6q2|@wD|v0_s^uywIhjAAD*)+~bzj0`EP++0vQh4w+Bh5d`yp zyp_*_HRs@X6+t2b%4-foI>2C+sD&MS+Z7draxY9H`kU#$QqK-j-TtlT}i z7I+{rl$bN%4cD{a%B)lBD@TlDnY%TWyJAy7?R_#)?i{u8*gopPRyg5g5nI1MYtasT zaL89x3DfhBbBrED@PAF_y+gu*L+V{Xk({+N3Vvr#TiC9*v3N8(C{ZXJhG>x)De>Z` zKD5q!G`3w(a27!1Lp5SU85zGv^Avet7oaGS1&(sNu3+6B;q%}f24O%!4kem_s(?Ge zyBs)}3h=yEI%Awh`?N7IfSG0@GA0mkrtyCI%ydz$YO;<^$sY1?uegTKjCpgp`0*C# zT`yO8@!>Z$=)9>F=N_X4yYh7DOVwE3%XUh_Gea5n@It;~**xvKWFhJR8mOL2NH*%m z_yIfnA9Y_+7}uB7Q7G*-MNG#Ms%yP>>zJsd*s%K%orPDg@H|;@kMy?->ZyzR99Qnd zAY#dZLN(}`(mD zS6*}=0HquLH_}@tKy0x2lURQk)cU8h1)W+6`xPrJ4x(oT6&R_Rl0B)4DRWifSC=CS zU?`;^iL731h)>igInL&Yl9OQj*&@xZ6tj#`!XPFe$O7LOt{01u3+SWoKB$UDn7JiReo^w54H+^C9zZ6?7BhxsOjWx?k$&vZ3XkpWWcEi~-Q&DyEQdnE%$ zlu}j%dWbg}@dYGfZSF>_2yu9@aJVKE6ftyUI_|7Wr%doia5KQ5+ zK!^$C>IPcZs7YAIQyIKsb0~j?`SmqTG4Y&7^5Jy`7=x1FGjuWVfl-KF8XTeEYvO2u z<(mVd_EKR!IffQ;>d$68oW-AmE*-5``xWSWQ4=sAC5Sxq1RF0~O$2QGp0%uijKEHo zm-X&DT*^2&4FUe_AB2fZLX<5hmLedp9DR*7YcAt7q#$#Vrv*A8hxGewJXeyim;{6= zeX81!Om8sapw|gvJ?LfOLyVR^s5Vb1JVD|2T1nw9~W57IvzKI6e+#zlGu~-UkE|ghK*8(@C(7e6e&-AuSt_+Q;Br?W4_+N`vxHkJ_t}etd5cBk6cM1$dlC)OH z92R-Z3zkcq3y9{qDhmGD)hu!@163gFu;Ts&jSpuw_8YQDB&P|Gq+oct2i--(+{%DT z+eg|AV~e|{C(VwYBxGQw)-9L(apOw{sW`G@Sl;*F%*| z*B0kCxYod=!TrF8v7@e6uA&cEe);zu`EDRezIZvFCR>0oc9oO(S$Tt!jT$RI+-krr zPNS*#o#v2m=_0wEtvHeZ@?DG^!oMmt;A>Y{wr>5Kk2=$)226Kyz6`ukRP{wKlJ!#; z<`>)f5?|b^B=zqssfQpi9_akpr~T{01lhnuz$cIKtH{1&i@sky4@tde1Wz@c%K=C% z3%u_7qb)4Q(y;;3g^V|hU z_;Zl_9(Z0riO$ov zv$)+mYwuUJi8$A0B$-?xSP=So_j@eOdbMnVJ^}%d?X4L=Iqw%V(GxDGjo2^t>=&P3 z!KDoeDSM(tz!drv6&Et;TQ)qgAyJ~WXn z@7cbTG3iGRz=Yal(Oz(SL>(j5Ap$>ILd=_4P1!2S=8w(RBKm8YKDIaNXXYaYHpIMM9P5;jt zvTxcUX)Hisn+cHlbJlLs(LUvtL-7CoG5wQHSAkz5c!pMLQ6)RG&F*ihcZ&$xG@l~9 zGW2@$9M(C^kh%>G(jo*7gNU+dqd9Ys+S$gC%>-thuuClLC*qF6K) zzs$EU&dPi2xaz}K?J2G0oks}#D{W=5-xG1x+aZE9P*iUf@#LijsAPBAi0QWS1a5-7 zUUy%5V)cwgQ)-Y=CQTJ`?y&jam>{D!*v*r{W9vQmUso7M7k=^)^m~T%see#Ut#+UR z?&t1w#2jtgBZT6&7FD;PXmv|Mq??VVL9)rS7JkC?6oCMnGazfmtpXVWYq@0&yre zyUg2JkI{@p4#l2^Co7d;mmW1*UGSCtZV+|Yt1;2X5U96xE*4cF+elWNC|hrvlO!}N ze$O$0;KerdJJj+_&Wgi53*pT#OCm}@!2=+StP;7b(N_8+pgMX2Lh0{bJP~ydoY|@n0kBN&Q#6*)u~N;ntFIROvPX(2 z%vFr#jdEH?LIC4ZZ^_xfeB=iHtJ&jtO$28aHa{H(Zo7HCDKBg|`876(L-2f!@bj7i zWL`SCv`Qu@6KGl`j^tkM`jFCWDn3fNWo=#G7Ag7T#w_^)NJ;uSGYe`AmYLy!=G?Vw zJLJjjyojYeSWV2SxQa>GamkEReQ$I_?4YfE*IhijmhV_BGKqXJ9Vxn8A-__^myv^e z+1{a3`oU=Gv{{hmp(mk#uD1z4&Vy_P>l8asB5H`bFP<60CdRwaWf|CX##Bu08C-Sp z(Ikni{n0G~dK^O;XZQmf+I3Ah(d9ksY&`*gS-$7dkJP$XKR!=k2X9-SYBY!BeVE57 z;sxi``m1L=S0#vLa9XDjnWD<~GAnsi9-7akclFS$f582@+GZv!``dsu-GKMr^GC%@ zVHZR}Y;pkRFI5r9kYA`Eb2jH!E+_WMJPcFHHFIg^{rqKZJOf2A4}UR*{wfcVE#p$g z)=(0v_Qzt{M{nLwZ=!?Ycb3Enem&XiuW4J9a5N5p+@Jnmba~Af5raz)9??gn19PSP zI^aZy;k%Hk1@s*qsRePcjzG36Wfq|e}HSm9MY zZW6Ds(&=C~vnw!3HnxvuYpp3;fYrRhG(RTDk0`@4&>i)osAB{drIjhP@sH)gJd2n3 z_li#W!}i=BDTOR{i(u6YT7~XsifJWRL*fhX+C{R?|I2!$I65ftj=?w&g(G!xQW(ZB zN$^X%m3gT3DvUC8UrAsIL8A_v15l%5TJHO&Vq08ElP9V--JhbBrS^ zSoPds+ensMv9R7l^)a{O)sE_}i)x(!kF6)C3MnI^j()=^1v+T$=tXa!vVBdslbzmh zXk+>i>+(u(Cv{o2Fa_>r5Y3vM1Z$0z>6)!=@eb-NnxM-A;j2y3vbOH-q*DbV<3?2T zZR+4Cg3$qrRjak>2x&QA*P`3mlr;*{Q!uY$X7IpxjEWIsWomAiDLUw{ng(pHH=UY_ zvpUo3rDK#Zff56=#}mj-daWKF)PyRAIKGQ_Xk{|*_zZNw1GZh09P>ylhfJ*Ss^K}L zzELE1%G$p}(!xv-OZ5}l)9Kjvv`E8kT+H=*n-)b#I$ttqXl;FG4%c!m z0cXL3e8Y;<%}lp1PDhTFmpg`X@|jv>5Tac~`i2c;Ny+LJn(K*eJxJt7Ej{##MT~;4 zumU=LqE`VIMOBD7_dFrLvS!j}%O|MU;P+1A4Ab5RT;TUQhf)ye*^CS|afl9xta^?~ z;jpdgPrbz>Q`SX--+a6zCtNeVopZq6Aaz)HaB$_E=B${6V%LG!gkD`KA0Ds4>O2yl zc~Q;3Y|E&Z=aBy9LgW;&0gS1I1~bkB1rGR}IlNSuRd8BezEP#__aOqZTph=E6eVW1 zK^;LDd6U38dZMAN85WR2e9-uWiES8#o+4S^gX-V$o#b9|WcDv57q_G6u8f!U5D`dW zhPr9#Z@P2tHX}X0f=|p9tblCfcEkTr`Wlx0;MqQo)KMK}H>|y|6&R z_*FsUcR!F7%Fc^wH-F3NKO**U&^eJnyrCAmYIH|!%q_u6kPXx}o4%6Evo|JId*5gx zrS-1*V=v_C9--evYvJzdJ881ZQ9LlG`pqR6_#BzjzaqCQebO~=boFTLdhKN_&C#fe5?2R3UuKex$TBJ>Y?u$Xp?>e?cAp_hiR{-HuFyB+r0k}6bk_QZN^0_T2IulGtmNnfg!BzdD4 zi>?PI`QAo3i~)zSwh#ByHXdOSM#=z-7TS^5dLgU*-=R~+g!jxh=ku&seTFqUrQzW> z-`hWYIg|dy3s*;Ie;qb5+o6;KSKjj}_fng>ZB2yPI zV?u8KzY~rt*(z7$w9@)#BHs+hf0Ekmp1l3t1ST##R54o*3%dHoZ9tuQz)8k&w*md? zF(n}vBp>`|({mXINLkvb{;S1;-U1()Y#qEmLxL6Bzh|50`O-^2_yB{MB?J^v0I-;7 z61WD-A{B$!tf+e)k09}61|1Xa*_9Ie)p#(Hd5;@@@~U~5O8Ue^+`L#m3m3|lGe~^; z;QVehKK)no(Gm5|W+0)4N|Yvyxdqe1nHJB6X_~F=bo@X}O5L&jaQ@Cp$% zEzK1)qvNPMj$F@9{9G_h;9g}nzaCIJtG2G|bqDXwA6iBkkVpK!i`NOJ;^pN#=gOQa zBsn2wOlRbAac`#AcJ_?>$O>~6Nl=7*jb8{MNoRdr2o~w=AiQol<*gsv9On{Xv-Gw~ zuM%fiWs*P#?S3&=)P7OY5&U(_I)?$|_;vo%xy@~5q-5K|(nU7(yH?+$?l}M=25}&; z*~azv^6GinLR>&>5{(E$JVKK2n>nz?zz?A0=3$s`C^DiR@{FqdwrbUB;MNsl3s3t4 zb#2T_u*lXPn-v6*k&>}s;HA35eZSXZ_J=E|r!^TiF*{nfC@W0b4AqUBd#}mHqUJm_(pdApU6x9ftFj{&M5A?aHgPEwOrCsq|+q+Yymnm`c7=c^YP@5OFtO%j*( z!kCqkaY42kPk^yP)i>~x_}MS6TFge;!VyEg$|k&J*DGXccjqHEROyh~@V`wW)g4a>pmt3${T*K@)2qts zyr3GWxJ`1%BJm+D<05sqmA-wfN@OP%D*jnSaaC2_@&kXX`Rde!TuFj3^S zR5F~x)c=ev9K@dqi?~GBBpt$(hiJ|BAEH+DoDQdiqzta8#XXs;ujr(xpqwvF9~Ttf z?PoWAIZt1x6YN9-Bbez}n-448YSEgsv&V_IeJEjete!i0Fr}@`d^F>`IiT{{JiTg1 zwni#4tABZ(rWjIUs#X4UYi#LfzAvsaPwI3tl8=3K{1E&sat$Ym0?-nwx<7OOkS>xL96XZQ+e7z-i&U3oD*gPF-tCsgBKA2Krd1HT}yquL?z zJr|6W^I@rnd*ln{87d$$%7X^w!mFSp8K>&d!tjZ~ywj&sj2QhP>f$jFyVhfnKYs%r zjPd0SJFS<8Va4*#!9nlHKft`Zm}3uBQRchv?GS+zV@@bL&zsNNXrhCnvL_Aw^`i~m z?JiBb!=g{wJpL%kF$j@0KQ}zpzt3dE_)e($lm{6QQ4Nwx`BF&Lln|j!+-ORJ@k)ez zPL#gA{C;W01vLoVEXIZl+dj=~T@RF`O}2QgPn%EK{yDi5C4Tp4F?9jQ<|5JsQmzLi z|HP=(Z8}Cfzw}1(wFP`o+8F%n{|_u%=jk3nMCl!f;`D~aWfZ)(=+Rs&q7df8Tf+&283jWqyU)NNdJ>!6F4DCPO@YwZ{ zl=i^?8z~9BT1i>{M8L z25dE38aVyG_RI@?No}5^dohHV<74ZjIx2OtPiBf${oC>iT9Ko@GJ4mJv{qu&YScqw zZ~A!(+{PGSgBF{>;Kh8COcw&pbXQxt3cl+5x|ib2V4)OnFks<|bJ7c1pS8l7U95keB^KBr*I zc$WP7AUk!NSA_}0ZqK|sp1`Mo`frmBq07eHI6ECGn1Ne+!{ou<9gg2}*)yprvGdK$ z+JZzsH-;w%%|OKocW?5P+HsiU{nSC93Ts zHq6WTo*9(N=s-_Se^S)T9&6#;iIr(`d+9G2-}sb!LTRljiQ}1>-z^es@{>XGUyRrA zYMWW0^K-lUrd}~Jao<9MJC+_P(`7NVCeiqOwyP9yNAH~!+w8c?;iYU*s(7)B9R13J zsxj5Bgw&yN3J<^Jhg#g$9Gy-P`jzb7)OsV#mET6LPT3~oa%1D#MF9cSlBB-uoX(?F zSoT`v*)G4%3M~52ncQs~qDj*w z4X^1-sq_vy{?9S`gDakN5zH4dm^3G65y-PIvoF#YYWv^dg^SF9t}nQ1AdbWj6h$MY ze9>_y^sh#p_Q49BP4o*A%plA>KQN*AqJnrrk&*iN0MXOnEZR-&(a9vfp5vBi=6tzz zm>3Z)anE8DaQ4Hqi~IDOppo&Yt_{b7MG&WIJ7+mGp)WFz^*t$#nZ2i9gcyBbI2>A4 z^jDnnD#K@?GpY1|Lcc7imy>q2^)1bVRqz!x+`_MX3vEjlHbniDHwlzsV-6<(y_@ir zYLH#0WlLowbj%s0TNiuuPuh~qtx&$->}5(F(HlTC;Vgku9Pt!1=z_mlOdr&iUe8X? z|3(}G#SFcPIou7JLrY%};;PGSAS}usMoa($Oleprle1RT*Gs9)U#0-ib~7JkA3ZYI z1rlL^v1Oz~|MA&d(_a)?2x>NLsX@WrWGw32J9F@SeSED0^)qWD)})R^ye^fPTtyF7o=JIV5F(h)GMT+tQNsP6xiDO)5P?ma0^)J^bH z`+l)fcHvBXN5$PtiXxE=@Hn}gZ*v`QIFggr>Il$*1)_aIp=*v6V9n27q4>XX_K2ca z*hsB)yu$7us1u`pmaF|-2$^G5^= z@J3-PE%{E9rMk=!gIax$mB6>%{?pg6E1THr2%;n#bD^n7@mMhIpT6onY+6jPhVdQ0 z5@F8jAk7K<-ujG>3;8(GuLos{3bA=t$~?I_fkR(XRifqL?;O(ae^1 z%-o>p1;%SJZ2+PkFkafjpEV-CZNb~YAH>Q_zHn={&xeS2g~1D;G;R^930yyM`TJRb z_rDO2YQ`K&-n)xb`TALmvGhQXz17ivNoB+V?ktUq;o30ZYvxtenRK65G<-U*^C`0g z@P7>=SwRtcXcFaVmD=FF3TvHpS7lDfXI4{bvL*})wX^FVpSaEBPVq&W$b_mrm5TUTShc(j0AGj_N;e0?rT6 zv6O{Zo`c*Z06#gJJ?=ZG7MjydAJ$e|bEVLGrI(y>`ZY13)t^7oa&-GM*YdWT2w$}o zd#62|%SP=ZuxL@)FHf_o4)!z&i}W1rPNHuan}ETg%+*S&|CT**42f2cx~j5!GS1{s zvxY^`h(?R4H^-j%{Hdo5bzNy}pF-3d0S?z1CvbN!QuH3>ZYDLUQxl1&7gQ=x~ewK--)YN%lHU^%euS4Kma^|eH*JS#GPe?a=X?L zcJ_|$2m6-Qm&XKC0uIet4Bp%N3V>g5-=AqhCJCeH0bZ)tXNvMDJw?+Uz9E(u)3-rqF;z$k-#0Yp}pOY_c|(`DaC4h@_Agn zDpvYI>Wum`8ey1cz+nyJ+|JrhRpa0%0P#5uJ1O56h`aX#A(+ zC|Cf{vjkNKwn^ToUGheS$MwA7w^m1Zj7eF*bC;-Z+d?@#DQvy#t#u)U)nsAgp@^Mz zS6^;Gc(!^Z@)Aa2mrqPu&WBE!i8bjGcbaXidSLARTYiyMy<0Q?Pc|yUM#W;U3mmQ( zFwtJysa_N4ImXfgDtuVLL4d8;@yq<2&+VecM)ieojFG2i)OP!z#sYT>EFfx#?rjh^ zK$&Cp8V@xi=-7O!guLxLVXMsC30wl8$uw}as%e9yq-O}#4|76NT8=u*|D0Fjw#6=@ z>KvO%X?_teLzr&QH@X#Yj!FC zUYQh%CrKndr!-;CS3)2aH^7cr2fc~Sy0o-fC~V4~106Cq4Aj&*h8Qdc>&~1%-&zM0 zVh5YVNvZB(?}1I#C}2?{b`P@dfbU>FzunM+dsvjx_U12l=d&lRDSTX~wX2uZ&ctS6 zd;ci^IyYqI^8#NPDnb%c zmq)xrr+GiBG$wa)lFyid%icrPS;y zl-Rj{pwX`}30NH^vJEP>8pdh*j_s{Rog*Lg%_)szi~$8eX;7mCga@a-Lqf_EM{(1G zpS5M~JB=Gwqp{cK={{C7+Y|`HetaLyxDVz%P198Z4W{CROW>JskTh?)k=NAWU*v~$ z-Tx(fOfZjs|pCiqnU}V4U zP)RU$W<2$aIm~j=Z%?rOdCaifei;9kls=0!HYBxS^K7SXW0~lfUvn*uajbJJio;5b z^C@&dhNG_89`DYrOsWpoOmV1xH%Fsfc{c2JhB>G)$y&*W-5B4M01Gi$#mf!42@PDx zCl7f>a5qF|)%SAK=kq7@0%pc=#K8#d#Fk4Qfwe9CnUz{oJoTc1-@;FNH9WNtTU82j zQ(1WOv(#}5p0Pus^q=gE#lN+n=`AsH?M@Yp&p!V1J_R11n z#irx=0sRAWO*KmlZBNN;{>c-eWW(EK1!BaXwQ_VVa8K*uPX!anwYHeF$vpY-DiGjW z-fFLsi>h0S>Gyp~cP6IpZQb+k^7!JTkSk;d<>@rNn}udknwUetd!kf3K=i#RL(R=< zZNt*ysAMuVmmas!gj_2sn(`${RJ$UGHGtQbx*W#CjouJ=`!9+FsC5#Zfj1jU&~>ECL6)50^z&p}uLD35fvb6lJsC(;DuG8m~fZ3!kddG&tPt*L>{!|Ya0w+7_$x(eG zXyvU5jVTVMwe%!EpIXHn0E=^uc=_ot#kurtH!OrgW8MQr9IoZ(pD=;;4o@FuAU9G_ z7IKI?@lfBJ;*C0&0xp#gL#&nFrc`5GukO1i7o9*Pzy=e*?zE$Pv%ANrtDFjM>S;w2 zGb(g?YJS4%OorwVUjDL3BdzHek^oZu$MOnm`7Rz0taw>hC`ns1DY@$(*rJbG`U6>b zXrcojzxF>3SVKrzdk4My&y}x_6#)5G7CO&<+I^a%8|nj<`EgEM@bKz+2A@W6Nvr09 zcpw+EcMeA6eEyXDDYe`X&YRsk`4yo`{Z*z2Jp zW-&Nj^$BR?QdOE!L=@dbd5L|f!J5}NdUk6;OL{Y@7FIMcCu>snvUq4de0G>|*udas z)pzdTwk0-LqM$+joia%JxAp<|gN3=`%hIFof>Uta`eGk^SmGCKL?v@4Uwk!353vfg zMb(U>S}X$#`vIIa+Ks)#qZ^j+GHUr515;~#>Z^M}1Zz^a?GB9JGdo5u3#53DLoSA> zcv2BwiNh0{OHnIMe+@OX0j?g`LNoSM_sU0L6Y-`E^V^5Y*%ekPoN2@6o&#MZ{nBFj z4l&g&2glMs`>P+R49o*%+>u+bM7-(_NtE%9OGE!pfPD)?p<=)@H%B%L79{!@Y3etmK#3uuDly`NAn5YVjgX(7 z&8HPf=2l{tnWTJqq^%=-@d3F^4o6dW-6jxpjb*Cj$WTfbE?%M10}?b)Bp>&NK+hhm zM5QqJ7eZaFh=mbUh4#rwjb$c!XU;!t6@WZ{1b!iMg(l}Ife_KIXF2_MYGFF(>aiIX zFQG@(T^Skeq}FMuxDcU}fm#)T6Umm-;8;WVEQ_Nr!c*~-<}$Zhil3iV#jJ(AfacIH zbA1EyP^FK9Jv;17h^*(ZmJ>cr9ieK1lR~^M=Y6ZYZk%mgAP&Tm1PL4U>2%RCR|C~g z#iVmK3>s~59Oq6l?r{5;x?GDbX+2o8O>$Ns5KN@!>Th9r7kj}AiR@sS+CSDUgjb7O zR36O?9B&_lsWjA`^vm5-oUh=9lvIlR8B!&t=*Dd%t@WRZzBANi2?UM#On{Hgg#7Vp zr{;5CmGKdXOmf(eTnhQMoQ53B8Uyx(SXLhHwW}OGDQm;aHDtnF8YFe7N~Hl595A21 z!+SWzffX~q7z2xmf~+J-;qqUsxuWcIT@K$br}zd)?6P`9FNAeQl}=;T8E!n^f#eYW zk+kIbevG`1rlNjJfz&i|Z0PoZ2C@c&F8fX~*4px~csPYnWk-D&jFve>!DBM_b#L zWA3Knv9797JIZD*uZj?<5H{!7sx-y>OK|f9umM6>J_%RO^V~-On`LCfN5)p~`#)`E zr%^RfSR+fTuq1EHXr%UKm3x{z2ZE~D4;mFcE)9$&%yQiQEzx^1 zqK9Cq{A(DLMzI%Uv=2-f)*tx85e2_OP*DI;_a|b*8J({S>SX2ucdLu#lt4nA7WkY* zLsBv1hga`{X~eNxylWF}8rOw6jxV3ckzBRxIBu%Qt2_yk*-KHFYVwhR^}99JbPFKC z^#=PClC8{)qDjhFF%59luJ_QKM%v`yPs}I>KM9EC^G@ElH-L#Zfs((A;He~=FMgbijs#wa6HH6Lyrq4t zs0SjNhq8-iP!fQKGUnGx%%MeMpb&GR#XeL4-IcfIM@1N?mg>ApL23Pun;POV1}*Yv zWJXG|&ui|}iXdGYH_&M3N^e7Iy+@}B-7qfg-7h?Q?lC@PPVs_nBOMTGW$_eE$*dRL`+bQG=R?y~O(2P3Bf z={aiU{SN;tTcdG=g~wvpR6C-GG7|y!ieF(#eG3n2*922iL7YX1xG>}8JqTf&&VIml zmSdt}VV+$pQWj2&*wb)g-e4?2LUVH~iO&n1(P}2i2Fp1rS+@%|?hFlX)$Qq=JRe=kZXT=A6gy0!Bex0~mQ!=!-Zf;x|bc@qJ34p?l&uLtP*QI;U& z9NDRsWF?ZX+_pU522N|H?jN3B80(ySw`x!lAMDnceLvRi#?uj)?HoB(SvUsGmePi# zOGdT0Yz0lIusq+CMzA9!#O#gCV4omPVnBz0+4Evgjj-MXHlm2e>&;_e-Sjs_MY=7~ zn+KWF39T1LA57V3$a6pDeFvy>xao<7tkb+#GlLp22pmi5Hp$(q(4&;~C z|JHem85LJ!b&z{>4W-|m(b@ttRKYp{#ve?KB1}4*sNG!mj)Agp^C@{C6m0zT!YQq2 z6mE2pS(ry*P`vvmoJLwza^Q7_m6klegf~m|@%{(Uc5&*jgo+#NoE1W0!C9IsE&52U zLmunc#m{uAN1-_NgwZCrZJcX_Pbr7javel(X( zJ1bxweuOkkK%M~C3oo?9YUWhcpHEDgllBFr6VJ6EIMsWFC-SSL`yXfO0L*XWB7!;n zrN>2&7DB5TfgkqH6j?1eFzo+cCKI#<9IC~Y za^ST}_?Ya+Uk}60?!Vkec7(Kwi2i%qV%J(oykD{vPx zS8&Nc4FWgO22Aw)m!KviDHD~w>1zU3!9TjzhFNO{b6+)3*0Ti136~ycq?P!c@g7bJ zpmB19yuRgK-isvYp;*K^Rer%P_+1pNVzz@SzgE3+LiMJm7+vs!o6qaw$)cWw^eq++ zy665=IL&akf3Ir4RBw%=$iTLkQ+$I z<)=bBr%cgVE>k93TxU_}(fJOPUE<=WyGmyte97eaLCqnmEj)Vknp!c~3+xH!VxADb zRHD4m8Jam~Xt)CAq9d%@$tydEy*!L8_Yfu->JTAx^adVM3@VT@y z7dV%tuIgU$8ScN#(kl}B7d5C?;B;Od6oYbP{MMD`_@F@raq~+)hY^(z zJksrV^&9x%TRqsa&|(@FV7Ny|^wPBm$xEYjA*_Y{Igg#MdIih1^ERd*2S>}|V}W)c zG_OypmdA#~Pt74Hz4et%4G5Izt_UZz1sD8oW0e6UG>I~>c|xv$cs>!Bu}c2g73=$h zbNzz(Gn!PyMm-VRT_*-1Spr5d1I7GR{@4H8`gf;|DO=!n_m_O@_QB4~7gKZwAW(E% zS}TiaisZrEBXmIyx@%~(y4W1+S!rK?%hMxfwRB*OEz4GU{>0T8aF=d?Zz}gxm zPv9`FnU;`05BgVB%mTP=_=N>G?OGtF2~jbO5J4h;WQ5EQ6SQ7G_azBGZ;PMmIA+$Q84?uBCQWcftcn2m_v) z=_ekVv9|fIzvZD;E4mYC{Bo?FoFG3=iI!%6Oo$a6ukUq(E3EHBpl*gEN!4p-?%2yt zTV(9t5=D6BJxUol=A=bGYLHyBD>m?^hR|cf1rE5^)w!dQdYIyd!I02*_6|7LSgL1; z$^?bx%km`#sNNbs@M(`Hxc8% z=P6<+Im`1@SIi@9S2y5yvGa={_n%I=z`?MA<{)Mw@osE>(kfM})y3dE(FDuGp{4AU z*hPKIv4OadMO>tr0pKq2RtbCfvfh2Hu;IiejH#Dr+0H~&b_KKnzKlXE|H;h=EiMd0 z*k2++T$gjHSV*-bVF5~E_m$0Ew|eX0({FT4z+thHE|B?!J??)~?#FIW*QYr49C<1# zn(RfvWgAIDb!-yvoVX|dyRDHeHgV~7rHHj1&G_~6&a3#=ofLF;wHDT43L)1wKb}xM z7>!RFGHhzy@>^3qyML`EWTYN&=_aP}U=c62FNbA~ePYMR<{SP#bL(!B$uA7Jpb>Ah zcV#K1hS668^)YuPOF4Q5DO?&zIPGqEV1>MvJEV@y$(sm=WvO_k_hc^%Y+8_9WBFzT zDXe>Y=tpM98>OT}MUU#AA*w~ zRD>|+Lz;qdTw*M*Fnw9=YcfVeP7qUKVAWcVV2?lMeF4bp%1Ez3?7#M}6(4(TH|xxw zaSJ>g&bBvoE|$_WgeRt7LSf%X5|)sF$DK+jlQ8UUdXv0U26nfyJsl=}(7tj?l`A<9 zH?W~9EkEt0=*mvFQStkZa@~VVb8KQy$&S;ts_*6>#MaWbE=`PVpMsf%-fbXNd9y=H zy2`IE*Isg`Y4i>NAI{4wv<^`Q9v*ew2~JcngTJ1)`GGa0V)*wcx`fv_vS2fjrpsdb z&t{Cty57F1_{u$*7}py((jo~!h2?Bf&)lS86<;H*<*)9L7d3={uPRIkEKxf zvS9Pm9Cz|kZCMEsV;%*1PA1lk#Qo;om4d0;0ZDdODLs`$#EO}`6T0t27ah1z0dLd_ z>a{;l#Au=Vk<}n()5Li$Ls(BY#Wut7oasc_+J>k@8;g8aa}AkTr4#rpmOaQA0ja&r zYZj`YT1rwL!m@n8z)3~=in_Xcr^%+VTkolhW<-jD?xW7yxd@6SpFDL6Kea(b^0zGQ z{lL=w3nN7i+VfvxG$L0fA?lO(TWr0k0+<;)kxUjg5x^rEj3L7*#eC#)Cf;og`nndM z+=_f6Z@G2oP{E+wNs&Pe$T3W0kEp=BtR6NNtUkIR4BpuR@Z$SX7hUve5Bk;KrJD#y zpg){QuPNQhpFb#t(Xjo??Aca;&uTYi%EX744W=GkUDK@mzw9|i^i(EJuJSR)zMJFW8^ZcEj#a$EuHuX^ z5B|GYx96Y+(P-=aru{ZN$T;1AkYf-E%V#E{vF$Y67sB6~<$!L|$!jE%Et$+gXI7Ob zFvcJ-Sj^b$xGRF&XX_N`G5^amL?n0Mj`7ip{;sjyabv3QgN#+h!_CmqWZM(|HJX9+(}TX397(~^=)5YD z^zGFZACs?S*{#SP*lDVG3`OdK)^z-=b%RTY!90o48_Ptkq#wI4t&{H{Z_fSy{O77h zcFjQVf9IJu@b`J5&O{+UdiWqMC&z7GkwyI_#!)y|{-)Hqi1hGvM#<9Q;ZTI-NmXpAAzz{xEB`n~4wqR?9OJ+CU2>7;7GH^zEE5J*DyW z;~Sb6WFI$$h^^woP87g1CRf#zVALJRG3y$7kSm+J0Rd+-UyCNaE+mjWLk!_o30i%~IY>)7d@ zbOlTQ{H6Y5l-Ig=x^ELu(3z4P&A$paGps3QLGeyrX@{DI1h-26MK?s^YnJcGJK0E( zu4gk`=OPZ>XV;9;gxJB!7w35}c2>@bqHX&4!3=2x&XE(FkNgN$$5KrHu0Q5cp8hoc z4}O97#l6|*NO&9ol?PJ$6N5fl$SF4Q%>y!||HUG5`1OUeK2A5Cxo3(EYmk|RTm0E@ z(kAh)%5BU{qyg-c83O@DbLhGw{U6)1xbu)dPqF|ZO%EnMj>X*3^L;sLTJjw>&Ql72 z`sp@! zG*SOn-H+H(lDo9v#L}#Uc@81xL<&+Mbto+}jWA}{^*P6V@6E@J%t&4HV1X9ev#e&f z`F}f##FW@!c@NH zu+M2H_Fmh&#gmo0cC^|!V*vXHpOdx3@s$t~$9yJAP>Z>Jc04T3w!R?UHfaHB8n$sc=yGIE{GRCQ_k`*JlS>JWc1=NMslWvVOO}p~hoN!~!~1vu8l|fj z4Q{PBbr(*=ytG{)O;x{dN#?ztd{m;NkMf2Fe;Q?=P8W2e_(HVWsBFhFEPMlcrdh>j zg$oDUv>i2O5k)-?AxGv*0v2Lcp*$v|Eq(c{%ePDMiw(&=nnW%tx@}zN@Wrb+eA$7( z4(=m-H=oLo9?1GdbfXVZsxcW_VchAqB3f*9Pt-V}Sx9BXG%TL02vm1!Dir~sN~@jx z?$`|gAI{MQVNbAt=@XTM3u>H)@*-_$ldH+G<9T8lNUHEpPU(U3oRSdbCKg)4q@wMs zLi>V9nXQZr-eeKGS(>>j8FD2@=j4G{cpF`a=Nq`6Vy9jaBVu(rp)^wH2=9>^=QCsn zDUT~+N9aY}ydNg)xbCXU7!#?&ma)vJJ@cQYA@b)vOxZPx`$xOU3-n(Zu9yyfVhB?# zB%&w-;Oq=mEqGP%Hw(yF{QYNDyyJ?ls%$Yc=!uyDve69z+9Ut6bd6Uj(rgP>v(@m3 zw=~c*7Bjr^lHQ}psstpf5#XUiUig*o1x6%y!2y2(}9SxB=SvNbwbd#1PWTT zc%$wb7>XkNI|(j-{}e;uK5`zoz8&0tsOk_+JZux^!WNtR#G#L)daW8UhO7T8;`%I< z7EqCGu3R#F>#BQ9xyICW;iPsQfIoe|xPd+_rDNL9l2sHmZQx(bd5SygL;AuJ*Ia&c zGY5XM{9UQ(aPv~|obwFZ&%VFIPSyL$N%@Ug4v|o-eN9G@yb0%QEcCg5oADuNyFGd9 z(o$mbvr2?X)Q64r3$}WdWnj%2rp^ip>^uT#adn)BYPNK(H@?kx)s+UBbgX20f7Dnc=-7Ruo?1{^DC|Mf zBo5*r;u$a@U2P-0aLa^eMgafq6U2FL0pX;lZkW(>R6qoh2rx~mDBo6#&PqAA3YL{3 zkoVy>t9k(@Y}kyA08`|KX;3JEOFaopCc zm5j54`P-Ad`3K7>yzR|EWOV$ghbg`S<0sPGO*-TU>qK4=qu+uF(?hn1Lu(%MSaWdt zibVuu7j!ER`Dns27Q6@Mxa6zlJQFC94qH?>)fYCF>V_Gc54ZpyK;XaNZ(gpMw12%- z3m!8z*_=JeO9cp)mqRD^g^@KSFEYEB1Y%Q>6O9h=hrbj|ZCr{%z7e?%nF?%I&}ErV zrsqWb*Y2Uw*{6AdVu8*TD&oRB@))(@#geW9eo*|tikKa=@9W-zjW@)wq)w~2mzS+u z@B>9TqeHZxmpP=MVyp~jRXwEfzq_$LyoN~CBnR3Sw~N}n57bE2 z;Z_}nfTrm#qA$C%XD2}ym%%VhE2QR15S>q8Cy)ilkhQygC;;0~P~mPl@h&~=y@iSX zYE)M`IQe+zKlpkd9|e_4aN*WYP0hup6GTM1X6d?Sb-!`lf0#Y8m(X7`q&leht6So{ zQPyj0ncKzNa;{& znm?qYj>Rwc{eLULp4YC`%}t5SifVA3#r0fn*=jDSR;ZOx1L`rCBl!8K_@CO!hF+kj znPM8~3AK3!J+k^;?!3i=EiV+;sF#;rDIgfhUrt-u;qFN2a7|0We5d@e>f-z06?`7x z6T{DkIYh7e;e~(;YWG3KfhL+npEG;Q(}V#K!n&E-?Bi$7G4bh!lWf=IJ!4L$#i%Yi zu06riF$tZ#JkQJRykRKZ7!eGW{b?!Ac8%f{oy%D|i4K-F%tX=~YQu@j^ z%P@dPKp8MKxGlk9-uu$^1s>^mX>84(xNtCL(HoIq%eG-lIU8l@tR-6tdS&43z7~* zMdObq{Z^m-rVOO6jIr=p80C- z=s68*Gv%E*jmlRS5hluIZGg1=<(VVHo1of#4W;(w-%!&1+tVkbHXV3n6i}^}Pj>#H zbZ`=$4=!jUDJJ(_4*n5eRE&+e7y%_si(wsJt~Vy?S%!f+f&yo^ynw0y{;ZTZrurA9 zz27KyeL!R75G(Y4o5i@kdxM|g&z)8DHoze<+5`=ZtsO^-^3}&u0J<^;LKFT|gBjRI zXkwZ2 zZ}|lj!Q2|=T@#OTGh=JF7~0lO4gz~a##=BWV+h$+fys%lb}8#Z*ZJXgKm2N2OXSHt z>3!sR(<$nYR*X1#ScrZ*nQR@rIcU_>dqte4$WqWS_o9&?%XDe!z4I;?{2(gdvkZ9q zib}DyZ=}gVmJKsczSm6Qwy4X8U#t6p-3_XMg}dkofQXAh+JAA{fcU42?tH^6)I2aX{?m??p*(W zI2BV#!|j+&eXzmBg^i1YGY+VRSWX?!$7bnq6e#EDn-KM@#CKK&h6+_6DtjwqQg$Q# zIoJHcJQ|NTni8_;c-~tAC>jYJs#0HCbG#C+ZYBnOK`pdv(Xh{N2!tmo)@jXkbv<}M z@^B}b>9`0DkOrA8_P7mkjS%rc=j9Jjy_l0MHA-w0WK8u564%uyzWyXO;^5DHc_Ka5 zy`3@$HBS8WxN?VJs4O~r#9f2sV3b(x~;#e1I<;)Zh`ZrukW7JAOQzAX!ke zD4wZxw7o(FGW(zB5B@HcdBRpT>4jdo9QTf{4PdTgg zrjo;iwR#TMT;CLF0vR1_-5r>wZS%c;N@{XfAPQ?7_)3->xdXNt?j=o|$*I7KXvVhu zSZKjaSl&QvU($qp;D0fjOdjX`*`Xpmf}~&dPN9K~)?;!|0lf{y6MH;7=9yimcC+iN zq`g}AGxS2$7Zkw$@5~yr&~Kp$MC{y!k^ti9K&l8#*WkQx=76zLNr^rBtBe1fN?gR@ z`VFgoZ5)UQvFnEj`f(CbqA>K4ZfCwH6NqUv`RqRRKF0G<{#F;P(qFI!mf9jgaO_gP z4HgV7F07)XWQf-67ytSq%@kICsqD&cGJ>_~SDY09um10~1>Nxw6P8wQj-U!1W4{h2 zL3AW3xo{J@dP%J8erV7(nd#IM!3Ay zj|HUk?D*;hPfw-R9B%gwEmbtW8PG>Pw(U|e+_RPHY!Q+5kri$2Mqikd8Pu>LE|;U+ zhBXxFfgb>2qF$k>lY)}^Y1=hMDC|-|iX8y5{IJOq>h=j*Jj0h1As?r-3qJ2F`?CqT z{@@t{_pz^Kpo;H_%zf`U@4;Yk-(PXL+%NF4&jYgV&muMi>G*}@Aq!k-v@wk>paG+y zW{1UH4?NwpZ8Z6eqnhz-=vqqGhaFnkDtfKoS!$@vKK*P+t4#e{UazD)gD{a}dOyYG z+ovx9x4;$lA?CIi?JF)LxJjAMDcgIcbUJm5q*w`h8_mtnt64b8mFA;ZA4xW?wYTGYtd#m!szbN4g`jvpZe3Lq2* zpPoFzd>GdiUMjm+2pMV^paJ1*w#LARf=sH4ZR_uy)E#I(2zsN~ndd;5)C!w?iUF*x z6H_Y=lP32Se6zUPRQSVfxvW2JqIibZ=VZm`W@(`p>k+y9Gbuq`+o)b*~ zE`r+ta51Yl8j!xR&p>`d=*pqjbdXR4eFTZ(ju*llarMteJ?{l^k+`7!8r5R2TTguh zt*f)dgd4os_4epub!G(w-x0~; zM!!|WQp5?FKK`RQQzS-BWknrfpm9Mug|^*kFHVpk+ZGZ0O zcm*$T;HdXRCD*T%56|hiWXD&q_uc8a;ZZgo5AhvQ{nV^Fz)L{SN)_(q>e3=b61s*1 zU5_RU(9qHSVKBlwwMT$JE`|a#C2$wJbO!|%IE8R!)lGg%Iw3i=W|cMjD#UUrF+qcu zKT+_&wpZFvUXR^>W&b;#rK>jYCJDW|%PYo7Rw1 zs&b>CYJk&57}(|kOhMN1f8=_6~W55Kwi>63MNaVwcsxRzo3#ZXFWXSYzCP07_rUteUvH){}{*l z5^8CPMRTVDfD20$iD~=c&E6SOUc~3EII-_)$nc^fFjp&c`XMU~gC#AU|+v8-l~nv8mZB{@y6O7I*oyGgtQ@`5lwM z|D2{4jEq>lo_<37F&598y>#gH0rSvL{}xPWNWTbCd7?Id2Ksm(HhKW5Z-@1`w4@ms zY%Z!IWl4rb7#fo0FE?9fL|gui>|aLz^ko$*>Q@C%-;hq!Y}o7G^OpD_CqZBK<0= z#}iy8M;Y~-XLItvxUys*u=nZEI*5#T9c^)+i5iGaJ;hagQ2WHBlLi9miXWhA&6a)S2{oMMVB<^aLpNg@#oVEpS zqHEHJ8UbBI4djxXtLF@j(^Ps;YB2*)|VcY!|yroh@`R%)Z9W)DL zGVU@kNPA&nx>#?5vX^{C?~K&b#>y37XHJy@V)_2VYD7ErSTC5xb9y8b?igBuvf%;B zUWZXujLTOGSMZx<8gT!~dGG2LrfsHv-M7dq54Gud~qnzWd<1u8XyphK^ z7>nuHVRa&tMAao+wP7ctGb%(XO%xs!Wr@c>v~JzDnvHf6>ImZ%XYVexxgvV5V}v0{d$6c07A=J%%| zhlS?k^;C0?NuuRrg#y&Ej8OGta_WZE_8slvP2QYBBD*&l+7bE89DY<0k(t*>=;2ij z9`r;E`~qVa;eeob!67(+ZUP`_79^xv4Ioa%%@zszJm-e?Eu`OkC`Ni{Zl5tfIFPRj zKz$u$g8u*0MAukUR4Wxak?g2Atd{h=Fdb=rz$0*3pl=CVc$=~qR1Azm?kKr`Fv19O z_1V-L5Q8aZk0dGnLF2Atbzd<&1)b~elSVmh6AwjGiFo5L6uG${Ecv6MD8g2z1F}Qt zUvs{G%I#mRLAj^`^4aN~MyFxW9}K4HU-Cywsr;|RYjjK+9EI`c!m4?vxMr>pt~P0+ z@x=Om?On-x@TER?Fp1ym5O%o2pU41gVTSoGQ%o4VDTrnX+UX`J<_*EPr|b@E`X#PeYE8S29Phy{sRU6iZD;`f*wT-bg_>zi~A;<4r*42fdLNC?Nlj93{ z>lOqWs6Mdm=#jeuOuTH6{n^co?VAjGV9X(es`|0XI&Cud*IZE?DqxVgeJC^;!f#&S z*DHAE2nW(f))bAj_PeHQ&C5BZ&;fmz~kLj~8m-gv zRhw%-WWqZ|INn;wNf@I}+cgsFfDUk3-#{}*vm~JN7XmW-0D(Vo3u4(Vd2aJ(cdf*Q zquFsW%@XFX`qKn$uO$N9Y!eNCc3m<;*>Qdhu9jq%nrmKwmyp+*_oGROrf#E)uU_q# z0XHtLbO(-R2U)nxYpQ~6#v#zLv3j*@f<)Y}(M%`gHCdGzPZ?>Q3S5cFAb=zx;VhS& zFhY_)&JK3)+r$EjnJF(VbdXrsKM0;V!PJYxa2xgleBmZ54>mgZ)UC&|wh+XR>QbXW zFU7&aRE+?9`&F`woRW9zT@y^eb<;G`CrW9lf#3lY>g-5AswZO1tzj}HgK~QjtaL?&6EB0m z*wyllQt(9bRhWM4u<4(V`m};pk97sR)rD&X#F77ErAzuX8DFQdUa7^W&ZRA!s3)}_ z6HHTDV6cYfkm2#<78FTI-WPItjfdqJ3qw^LKOmAP8Q-lH)?8iCe+Qv#vzVuFr~mD7 zYnrC!Z>wK7MG4{;s1{okzVNwhn(S921wh+aRL`iLy$=RfUpw?ny z=yqE$lX9<^YX1_GQ2;7C&3ZW8!$|v0gAmez1a%-;agOx7<(KN}bmvSBY9f6S*RYtj zOKw!;-lHo%b2YpAJ{@fDgcwurqMue+Q5uovC{g*#V&yPkRba1swf;M!EoV4W7_X^2bB$R zPD_Vnh@8~^ddzpkU$`TyEDs{&7{2)VT&zPGH>l;YHlSrZvJ;bAn#gM?bHO~voNEd{ z*B3B|1+7WuF`rR&&>aW_M~Igut|)eg)FF+1gQJ??1!B?~=0?kb{9~Err7JjQP~s|x zKT}|ei^5*>Xd#-!B#olWLq2{0&?fTIE1+itDBfh`tGtGEv>GPvN?)&nvx0 zRNE}Q@<&)CGhN64U)qxu`o0c&jr^zYs&x@?Dkq`~xuW^*mAvD`l7@gnVt=9h69;vE z*%oD(4lO+Sca4kx$*4@uYt_Y|en+od8$g(8+k%F~od?}egYklHKEy%JjMHp|{`kdT z|A?M;5{5qmTNj9RVK&&n5~(ft2sDfy3Jjw<){d>I9Wj=<(7Io9nyZK!aak& zTSYUNOguLgc>qHw;Va!t+(N)$pfH2B3iEbnoR-b$!e0R6SxIp}akNl@Qe3-OzKAMw zc7zL-08pvzrkYZq!s@xFIUSkcMiiT0d98W{|MF#2Bax+n6^(z(>M~pm@XZ(@Z2axU~3+_I&_II{R5CZvXLD$Ei*p- zkrB%t5*kSw|Mm|3|2(ENo91?*`~siv_NpZ#Mm14%7_U=Z&4(=T`iRSIvw2iZ2R>K;lIXP-42;#y+K2Iwj<&@(Y2`L19*Q@Q z*|hB#fIbnUIY^giEa#0!iX25;&I7j9Lrow6#_;c`%^l*RsB>(i2Xb3gy)w6{!&U8W zfI2KAM{^JfB6@y(&Y#bP21PKb1x`o=M${adjv6rREW+=~e?U!Xx{j;05vD&0@Qq5rNMH7Ur^O*teL4FJRZD5_PEccKGF6UbJRk5yyBc2 z1;_M4L@b;L0S)eG6>c?|vP#RFqs@L1)x$VW7f;}_9^iX7%wd;DvaspV(^55?s%384 zZ`B_Fm(vN=nu86=`1MVQepips#cASy{V{{_=RCxzQwuvg0$! z>)5KHrAeewmtX)olu>*&i@b}o89J%&l=;u^08pR z$l~wj8{WeGSj82SKX(V(OYRW6@n6|W$&GGv+4r8-7Eh$r zC@%-Ljv*4JwmM!8Azj$%A0ovjb*y7Jg3n z84eVIG}xbHJNN6tn73zL*94raX(A9Qp`L2;1BBL)zS64_cP&g_NYhNo3DMQ%&UQ+g zum>x7(X=^Cn#8(oTF{Lab5qyHrJ*Pe?%5ly0H}F0e ztv9D(hRwvO4PN3Ngt7bFY}zBe0I?!+1A=4Iy9Nz(K9X;F?2nG#(s7WkjiDB_5L1~JOz#s;8E}&-dEtLNbUZo%MCN=XXvQVftIN#BDfFB7dq*B?w z6t&!V+_4}!Dpk;!3Iq@^b!#a-iniuy8w5V%YZx-JHc|OW^4wcnRVZ8V7n&Hk`GfVK z22c2;8UJwPpV`~_o?Qls_k4C4=miHO)L_$TM}Ad^H4x9xg7@fC$NZW+RKiPRarinO z>eC%r%Df5bW=4@6onkVUU)JwgZ0k59US<&e>bh?aV|?Yge;0w^UcvE($gb+1w}ZZ3Smax_aMuY9*nCwAb@@@_G6d9?&Vewo4w zU6e~ck;Iq;d7Gb!T-bJ)thT&thhsIugR`_Us}?@K#mH=|*GCbN=?WdM3vj`Jn)lR` zz^-keUPJ06T(GY9#1!l~Na&6`#4O+~d!X^`qc=SpCCP|&o(K(LskPY0U=(p9 zAf39{jr1DE)*IU%JLl1L%&pNWaIm>_G|yVnjih|ew+q-u z<@($QhPMcs$4Ho8SuA7UbVvhU93(cdqgRAZZ$Kic{r4BXCWD>pp-##H%GPh1p`<~r z7J@ckgy}LId%5H1!Yt|ToDDl-OC`pI)Av^e0Ij-+s!=3}I6%%}W8CAYJ%XISalEOf z%(v7O{P*FBYZRaV^2(RVW!abf`u0&@}z>l-^$TR&_{gnfnEYmRT#3JW|7ib+)S2tJpY^i$Nf( z2&R{lqZqjg>U$_QKRNdC+c?E%6A3Kf*7FCrJ0o2TTm(2moY*-BI(R1$ z<8QQDcB^1^3VE3$GO#BifGfvEM|~E`rQxyX!El?VQkUQJVaIm!Pi|_M87Dk*+bx92 zlNQ(LD8B8xtAPWZ+^v6W@HW%kk*uQ@Cu=HsRubC3$2LMnELSzGeiA92iJ9H$t6@Ld z*&2+*;^evA_`niRY(yc9xs=i3#EsKWVnace8?J$pE}(78)cUYT$slv13933`*IfvN z1X;>jZjK*nE0^mrn%%+jrcLHyh{seNR;0rs}f>kuY}^RrAQ7I~^W zg<_ECrpY~gT$V>gh_*ec(8!8%pBbELY|}<4KyhO!a(2BVwO=ijR@MWfz9^?5KKX&} z3^x~ph)i|M#F)}HL>_Pn0)52zwIkQ|Q@!j=)$wEKI#AvC&W545tkgew8o5gbn*%|$b;$~yzC=bo7V^Y`xkAQ`Q8r? z#xOCWW0!nos`EE?#trH2p>nd7Mmh;I%iOJ)cC>r0)!zD zW4X8QA+C*#E*jBm&BS}PRXQ+?F~(+_ES}2o>|5RsyR7Fwj!Xt9KQX1C9tRY`sN8fv zmL1jj8o`^*WyB`2Y}c~?>{fdbt9m640?=FonCZASa8u*ACdvIbb*Dca{h{C2L$fq) z`db@bfd`qStjWR{$5Pq-*dDmoCG2v1_Hj6FoK1OXvOY~Wqm&fOZRJ{yqyhi+xhRxW ze0vA>;IV^k{tJ>PU5bT5abFdoVWUbw4oIBDP*7P{f;>jDLdc1Ga@EGtf~Scm@=)YX z5^P!34G;O1CH&5ZKp1z~q#hDM|C3*ms{J92E>Ot%2&qo?sXkwh!Iiv?z4hUejvMA@ ztu3RDT=W+lE=3E=$-weT>%J7%tAy(i0=>-!i6_jIgpAwoAoMbQ`5E);-y02j+I3)= zYcM0Z6;^{?9IB0Qjh0T_eq}jWm$J!$(jaFoeoT%0iU2Gy0IEyA&=4C zxDCRyAI;!@h;FM=wll4rB166G`=TOuY+(EJ9TDEJ{C&UPJ(v?OpR_ik^7RUy)&=4| z#R{J6RMi(TwOqZ+fopyNw3g~K`f`=EDFwaW4tgzHY#Cw6LU-$gP3ji8&Ope+jj^q? z9ubi-V@nQ%QVMA7__?(=zOF%&?4mHDYh`83&(EXTmHP6(sIEo0Djivva?#*kQR3eT znrv0A;Xob5g4z|!=9GX20U4>J9~;UD;YllHf_sjPUogu8w>!92uenRHnMMPzb#a4j zxNU*tO$pw0+Tj+&MAqBNb-n#2T~v*~1Gk~_cavMw^~<3dFV#v(;+u572sU1aW` z4(iY6xv7)Ul9ImX(uwX^yIlp4*8YkNfa*WfOaJ{RJQE|r9_g$-MqE1AlFFx;Zn#w14!RBCPYR@u+h(WrLy6Zm26(A2kBhR#a zE44&Iv(Xf&L>Q88ZEJCm3dRQ;$GY=C-yH&{DgaalR^htwbRuK)x4O9Bc`Jlrf3#TG ze#b6o-n~ppy~%55H!2w><)vJLqcfOam-n(BZ*q2T>H0QinP{}q=MqE8SNSN24MRqI zkn8)G&bLMIU}`Cc5Ia?4n1=-9t-~T!JhZUD^x|s<1WKqbCR2m{+ygks`E${SWPk!I z8N^XAaK(9bqH7UMiMVOar?a(jYNc)5u88ybguQo6GW{5Ydy-2~Ajg4prkw;FTE8N2 zlems(H)I3ifTSw&09L+vMqm^q-K1m}n(awx;h*KhjJS<9G6X3X zsg&Lg$!zOrb9~XX($cq%;SCJ8E){NP-3iO&?|H^j#nxQS-zLYk>inWf`lwHM6swl= z?{1EV`!m6+qf3ia&xykjuK1l&vdPa2+>i5nIj=27tq~2&?;N+W)#5?I(wAKQy+}9a z)5)MA0Pt-;S^yf@?r5{xz^?Ql4W_V1)8}u!lz&?qR_0x_?lFUHeu$;eJ=#cJcF)2f z)c>D}++jp_y9UyhLI+LjFTDP(t}Yc|(B+!akkO6{qp&gMj`E&D%z#%ZA)nwJ-SDOBUFVp~)P5SMOe-I}=MRlxYjEZx{b?r}E#UBX zGr8nkcu7<7Sq>MpC!Mf7r^0T}N>F<;t>hZe%)fmo|p&Zc9IR@tjkdRv!totHS+@Ct6kXRy8puWO&c$)a}!9M zH&_eXA>Qs6|INkZAKgE9Cdk8CbU|=V;8Strl@Z_H z6o}=~c=96Z{w+=r#A_ik(JFA-R%e<5GY%pty|$gEzl+a1zl#y=g7)^~PGuj}|tqJ}y&jT!wG>W#{;vH+R%x{Knn-`9it%-U{UPT!- zhfcAPMc(Iw{8-+qn|`DBA>_%wV5CqE094FB$Th;r8Ld`ayZ9q5-5P6-Rv2)>F=rtT zX{GrS@rNZ`_Y>taY7aEIy1A=1-?*c$oKu>$1>x9(KY&q7hYHTgbwx-Uf?AZ($%#fs z3L4Kd^q1&*q&PH4X`dip%Eb?_$~CknYIwfPaL~I5XDK#B=S(BH7FK?OZ)h&|!l5rV zd`a*EDNp**H}=yY{mUW>{Mr*4WFh@r+C@XTc!YR`73;=Q$H|Zgr(;$))alu*yQzRf zm4o~IFr6k)^H?y&9fJJ8P0h!eM}G|W^=zb5tRXVqv17i9{MevkI|HB{8g^Ur!b0h< zpR>FMXFAI#SgY`p!KjZf!(DloS#J=wmM*K5E)qO$IAt&lGCh`0My-Sj%RIIc50-hE zRD#F17!eh>YGX9+c`)M{9# z<7pOzN_A^jnr;jg!4w3j)4-oW3Q~vg3u-NLYTIf`aa?B;9f7(OYUd-Lj>1BnX&#_!hiDZ~O##l<<@NZ6i7qC&{^#?nUSsId8{VL7LBuIv`ysA9 zSy)r2P#Iy>1C66{K+_PdPOzzs=7Ob!e|F4B&-)?Xj(5ZNeK-|>r>z}z=GH3qs`(i)n4POYp=no%i|gitr8m#!}?I?$)Qu4(4Y3 zW>NyjZbnMU7kOl(RHknS*+6C!B4S6~xCM1juytECbOuwD#sbDY0q2yXqR+PK2rwc* zc*X8;WX!p=?Q%!Uri^P$n};eolA;~hkXjeNpC$+`&t)N?dzCq)&Bbu(giR8d^}N34 zP!h-NB{15qCye2OFDWRMgvY+cSyvymm$45Z-HFL<#h+P(YBxvWC&_i@q4`R72gwk> zm=2p)W+5z#TGo~Hd9s~LWmu(sCq;|`E4|Tcj0N{QlhZEvdIK+lb&F`D^RZdxAbdWp zuW0Um*j)pjoZ>s-P>&wKS-|0}HIa*=y9QPOqls9TNSa~+t->iZzR06k*(kKujll}C zqRvJdSr=SC^l3a}c|)=@w9<-Ldms5pHi$T5o^5hF#4F%4RZcTY9Re~s%gdy`^mcGC zT2KR9ZI$wl5-Z^Fq>!T&I1-}GCO&~g#hL*}b(bOJ(mKcfGQ6C!zF-_PeV;4h8VGFZ=rv)_BmdM&dG2;p$n(d5Dq1y< zFZzf+X|H`_E()L?V+hxab>ZDQ^U#Nk5_f@YvQ=HwTFLuOglaM;&;-a z|1Ys7NeDt?1jdDC)dTs(%O|`tpOo`ZJ0Wbwddh;4FQ!4BXc^0x^h)~wBG*TH%*g9* zl)^;MZhd(+UwC0OgzTZ`RsI#qD>!n|06HnQcCC($8+kdO>^Q7-80t4O2I?6om?7w* zvUxKH_LOBI(!cDwy&;=vy*N#)Er-lCy@>INy66nZkn@GdjZVa5=j2Zt0U|Qg>Sv_? zCbs9}vafJ6LcK`i&5*J=OU@1_z6Jf*Z{@~`daU`HjNww{>_y*BxCdpMayJ2oyL}50 zT?;=NkI)}4b?%d-=Wo;Eb2Ekkr7bL)h0wXyV#9*V&fHxI>P!T0RmvsJ#wP)6z8 z>JaLv{Q}t9xF6Cp6%0R+QKI9t@Z$vF0W-{_qs8y^$WxAfITBhs+vWU3FwnK=Ah1FE z`YHl&w&GeVeeGEgYlxU&lL}--Ll+;biWlTk_~vRMrOhk8bh5=;nTw#)SsBsw5z;;% zdLIK2E5{Z0V5=q1`L)RJ#tYQl0f-G`9BcvRzEUvr2xD*=9LkXX;AcFo|HvRNF;!7n zy~^n8JnQhr;RKm28Sz8iZYMMDI>3uT1W zNoARrJ`*KycU-UCO~MC%uL&t`A~R&q1+ToR8qSRLLUwTTh#FzUVd)|^GDh6m6L|$) z)1-wIJop^hm?-`hbRNMUqwaadh6o}ki?Ke;^t8V3+EgYQafa>pja?#QWyV&*mvyz8 zZ69`9U+Q*!*&-j!J}r+4EW!4w0#rZ&pVak*ZJAwcpP1)(w%N-RN-OW52Nnnj_7MS_ z{q>+4sKbi71NJ490T`+*A*x08Bs+4temF z@vi#4>9c8(ZR8r(`Za#- zF<{ZK>tt*!)Y0vdDt#e}!FedjOGDG<);&>amR<`c4pCPLdM&YR~Qn`;pbzHS77zMmd$iNsy!xuM4J z6>A5LTYp<0JyfpnsjdPIO%)MTTZS{uiD-j9UBNy1r>blDPXWO#P+i3o1xGWAq^FLv(TOR6YSd51ju!>m&KkJ5uS9gH=JxO$qM&UP3d1t4dwDcV~1lYG^=goyEVCl zhyViZ$QO5>#wcOUvNZ*{qK(Wv*88EKKs}qYL$}-=ylJ`eKOY-}qvs@hz{nOScd>C4 z^RQgsFJwkZxV6oSwZh-%BpV-xW-*F`{tH?>mO3i&LJnM!2@1H)qLx*1d-T2b0Ch}I z8SU8(^kkW#1`a>_Onzuw*A_Quhr&F57v`HqS(Ivr!vk7FD?FP0&lmVvm}W}opl}RA z@u5mpkblAay5K?7ZCX`JD*Pt-`a7L8uP?~nYyf|PXPZZ#?x}V}sKJ=s9^4X5c?tzR zjbwGR7ecG%L$23Rav1ssIZFdYt)Dne-f-A*q0s+ulX=PiS_QhNE@EERnSd-XdQ7k; zP~z&!wf^zpDYV-<5n|y#|Kh*OGz3~YWILtBxt7Hc8uE1ftZ$>knIL0D5eEgFk3fL- zUVId!Td^%}{1A#NkvN`>%BeR%dV5_qnoxZ{k%!0Bv$E7Z2TF|7O`=DgKN>P37?t&Z zQ!SFXwIz^DjUHMIJC5Qk?{A5lvou4HtO53BoEs#mte(noX>N$_3~vEN{`rNPn}+Ug zH?GGlURJdJU?dIY4K~dQz7wlXmEndb1=$9#l=*@7-}oDt-+wZdY?k?4|6O7!y!=9u zu-vd*R~W65VJ-{Uwfl$tx8^y~##=5n342p{Y!Q^=<;X^f{G7sUijPyj!JSisZ1Ip< zcvhdg9Q|6q+szZBVVVHZ}T z5^+H`m|`iAlbBNW0;E`>3a=Cu^J&AbbVFr)Fy3TQfWvkdb5z7<69Y_G>cNDS#koMU zxIfjwVgr95a*F_!YT$~Tq=(=ClCrm`Nw{LOLBp=dR>%ve6TR&PFa~m$SujOxGU392 zmk(QwC~-O@1v4l8*6yv057&6qayJ5i)f;axB}}yutAYQpj?`2TnR9dcKbQiP+`H&C zJ_h)BWC_oYg|GkGRd8*%gUR=vhUr>nnXXgm1kVM}o?DxykYX+}Tk+`x9YkwR5IAi1 zQ~#vt?HA~>4}F(QnI1GV;Eq(luKc^Vi)O+aI|=+jh#VL!LcIwXgDhoGH#ZAL-1Q0K zhqt{NC_FmD4kYZSuBU+4pojiL>O(k(fsSYh4gVED?Fu$ldoP;uk#UDlObVis4_yvg z%PiQKehZVK`V~Kc=-qIV45+M5%h?oS>a0csm?wjUuTBjrH1d7C5)Mo!wP)`FOSg zd#6V#sb_23hCkH=6uUI37918g8cqfjw;K3)6rJdVsrkK$N=kF8VcdDAdz)DI2FjKf zSoqo^^e|AO32{%QJY6~zr!}NOA_cd(K-*sh@k90$iEZdFrV4bZ zAtTBFOj2>QcroT#yAy`%@bax={;42`USp^R*Hi$+jHmH)Ik&uHx`DWx&00Jt7~Q|M zZYVxnPDtOptnt%K^m2giP3hps8?z)&$0weo!i3!<$0r&)VFJ^5u1U4$Vs5{i4p60v zqp)(GGURdy_0Lb(lMs5!pnA+>W5jMf-GcU@22|2fT3+g}l=y-Bx~5$CSxP6g5||XF zRm;WqZI)~$y?4=w6-%j7dzk~d9+V0C5?B|XF<}g$X?c*Lu zrl>*4u`3I$bIz%R8JkGf*?fEXd#>Fq8FK(CK-ItZrG&`YKJl7k!#ZRace&h7Hhh{eC|jSem5+ zogqw?iLLqAB=aA^nMPCLMO^?#4pm&C_W7En??Pg)@)~}tOJ&wIH$tBOu#V1ih^x|? zwSR*>?7vq^ac$IiEuTv+0fWM#TA(sM1zz(d-IRTLy z{z70mN4+G5&liMagH`#j+2_mYW92-Qq?iKWB0T$syaXNeK3}Y=GkUM&`v#mUkf6yieSvSHMinA` z8=kDPK_HI}VrTbSC`<0n3Nz25W!U`z&P>!Kr#j%g@NZ3!V40t1v`?fcNK&RiAr2tqPJh6UJd;u z|La(8Mdv|corJncI{T`*XFJuq94-nh&pw`Hj2IdgNUt$>bAjEW@5I>iOoGE^<^Qry}~Dj_i{ZJ68C7QY7qU28afon5p_BYX-j6k^bap; z7h^kY+x+{+L8_Hd){-I>h`t*6xY-P!kTa8smkfo0f(~ssP8&Qfi%C1t`zu80TT?PK zffSZZr;V)92jY#zsLiD_cUEW=nchKi0AkC|JpM$$l(0YDR$rLiYaFfqE~m?*e>LYp z5^#@u4Zt9b)5$pI8Z~YhM6*Hl>_1QQzop30jX)uNp9l>!Ow6h4$Gi6KJ1LFF8jy}* zvenvc0nLI1$^d_l=&hsW;||ZW!Q5vc9u@b{$WzGE|%=wg3nXp}JEtLStfSWaw zD9L%Cw>t%uN@@U3U#;|j=l_44odQetl|(-#7{T|huc~t1eq{^w)77hq|Jyt%WgTHa z&<12Y3J!4asyhHTE$5fpNX4?XeINQ2?P0%UZQG&;+ryEEvw8XN-48Z)$q7$hzG2`T zZ_ih`&_`oUS7LRhw} z$m`BE{TUY;O>=bu&4Ji$7EiNJR4B0hnxdjjdE2`A&;kEN+y5r(9&c`s0hqpf=^Dx9MSG4U9&3md?@T4Vxbb>0PNp@n^>Nc0 zFqjj6*kh^=Y$G^1sB?Q5S-!#uZvv&6RMYgQe4_2fK0mVL;+^^_`_={`_ioo8^xU4= z)kbt!m5oaj+=(Px(3XSpE>9r;nVH}wGUNmEXsw@k5=TupyWAo|Jg?!Pk)v+&-@UOBETO^uoSYsg`D#hQv{ei z+LA$?g-1b!Q;we%<5ML*d80rF32n4^l7^4AuJBuLW?YzfO6_X3!at5WpQw_r^}a^= zEg5bXR$949yleM(ya|TV)_@JQ1h#F?N^A9kkH6N8tM%6C!FEXS&lx+$gQ4>AQHYdF z!uur}4<)sI?y%Pitcg{%eB>hY4}p*%WG%xU;)`ZLq!gTH6kR%LyO=Y%S6);^F03({ zqbpxe2ejj%u@mcCQ475Kft&0Noq*Be)%!VKfYe(pv!4ze6Fxb@=ckKia_DRwe`qr^ zJ#U%JP3UdQ8fJ>~X=VpZG1RTetkA9}uCbFCHcEG)LTz)w=&o5)qiLlz>j$u^2z)2~ zCltJBu5cSO&C4JlRf9(d&eUYS#O9PcVG48oK|qhFf&Lxu87%9zY;%@)9=HAHCgSze zB;-F$^!T?7gDA}q;S)K8nC|Q8J;_0FL=%0f7-4o>Y-^6Q%U9!|cRR{`aNT+F)4c-} zWmSsPaG$T0&e%>LLxgFx5VB!`#DQ!%R^vncaiJT251-d%Nn(8SZO`T8QZ=}m=#H3o z69Sxzx~%|j8=@OwuMqK_wLcbR@X-lp0D(%F&%UaonmUrwZT9>B z?WUYY+Sp$=mNwFRHc!{M*_xfTIJeHffB6baTq2d+Rc%ZsUeexmtA#j9!@xmA*22g| zP#C(^t{a)bkh&=d5P5C*Q@YWWT|22dD&g9L`n1<+>?+W&&Zs7SG)5sz$J6Bk;2EM_ zR$&a3lsXGM?sv0kHFtIwh^d&!ZcgNGB7vTYE_Jw;JO4`A|BaHIdrYkj#J^SM2^u5HTQ3 z3wYv!I=$dyLf#H$(xIs$H2H3{B83TJ+FHux+FpvQ9is=UOo5PM;pgqgue{laBpZM$u z{jrMN4}!=Jmx$7Z0gMV63SC zLKt(u^MMJ-u>HD(Q_oS}DCUgq{ie{t&Dv0>sh{dya!1 z@L5!^>%DB%h1tn}I8&|grE z*k&5iUxsfajnnVmpFJllNyuk!v>SwU?_(%3uaBFspbMHanQWZLsfj`Jn&v+hwBrLb|#U` z(G&^ZZU!1R0jxx&HrSsq{f5m&B^oUhE$C4;SNXG({S2dnDBOfIU!gclz1i8#M@Xtb zd_GMNEf_W|jtO7*jvGB^WN`FfYR<=EFI&=W$E5opX5=OwE`+GJMBe_zDMrB4NK4R# z%R1LIv*hyFD50n;4V54Z*fNkHq5k>6c$X3n{PclqD(z7Ra{i&!5J;J-nb@P9)GXJq z%=5OgBNZHDsq=8!E$|*BlrTpwD4@6GGBy{R%6en0?nR$s(#XaachLlye@Z0NKmtsu z7qRFg{x;;!VIm%1E_xf9EV=n|jTNMF#sf`Tp8XgPg@YBXC}48_LN4zRwH%Qk+3%aZ z6i2!%t0aI1*QgUG93Lml);uZl6{Wofs8Upi%(TO#osPmvVU9d^Bkq=wEx6-g-_3-W!U#8APRM=+(p3^?oTIKh{+vmrx@+~Jcapa=zF zipP_bl>aS8JpyJ6+n#QxGgv@#NA(;6Z$CH#s|B-ZIAqGoVMR^_m?u>z#UC+|-W;A& zxNtw)9gIxV9t(v=s`F|EU^lHwqJZd}>nx1&VwV{kubP!z4N^B+Eg{0eFuc9lRUa6%!bCUDUgFB z282j51x)6(qdo3S5S$?bK4B;>H#&xxwbRPo>{SUBt1XMNqYlNZ204e@Rs46Pb9lbj z{ip%h-k+2G9TDj``V~(0Iw{vizjvBGTUQ&J<`f5~j`Jm8Z*hs%WX%iJ9LD#=aHa;$ z^M8##%eD0{z`Sc_lOx!7k{vq1!AYe}5a z(PFinccGslTH{!~au2sPh@0zDNKz!vmsF5;Ctit#NJ|Y?0o!grU$jcN4W_=kB{SD? zMo&o!=VWB;>X}0kbW}&G{r$uVqXzlC#3)Ap%kP;@N_Z+%N_uD$--9wf|Ab56laL5S z&*4lLzZ|y5Bh?u$eO4`XXq<#HE2F>Dj^qJA?Hi=LicKpFCklAn)$l-G2XMPI>eZl- z`GHWH%z9B0Fed*teN%qsBzp4(h(+`y4^BN=cq*iJZ>CRKUQi^RhdP0KQ2H(F-Sv+Q z?`~i!7~Yans!Jhcdjhn$lftKvI(WJJR!s!@^x`w(CED)+ z3!0jQGfY63B`V6$I{9_SuG51C_9`(bR0`-ksGhfKiS_~7lm~Os1oSx_gp6{uK@;Ja zLPh2M{Ftk*A;O}qx_d7fb%di;K;KgcVcN{o zUP_Ct!+IRn{q%IV+92+gn+N!FN?i;zPQT*;JUQj+@C)P6-K_|Mp%4uw+$XKuL#A1r z@Cqzv{MjL&P%DJ6xM`;GI#t!qrAmt?Y{lmCwIx_6uCJiqAl3P^M!1n{-|IZtf_iEK zGAmbqG6R7l8Vq0FD^^h9;5^a;#pv{8j2aG5UL>z(Z#vic)#zrnn&j1o5C$Z;WR(+H zcEpwA=zM}6c3g}>h5vM0{(XM)Tr?u<1jq!d)o3Pr0aIKr8=Cy9i3lALaY5!q%Of< zvZTXvYUB#YDW(8)!bKuT&cyurL=aVdN`$AlO0v>eM_~~Da?&iG_(<<4AI98hksBQ= z_Z+;V$}tuUW)qE&VbgwS8Xt2-mBE?rhG=vutEyjF6D;AkhL@K2?JuZrwt5+B z6s^*LQo5G6Xo@xN%!dMcie82hmjia_V)f$~t;4ZKo6kyv3R07CBA_6rF0Q0ktI?}2 zpU8`RE&Z33WeAsdVRdz_jmJ52M!Yu~r_+b7pA5FwNAJ7+bI&cWh)}aejVHUsgduMP z`e)=0-2j!xj+YVAH-GT4U-SzuyQJ;A#?2@HC@fC9{H z$ZHFPL-x1TjG%4UP%>XjUkd^p0v`s5kU)!sJe`tUF^I96;d~4!nO=apSpy+w#|I`bZhu6_fD z^e(TC{r$ragO2E4ooxmak(alz={@^}$;Bn+_Szf+H>bS=t zucD{wTg=;eaf1yW5i^QH5-RpeQl3A*O7hRF<~0ULlkDf!nGq4lt6T9Zyudd;6*-1v zrNwYPn6RM`D-~L8zM>)!Dx0_mRv}9m1-0#6^7uwEAGC!~Y9O3BVPLJ-S4_WQxN^3C znO=gflNpxf((jykX?15l=*ubZF(2m7hjJ*9=%4j^nJ{GEpOH})<)ELqOhAL$>Z!k^C z5O+BMwD9Eq0C_|#%3cNAFCaB4-*rJLypJG0q@m8pilF=h%tr<+z+ENfkUHktNr>8| zE=P~=QWL<~W~#}VH#{FZy2_9LDWII%U)!W2^HX_ls)aXzifT~a261{%is>*p<* z$W$49YRuXK!Au6YH)?HrK$lP7GNH}VSbUy*K|up*UU&WM&62&lZ@FCGK+Me0=%x?c zji08->{U&=sIBE!;S{nc2@A$T^WwcGEyJtkkn>ZC6;+zC>o7Ze#xc96d9qgJ}yEPX=yy$OUwz z$fx9!h8o9tX!_Q97#B2x+Id-Z9idK!PZA*J_7IPs{ip`NOYqRRn~;bHhk?-)F&#p$xF?*iz`lu&}K9B)5nTD7g9Vz-$;n-9uD6-sw& zs?fo(%Q$Fc{_%g6ManBF17;R)Ry<}(r{V09fQp{Coy|z6MW=r9+r!l?u=!Jz8x|w- z%-fB|T}URLDjGz{W0JKgUwE-?Ghhs1geDv+qhZ0@39LG0ItOf&OC8Iy9b?F z+?^}?P<2Y}&@iQZh#uMBfLk5UCU$RVnB0LVD^yfN(S)?n15{@Q)B>3Z4uwt?I~HP~MVF!`;v)z=bs# z#5Fq%9L&v&L$pKPYaoYU>zubOgh@T{RWPVWHWHNQSzPw;He zQ8Wkz(3x~CRa2+2v%Di*n3*QOW1l6|H8ytPOMFeAi;d}=Tmlc?ySKQ>jM4`~EdYHL zQ37z33~9N7DxIz`#UxPU7a_%fj2j4K8vx&p*J=#_!63@TLKxM+#~@%Gry3n+%8L{w5J`r4Fv^40?G?*2xNG)#;-v5VV3M+xZ4(;LhYX;@SJU6ziqR;__-q<$Q+)HH3TfyxuRZO-@sQ zw?XC|GcYVtz(?*g=DZt4CEZ)zj8R64hoRH1`S%lRiX|V#L+DQhSZ=IaL>H*Y8+i>o z9Hun;hOu`g zT>m0|O{we?`laqJtKD9ok5w0Q3{oGaX+`(T9#)!Z-ftL}TmP4?Y(@FY)X zfPzPhI5p@mCWG*3(=yfre%93->FRaR0Ay|IAm;QhkW9ky4U2P+!WnphMtk;jUQ}*dRdY0`nQC zCz}@uF)fc?KOU=e_Dy5E7euM2SG(j^YhIvpV$pb7d z*;4|LLx6a62qo+<(HUv)Dun{f*y_abY-Z{G7&A_(!f+_6S0wV;Vt}fV-DEsiMkPPO z_Kx3^uOu2IbgnQ6o%K}iD#@tHSVU+qa#Lmh>T$M5sJ5zQq7eaXtuQq6Jxh#o7**RJ#WH0p{XSeXUI+cum zSS~M+ZATT2u@6GCbzr+k`$F|Mi?NRX!=O9KFFgX-8h5ECqrGlS6AAdEZ61!PM-GRk z+5Q2KR4vvjbu-L!S%(ZilSI}Zd@XW^%I<0}WTp1Hb)dMGzi6o=GyhZ zl!BS3vskyI`wuL7Q&XsdMzF_47*G1+t?n^jQm5407$=AKk zf*;08iP>`eip=z$Y8!d_+Jak7E!~*(X6k}MmQT2_W#3dd?ipqS(D9-{fz(x5=H{M4 zA&%NGt2AJAqDgO^WQb(sTzoLc97788tdU`7BKQ^8b7tmFiSI2KmdwiEr=(pJd<(ge zmr0d;lU#*vw?HY>%Wb5VDxy&L8R4_RZ(0Xp5_(-8`wZ%|=24(5(GXw$(G) z)Q=2)oKvbJam%AtxskOoGdi_`ij&DID=OE+R1iIeZr;Odo%YRpdY=1fdsPmX~1S*;(+Dpb$b~l zdv`stFpiTI2{KyjNN@W^&2WQAFGW=y3*#XPoNN%g(B(z&n++Z9A8r5?b;nuA5?){9QO#FlsBPl7~(K_i3J52Ub zWh;kYLCrvu#UJk3Km~Zs?wb=K%EGiiqu9$Za>g#b>p)Y~Qb@xsko3zehH`ZZp-Hze zui@$A@kV?maVhHDl_=>h^-tt1YTm22XH06Ijg8m`d6BRY;SFWC-+dDJjB2km(ddiX zdSv!MjGR8w+3((O(bw@1o3!n#Wy_6M_>K>-j~<|X=?)c;ood_euJ032{=*7gft-ehiXLA)qBGcGw2%1VNy5W;!dS8^c$%$+(WPkOY)g70djAe;^T zksDs!yN0338ahs<6Wa;fg_+c_qOpYe{Wfv=;}LR!??(w(*?QXFkF#R+hhF6wQb~vC+%`Fx%ma`p?S^}K|T^=1ub6GU(6&XPuwA)-iECIqSPsYtYk`b!D2KW!9y zXRB~v1|eJgV9jUa!2#ohEY0L&p-H-sLeHAu&iFdNxZPqL<%&a+t_J_~4-8%6`v;nklzR3(PM9!$LC$ z!Cl#9@h*ox{(xj{Xr>Hk)^~_&t(JY$;rFA+44!!&y{b5U5|ahMiLh#%6Z{8)Y8i#b zrIpM83T<|?BhP~@6eLcqD^9=5xh}&MAZq#cE^V*fsjm#0D>jY{FkQI$Zqx)lW#}I# zHUw25xOhs9$$ISf;%cR7?_1RxUCw_@bihM&=je=^sX7V-1FvHb3Cg4L@lIerS`qqqjv3_W%B69cpWjieI5aM}zP_~Hl zI7uunSiG0yl03~>Da~0x8%93av7InpRAmI6qLpUm!Hdc#^HHT%YaZMWU?6;dUwEy6 z<%i(~Eof1>N4=`!YOe#0i!c-AE`y=teg8Wwmk=vADt@P~MDj=%X12bw+q}W1N8(CZ zgLDKPsPg?0Y80YHs0`{KKnv0SCXgM}E0?Fxr{iVHc5G|}SZYO5pp=rykLhd^uqaFN~y}8s$6+>x4`R% zkwsu#s%Y*E)qO4%psO{Cp{d0c+ zz$C(X%IORe;yZ(*jb805-{c~5l61lDRmmgdX8n!NV+g7SUW7Q9FS7xA4#ExQVNVwO z(keWurC9pWNM2c|EWBe})VJIEEL$s&8^NB9TaM3hiM(Q?c%AW`%N$8i!$;S{RSI4H zfIaCZ-Qo!8c&9fV-m{vccb@T*7Qx4n&#~-<2?i!@(_tiue66#>U8FTe`jt*|N@d{o zQq?*%`2vjT7c!m>&&|RCAF2r8wT!Se1nuS7nEI#^rrrww=tG`1rxq@&8jG#e?qY2U zCTNl~B|yiX31crVJ7%7{M0^Uh<2yVGT%*fM5?o6PSUazAhN#&=NV5@T#Zxg=k20XgW z85ktnR&XxHwkW(eQ^nG6c`QvU|E$u=*gpla?iT zh|n-oR(~Dn#o`~GvoRz8hYH<2!M6g9*08wDI$%p=zAPbg9J25#&`vIMD&xu4qSzUo zYhV*LOaH&xsY>i@=N~l1Gnk+u@(+w!rgLbHRrc1mO3d4*NH3K-q*7p;$M*C1*a^Js{#cgk@;mMu^TGluCQCyUq*}NW(3tYW z=^R0W+v+GDTe%ObGWs~N*%kDUNA?#R2gs?4jR4+|%AQEa{;y0`&KJ|lmW@G20Ozaa z)|f?96n7cJLc;$50Ak7E<8Z#>fB8xe#s2dpkiU=gdOEZR^zLzomgGBKv+ydHF*Rll zm*?C>XjL_muqFtD+~Q7r&b1ewF>rkC3enZFkOV9qK56kUCYbKnh@*a7qnrBs%T;yI zyltuaE{rhxs^|Dzn+WlmsL=>LLB3fu-C3B9`dZi(SXn^(%U= z-&2tKir#~vQ;eqjKowav*|dN6Ip#7$WN@{i+n=d6sPkrFzg$DtJ z(buy@Om*^s@w&i(_tzPpUz#YZ$?dz3i=g!{1ZYB&E+>#kb8Wo?!aqxh;TT)W1uofC zp!W3Vdg{?-1B!s{=%Fu2R&t0GdfPvJ=RN+~QT_Dw_lN~;ev~^2tPDv;U89{FCi_lWYr@9>w7S!DAcnerj z{HRE3F4M+75mf+<=kR~Fl5tHp32VzDjMMXr}V!xhVnMNXCQL+E~tk1 zt>XHBx*2%Ygp$YjC(8c#eE{*HH}mjXE$y*Q^8kv-t&rp6Bogdo84`=%*?XBH5fe?& zH;$$-b7Lqai>3pKk4vu?OoILad4k}%X?iWd2%%tys- zJ>z43j;Agc5^f`s%=nf?&Fdwoy%+1XxBm8(T9o>D979IM;xhPi&c|)GSZn;>p^fBy z1L=av?Fz_2?hWda52;$aW^DIx=tqLQe@#*AUARZ5k1YdX)j?SEu{-^Pz8i+BL)??q z2=_?rXej+MsB|`MhilbF7ORf(%B7qV(4?~1pbIr@)!nF$JcDR_E6SM`6f9ssSx{1l zV$>}O?n%aurhh~G_ydaRBIo*%jlo#!UG@wYMmdf9p-vhuzZ9z!eZnV87;)D|L)#lT zcVb&Ki&R09gl#31uARwB>U;(zgXPXsVmMC5D(#XUq9YcM*YLYJnucD{$ zJ5wwakL$x^=L92I zFt5&zBvhgf_amDtzpR~-hM^rTo!uTtG^SwlC@<8f9AQ!{%iE5*oH$8dc#y=O*g<+? zBJU0hHOYhJLJq6M-_YXdR{8uTLyLPsUMvNkmEjf`UK;Z;OYh%o-l>rGpoHX$ZL`ss z5~Z4*8iz^Nk{4?n0|CoZC0aRAJ&+ zJ1-@?z1ZTW-5^u8$xA`tvYU1k+7xsi?}BH`m%Uj{Of03~YKX3`hT_oh0_c}l-efPT z(FGi^nPMwYk36aOego1vwVaH-TVhsI18aL`fDDV8`=1M~LxXIhV`VxXdcKwt$DQVy z1gFa-^;}ffK%8+ae`%`SlT|^k>@wHWau7s)jo;JjL085;gt*8_+^2>$B#X#@u}7 z`ZD0ga>a0UiCB4A93AlH>`HB-le*Kz^Z?%VDabaZQas0-(ZL$WQq& z7b#G-C1A)n97Xy-Zc_%iX>ZL`3vOU57udI@XzQn$hT{&lcX?4F*s2I&EV=i2b9X^g z|H9a1gG@M%ZJt#@bzITrcFJ>oeUH_JAh}!|5&~^!^ike4ZG@}dd~NG-4H^Ou%UTzc zHhjr*^;#Y4ZI`=Pk|bN={Rw(qKw?pGcBcpV9x*1WDf&$HQKcg;t-g}&f~ z$vAMuzyuc~~jS_g$|&eQ298M8xWy!1k50f(MWk4jO7Jck=;C?|5lC|_M%zb-9)YfA6x?N>zFU{Z9n#P82Y0XxRrIpJJ z%6wDv)mZ~oo^^?JXxCybx5Z77Vu%0F=x!KV2NhOFi{}XUW#Pv5{Fz`Q$bb|P9ApHp zLpkRn&lvvtE{I8ne*OG^qMj}7mP^k_|KH=@2eR#SXJe%>#nkY(L3Iw2OU4z}w-=rS z6Oz6zID9x;AGq)>_Kl;#bE($XX=MyEnMyoE%G81Z9CsBPnc#U*4Sn_>7e7dyfuES8 z&EKmq5RzIA1YSa|SOL6PN|F$XcnRf{^8);fmcAZimTOZ}S*2Bdj66ipa5$SSbQ)vG z31z3!vRx-tS`ScP>yd0?9E%s*i}vy|3nZK2KLOm?XqX})d)YC;cbOO7_1a!008NH( zC>67s($1p3($3+7JgPv;cKm~wl4Myb+s%?^uJVk4j3DmPY(1F@RtemVEu`lc%~6A) zR(Sx4#`A9N&VmqE-k%MigL!EV@;fxZ<&6PMrCpk)Xy5Wg-qKrt2L|~)M;mv|yo>k} z&+Ad-32k+=DXK7SbDkNZO7z0#0faGl?;DgM!Fn)W6rr2JL`^G{e!s539lu-cGvNvA zWe1;7{U^+0I!^dG>g9SKJ2VS7&m?+f4oRYGz#p1a+mtI0na77+&JZ{4c|cagnJWF` zLSp_T??lyR8aUhO3N^j^?Sw7WCdb#n=sA~s1UKp7{{W%KXt~@ZXtXwToAEtf9_1#K z>U+QYU|FRMBxJXGFNVq#Ag`b9(-{)GHPMrPS9988!8F(92qx$}qqtA=`h4Tnz%B&~ zgYnjgf!nC0zO=FiQ~L+V2`b6fCOny!hig;N?>_j&pTq2-CmCWFdomPCN!K^(itVnT zSoVIc|J#DjR_I`2P#C+;&XcMkw{>asOVLl2wDtgG-tgpniBi~>oiigVy?3kG9#Clr zngbfm0Pr^tugxgvV=}c(PFlV4YbYvc4`?Ka!B~YAOJ2?$(Rr)Jq*Y4HNR^oh&w_w;d#yCboz{I)lk_`+GE#nA;&=PLNR zB2zIkjn$?q=sz`5FKyibZwfBe*;M|X6(3%B*&WR|xm>FWK@jj)L6aTqXsUBr6bfUQ zX&XoHq5Dr4qQ<_S))iKYH^dM>sreD3jbYk$o&2Hbixf2F{; zEGx(r>!o(~(59slyjozJF$`7NWbB3#ln_F!o48b!!`6D^+RhociFz(+;c z9eMe!C2}56L_c~l1rHU4+*Bg~x(+uz-%Yb$@bQEBNwo_rlx$rNnu@SeTICKVSiMYG zIQl=ni?%J)>HC7FK+eSRYi!Ad2h%9+f`si-bcm6iGqEY$q9WbrNfDewtIQ5Y)B4JM zF(k@Lq;wn6*u2>l(z#n-$(pO+IJ`NQF}Tol^qxD9@`C9ebIb^{DU{DtC7xWCNQb|Rf-LoM3H;FG?q|xlCeoLn} z%(BBa7Cs_PcWvH&^8-3j3s2ZCkFhKYv{^7lW>Hzw-@eM5d1J{Oz-Dh&%vYo6&TdI| z=oGe1LZxR)T6OdIn-M?wGRN_z9cU-{giL6wO_$r6>$|pZc0T%j0lr@BC^Co^=yHQG zwEAu@#OiV4u~PPAKdlwEd8<#S1T=v6t*H;aL~UpWt)#5KG&-i$AtwTwjPki_b9B&< z3g1FwQvW-&?Z1X?G44rndqeQc#-C>ee3OjTiz4LzyvU4pLA!IsjBv-TXko1oLJl21>OAtj!uCgcpJgGo$%zsWd4xb=Fri=MO_to6-v(RkxJqP`!*N-)mxZiQ zOAt=njNfZ4?gmtrfF-?CqvsYk;) zK4cN0S8ylt?@9Tez>YrBTwf(rcw|GZixJR`m?#u#M}Hh^I|H$Wp#6*F1C+sxXOo0L zm2C~8vwzf`7?cA5U#==^x&$sJf#Z`YwQ>+26Dh3(j$<+uOf z2rD_ntRR>)81ltd`MhA+uO0X!+QWwb04J&7bi2{~rQviIlBu%W1wl~>n`vTxfF>c9 zdb=L8Db<=CjRrIg$aKX7CDVvuT9AG-3QrJBj+pnC_03tUNnkXe6hZ(XBcG7MipV;Y z>2Wvr?Ho+78P%#g#vl}8XfQty6j^>>Kggf=$#M^yI!Z} z@?Ou5h^P~t3r^L5Ez0w$WKS#g>$f;O3%xxjm~3Z3zSquC{tKPxb3$`AT3HDp(S#J4 z-$899wTf@TGf$xIt|OEH@iq^-frDxxCQ3Mrrok!v)CVrB$ywd#a)=lqORDKYX%MkK zzIlS`nT5#`Y;7>d((uCe(2-C-TmKXT8`YJ+Z-dI2v5bN_yYmFvs_*il;^uQLQkjr% z`JLaqs0v>o3U{RT<0Uk;m3lA@=&?653ekso)!StuQAogZda@A>L(+wN+Nxd$E(4a* zuNuZARF_8quZR!3|7dCM%A$_(`Ace`-j(2}jg_3C<$RYdg1FG$+RB7UU3H(SY ztYCkhJsdsEzPvHD^?~NbZCC4Oz6UYU4z9Ex*lt~@>|-a5x7mV@#k}<*gii*>OCesB znm#ERq@uiG3iEnX>Tmc&7$aZCt6dVoyk(KbYG|IHA+??>9V|gjA(-QHn+tpXDfisO?z18Q;Jw7n3t^EWyHYa;HL<9(AjR~OYPX-=K*rDcZ zOasX3qtPg>@m^fO>K|5LrC)^_$&j0rrM??H!X3GI4D{r$D=7QAXLid~}6X3h>-A z3|xk(k6SGVxKT5D6lxXExkxA30y`q8k=4G~K4Ge*U#ABmfu;{&;_j2FBCRUxX(eh zDA1A(hsm5t01)*4@LL5pJ;(*6=^!Zm=Ufw;EohT#3Mh{Wy16?iIQfq-Q%U$L1d&bQ z|AhoXh$p56h>d`c;N_ea{kHE0tZCGvFbBEtlSCNMIlZcEyMEWy^2c!LQ4pYdcuF9x z2WYFIupY8ek?2soz)yffCuojRlAX&!2Cs#FRs1&P@BaL7`xQwQriR?>yTkB~b?vjo zk(c>mrp+>Hxm1~U3^cDuyQ)2Rq5xgN*He!N}q%oycp-hh@IP+DvR5J1%`;<`M%};H*m(XRIi3Ron-lK ztCXP*H{m6KFI4`Y2w8OPR}0DQo3gabU5XJ#e8<+v!qrLAy5w-6#-zy!Y)w3;@#9W7 zDY%zJjWTutj?M#fDP=|1ysxH07zLw-*K5dC@Xg$*h>2NZ3oaiqe1mAV3C#cH<4CQp zO#bxU^11*&ds5p5VJ+Zp00wfQ?e6Z_ijdvJ*ST*jix?%>WJ1lXyZEyhTdfwblSA1U ziWYk#(>qB!K?>3Y{n?y6)e9Bo*GkN%9}wYi?QFYU`vdsh4OOZX$w9z<$;-mj?;gT4 z_|1=dR9-9fH3@$?=eopwB6ZpGQm>T(Yhgf?S`7Mp`_J>-4tJ(xLz+|2i4qTE*%Z{ zHtR4aAPjHBd8yysFUk8=qZd-o|K@zn%5qW}x@ccz$*GYpic2)+zTqKJBmFZljPv^) zHs7_jTIqWI|Hrrg5`^8fxPV$GXX?6Ge*}e};T(R^J)jXs_2@|LSHaZ(`;%?nPM2rsq<33Bva!WxOYa zxTy27#ST;uXD=LiCPXZo2nXn#sdVT7j?wVVx9lVAbEI?Ad8%AtGl|j(UF3K(&;JtN zmx4WvOL<;co}SofFx!HPs|#2e3juH^HyNn3uWZ=)xxtL0hiDmsSQKgSV~# zmYv=T?ts1)2DjDR(mlk?474;l$*K*$PaNpmDmcjAeP;v-my3w;#)Up5aQns(Us!D+ zT@+m@0W}c>$QBHHXJ^Z4V0HK%)T`hCm{})xi?zB7CLjjLRH|s=gxBPs{iGRia>aCE z*DN*B2fHy0^*#f{f5kuH z`6uj}%=PY<5V$o}UU@Xj--ne>sdOu{OkpUpr+bi*0mkhDRT@P`>}yGsF-_0C!nT4C z!v@%UcSc3@5v{Km$7vxEDV)Q+v7`zMo1ZMH_Ab}m{CXm>pLN7jWMhN7beQmt@q%{MYcB>vs#6Nu&0~FxBD??g`=LLd0mW;W=;PlQ6qrs{^li7Pkr9>cXXaNbbH5L8jp=R$_-OFMID%BW zBZ5yJJGOydJG!Wl@c0xJN^o0wv$ai|pExQGWyur3OIiSCspoLy2_-+snkpGNG9_Uw- zb%FP^Ra9UZh}*BcDvKIRNf9T9uG<~z`P#UQ^oAivAtN0bl|zNg361v9FTBZcLhD8* z;SUr>9mVwG(N3`MGS^L{rv8W{+LM7>4x6zpw3{K#IuqV(BuJcQd!~B4gCm0$f=%ULM+>mQn1e z{?3(->|p>L5Y2VY1QCfgBu4$7Q<|D)aA~t4C89ngaR8g+^LB`G zhd$(l8e$(Dy@Bs#_s~S$U|)Z^Yo6YQgdaN$Tb=iJe?Bp}E)_c}Z0k;OQa^mCsf*{k zx5+UPSvE6oQdaUA<2cSbocsNSagjJ35W}>xa&=Vguq+)98O`d|fv91g+q5Om3mi>% z_4^ht+GNy4utydkDDw{kvpA2BY_k~AhJ$yS1ZM*C#Bv6Ot)lz_?$J# zB{w^CDpa0YjWIYo89hpxFhz(TI@V@ie2J2_$fz3`w>6 zy)IloeSq^9Va;49h>XTLtX|xg_LDoe7w{?^l&^(*VaWR)vTu5Z4<erBo4W<6h`Z zMOEs}Y$)I9a9hUhc2E!9g~kdNm7kz9>E=N$pAa3#hJu$WFI4u-M^#>yBToQDos5kU zADHlr{YgB|2>s*FU?VCNiT&A*!J{|7kxVrnqsi*M(^5Yvh=uHtMXaMMdq0ZQqN?xr zhfg@K=+781K7|Qm+En(?Gov@bf2G5ufZn09q2r*=L19R+Phb#27s=8}TPAx-rm6>| z-Epk~7YJ7Mt}s;Hm)}tc?udmR)toK7e^EGJh@wM;h?mC==f;ue^BQyNFVi{z?#|ze zAqN8gZd{Yrf|S#zr=NR`nIAgNl_+Jtv_$LRce{sAqY*h=PtW#wJBOcEV-he))EqkV zzvGi3%sWf)u-4->0>Zi*N;Aj~T!W6-&``K`aELfh0QVH?qR}L<6S?Dq@sd z9{-OyU+?1x$8}z}pMbqtxO8O`w=GmTu|ig~_=bF^G}X#dwGA*f2U@&&$F~iQwy_Hh z3~tru5AXZHj=r4VO~&|pZjJha3cvwshDG?+H+Lp=>ugjZ>Qi2so4=R)qGk0A>{bn`XgkZrSI)VsQZo|7QBsvq8n2BIHl$z00z@mXWI~a<)!S zAfNbN3f_hk3be#nf7B=)pK8H|4_seUBX%Y!cxcrpvm=NI1S8RvR;=PsF;% z1d_*iskl@bEj`zp$47DK(wJy|+F93K_ZFliSqrmwC7xNMfGiY+=m>eJ%fW4}Qlyyh zeu5WhceHWOAzRG@@9bi&{Ov9vSo!OOp9()S(fBiCT|DLnfBJ*&%s+5742Q_vM}iEp zBNr8SZK_Q|^_m|bpAM}4xAMTrg**h)A#`qB@m|2yej=1CPVDvUpi-$A*>}_{kl~H zs|<}1pA`c(+?oIA4Q-H4(tm$lSQddnELyPsQ5HN`kiA~-537!@C9d{nZN(31Gy(2q(yY08yA$kn`>kz2VfbOPx~(A{cWIZ z3z=TC_|f}J8{nt=Hcnj|PTyWWx?SBAdzbu<%c}Q6_(R zL1TTKE*c@2!UDE1Fjy8UG_?nU>yWYy=mb|>gwsCbb*%APqp7H5Hyj0T^os%8%K0Z= zsAmADlbg;#^&ot^H;&c@kqq`8Ark)VJ9G_f0i0_KGZqI^NK+)qy{1nVt&@~yqDk=% zt8EK$t{EUC03|(8Go`UuFS5bBgl?Ta|3Z^Pd}@Px`m~e8^@Jl#@Eip8Q5xg`aY7B^ z^nOrzRwFxP$99viIdA^1x4r)?_z5S*G=GYbHj8lsv*1n;+Q0RaEOrR+jwiGCoXVOE zL3I#?gxiW#r4&=o?4i=VcsJzqrqF2Sz(K z<8Q{i8>^tka)z?&H0aUz51KfTBL+1UTs|Vq06>>Jgn8c9q=%>5vqSxRFaLQum<+a< zf`A0^>NR1a#ucS)-Jz7w_E za{>h4+OUh;cw_?g=O6vXZ`mBY)((QaczKBonjo}s`;g|8tZLD!A|9|*iuXChTv*K_ zGez?*+$01hti>qm7omV&e_y2#N}W<0H|$+Y@*M1e=DX!tQrM;opA7ep@w_|*{Fv}l z8D~xqmNdow$7R^fBH(=#NkLlS4v~-3_MEaanc$!D``zE6x{NZ-kf`=Ya z|BlF3DXin^1)0?BCN(=M0auDsT&^)2sML5E|vII18@U)T8UFm6)3ZTufHvvd%S zQoROyTy4wm{MG+d2|ZQj+i?F}UVLWCWV0W}K=m5RkTMSHHZlY!1C}UDy2aWfOVH0{&jFod<(jYvF7=jTAli2)A0#a z8DTNJR87$E#t?xnS+}Z{xe;;$Wo~uu2c^7^0bJ}xNQ1pPbt0}n8CCfHQIxdi_ z=sO5M^FYy}(9_ea$nmJ%WXn*6$j2t-LdX)5Bd-A)&LWcQ4vZ3Utz@fyLbKTJO3)mN zdT#VBRM`q9`F*S2KB#-U0g-4!zL?yFUC%ePPP%*+*i%Xzu2B!u#Hx6EU{@@3bXU1z zEB4Nb!cVMunGo0TihU9MdANvREI&^cu4S~yit~?2$^>rq9Glzhry1j0B?IecD}khho$%PT7srjFJ3!QI&+?i zvFq6=B`D#5?x9JglsNnYR55PzfMJEE8J|v)X6AC zceFAJw|{QCwVEH`;DuO@50JA)&E`ZJ^U2T=eIGl`mM%bR^`vF1Y}zeRzFCjUvYw|C zWg4v4(Nd zLwRHLhH!w^aW>T>>+6!2%+h}>H&pIDDoF3^Q*pw;CPrxXN$R%AG{i=9WB z;J(Ahv4jSME->4=u8MjQM<%*io92Qk^uU0{l))ZFMpCl$IlJ}u4&}EmFl5nSWVBk6 zp~D`xA+Sr2xYKUQW&NIOCjs|!5pzqvp|2AvP93cHV6?z=1ib>+pxPd6WJd4uB3|=C zUt#?*s&p#2Ea?_ffxu9v#%>E{^WGMBYqkzj(%aIiA2&Bo^1A&}C!PXotMIm#j!e%4 zTIfD9q|;$j;D37bdVXNvB8hZAXU5kChfCUwh2FM!eg1yrH7HTM^i$Mlm%ZPr;punD z6X^Z#yxFAB)2u0s11rAPMmk4VwOzH!pFWNTm2~D&0F$Ze z%%?x>xkH2yu71JKQ9Rto)UV565gksi+T-4vin`!F;5i?T4x4#A48z&nGJR!71_$^( zQ_#{+dw-7n4L4OAni*1g#S3M^nz$ULA=uwDGO}ujir;~*A5h-Dv6F8|qEWu}2OP0$ z|7UY?MAouY|G5i^;nTvCZ(p}4omG{OpXp6Z{8YpLmJdC<7eC zA%C(Y+67Smat1K+9k@h#cNQoV7${bvXoQ&&v=ziTf*Yd*B6Bj+h8YbVRO={NIIqAT ze^`-<;)P1!pG!V<&oo@j^M_#o(8^3=eTEWbx=NI`gYwR<{)R30#ztN1|7E^9p*yQU=C zT4P)%&?M_Xa=hv*I1)CW5+Z3Ke?$pwTe1Ha_(Mu^aeVZ#JIX~&{RudxqDm|5tkc>+ z%V&-kuE&z!8F=UBILA15GYb$#0xC-lgI>#c$vJF4x92&L&a~jUM9pLTR!b4U-)*(@ zC?yT60@r;C5?uvlZBB8eWq{A^qRS?IbP#3MXL_0*7zAX;NIa`-FGi005+j`%7&J-3 zTKSkTIUgSX^tvdHde1tjd=3h~=5H;M9#bP599G4&cu22-!W zM)uiC*8#x4L90-u1V1%WFJ}W%E~~T(`=dS2}AAU?0Oj*-&mX`-l;9Luc zpc)y+?pH5g+pz?A10O+bW_j*$b2}<|W`-bE)Mqv#gj|Q-ffSTkZFe?P80OgHQpDmG z{WW;mW+i1A)s0dpV(~m<3oa!R1ab+FPK*<)i)Il`5zi)EJ$}C52~@{p;o={ivnxnZ zMyq3U%$Qt@x@Tfu*OHpblbICqn@9eesx}waqLpXh+bJ$ayOJ7AhtRx`cm+M{5`0aV zvFlx!W%UkJ|MTgEZ1hl3LISk5nWzaY9IY znfEYy>Kw6UCBO{83u`w3PS%z~rmeO!A(K5WyJsP#F2xzb3(!$c3NK>Oo>qbT%?I{E zKN!)?m3G*X{A$Cx0UNALr&YlUwun5JR}_`o-oy2%=a=uDq{nMZbp+yx-7B35~Z5#o%iv2bcp{#iu^B)Lgu!{wcNARH^Gy#o^uS z@W(#cHvpxh74C*ZvFc%kv(7oNR<}rKz6tTujkEUqv9#-Rf8Ogp2HA=1ooopPzxdIt z8ATd>;DPJ6Xog6i^IWGS$N!_hgJSfZva_E6q2X%dZd{YyVjRIofaE)&UdUK7H0?L< zGmx*I7)gmc0FmvReuEoN>)%|<{Zu!|oB!wL@GlLPziXp6_O>y9g%Lv?a6%fKBh;dc z2VbPyQVBhXBTbKd&il5obb$So*l1F*Z6WxKv;ut2#Ea^qD(^sG^v@$`2}#jVyfIfn zpq>Ptov9t?LvhmHUt@9T%(&XMj6O3X7hK(7^H8Qwg}gv6Ct>n+dn%0q{%oRg;B4~I z6Cx&dqCCJTL}pTlG0E+xG|}Du0W_0<$}r;y4HR(tumNNyPx55&)%wG(NzL_A>w-r~ zfS1mr>NcHo`?foIi)B^*$c3)}&Xiz}c+o$1b^Dngo?Iodh6Xu%Q(Zll&DCMWwf&2q zSiO_+WZSb|`NTO$1B!q2$SED@y$)TNp4#w2y<^`OoBPC@we~qqpk|SbSSiM`)+V!p z;M0T2CHrbViN2GrzS&t;6eqcnl4u9BMMB{;*o9&dWwV!Wi@-O5!4{6K>D;^ODR>)g z_EH6eaof1U_s@}B^S6T2_p!gz40F0%MvhV+oA5^~^sVy9h5s|7T8pYIGvz8hl2>Z{ z65jp-`gVrB5|<_twg5IqD6={tD?t=V%}03jggK$Zd|pE6FdV>(ICh?FVbeLu0|B*y zk9jwHXysHw^xw+z^89XB4hd#bvXq#AAg^K;zVM6>u)KSUti`8o3erzc8^3Fnyu{+# zEBgJF85$e)0Enj$wvk9ZL-AL>@R^pQpsye5W7V4LNv^Z>be_yGankP1$$5U!TsKetI~!uh6(zQ>^ANGs zgPNh5v(NPeeu=GR1~?BloevZwxDx1XVgH@ z)f)dNSUTeJ+(J@CGlt~0u;z)s@lOR~{Dq*E29Wzz7$&R+hEUDF4XE%@zmphdx1WSMx=_we}soV22>_-ef>WrpdN;j)KR>} z05RF~K6VNpUKsuX9ZaOBHEixUQTaR+yQls-0F@s3JK<+2=JLjo*p zrGf(`{~l?BdNkK(e^W1j5ksqPVMP-soSQV72uqEVPa#X+8}oRu;wW!J1bdUe6a7G8 zaajV^AzTIM*R{=EQTZnv>gr&UZTPfQCkP1!Ky}`GOH_Ux8~u5Z*vC|oQxbqCmy3z< z!K;wu5rO*~K(cEE6u$1pGlX~9H3^IQ{B=A-NM2i&hDqu<>2A=+yu8py_Z_^K5c}p0 z69d>>^(jTXChR{&W!tHo*jVt=T%7ia8v9RKTWPRzoj#<3_(51Qb*0+j23FYZ5cvD7nn1B7ru!i*!BS+;*-Y~BPn23UO?@{W zT0>uSE0kU7yiOwgpo{k&mfN-yT+lk4$iNg+6vltndJ2~(07Au6mU(_sUJorVO9E|a z?Q49Pi%jfObBLT$jx*=bHw+syO-L>8hmxzP2v6~sG$x=f!N5%a5zKYkzel+>c=|`t z3`Cck#2H!9_e-l~*a(iMlBJs+mznalG|hA%Y7;Vb`ST zfWhDu_Q}DPR$4)v)gWh3zsdflO2OIs~Y#u zE!9ep{cNi_;b1D~lT>f?6%wo*MbFUQv9SIntc^V=qV#c(sBwzdR}B02+Z1g?M;o=0 zD?$XEX}4acM0-wPx@p%A6m+fTyD+A?O_Xca@cwfw=XWx$V>pfcn{JXn9y?}KX#IXJ zw9*oF5?s%7xxvjbp7y}qMm}-;HmQS<}jN^Yv_dq^1Zy3X}U zB!N>AX&0MWYr@Bf2({AsGv#gWN(}U%qx7J%Y4ZNirm&!tpfD1rX$}u6vIg~3;I(&L zVx*FpL4v~Q__1|PhXugi!^lzH@ByVIk@b7WfA5I&IX!G1dwbOIT#0jc;9Mvd1i3YT_H|N1Ueb#YL3StH~CgYk<&{XHM(BL#*%dFWXsJJ zf#QEy@GB!VKh4g*M-D^!0nuiQoLuyd%wKZDWHMv!CttpO+hCt+psGD%fa)A6M~;Lx zm4`8+F-=TIpd^|k_n-9t?PB*%G%NgA3KUA13lfWBNy2@}o@MI4K`7dOn5qXSO}LS% zq+9dl3=}pH^k!vP-<3ehyRI~IZpVwovxwn6B2=5??PyanSn3lw&5z~8o1;-)|)QDR3yuNqw{U95A)$V_1=b3)dT}msYp5Mb!&Hg zAdT(Cg79R&z5p!6(vVg7Y-b|k0QJ(?^FK!>QGj$XDDPA@>!RXq;{o*5k zLGHZ1sfNg6o;(~wtVXNRjyXa5ixqWG27=jQP+4#ES=#$*;$==8v~T~!}3pM z(E91jL+X1eFIm@G5TkiIT`sx}Ve&^FMmW-@bD;2{Vz5h3c=tx8CRbdrk zZ`_2k=ydT1PEUPP;DCAVpU@wGsJ?$7z{I<~G2C~()kBQsaDDuFLYXV1-L^~_HO3kH z_L9f@8vi-Kx{q{=Bq~!IFCTl(%Vv@a+$gNuNq`33PlWef9DgIbnSt^WhZ;c}&0<$i z5Ih=8h1`OA1BXxUU7Gig?#|dT+1BU^l`qo1Ug=kS?Ak3Ao!wF@~Fez{YR?g_zj0o-U= z_dUBl@1g4Aw{2B!&9XY|C-cgO zxmB8QEUdt}UoR-{wtR*{wcU^9&B|%Gb+2G0eec>wpD2w|Sh?>n_JQtZ@#^A1ekQ;# zV!4oJ1UMng$58timI;+K!A!{J2c(3s^g+V)Z9=(Ri8NJuqSfWAtR56V#(^5(4{$Rm zyB<)LW{C}?r?})d=|P}7b`KPY)nW_?Ru_aE>na#KIeEO@@5`;1R}iR&E9+VEscjZ4 z=_Jj#Z&W+6{e)j=syr`GI1Y&xqtk2?_BUwfVt7+uk!n7eIKQW7?1l07Ht-R&=~{_s zvxu6c^Dnhx%CoDX`NnZ45TvR_qiP|> zs{FTJ6IP*oYCC!*h(e_Fs1>TwF5~cd~q(_am7&i*VId_a8Gs zXL?>o0^8pk!zYq>gqd3hT)`ECE6mFqa|J6GYMeK}O{PA0_GSw)vCCZjOgWYTZH=~( zC|iq`(Rm{?55j|}G8CG2$D4S>X;Qoa+Qv)EQXWVT7Fa-XP1U6E4;X#Jz{^{QoC1!U zlEj(HR>BY$EHL%-zW4$PCJ!0l@ zzjYq7aWtp}^oUkD+KX?_yGLKpgu$%&6E-Xy0i<@szl@d`<@N;u#<$pyNbfh9^VJcg zN4E|JQ#{2?gY7Wby7OGmpdw{5J~yID$X*>vx%fsfC7S5$OIcgQYeoF`*E8CnOTe<; zfs!6F0pSTKH#TNE$8#a^B@|XoV6?(#KGSzqj@Hvox=*qWoPXndk{a2I)k&jX2K67W z3PWmf7+adO5N@!_5BJEZKtYp^^(hDI_9az&7=;|N68YR+ja03NdXF)gs1e7;mMsCM zhV5A)(heVwgG;s@Am0FU#6=gBb3#4^t|b>SMNSqBZS6Jp5)A3&Z_rh`+xx!z=C(kj zq>jH-NxUGj_NllB)3F3IUMHKt1Daw_>{tIh8ZVH3wR@b;pj}B0QAp6?;KDDSU1%O` zXEQ^k`unMWi8*iVO%c7m+>rba{W3@3yQdrgxYk%O#3N#auI;7_T3bc56j=&sB;BEX zqi+LEjp#KY7kV;NLhvTEus7T*wjO$)v|4Nzq0OEk>Im*|eGcKsAX=0k2qgCWr{Ogu z#R+zG(j3VWd*@uhdj#*0w4jH-et>7%KSn$yJn@)5uB4&<8K?`O*|S3>{cG*^StgOp z*YuIi4&Pt+7IEytns;OYE(I70S8Aa0Tl_+Mo)V%yao_5DN-e?>6unQ$fygS;M z!-FkdcbkQ^kS}gZ9O9087L(kzJKqc_8Rt!zX;U|mo|pf?zI5)Kal#QySZ*=JpT7k& z*4?L?{F6n!-BcMrpM0ALm)Z5|VQRO8FJ{bVVSuf8R%+Cif|zuC!A583>%3?EsnLSv zhpx!HO4LWGgJC&NWR81d(|tjmy)p^at>4XNon(F23>K`qP``@PF6R<`s8WPV7Rnat zcpv6Y3u`nC8k)`q7b?p~>M(pQiJYL#$-UQ;bO>50n-%DqE$Rfg$$VYA(Q}R}z%B>> zy$4GMaM)dj6uxvL%^davJmaJ=Q4tb7VR&0DdBGBp@vwaFM5_F1A9T*3w>|jJVBdZ` zTw>PN@WGoFz43-AP9T|4?mL}{yt2<|0e{y=z-9TSk9CjCrq{QwHpfX4{N4=o6_Y6` z6an8tQtNrMh5daslvF2ZszDXKib_P2B62&RV!MWuPUvR$QisP|)-Q6f69!Iy07Z_k~EQx?P)G-GJ5z0oBThrnLxu`C?J??9@&@jJ$y)ki&dP zEfP_^G8jquP>0#@xuDT~?y=Vd(cBbP0vRpTXnu9r4!>bgG4VXCmy;X&BF+?0r2MOE z^=OTiLsWsxszI9|1ZuKf1CkZ$egAs#2FEwR#7ebre*huG_;qAce34e_xE(Gm&x1aD zs@2^bkP)Pn_N3ifm@GJ{$b!JL2KWyA(%-xUzD*q`#~mxeShq=}*La33wAmoKnE zghUxl$$X!3Zi}?Ai2^jZ57OhA>I)W|OzN;}LK9GVj2p?HtVz=YJ)QtQh7$3Mrw@1IxTJb{u?j;{T=2MX~Z^ldw1mUvuJg7;k=Ynl)T0BA;2U6{rQECKqo+3iY ztqXu-D)rzae{M{r?u8#A+|(hDaJ{(?UGrXt{5(&No_2(ZAlT#+zkdH24-zDdrr3At(#4nyAO@5j7|~R+6YdpfO?Mf@JKUUPA1Mk} z*^F<(01_|IF|qf>r;GD&3~@rlkEW-_H|Bw=cc=Y00-uU?;D(KW!W~w+lW$WgPgjH= z7(y==hc?yUKon&B$r`RooU0n+dQ+N00|wowgs8>85Yrod($s=Xq4ue0)dahQd<`WA!j z%|2>cUPWnQe2nc3ApFfC{zre2T5yaL9gRT@D9op_=(M(RE3L+kGQ&m+2dA*f5%#?E z<-XOMUq8v7^6tdWJivcY-K4ccic#01T|)qDZvZO-si36L*NnU`{)WMd@aiqV9Wx%v ztiT4I%h{w;L+vw#PaWa=uK$9E_nU?;ExIU)lVRy=!I(Y8_-};9vqL*Zem-<$3mt=Q zgEspD8oAkX<~IIr@n7TKjSz?o=Zvij-wH)j7jP)7N?r&~;BKZyzq&;mW1nBLF~OK` z2v6{x8i_m*`hV95^&6F0reXNW#rCJVK;Ih)jf|W%J{4@l*26;L+tT?=EOm-(l^Zz4 zq45fmuc&^iNO*jwuw{uyyTLsZ;_~-CmUYk1)g#OU`mcd8bqb9bk1-2tjriJRIFi1y6ZM!m7U5*D?__p4`?5&7pHq70jQV~Hdg z81j)HXC~4I>L+iFgCKg#@TbC}pFc@k!y)*Nr#zBFLVD*|4Mj>L5lTc?M0|=Y62v$w&()|ZE@mc{^sw4_Z z=4^dU0P?HF*XxBQA_1Hf1e{FB;b1egZ};eG5D@CRU#Hg^2#4QH-VS#1t|N!>uiuAsM5fnJTIh1k&&M`QpDL$0UPcF zL~Q4efL&=&sopGZS@*BLAH*u=8NS8B#XAQE6giP4z*h`%;3Qy$x|}BA*zjT0UWRC% znn5Sk-2#UPiEk^SZ1Y_aOa(|N!>(t-PDMSapngZSJfkl-LLfq#iA5wq??}S4?TLy1 zZyMHF;(x6Kjo<$jW9nM%y(Jf}&n$x^fg#NjmVyP9 z$@9|(96o6zZJ4%eN+#XM2EXNR4D_-KbWJoE)YjgOS=w5^7Vmq4n=*5e%G5?M=GJ}> z?GPbyD0twH0HKjL6N2Blhj~B*o{%UDi~fCXh4D&O8H%@{#3?yH!R!XxAacyU80Dhz zo;N?DHmhmL3Yf7BIci?tap|Y;z`iBHr!t3@aXN^T!m%D6bL8}kol_h5^tSzVS3iIe^(PGlVZk>97U*Xsht!^LTr!owH(d7Z(9?#zYI>7{7lJ89UhJK^KK! zkSCax-nYWZY|VexzORnWt)-;jxBy{(n_GjwBOzJ?Ku~lRU3L+)jYuJ^3d zzDj4l;cl0nHP>w{o~#0H70yWALlr^BPTg+t^TCUO)uwqH6#RTjB0#1h(#4Y`vb9%Y zn^LvphJunwp^K=oqZ@zQT#K2DkYw#I1tXZj+d0nf999;3l;^kHDvUrcunH)EB|?WoOB9~8#$-#|gU1#kza$S0<#KA2jXbA>3UCM9RmD#o;yB3IerPvS$qrdPKyCW}B~Xn<_~c;~m<Zxg@YMl9WoXO5(@%pddqd7l~8RW3>MI1fltMXPB| zdfB@LgwyY>Dt;z67pn!R+*(6S5{qui+OxaVDZThl zV^6}gEKc~gd!%qB??LDiXJ0=w%?ssH5$g?!zl7zrY{K zs@aFWg<1(_Lq13+#jRTn^22|$3X=$FH*B7aW?Q8=RPg;L>_zO)&^=huHVQhF_3}?G z-%=5SQsd>Y3OtsoIhX<>+S(JWLeB9a__B6E#`WW!5I)hhWw2^pRBhO0fmr@{_#kFQ zz-AN#Q@L63?H|tJbH`rJ5d^6%beQvkCB7Me6>iFL zdEE2Z*Ft+$Vc#*zgFgejxV~`wp-4c6SYmRi0&aF_qbi&sH+#)&{%Lte7i!RNP~$Za zJ?!tHhg2d8hvfbU6X-Y7nC!LwX~c}4SI;i4f_&hzZwzXiTACB<%~{MDaUQHUB_5p8 zP54wAZ1#pi_K#R9UojXwcs?tX`&CC{WYXi61DNZvP!6{NerG=PQzwVOHsWDRibqsT zI$qbUl@7x-UE&C18V#SFw5!01K}l4+9H_05H@ZbH%W5L zYX7HYI0|IfD5`c0ioDikP&_1A9|%xjrskUuFUh`yb5LjmvykrN1QR}_>mU|lDLr#< z*z-#|x6yuf!?X){2StD3w8FH0bON_*{Id#x;O7kGtk1OvFvW(j8<4r9V;ua8-)(1fu*hflm2Lw9zX`0Ap; zx zg|u}uBtX(wKa($kOB>QA@3pq76>mH`LXsW$BH*K0Xc`&I)y06El`ex9(yXoUgeBVI zhSTeo??}GKpRit}7*}?6kZTNrL;`Ct4qjnyI&iB`mYlBm$h>I1kZtn5#ajg_SJw#P)P3!r!z=+~rQ_d?s20#s3N1>_SJh%fbBDtBO(PQH#F|<`Mt9cKx!kUEqyW*QiZ187cM*t1*eoq~eQM#d1JK5{OBRWMy&=9K12YaJiMr0z!GAb?hue3{gR;?DL3^%YkeY21?_;3|pWneK{mmiE59lBt zU1+1p0?WhC0@cH{-quCtW-Gl`&j%%D1$6TWLX=1&;4Nx7Y-Dst`^ik~!Iaj{-!5l5 zee`__88@xW9*5i@xiPY0=mt!Q)Lt=9U|ool0(FS{(kw6C;2<|(%ScAvk9=i~pE$E$ zG@V)|ddDS=xT zHdQ#i)d{ExTx`zbDmEEUIYxBd^DVtXNAP(+`wGU(M6r-l zOwq!WqdSkhDH-naE24qE~vU>UBBH9ObcKMkrQ@5vZdYmJ=pkZ_;da@>B z7c$_-a=@0yNcsPcC;dv~$aW1;p4Wbbuj1wQqis>k8fA+4Lla1>tDd6hQqswA1RwV2 z=H;O^Q1A3C+C6`4x&|$SP5pOS^VHYOApU@tu)0imdrkI|DvpT|NvIeLogA>Ow*`xr z$)JXTxeL`GbWQe6g_q-F=E{ue6*z=(Yp?sis}}S&B*ovO^^cSz8~{}>E`}?;(+GjmGdfvqB4D*Yvy*bYHf+T$s;z0Ea8A$(!`=aXF@^3l^Lles!?5UhIMfL93$y+BVB%*`Ej`;@XSU0uW#AgMF8ibT>_<Wq`3I+W2b3JDDJpX2OD0Oh!=z$3?I7{WJgIsf8@-*S$vDwJfms(_?5xb~Kt4W-1Q zjjCqqWKj_h2eE?OoHn|c~QSUT5n^bf;W)PCKb}K$D2lg z5z(Tp1kHCBQG~O82jFTtZWGomGb)_-#^q3G0meK#3TRycdJ?Z&zl^JFzcCGty++zZ zfr_GWvkn5siAQdMqGByoG1sM}T|wFP=xs2e53zX9vVSV0wK?#!rblGEplBPBZ$;u; z^h`(p%e!3LEc>^&4=}y=lnx;kq3)+o%^@zGeT41iOjP}Iu|yZ7+|8ik;Kt(A7c`yL z!ehRt@iuN@qq|P8Edl{L;4tiD=Fd4fZD=B*2vls`QO_|c)K25ZC=-qxU;bS>p{8Ji z6R3=&{XYcCEftp$mRX5EJrb6(RSl+H(-HP9P*)*(yy?^(l@H zbHm7o)qXpQ_|Zy#_JMv^N-NI8H5?wKVQB@!#XZx*$ZgY9sZ!0U9@oz+JJBs~mXF6} zsj`aGcRxA;bMtPvo!8uD?iALc_6HT##F(}^2FQW|af))#W7KkV$Mt5^Iw@-;YinOz z$cm%sSAQR(;r@sHR!iN3ZBICXi|fMy=8OpV>Hu%S+=v0ny)JT&aado&AfD9J-PsY5 zg?x@C>L@%(F?tTTc__H!zD&2}{Qr@;mnvSX`k99eeo@XUjwFtN3W7u_=#o#HA%XOf z%NwOhf|!Hw4Y(m&KN5@g8mNZ@JHQ(Ja_>%Auy-?gCetL^tB*^IUR`M9jb_bs*50i< zjN6wPU1vUrG1Gg6R8N)D*toxBHL>ClGxeQ`3haxJ$9%+T@gb&+Z9vtXpSXaY(!1tl z+T0mO_h?HcJ7PvZSTvSA*@j`>EgUB^c$~*A zHK0aQAPUU4Q<(24ueda*eVx-GRg$|?KaSQB83~T9IS-JrQtK?0GZYUd#NE0m_iO21Tg;(>IIoZoIGQId_t6eyR_S6ca9TaX*$TRGP zVFuULck$EeVEvUbBP;6El?nUl!Gh1}jrtK|o0}BzZs`5>n5W{Y+UQLtb24(~;}V1Ed#L7$dPaV+b~-Fe z{pXeUeH$hMVVqW$eFQ5mtj_>Vx3h(Cc`ye-L1*#}crTQAgk~df>xBYeymvsQE39Hg zdud|cA!7I5CW;sG%__RVb}-`E!phj`_%ygOr_V1qjdFy&xCGVj>r15JL;sRE8Y5{Z zER|rL_~VI|>;jODy^H%@-!)-+xwKkwd#&N#qy6b2w0dcqG+OCIz-+21$3l zYYvT!4mcm`^}r3unNBh*M+@eX$FRq@Jmk85OT;WHf5V>5?6hD56D6GB2Je?A%?mWW z2dBDS)Ops7^Hk)}DEVp~;V{@x}$g7@^6xt-l@elZ2!k91hi6D#k^Cl{G1X%^DUe z!MO|%|8=v)9HHb=R+MYuc>4^y{&d80dRS0jHrMn|8%uS1(Z*-BDDAK4w+cYP!(1q; zVzSWr-#C9~VUQuj$RtPU*t>4+nM;J6{SK%k#Mm+tov8DDj(xs?m1`#OknM^?T76H~ zH)3s8a>^}oL>MvJ_?N8C{rs1O%&a;e#$JE^jdi9zP^ZK3kd1SawY8mmXls?UC!aveUKi zj{QA?nArW0zpC%PYEV$*TaBa#*`oT04j*xvuK4@;+1p{-L&1n0lEm`L2QY`bVceFM z{<|0dM6NRnKb!{li^ZcFbyHXvT{1LTUn0l3G7BkzPmn&BR^~VHuIF4&Y+?y2ceeNE z>7Tt(xKEcxmBD4O6iWBF4snMzL;#0tL|dNnkrD0m{;`&vTi<`mQ>If4l@Q9xGW09J zMi39N+gE2=3XH&}V-Ut5kogC#G-LXE84Ex)iyA3;|2}$)`TuT9EK&Mo;$>CGp2fIW z0H9;$>SEww;fRYzwzE=TW&66TJ%u8eL0C+8&ukene*}~^PChcW{OMT~vX&m0=<-u! zhEu_*NszJ{X%@4gc{rC*j>o^9qvM&!JP>D_N{vEXPvKtw!nTi>wdxEJwd8am@+1y? zpdM97oJq9MQ*(}e;8%eHbaCv~`w_0^{I4;M!G5T`xkHqH8fcB7%1l44fZnqjCu-2Y zgR>!x7D3p2Mf?-SxB6dH{+4=mdBR@Sc%FK%qDezKl=kas%R_M3#K+kIVd}lFkNO0) zCVTPU5x!w5uC+}scLkQ^<6Q!XhX#SvfxNbO7QM2^njZtOkY?@h6IS{Z z2ii&c+<++}O2^)yHxL;0Z3~rmKg{OeJTQwn3=Y)!MeYf zOQxSpY170QljsWdEYE^OVGMG7aDLc&ly6zw56%{;(Sbwuam_ z4h!vSb^Y6niI>f~Hy*)+B)1q_OnX&D>dhk7m+O>UwZyMj4hk(bxrci+KC}g<`G~V$ z#E!FP&^mhZ)O`h#YL{iKwJmxnNSps{LyN|ZzsE(qZA(%Id7mpowPU$M^D7okvW`s8 z{(4|fk;;#uJ{#9uklVSBuA)A#fyOx087j&pO;#$AqRpnkZ<^&wJ}q!2bY*a5HSW3~ zg3So8q&bNj&aIu+{yW*KBqLJrhNKt*V-f)K)+wib{-LuvTmoDde7YQV*SggI@D>&UbhY$rDL;nYXI z*gA7o@rDXzh_>Abl=4Ey&mdmL7_*~46~mV=9Ano|R4-ge7bN~5o3%Fg(i$lEj_l!y z>F?decg9u0Na6~|JmNh7C8)#2*!Uajb}{q^*rbf4(T#iv0={L8vY#z62n*eWC#y`5Itrs{TJK{Svg@kd;4ZR~pPrg( zqbq6S#avMOU@kA4`yX3fD2AVGt0jQO-vPy|R&qB^z;>q54oWO=*F3iU`n$i3g|J_5 z)e(hd|FVD%Z(qft&nfKVEB*UWQhVo|e*{=wI2El5cho>22e9$hmFUDOo%ioQ4)|eFp z_Y8IITE*WkR?_!uO&Qqb)bCfO6y}TmaORCNX@GokzJA0E*T10PV?y2(L4e~4od52P zTO^@UxJkX9E)Ok5ne|51nJP^XH=sG6%VN6(9VdLz$|t55=`E!q@9r;S(3yd*XRqw0 z7!{Fqv}kF-oREmwDwv`-OuWt{a>R)!FAz6-L$aQYfHU8Mx};ssaU!Q+e>$Lng_tO68HI@w0hvBKP2Yr~X8yy+Av9N#Y` zh`(e-B`BvrCy`}h@!i78eJ>@||Nr*d#crk;V%G5N3#MO4L2VIWu{64-SP|>_>iLx! zb=JvWLD|8p{1POc6F!CrW8f~M5tAJPww_GIz{xZa6>pO}`PFX9F}hNpXfNPy)2WGa z5ml95RjX>3#zqUECiCCbvIw+YO7{a=(js+Y*zu<`cOojHdtuMj#Tg;8@`*B+HyWEv zkMO=W8NW`=yWkQ~45a0^ap(f+hUtDUzgiaPPqZt4NX`qJ1g&zF#hp<05MXd^EMe@w5~Rv&0mHrITh>K?q{ zXd`RawCzRX0`I^v8{CpG0lafY)<7h|`ckkEbn)^tlRQ^&)Xe5c2Sd%*qv{jZDwx9tthX1$Jo)f6L0pXN0A|@39 z0qWqGmsm)Rbj<`yr!O%G-hi9;&a*hb)xPyD-te_0hJ}~keRz0KE||LIqTWMyq5jBx z8$3&T$ARL)3a-0a8ZccuW7ROcD&0U&a8*8Q8KB6?O;_pDA5-L7YzHle1{1jy5*K&7 zuf-ql**hxBjE^BmEUO!`BwK=A&ZHHTlUOs-Q|DGS26)~tq&N_NL-Jl5TIG2Sg*1~tVm_;s-mKurO^2`OWhnRgc|39 zowuF(rIB@n7fV(6x}e<(#`mXtNI1=m$KR~DC{O63&uFnt2U|poq`kDb=iBP1p-$@E zo6lMOHcUK(Pdfv)WiH0q{-@5MMlM(C`l6Jrgw6CUXgZ{E-b+>Yz=l7kr!Zy(QXL$u zN5;qayqx3$x13DTbtJaV2?c(6McJiW-Io|U%49W_?W~JP^>X2lg5-KKiZhu0{h>c{ zq})5ZPl{#ZFC`&Gfe9-_Y|E59EzJkHaSu`F0!ScArZx+&MKaT4NeAhoN(3-c>reyo z|9*PS@nPw6Vj`+(6OSDr2Da=Z;IovLlExw2IH@?7K_FYz(a~v%V^(B1vypf7+dnvt zywEBLpLd2y9DO?!JlZom+6LGVPYu@{PU0gK4D~(=qzAO$yFKUuUvv^uHPwk`)Tuu5 zY;K8xt12mJ;s1vIVgNV=EJMv~$v4M1cR1y~hhd}^1EK`YlM;{Gp@x{#ykfy&INi5H+y4Mk8ThP#F&Ou*Kma+Zvd)8FjFRDiSF~RAZ^4ZXpH?xhzz9DnDBw?Yi z2B|#3X9N3NQCsQnzt(2yyJm0X#GD`=a=mvcT^C#AI+fk3N0PnC>gzBzlvv<@?EEzV zDmv3zz{_MIKn<7GdY)($Wjmg`(<4(w)U2XwO# zn?}oBGd=AirQuURpg6V|O5YVmCs?zKJ*Hm@b{F@!MPe@wjPZ{FzJR+kLFe~t7BuQZ zyZxddQ1#ho`n-4Uh5T5tO|eeLUdU>c+U$2fo1MsJ8iF(tj{sifS_?XxqCCv7JR~z+ z&f(|DH10osB0x473yy9^LhyC$V5>-_S1AJtJ&WN{qwVR@LIo$KC%OBprG+d4Ohg{dGj$@E5VtW)%dy5YgL@JBlZBt*fI!}Q_;fjQ3G@oC{f3iatu90Ch<%aiK0m!Tc-_zowgrsaq0~3~|p<`w=I2a$K_wvnzdvsmcv}F7BwwC&I0+@tqszcnGwvgrM#jWTO_)wCX3rsu) z#bR(wlUb;Ua8OwB2UIT$94?w3D1M9PLk@V1M_{JaGl{2~%|ar0j6KrGw6)RE!$}uC z3<^EUqSJ>$ciAGX#e%BEt$XmQ9|if>`HxCfbBbavx_OBu+egTxBTdnuZT z@KDwV9tt4-^O%L&dh+yNw-Z8})0lA>d5JPse|M;O$;WR#YE9iU4IPLml${9R{@?x$ zjxJSuDd)$G0gI#La1qXBCV>cEhrV(DPoqo`cv1r7UCC;QAGb$8NR1OSuGjlzo6Rcb zDkVxu^ejkN>=jrBh><#_BA~ljou+=xOTqjk4qD1HzWN*O%U^{aB+v+5SFKDt`ARCm zNd0aa4|dy(%1>~u3*_q49A%2k<|-J^5k@GpZC;#Tk-Tbx!k?go7S*M^*o?vBFJ|A! z`^%C>0E1U^MuZw0zXs!Ok=9u91N#J6YKcH zd^6cO7PX}zy7rq+J%!@nn2XDBMxp#)MT3az~^~k zz>e3EmK->YiPEdK!$40$_*xd~NY2UQXO&D4`^Y4AMYcBZ1T)bimNW0QVVAhNaYjgQ zVt}$Mfp0~UF8>Y;h47trJt_!$q^ZM`XepANuZQ9PxWE>(xIS}L<&VVJj zZ8ezdZk|>Gc-qz|Qlq&GNFq;2(Fk25aM~Sw*o=q&Q&P{GWV0_ctKa6F3PORu23c7j zaK&AKM4l1k(FxbO8Vzn!eWJLPk_*7|R%ZL1iGt4aRPa$iFI`im0w11JiVb`H|CD)- z^apDfemAfSm_)a(#Fg?Uc zGQ9AM=ed4;x#DlS!do*B#5VcroHUf1=LMULa)mT?_ zygD(e6oZ`3vdXGL!kCQxt-hUsLF=Lo41G@%2$&A+es%rJB>gq;h?i0xvOX|Q1=jMV zXTV9MqO9|u39f-~UX@;K^LP!G5RtMIl}^;&;HF`{@v8E4%v@18AHz9jB|lts${VUG z5Mj{@vGM>F2G#MgC(tJ4R5f$Ql>fXqn;iho@eY;}QLeY_P*6QvKMbmAQCn4VzNA(9~PKrT9+>mGv(mU8XzR&!}+F zc4<%xd4b^t!AAJgUYfU^CkRzip%5LKBfh!}H-fRELOU;MXq5$hs+I9IQF0%fkf-k- zWk&goz>iNl=fMGn88GL6ahRIo4za{ZaRZv4Cj6$?r$EZxeL#ZEs19jlL2&=HUNfm1 zHo^IIhW0R#GcW<-Fr}DxqWaq{LJ{yJ10w%#_6<1@YVH{$SMupu{c4G*$R2D#cjV*4 zeQ}XSSMMC(HZQ0g5l_3DtowRghZjj2Fq9I!<~2(dcGp3!-2xQ|xP_B@`5iF-Kr z#cZ?KY}tffHmtqfa{||b@qn&EAnMH!bn)y{3r)9|kPOj+Un&_2>0vD9T0$#AdWF8X z(Vkd(50Smps|Lc-$)Hp{VT-)Xo>U>3g#J&`)>5~zH+HtJkHH%Au+HKTI?qM$yCn7t z8!e~aI9$w_&5ofLn44}AyekQqWXzqpsY0uRwjNF}DU-vUy@V+KCgFt9Jv0aqU3ZnM z4Jm##-=U7(n4wLfkS>3|T%Yc1tMzHdZfXq=JWazC^b88@q?7mPsnmJL7^mVXUDcyU zB5zmVb7cf~A5)#XVV=uJzrgH^GvHkciKg_&2u;!XRQgv2lT3B5&onBCn+Hg&`q6l< zeC>YIs?xrGq%i;M2|REh7f0wJ6qa&i>~0B!8*ZRE%_3%qMASz&d!@F73Eip}M}X!u zwIY5sn){bH>ppH3Zl|1+A5)my)75<}8-@+hYaI4ae1BEt?$~)QGV19lr=_S`1NgU4 z_2}G73E!eO%SNHyFIE3qFe*3DxEUE+z(f;AxNEL}DFs_enU8QWuOx0mmrjL#s2o~_ zM05w20IOrb1yhAlw^W0Vls|u{Uf$*Fd=Tz8p3`Zxprg9Nu>&J7v{^!}=KkA*!Is#9 zA)Ssprb9w+S$gcpl1)0r8FSeCizM%R|10c{>OF#~K#B64+>nY5A~$O#;~J2OfFulz zQ(cpzN&-9?)!T&w1Id_o=%3B`K{9VPTeQRVFg->})2lZO53E&+OBw2Vv4#jTkQWmh z{*`}X!NA+_aOV%5)wklHmQlY-6rZ^Dl;_JgouFh}poJt6-|69Ghf414A1ItgCKmw0 z_!ReB@)c<8*5t{daV+Jld(_-GzKv_5d#7#Y2`QpkzaX%d6gOwP1&B%2x3Wr@UM$p9 zUD*yKuiRc~g{>`iFl_3LLUvIL@Hg$>yFc4NP?yr6tW{v!gKl=UlrRc5kRclXS(Ri-YfD(OJDpW&Y*LK%KdG@{{tv zipH(gwm7rxE8P9BN2qw^_3H(9(&5CJj)am!l%~+(?LB8rVg3mE;4QgwA+wDFiE*;C zPSmk|+^O=ocr$;~BYO!*!RRp0dJq58Va&E7Q%Pak7er1;czQtNlIa2%3*I`nCJp7@uZl6vl)=ttfMWQcHgi{MC^igX#auL78 zeI*|cn-J8{_*fd^QQagy5NKg1xrhFwgqf@}OeLedr*P)PS5C>};W)8)d!HPeD}dos zE;+afmz(@OI6$y?#U8-VirEtPny$bART({|fKmA6hlB1m+)% z>kDSo{9YU7aY5`$`n01nU~caoX)R~n{YuQahLDc(olcT#;;S>GD>{eg;?Cp7sF0z? zK29K2rWOqXg#_X4%vh^@m&*`PRwR&kDh3PWk_>|!Mi?V9W9NYM$>|_x!B9DIeC4kA8R$_*#b3g)k0&}C8EFj|{cbQ_YP9%v4nZWhIX513 zKdF9o9<9)%V6vA9Lllzu816lZ=`fo~Uhy+8;RaaJ0n@J76k+PJA+gzq{ZOQBvn*2I zDW;BW0qCo&zIo+%C=Tjc@uZnUn9B)#jz!Jin9p`cbU#`}zt5Bv7P(B&d;~e-`<-LI zj;SuvKN^&_jexSL5F&;?U{3c^GVK*W#9E_Se09@~%=1uiSonckTjve!MtPdOs|?#p zT0Y4#%DXV7x>If#7f^RTAqE{Z%Bzq3UTGgJX|hP?*3|C}RL$wH{$RewI%upU;cf4# zp>;sKpd6g?V&_H>?bZ)DD>&6(kHbp-`{ect;#7bps_ZEiRJxgWUR2(#=xnkc7p453 zx22jXBy3*TYUEZ9tGQ9~!D^l(C7~Cm55Qj}-@Ip1ye>Ded#CGm!bJPaZG*r$FjX{O zes%ifs`s9=O(Y#;=Y^>G$v&mbGM@LwxbuI}>7(M1GkA?n0X+9JCx#}yfYWtu)!3B7 z0T<9_Q?Zq#Gx-Nzmj^8s5=|$Yg-!{qlpfpQCp8EY>?o~>l z@ii};GXz2b1c*l zvH{_Vt0aww=>%CEfOwVU@e6D7PL?1HpB0xAgR>XK8z)VtBSV!uV#;-UMT2U9$BXEK zlkc1bZF=-k&dlK=&aB*_N1!K@IJ#BQXS59XOF#-?D4Awdd|nuMnxMRnl{%AOUtr7g zGJ607FEj$OM$g%KRl5dXlxGZbFjp^eHg-k{)vHm+6(?YDV_mBE{=6t&o~w1I~*>A z&orhVJB2*};PVq(eOYVu3)!wA<#Ds_EYCfkYG=h;b;5ckml=l;>mrn_3M!Ap=VYu) z_<^dEmw;Kpr^s1-dUPc2^6pOM=f4bC$))rYhvoySujS;j*7I*LI%jcGrtzy?mMb0S zoN;UIdYy3dVPxoJ#!Vs<;=aJF0O$P+-?lUFs-M>6}eNQ6j4X6y?{vPOZLu7mgUwt6#Tgbu4)O(cAdyahTrT5#YdfE~F(foLrscn{ikmWv;}$1U67 zl5BW4L4GN@LnUu*&dlN>$B~7{cee8Z zdrpCtI?(rb2vy>eXN0`V1t2_3;0aRN3RGM{i2OEt!Q}?3mvDJf*G*8y(~unC zO$SBwm&;KI`4(e7Q&a+y1AQFI3871>X~kA&(e3+Re0uB#R<;);VXi7ZS3p-$k#tqZ zClIHjS!N*rE^(*0S|B)RW%4VO3d6Z4-sZd?GIO?vIpP(iZrQbTFhi$Ruc9#l45k&r zy#5yBE^fJGts+VDhe90~Z^j<5AdG{YL#N-mllxv2KL<-#j{(++%P1A|Syo77CDdV= zMsvjX-q=fgK^TqnT7_V6OUIn_R4yWL_C_7?SgeQ{=^^pWN8NlaU?nQa*C1OFsppao z5ZifBr#mGm&-R)ZQoWLeM_qchHcYU%5X1 z471Sk5>P0UY1c3CK+GcDWz*^}t$m>^mts*sEO7twDT3$~U^EItT=wRNL|}zl0miw} zqYI@J0lI$@pi-4{*W!-OFxK-O5E1Tfn>DFfNZ#uS z&rZz?4F`@#9>LUCh6L9p&^{rjb`z4v0raMzar67{-_;GsVQEB&E*UZm1HTm@#k!Yv)-x?biU#r zUhcwd^ZjrUFaUh?v?w0=C7Qo=(0aS(k4a|X@N!K{lOMj!)KQ9osxS%h&!AsJA{73v zNvCWunrTOaJobi7iB18Rx8O8@xadDJUi&f@!{CTS=%VpHoa0s9pmPLF_ z&-Yeez*@(GJbdHlABr;I|<)RDoz>2iVt`N_JtlZN;Fmgzy**I~{0WzO8z%xB6C9H#be~%x(Cvtj-|;WV z@yEsX)E6ob_@dECka`)A!+iJIxs+gd@wG6=~TEP0cA2Xm0mb-pWgdG`s zL0dV|V$Gz7mUAt<&Wi1=p?~5+ zLpVJzMr$k$@9cT?3S<82-V4|!4+&}v!~CUQ1l5PIX6fP_=|o>RAV9)JlUH!5V>T|J zED|d&FF!$8vHy6Jo|w#ia;Y%OS-sMNl_8;PA@dEulza^=N5E(Ex>77`G;M*nszIf$ z;)^g9*=U&-VQc&F4(%E4Q>34l>3FLoaFL5QS+&W@1JPt;B-LS)YsG??WDQnan-+4c z1Qz|Fnk;f)N35X)1i1IvK@b4Thbk%_T!zeFXFO(_)YmJ``enSGJI^;rEN5`r_P~Cn z{la?dzx{*V{yqiCAz(X?*k$uo|HhJg#RgZ=4UOao6twzhR2_uBsYTbJvs^gNdsLq9 zSvb0f6~8qlOd&bm6)7_M<%`ztuz6#PQE?}9ELld?63w_$Ww?<(d?AGnNJy&*NP0 z8*X2FN~fbCLP3voM2!D(r;o91!dFWJ43D5uf>AGINj&WEmB&Oy$<$kZ;E9<03tM9o zn`c00om2CBm{4x_qW(NS`L!!|dgipo z4D^A)JVh)dC74RZlbNW>XtLB9J|*7}O;}=gk8i)SBOs|e@Wba&im6oTS+6VY_!EJp z+lCWyHG)FA7~Nba-k%*5$q{xy<`#^_H@*Z;5E*`i!bxArciYq{U04*22NvZr5L97W z0fzcQbnd)UdTi31JC{s=+zcPArUz|JWH1MR47V`|qN1fnT4vg2{k4VHjhJEnEWIl% zIuh~CzLSmO2VZTmlMFHh#~V4R>F0&^y;FO>n0VxlN^+~EbJ6a9QCqZCxm$j_}Onhy=r) zxsm#v4CYnH9zF3>pOLIK`n2cXIGlkgFQQYnjK*SWlFC&=1#DyY7FErzZ}KSJQb+kZOA$o5GgENZrHq3vR9hzmFRlWl^u6QIC0OKqS~;Qy?vT5?){e{X$>TbMs_aYDpfB< z2I@8)_U`BkYA3`RgFCE0z`~&b*`CjD>yOD>)&dpA<0|W!t5Q0bG;-{aTmWm=dkAFq zM1RYl?A0IUkIC<@&w-s`zS?5t{{526CNm+)X!>VraabS(k#D!_98$#O5Es+j_bq4I z5AZ%Sse9M`&%H9mDbUx2B83^yMns%Y?h_SqAoNjSv2=MbtbvqT_`TP=0VQ? z)klBYvz_aU|JEp8DzV8b`RriIDqTU*T0V$+Cdpmikp*^YrQhCX;90W<*(GG|Yu8>A1}H=r6Y*NXl0ZkR0jnB2faHqQG>(Ez=}+CF`zLPcb^t?& ze1K5H|g@mqy~692||I-T<* z>AyOHaES!&4oNdmSx~5z-vJ3+4ky9#QH)4|e8;4OYE>|Pp$Q2N;Q4TJB^8~mc~OLHAM+knckOKXB5Jw>XQv^z)dWwODqD+b zbdd8_c4-K6O`vUMR5$EiL=3u6psoB`P;H5ai@5T)`=h|!9LM}?=1}zut5H3WLRyvZ$@|`(2xB6m7GSNb^2t-K3uK+u+(-XuJ`Ts4LV+?5hGvZS>(^fk2lZBl; zlpi#L<_0ml?HI-52}tFub@WbeaC66Ko9(6}qi>ZlA3l~Lylh3Qm#SSZ>Ro+~)( z@pv6F*<`K4sJOBEaY=QDdRqYKnsJrerjI$3m{uxX*%Qs>&9XZq;c zz87@TLWXfYAKLj`-++-Y(wVL5v;}vgioncG&2oq8%0UDCN$T4?Z4mU1+tj`_9;LQJ zOIa{f;C)kk^6F)Nh?z-0Lb*kHKK==`J3H-j|1*25_pL2?9>#YQABzY8zQ<04bQ(Bc zSxY~+NZ+SYJ?jDp0Vel&3PM5qoPGM%HFFxYC^kD&h@hW+N9c1ppLA73vF;VSZJM|m zvFF2TwM4eHrZm>Rk)<#1gMQkR?{|DfPc09q4tC{Prt#?_2I47kHa(FDJpuXkL&syq z^P7G3BMNS*w|vf^!o~Jz@AiAnAbItfR9yvl&hC~tbctd*b*{K2E?0fnPl$4(IViNY zs}G6Uo?uyCZ5jJiIp{O~j6ryWJgxfYlV#&NtRLMFASl%_iz%s2OWJVvz)b{EYWj{J#2a}Vh70~E&d(3=z+JyeCJMEs!r`T3BxaqQ__ zvD11BxWw9&VLD}VimibHc4a2)aF3niv5|+CgqtGWsD8*d_QJS#L-HBAh&w!-K{g_+ z5&=FPu#|hg|5AZ0c;7Td&N6=C(d$pWlIG&L$Pht7a(N38zN>W=Dm#y_>7B_Qh&;7A z(aH{F@YVXg)SQf#*dUE4qkepaOncMM!eNZ4YzpM*3_4$z=`suxErAMe)!PVkO0GWyIy}5qB^08Q;l~r^ zJ^1r4<+JYmg#f&@F}I@@1(iPH2#|i(R%q_re}6lID(ds9{>Y7k!qTd^!Ze!ab(|tp zUXXm>Fa)48H7vqG@Q)nr0$uF}N&>=sQ2X@F%yzK}*$(wyxEU92 zX10uJqqDiPn54Fmy)sfL`nFf74F?azD~|?d>ZKB)UKf$*f(7z@+V*!VS0y+&dmL<* zy@cdhFFe?8Ua01YdQ4bfx0$9E@&-Hkm}7i##A*jHrq)cD22vPhP zR}t>!M28#qijBT3(mH2j*KR|n$g7>B?kA;PjvsI#5p6-bVqFL6n7t+s)iZi6ZPb|# zOYvF5ku;M~f9xiumZm?V6q=N;Gh8@M_-07Ysr%K8g>1B#sCI#^F3{y= zn*|lEdw`pFMdewrg{aGNI@pYQeLEc7WT4>nCUI(_fQb9AS3^dVp4)d?dhvAPq-tYI z5PfW@%nHEzDlXb!Aru9O@eUqo2IQMGA8gEruUcW`gIXb)A_0y6K@>epYhkBGD2Un3ARu$Mf?SF@qmP(^j{E zOrZC#LV`sk0wn%kW(0Ne{Ej)rWbBuJ`X69DwomPcP+wnxr^PE}W0}`5+3WtCFj|^V z!s3Hc#r879E6>Z&#sgd2uvuLL>fD6JLoT%bd>>I2seZk7+AthK`+i$R`Ll2+C+Fkn z-xiIBY;~XkCk5w$;b>3Qf%K;z?gpgJFqkOK(iX$|if((_9B0Ujdo$zuF-JgF0%}>r z%nYtnvf2tWd5;GpG7Z!z8mu;jzS7O-W5k)@q`SSBT|0uk$e^CX=K8lvAsQpwFYWT! zISDSZJ%(Xju@6`QX*ehIx)N>U;QrZHoxbf@BhmtDGy#pmh&G_KZ;iBTx2~n!&|3cd zE<<-Q?;*Sgz5;M1_u+DX3wvM9Ctg@P5JLrGQk~g%nR1xIUuqXp$0kJZ$m>|PH26? zP{EFM$>hIW=2<^|=WhC*$3bKL9~*H&NdM=tzk}JN&fjb}X++&eS8v6al6{*|?*V$X z0aPRlJ1j`uR&W4g@=KmSfPkoLU;QC(MY0Ol;iDb!>%o}MPB z#<7X!68C=fUg&8x*$RwwX2OMJLTVUG=c6zEG3_4+z;!Jyoh?xqAR;z>%X_;%)2gxBUH)0ko!m{=7}u^+$IxT25Lbe1jB#P z`WGoDK&pW#T0u!?MYdGQ{ zW`mKWXc;}4)gOcVTHc=KBOy2~PTqhMpc#EscLt(n0B)lHs#Av7+t>WB;ac*NE8}BZ zxxsOF(Q>uy^uyDd5IIr7_pqtN5JH?SOlr#TTxo#xBI(i3W#Q=3$he$E{jEjwHg?YH z+$RitgjP<8AAL3faG%Gd#4o-K-7O~WFOnynPwpSjs8IBzaAv6F+T|^XjVpV7RwUu1 z8ETjv4zQlZDPY0<+JpM8_u~DE_i7H5VAU4lf`|5@X0{t!0?t!)t`y(=+=@8hlMyq;N#vTpFvz0Cq4iQf_ zQ*+wGVQSKVbCzhZQSQl=$X`1%SG8zXE5G^HPOfJf8@~?Q^%{gKIQb~Ga18!N$sM|k z$M6~+H*I;nW&onukU`>Co6upB1%t7m9K@*BZ8U3+ewEB8z~J$Gaom|Ic1nl@}<_**2Yo`bZ0g~XATLrg@S+;S#_5_ z)MnvGKgJx!bXo~XPT+edUiGbe-!|B7?4|{@@lYUHU@cF*rALC@TOUf*z)bF=W@fxD zEFztUZNBVocc6$EKRPHcQ!wuv54}Nv6jRg(_JImwH5z`3Zicxn6{2Tcn8q(r@`+^)V15Hu{Sq%nE zn>*g#(GWjipy?gL!SE6cvH7i9sj3Vl(BG}YuuOq5=4C<=9(o7wKPMK*sZJMhNN%8)^lCCudH zxUien;&apNrdQM;q|s3+N9sNOKjq<-G9oPSu0l#$V~lw2kB=5wxe5K^q6ieIc~2fH zPW#pj$!9(o985HWHZ4YRIr7K6FViCN`FC%ehh0R*Pkhe1_a-0_RWi!unp&=C%Hj{3 zaC_@kk7kRH+uT^$DX#D`-q#@c1$xi<2b z&9a?(wtVZ)K8yqH^M?mN9OI;r@=fT44M$XK9Tqb)+S@9-J^&9;@zwrt1$(O0;{x)o zh0e7v=0E04w~^z*Q~&~3_AqT@D$OyFf^L!Ciol@i{ooI8IS4}y@ouU~B56?8NY6jlo4T%Snh`$@3zdj7kdY)nlEr1fDCP`gEOcn!<1#1yA2b6bk-nW z_#6^^3hdP56jM#AVZ=9ijJYpLIh_b>0_tVXwU38-yp&^L+yMAhBm3W58!#jzM0Hfq z!LHZ-Qtp5Qg5YCxB4+38^?w`)t!_@X78%;GlCMBR#f^GZkz4K}W^|&(g(et~{}2 z#UIh?!@p++5Hdj`1H_AlRhj1-)s(<>UU=FN22C#7nFjXqMqmW6mkn3trxNgFk8a|@ zA^fRW*_ynO5Q}DGa~jbXw18w!e+W)SuyJEq!;~n;i$^K7CxDZ6Grs-@JEV)?b>}bZ zuWL@uhN+Bh*;L@QeLU)uGIEAO)~%t>+3ZW!@m&s$4}N|Fk%AJcx%M&?UZj!w;kdnm zVyOpQ^|I-ng=Qh{4 zc>hO2jqNyu%U+s!*tk(i$Ol9a*yym~U!}tf0ikA^Cihw)s$Pb-*HDi@kZY>$&KIr+ zQE6`Ik4HsH@y+tYKJccIS7BU~CbVgp(ZW>TGfd~wjNyhHcLBiP9fBl0sWVm?{J>%% zq18_e1BUn^-R~Fq^B1Fq02^FW?}(%fO$d-e|3N=!F#2jDj(55Zpj4 z&88VV6t;Yl$*r4lylUcN+I7srrJnkH;o*iDkd2k~A*L(R<%dL*!pk5+D{kIZPcTd` zkvjhAIRu?iX?B7$Qci=|r@;-)Qe|}IXHJHJR(EC(WMr7pTn1R+f!{E2$Y;q_M6CkH z;z2)RR#F3SRTRQ&1!VBPvaepu!VtzY>$s&-qmxJp*eNQ%;=+BZw#^4hT!Jq*qsLes z6HsjhBMZIOth)*up5ojF^5q+~-)r5qQ3id*mlf^YTj@=0*e1N`M{I6}nm7JGZ3G4z zI=1e!%r^n<_F~2mgdvUda?(hXT=1OHHt#raJ!fWQEp^{awO`~tD0Yg$bwO4iS=R~O z(~Z4^+0ikhNmgPOB63@Z^u$d!l^Npq7Ld<+_5G>Nl#KZ&>Zg+5c^M+RfO80Najs=% zr4x3$Pgo&~uMEv^h&6XZ(>DSwwfE23uR)Fr6=zgY!7J?)2;Xzs?aLp=mCs;b`${U5 z#f%BQj%@hFd|AY;gTZDLe>x!ESCnohY? znSAZMp865Fs2D-b!3y$bGDyo{^E9{2W&JqtL&W}$*8aF^X&Nd9{bPTyJ}2S6wHZhm zKJ<_Hy>P#87`%1J2b4U>OgI7z;lhoSTR%F@?YGq;!*arF;cojk% z9B0og3wt$Iv07!Gl)*Ydih@o(Dku^YfZ86+1%kyo%`WYL1GXL2lb_gxCO;}SQzC$N z6Ro{#b^(d#l_Kn`$XOlW8P=5N_?l)|FqG0n844G^4?BsPBtztN5!KKk3cs>(zGWOXlstJk=MR-j*w)L^lZo za0<>keg>tIA8X*~Nu@`!Epx9yYDmvRfbvj_hj}9vAxalSt(2>8z4IWP%1qOXC-}b0m!(F*O9|{A-ra512Fg{!fy%9dUmbz59JuoWnXK` z)HKdP);+(40|==mKsC8>Ga&6Z`oV6{9MB(NzbtlH9DR#HF&J*PwIsf;QTulU4bu!U z37)oBZ7&OhqMgz+!|WCoPU?9SAXv+epi0~4I?;_o57sS?>PZ8^c6=ycugRE4mwSh& zD(v}8lj@BjpkJBwbTNE?d}uJBq>mrz%3L^Ia+5)LyeDsPl%h1cDacsRpm$3$3DUZ% zlAmDJ`s^RyN%>EXzfx9$3Osnbyi)O7`*1<6deF#csdJJnDZ_MCgLYW)8MW04U48>A zKu3)p?&JshxT=C)QPp1eJ||#Eh|&bAw3ro<^f7u8pY2nk-REfH(R18Hxiv1^At_--i?z-)1}rjE+4>T7@O zTH*rg4FNm7R3#u+?qh}rdnYzOGaE#j*h`!p>4x6E83$}409C=O4`&3j$qd{PFp7ue zeuXBI79(2+x^5Oj{`#yJ{l_XUN@(azDrI5Q0N+822y(!pNMJAW#Ou(5@&fBoZ6F>` z?Q-?2cR0IL(QS{qIjXwVR!Bc+Z^g8S+h|c&xhO{!;mcB48cUL#jeVE+dGxz5DI~P; zBg1J{qjd$aN2f}N47(}bd1jBa8drhPFdA#Ur#rP1NUoUpFm5pCfo0OLSB#&){!>|_ zVncSv#^Q5>xz}q~Mo#EkDvV+JBjyM;CB+-ykG1X_V1S z`G-*iX2Dh&|E;yvdU6FyEnjKefsCsEqrQnke2i0#J$k;2wRQg%tL=!&`EK$XUSmFiy}mt7Z&D%H*fM(9Oz9m^h&7N8P--Jh~rw$ zmdM3|-uyoiethHlgKbbUp#%IQD51>sGeY7EA{V#NOL1wm?c!E*WuNJlr75&K;Vr)y zi>M&Jf=oo!~W?Bx)=-|=}B zSUs{<3;QthGtD3~gXQ{sU}{;>O&$uFr$1w&lB?EbGe^dZAfTAB6w?lA=&R6yz6wl- zfQrD3iDQ*1p^)#uFD-%uswAhpQ3$WZ96@(f@@hPU9QUyh`WsJK^y%%bw7HPTlFfvh zP&BMe2=5ksVpG!53a$mLVl6p4bp7|WDzTX0!Q@!hdmpR`l>OF)c#O7nGxy`^DPsE8 z2NpJ7`QAZN9=95ad_Jw9Lk&_Y&DeV%3i4m;cQYqs=C$ib`M9mdZT z*3Mbc%%c6ubua$`S1(A6!v?vTzv{oQL`Nt$s$w-dU_9__;JLqQ;sH89&?h=BdkHeE z40pq;J(r3e$%j3;AVv20V9d^Bfq;!{9D^tqVkr<6g{c;@;XRz00+pke6no%Xo3jymWhIfeygn*_ z;FBx5w8y)`x36uiHnkPdzHFVWC-5`?g(%)o>NzMm8Y~H=}(D$KM1!+DD;edEPa!W=-c zcg7@}FL=BJpJatZQ#XYdpF!T}*Vdy?!u0CcO(i1+eW$3Gr^}TJX007MMmg;`@075c=}?~F#IBfj>|OyE$A<1OX^gzduj5?nHu%K13R@-1~L-5 zmvO_NM4anqYVPg1r`du&lI#hks`?)5jd^X^YbeOhx%GIyDjm^#+m#A4&8bT|nd1fu zUoMM@06W);jU=s=|4-@bD3%b#>7*;&rlQs__Y{-?p#5bb#7diPRc+~+&q=*4CQi@I z{N?(+7!FLO6h~Q+Rk74NL2h7;t4*U~lBt}H430M(eI6g)3^UXsSVsNAW|042-)_$E zcnSn|u{bah!k%zB(ilQTYg?BvE7&QVyyFiS1{98-qU|$ZlD;0pFvg**Wt$588_c{` z^~8lJJ@G5)9wtbi6Fyj_p92xAKTh-hoo^os2F`399@DsO(gb{6k8Pv;u|=KEKhCev z)qRb&;ae(q606S(4$W(GWMV4&!LdlZW=bez+327;+nkqNn<&#uDX9#qEqX;m*;HIh z9J=4<8I&RK*BXuSI`cbuGM>SYG7?OJ<7#aWooZ$LspK0qgm!%Gcx+OG(p=vHRd&! zGX}~xb{9zGHO9S136-j}HMP_I##>UD&&#H`Xa zIgpa*gvIV5G57O|(!S&+^TgDSP$_ePMJ6emh4Eo!58)_|Ueoq?;LOYSs^ETAYEn{} zo&3uP0`b7@PGYc@A--ClIUR>{=HDw1y^yR4kq?5=pYQ-U2_A7ShQ(*lS8q_FeQin@ zDR?V_KuEmA=HH z;)JV!&ulB6-#G<_30nZNY0NyAHaNrL^k88D>%g|<*Kdgi;YeSo&PPmLcQp#kd5B1` zErmoR+ozlzDnw#9+iq^Qw;1@u#(8D{!nR^M%eydlTxmW$e)s(eJd*GuR!0MtIwKu> zFPZpv)FUy3$t;`ntS;HJM;I*32l9z7u*2`MP_y?`a&4{1lgFMj+NCls0~$OJozc*4 zb*xq5QmWbv;tsCY^}Z_o>FLtWW$c|TOLvgl=j)O9Z3lbCqQq{o*?nn@AyXP2z0maC z)XRhUYK#1wk1rW<)=VQ~3E5Dm8%R+6UiKp~_Qfsejt7jJN}s9R{9+B^n#6ZM@UScP zlDCYm6>aT6eh{U2`)gqu(fYq4mQNT^ptPLiy%MFTBoaj`tbrj?Jo$qZgTAVM>E>nk z#l7Ii&}Y5c+Q(+VyP%@^jrwPB7|8HNj>itqd8xzV@pBDL5+nept(O-}KB~;39-wBS z`ot5GgikgWXp91Df;vd+PBM+vph{p+m3Zr|$vemG$~F~)%^u2Ipw~(o;MzH;Y}$?N z8K>yhs8S}Q^^!4MaAqB#(fo0w2-3oMa~p?@RAeY}f_GTuUx1|x32sgI)tppv`LWac zh{cl(q{Z5w?-+&gLV{O@qDhf$Z0Y(*`M6%BR$RV!H|x?S@#lA zj@3HOcRB4+P`_*OaIxO^dvY^$*&QeNXKAIIY|u|Y&hT3shB2UVQK;~rs5_}%^9F}S z`u@C-oYX@f!yR$Lm#@vU@=hUS6o}D#ncZv~s3U=9Y$>!r$eR#VMkSwJQQJ75rP-OY z117eODc?}H0g=ew8Rj;SQ-roe-ZBE4WIRUYg&8mBg-k`SEI#&f#BIkdOYb=>jJ1o1%R@wU`VbDsFe}HkRwUNlBr3a!OmXTl z^w-)!YQ|X`6I>!-rOB~umibm6)pUvDw}O4@G?MtZQ`}+V<3<}5Y=jY6WrUKKrwL$L zB9;Tv&y8aq<(QVsP)PTeU;KD`y#+bxq6b-1N}>$xr&8^*QkNVk5c43Odra<5(k&*w{j+!C+&=f7GnT?8g zs|z(s0P+z)x+i}NU3M>NJTW%wF&bd}k%Pw{U$mrnz>Q{(uWbQO@=}RaO+o)>_2_Fu zM}jJvy8DV<6I7Hp*h(o|1~O591}M)c-e~zLrToTbIhZNlG{T+f8#MvF*@&k%YzwH_ z-|~77c(uf~GPZEuZ6yNFSO$01BIG9xg zWsMf?#1q@soerR?{H6VGTEa#8%yV9DdXUfmQ=S|A|MN}^6&uyKk9(3Sdo(aJ^GdXn zP6kzVn3#?_Kml=g5imYMV{0_1lkum4u-;Q?cTVsIg2e}ryw3xW7~_lRgN+Xq7tNus zk-7&t1!@i#&=w)v&w3fg&U;sjLktjBJyPinmj=YvaU9v%;GzgeE2t4!(uo)Z7fQ{e=pTva-cGgJOcC^S}+o+Zkncg=P4%`sa` z{>w#eM*OA0?K{R*ED(g59{m1KR+p*ljkeO2v#nEZrcC#4*r;3`dQ?Tr?rt`A$Y&}0j z$aV8uDWJ$1dQ2z}nJxlA3kn=3?$fLME)*d&{EkLPd?JdqzVew%@We5q(x))$YS{AS z_~zL*EEO%>mjEaFV1r26IN0wmj{qy82xZQQE4{<Q+?ZFAXL5YzO*c zv-5g|G^PMd4APxjbR$%Au@la0)5WVZqA?l|)`F)fhP+itk!js$~j4Itk~MHOb{;swG7jU`sIzuD8}yLc}^w?$~7EgPcyyq zh8>gYX;PXi=v7b%mb(m0qezf{3RU4{3v^e=+*j~-obKt5h|rMvaokiiZXh02&idp` zP<(r6mldoY*lvpk){_J#5L35vIOztJ=-g}Tks}Y!w2he?RA5Bwt3WlS98(K7X`{EG zCd7`iZMK{i)C@e3oKEJ1E1gHWyp@+;R(K~%`iMD+A+!|}W_MZMfBumeaft`51QXp5 zbv0NxY)F6UEz0FI5(2|PIp;}CdOtSqoCK$y$O|lYJ?J4kMhrZeX)t1|;`hJ9P|g)+ ztrt|9gNSTiUCm#1e07>|%nOC%7lT>$ciA!_5%gs^0MHYqklgr=Z}L> zor`fByYNHg<{{t3T(O##D#`|HpU(?j06;p9ecoMXWDrv%m4+LWHXJS(rvVc6xEL(R z8lKiw6b`Y5cR@U`)Y_&P?BU_IXs-A<%L$@Oq>mRB2v{NpKh}8Az5qzHRj?BPs!G1r z=AY&+t`Tz{RrhdOP(vE`>S8u@Ib*2$P+UUewh7vL7q_1QI$*8&GZ@~T+Na~Ndw7(1 z&$5LJE2P@V_-0%xW4+9}RX}%Prnw5}j?SpLT;V$AYBUCIP*H@tSgCAoGJ6zX>G%2I z7Nna(RR52g^JUM)@iJ7ZB`fE@z8N&n?6)BL-OgP7>z_Kb6oJ6qs>}QyOZ1jX6#1;+ z693uM`8t=984bumjdPDgww+`L=-p`eV#4*)goSz|JfnsN!ptHth5TePW#~ctBAcV3 z6k)qt9pstM-Ie;1Bu!!Ktu$%d3FBE>*~R(fK*OXom>{1}WTC0WhVs)ivqh2(BRmtE zjS0>{Qq*1p`CO1k+v2+2A45()>13`E&(cEljjG9b`M2zCIolawGq8?hMQ*eWHW07D zZL%{mVLq8AQAaX+H8tC4^rO)R*9FH9K8`l!l2P^6dZr1UQqR6E+1vN4Da*pT?es7E z&ZJ}0E(qvv8BIq8cm~;Bh|b!Pi!Q$rzQM`qij~_({?&;$eWh`-v`)^~&znkk?SmB9 z(FZfL+FlxeHBfx=QQ%?3lP!9-Oq#LN=q&~IXf>6L5-|FkX6xDnRqMJ1t_&0b*=VYS z$9frpDTJ}#;4OqSwQs%AORzNlQ7=D-{G!TtwH~S?4>m4p`)Bt&KeP&2B#k6nZ}m?1 zljN{~CF-iIkQO1E3Kka?$De-`Y!FX^#!}WpyaG^mg3`G75G>s)(;2w+qGJ6E^Y!p= zPl66qNiJGZNT5IZJqU|6g0}2A)6`r&v8xUOnUS1Y>Bfd zpQDdbAz{sQaFzm=12S;PIcAY(kO}mi7duENCP=qiOwV;`i6fZdz40n_VIzD2bp^i2 zxu(qkAc9Pif?f6-k#aIN4$bKOJ@%B%md}|=y}#F^v=Dz7P?jdS>5>_6R@L!A7%6Ab z*6e8|3jS@a`Q8PA=nu2%jlusU#I49;gF)C65dFJkaUIYGC3v7Q5vXtJy=xJGz)AmH zd3UP%0Q?U#ToR1F_s{b8PXycE?Pfk>o9jT~(sxbha=2(ewNAe&W-x>3PD}QH@NCAt zc3+uy>RIU(sgn{=6*#Fni-8b+l^#dwVA%yJaCQjQlHIAU5__{HFXeR|%)S=!Xxu5e zP^N*&6TnA%H|t3+DkhbWdl^RZfQmR7|$?b}Nfws#f@p z3D5^G0HmZ&0L%1DcTedi0I?MK)`_~nk8CMr2NF#9nz(*Bmc*Q0@2Fl5H3;Xl#2=dT zJ6|w#FINZYAlki4t6u(Q0-~Cjnv~ntBXJe)y)J$gX%|45y|&Hv-S%@4rid`VEQZI3 zXI2xdDbk!_Q>AETN%$1DqfaB0Casmx^8dR_{I^TAzqqiKFLI-j?@s^k!%WdrNb0Z5 z<4H^u_lrprTYpWY3xHRg9hy@K_wVetz*(aC6j2uHD-@+Pw!Jji+;z4^kYUgR58G;F$AJ!R(Jp?&#`p83(6)+nSy#a`A1Xw~zl8sDnmRy4r14npW_%?eXe_{CX zdv6C-+}}P~6{yKb&>X$E;1a6FcSLZbnf6mq(AiO?A}+F+KrZ6E0IGZl4ezJg-Rz}1 z;s2#o22RQL6_@U=%_QMMbOt)_txvdpmFcQT#(vj)tnEkI^MbA^pA&r9q%cR!K| z1mghcC47L(l`FZ7N?L(?@LBQ|l}W%8raH-|8j$V+?W-ag(8s{3A0Q%l6IyTIIU%%# zA`LffT*wGBqH@@hP(%(Y8gv+d{8|4;bkINE@ZQxKf|r>@+dj@^cdhus75D9n49S)!Ja%Xo@?VzK)#62xvBsErLNWr7~bYG)k7#5tei5S|le+bUWqoOfNU-Rut{%*N+8;&x+S-dWL zRdP+2*`d)LQ&6w{g@)w}eQOU)$f`AN;~D6c@|=xbv`6?Hx57PW$nwJ3uGN_j7_JTX z(_?!}KqF*W21~yL1dEgpibckm$TczLhFA1l76lO1hhQ@k9P-YO{E}^WD~Cw=x$qUb zI%6TJcGRExVYonSO=|?tUe8a%J~uzY6N5cru8h*s1;V_pi-w(t`i%OP;?g9^c zGXmV{qQ;uf(BP%&6Pqe~Io*UxdQ!#fs>YH)w9_>|L%r?w!kUQ7hqg2cOEr_2-uev; z7|3ek6Q`gBmx}3^)-DVT^*~-(1pD=kGY{MIF6E(<`Qlmp06PoR> z}RKo8zz1i}Ed+rhYBv97=u~P=2vaijs3s>uwtCr_gx+?$_H&(@d9(ALe3NRij6!`YvRCLPN;Z>>BgNee#kjSur~PMHqgS<uO(w!+P>`QFDWRTbk0BV7)gWhOuB$|{3K-py~Oot}P4W;3c z3-EWbL%r|g94HT|oNX!A+?F^|xmPR}%{GC3p6(XE6c#p*e6@CM~mmKog_h{u6oQNzg;&B&8&-GB4_U!%(KUSpb)g$S4t+Sdbv zsX4VOy&3rT){dG^Sh_?BLGlN`T^=|_y<>iMWdJEKMRvuXYwYj7cF|}XPQz&060kM= zQakhFe__51pIr7QMaSAl!30@xl-nd+Cu0bBye4}vq=0p7vPgkj@v;+dl5`xYC@9<( z81na;N@C3HC7c4{yS8KRKw<9c!OSNR62-Dj2_hi3>0b$3A&6T&H(BwT|D|Yf5cDoV zcyQYjuL8xp%DB#3@oIr86P;dj*r##f*c2-H3Q1__e`nW!P;z{H)w7NZ7g~snh-iG5 z^319|uFO%97N^B%JbA)g-Ch6}klF{%LwQ9D=(1k0Y!Smb>6V5;99V5f8Er+gJq~yj zW%uH&T@B$boI|U|F23bj@i=i11fqu!eGLbTTFMRlyU@n1PG5t43gZmoAR9L-E_%5J zw$3|9&>ykv8`|ep`7d1B{I^trn_4LfDsbX32_^b6DFx!KAoGrx0$WBeRSXzxct_{Hyh=W9Jp#W*4SW?Pzf&PU!-0sbNC&ino+KF?wC=PVVCVa<5&O z#FkG4_23uyc8$ar=m#je)C4W?oULudu>kzO2Xlz5#@eN!LyBTQF25i$4LhX$=rC&e zMqoUeS%U=icIn@L$Y639L|B1H-$lL1|3%(JFaz>m8Qb;vu0Nrxr&))aF!5h+;*y=4 z^5{k3sBQlj6Gd(+{AIpl82fzbfeNdLXH^ui1ApDY&2U|X@B1(Q`Mrf>)=0l)|A9TW z?nZIU)>Js-k!Wf`+NH0(yf&4BN;KdRk;)>4%a@BA)>8rTHXx8GSj(RX&|?-V65ku^o(@(dcQyj@*Zf4eA%nYU7uZ<-O^$F)-K7uxU9phW z4mWBxR$EQzaky?8V~`)CF(smoP-Z{YUe1(m5Q;5?Y}!-@IJqikvcUJ8fk?k;?9UeB zN}V(;xu#5n6SEqE9=*Ju1DV410^5j3WAwy9u$@~0A$fV$SoPpXPIQ1*j;Tlop+h|# z$| zyFp)N-o;IChP&XC#yRUKCHq5sPfi-q3oMAGZK-QFO^$I!_(O9XB=QBzD(OqNZ$J)I zBfJhVFZ7x=XtG}_37md+U=-mp$6U@<*8aRu*K20Mdg32{%adi@Uy=WgrpC2aczRohbx$N$Os&;h6p^;;EQgJc@3VFnh z=%hS;Nh1QUKtwWstET95Q76sraTmMx+MMLlCQq?;D@ z4}}pKt=q;Hpn;c{eg*6{1%ZQz3d0Cmv#jPi=GI&~0eRE#%#d%vtT*If8CZ*vQHHfM zPANZq_S|NOlM~$yf&m?IFS-5xL6d@X5z+X-VS+&mOQ&x3ca@AJk($8z`s0_PzMYp= z$6FfPP`F%6oITPQ=Y_paot^*~%Cjzp(dg)nVuof=rdU&*yj9-2X?_l43kp>X&%tSI zB&JV0aM-vy0lJZNMpD+pKkuiPG7p{epnqPtcf@ZdiMmRlJ$tdQgn~gz4-raLz|Y=i zUbZOEj4c1#{BXNa;5bM$g^1Cr}O&tw-EcOv~uak}B$M&qpFLj*sFa#9Ca z$vM%wp#I>uX`(#?n+Z=l?_8^E&#Nud3)e{N&##)K(pkju&-8ePIeXOKE9~xto~p2o z-XP{-Kd6<%3#*O}zzIaZc)Qy*skec(4if>fpYD@+25a31$M)1a!n@D;B%(7KxF0wYUH6> z5-vVc_)etT-^-!E zGF^yu6Zb;u3r@ug;aE8~5%~xDdfzi2SF7vha8Y29lEKs_Jje8Ln=ffdxGt&_@%tKX}CPfemB2=ZTECcOqV6$Zo^yFd@47daqvsAXtazCmktMo)WD73q^a^F`Lu`??JIDSwoFt)M zIbidVWYYkCr!cx1wXBrkpJPmAOZNx|BYLF(3XV*ql*&fuc3=@9JN>f`Iq^;z#E|vc zq1e9Ny;K;bA3tC49PO?>%4hYAw^mDK+9HJ;$yx_eEmzvVa~%IK#eoCMIg!+wNHEh! zfdMKdeuiLh7>O&^*Sm!^tegR-CUoNf9#BUt&gI^#%fbdMmAYN5 z%0rLznH+3mdNV%l9K~5=pU3m|1cf&E;)#^vTE1JFOx20?%jn^I&s{!hDh??AzNV${ z>`qZUP>QiAt6jx{Ahg^mqyntZuqUGYIF@%-;kN`KZ;Dp}e2xYPaN)!3t*9}W3bFU+ zgI5x)FQ#wxa=^KfbANEp&|Eu-k&u63TX`@`=04|4v9>jV^@ccN*NSUM;djCA@Qb#qYSizbAI_HdfmfMqPTdYje6pbh>^>Ry3op+p%Ppgz#%rek=EMB z!GUS5oQk-*$62K$Ep)6-JLk1WQ0Xv}Z@gqLIMoEt7Ci)Nxi_l#$0O)_&Z6l&e*5ZI z6~0S(8mH#zPQ;(Z;MzQo;0Ac;_MlRlRAj5%>C_O?*VxrmD5zubyzA03h9SEm`94Pv zyqAoNr2-naZ6Ym&yDa@Qs<>nK9^g3>-#tHfPY+w{^a_x{rb4G!=J zLII_j{^t(Nz zTVnLNuJ_NJ>e1K#i_M5b|M1^DTTZkzO)5$A(l&TI9jQvV>c$p`#{XFO~{M5b)YQ@x@3lg~6MiJ{^3?O97g zq??m~?(--u;d9}d7M)4)qJuhjM=Y%m>^jf@OUhaI>YN%-Omxq$-Q4CR%P=?3N3`pOpOHr=5Px``{{ewy0w6&yq!}sS5)wE3M{g1iUb9n@+5tNw0}Y#{+0r;w`jTcJMOFnN-=E7fj>o zAC)8zJK>w#g*8VY8IU`4#?AFJ3CirlJIZJr2^f}#CGOm%JCtg)C(IHKWo}vW$WYFQ zZ)lnx_BC0!=~^hrevSV+gRerfl{}IgljiAJQhnxKk`iTPFlgSp)a1_iZKxxCJ z-+$s_me9{ZOZvQa^ksxbQYQ8e+aqv?_;|5Ma2n{1B)Skb{_TJhB#FLWaZ;6uCDvy< z+m*zXyk$DM^A&H6U{P+ok;Om$?uNRWGp(E{Bt_etd}lX+CZiI8ucCo1{0gJ{IHEF) z5w}+`B)-F}wL1Gdq~PGLXgEbWJI6@AMIHK>UKODo}~-dEBsMuiQV(>^707wPt58(@XC$4e?1W5 zH_4JFQ4dGCzlh739kjO1<#llD;9SZFV2#fRT)y5MmnipBXM68J^S zq|9!pM24>07YT9e7_+a&4T5+Ex_i-bR7}3eI542P-4nq!2lp=OK9)k^fB(t-Sy6LdS|8R82qw)(IX3kQgW9~;^*g$^1VTl8$o)S_ zX+$$r)SRH}vRjq4nhkzCg%>`igPMNIt(rt+TVThammGrM(a(pr)Myqu_$_XGnO);f z$rLeALT(Tzp6>_?%Oi(|xq&fvRh4&LyI*V4r}olTEpU5Is|L_a`*f?3?VoGW^m;}% zA1dLeOKBZRm?$(x8F&WH(5kIm*|k?Y<=It8>Vj|i8E<=@5fd)wQamxI^zwJtnWE3$ zpnSCun;C9&17TFkE39tJb0ybiKf~{|H!S_@uc;sXO_El+FXGC3+)!U)db^0?Ld#%* zGS>Ip0RZXjSf@6LKmJWD*7s`pMQ0-Y^<_P@0rJDn=ipf~gzU~lKQ8iPgtMo%bZ9y$ z+Bx&GVSDP?1&1AX$f&@+ra07j$_4wC0{V;Lar@yCgb?@&C&oHjIMS5`JNVLvP%9!8 zWA^$dqZ%PJHF*fUDKc4%tq#&YfE!f*s+KpEYYyR{amSY*OInvNvQ>0-2zt^loV0;Y^u(u}!lV!aIAp8h$zs_c@_Y|7;%_Hbcli3z zXgV-^#9&u_n}ai0`p#7<9pLXR;c@4HcsVL6U=2fDmP{=62YF;oM=3!og&>F+zqdQs zGJ&!+6)o-mhOQ}4#hS4cpwRcpE?(n=z@lq46|ZC~&GDGqAQc$h&?D40Tk zxaz@blba_9h>sI4nhe1C1GiJmCbMgp#SQsebXZd7PLzV>=2hbvfg$hcf*Dg6CEG;R zaHtmiXTl4VfEa0+Rwd8cmPr5Vs?vI^@X)Lin93!w|T5HN^44bU2yHa$^LRIKH%x$;C zja9{ou-3#zkTC?;D!q*Q)6r>FCgeuDLGwMUF(mC7s;JFz`{lpdLe=TG+^N8HAhTtE zO@cL)z)ze$YnUmUf(qzgcckn97eMI08z~wqz*%>XUtI@DG8lAe;3+Sw{bLc7(0xO` zS_@loldZ>c_lIvFLGhNncW(g+CgWTc?*Z9XLIfK4YM)Vd$~UHHW>49ir9>!aRXTG$ z?^d3G94S!IJlKB<; z2~HvN499c?{LCQ)CkKH0Nzl_WQ|T#;YHWiUGXXZ~PE?Q{AjiH%)@1GHrWLSSSQnz* z2CPiwAP`BhvahEk>Xnhy)g~)nX%D{s$b1!C!;B}WodNdf5zyqxFeofX?lwrqsUEiZIKDA)Gp4TGJ{P?M0TtQxJT96)Zn6O65zaTaWkX z3U#l-vl3FN(S+H-!#z4U(fo_qYWr*6uWFtKHXZlq2ZDQt>(#?1=a-^h13Umx>;<1x7uacRvz?CK_&liZ>N<6E+b@0NF?#i|X*1;4Tw#Q^!ENgu^w;XC z_9!+@v?#?gj8J>Q4T1*#{`dzMqI+^YJJmO`&4?l+B*6bU7>5IE5IAQR#Wq&YN!o&^To2 zv-v2)>ps$)9jMMa%SJ#$)Ci_eI(E50D4~2rps<+{mAJK%_B@=`6(vxSig7@LRa@!H;2RN_BP^uO|8lst))lL!oJ!+e%kaZ=^%r z8|}q~-MDg>oZ$leX~we;1hnX|qM#O&?HJ(RO?iRzW?^fK;%6-da0;6J4Cp8zf-#mp zEn3o`1r`~d*@9qb*q`$(Rt8*K&DVxQBJ(2RDr-vnZ8&6UDlAI0n<%K_d61=#!~DfS zyf6**Gf!##21`s1>7bUCWJ0=28`B^OQX0tJu(2^+L;ZO>#bd=99=YS7Df=$XyFjvw z;_Q)zY9^*Vrj2J>Z6**tVwwKoc%E3;*?sXVg!C5cxA5E%34*C!!6+(+X*EL7-{_8)X*?V!n>NzEYpgPerRc4 z2pgOn0NSiX#uB8yY#+P&b_g>+-f4kAT(GY34l!ak?A+AF)u|F&Uu*J; zs8cR6-e?Mz1u-|a^tATcp{0RqpVy`b<@UAI(RiE{ZP8Kt@aAy6h{Y!BR+CNty2aQv z(v)(XJ*r}DB_gt%e6NtMg&XwBm-K@Y9)h$q;`=c>jQW7AW-j8+Vo!TXURSj8rtaS6 zx+WObQfP9aps!LW)$sSX0^UNZ&HBfb{K{wxnsH9Q1K5The4-~rybKom{7n=8#A@80fJ(EW_f zuf{vyTwCeW%5%Ov6HiBoyYST2Ifotwvn?$a3eW!G=_}4*()cFyt)-Kz!&(|F8}Q?v-h+TsDcqcmX~pU`cl#CMe5v^C*xB`4TZ9w z>5LI&F(F7EDhXEKW*r1yi~7Y-SNY-a;bPL;BHZpHvnWTR*bmT;zL~*L0f0P@apW+N z7C?T&a-CX~1qSqq7du#wv8t1e?V1=nZ>nN8GUfEVE(fj!08P7nk@~}!`RzD zJ#-{Txq-cVS|f@>yceHvHS44nTW@}z#%C-S7lQ81IFPL!=I@t>ZAJkA*{@XT!^-Ul{c&>lovJP?&O#qJ_HcrYtq3f6+PAOHz3M}K3 zc%PM}5v5CIY7^dEwcNf)i_O_@>3Y93cz6Wp5zOY|fTS?eh(%vgC`AIk9r|ZRs4{aw zktEW@Y^PCl8={Apl*GGp<#htkbquK9j6%^q73N@Dqth7rvmgNyF_sS9J!kwcE*yOa z*U*+@3YbfkM8K@p$PH?#ZW=y1vb@^0CL%x>-5f!)*9yJFea`E zj_>fTsMpwBr2JJ_n6tv6N;1Y&I*fTX;^WAXJlGmPg-0|5K{8n(fBLp1Ue*2w(0o#I zo+M*ntgzbZeMR`ZaJ zk4~}H>eY-dUpH#ZB4N)oZ8}+(f0628g|_yUGOr(#_Zc6QyQ$EphcSW-V54pSIA z@gRZtT(=Lc*g2FAA$de063I{+o=G6VzxNs|gW6D*fPB+4Qtgqq9 z0XggU;iSW3`*(9+QNoQI|{a6sdl@*O{UW6k)d&;+uooE#ifwGU=yMpJqvn_DK?Y3_- zjY7wF8qC&)f*P7|Uho(>c!U1viZF-UNp7EAq5?>JL~=Y6Uc1vRszxY|su_2SGE2%F zCc4!zg#aE&rlMg$!izF!v$^El`!}i)2uu8~x9~ik7KWN*Zpk&RfdGOl5O(sRpf1ll ze$!_m0q$)}4_us=;{Kf&46-Y+xq@}$H5|m`u7X|hIs>WX9BPvZLv=DP6N#w#XroGh z*pdMeIb`oyV;)wgH?X#a;U_kcStUh`Fphz)iG|oaW|!?G=X~0C{wL=*g+E79CXliUks#QRW6aPpiN&JGf*j>mLa1(idHN z$EuQ52d#A?e)ZgPLdZkiVUo5{+}ZM}^K-|6qxZl`ZgB>gT3Uj{JjX(?HsBuRf0Uc! zVv7&Cid+WMd;#SYWr)os77D@)P2mjyHWuD{F&Q?J*0ltJHbRe!WE~R$HC3;mL#KWq zIIRTKOkhg^}@ecYHDQb4;<}r4W|f^QM~0 zgDbA$eYN8R5=Dwlz4w~v$b3^L6Urgd5fa0{6Z5R1$?d8q1sKIX!xn0`XGX~mMLK(k zW^8DFi7e>(Y27G*K4H)u_fvh)V(p z;Y3CEF+bA};gS4xOShV;!$~+9*eQDK*8sUBk?Za0UUASKV!1#$5BcR%>oOI2lpFL- z0b1b83i=FVD;jE1h2qaDCA?C#iNN*!U~h+{lBLLcfXUBJjYp{k-9SU>U4V&01F+C5 zSIlvrGT67%#n1f6-rWu$XU*6#FU3As?lDM@gZ+a-e+Q&r=hSblHiFk)qWx#*pmyL7 zsu3hcK;BY0EekWF3s}`=3CeZa?4+V)RFj}gK`9H!)r`DdTyXJci9)CL0;WsbAS99l z?;fTEeFlQ|QO=))IiJu%NzH0PAPcGDZQD=hvPq86NZBZ4q`uXT*i7YWT(Bmf58nv! zdCdP0Q{E}ENue?5{=9RnQ6piy-;E`s$SH^&w~P{;9PV-^yq6(kY?MRv8LrL+44v&J zY781qM3k~UX(+2iuJOrneU1f%3O$wV)xInILnF| zck9xIpk&gC&TuJIKJ1Up4h+2EMNWnr6s$>gTo#LNZy(@X8}|$Z<(X(`l0}E$>@gT@ z!h8-%F=PM2BDcy(6pnqy96EL{DR;r0lFnp^G2KEtRpYwqk6UO z^NPV%UY^9$l00`zte}1D`)NdW29Ye-(4y-CS|>30YGH;Zi#&VvRe=JV?oAgr(ZZn} z&itHiQb%{~>5sb&0T}L2@o%@vI-o-f45{WI3@--oRB$!UyLp{WSD2wyK^4Jvm>s@- z$^ZXF4VyI3GZs0PpVK`Zlb<8Xtt=?_vBAeii7(nTiU$Gl`3gsG&fx>Nw-5b>U?b8E z@-mtn+Jwhs%Z^YN1|Sf&+2Cm;W%n%pr3$?-tZZ_=E|NX#LdT1HW*}=&#Iy4}v;^N5 zfxvtZaIVEb{^HApYBXAnbMVg9+f;$Y0rEFG6Hk1!{$oq84Z{GFc`?Mfhxsb z$eqzk3iPo!*AWpm&8Z`}UG$0T(y4Vyjwugqm--hWQ+Uh1kjD$P#|*n^qTOjgyY?^n zr!Ct+GpJ5~?M)*1=X#J4xAu_k!YDySyN8T!W>N&YqJa?xru$BiiwQ3Y3k&D#h-!%p zPt9#~ACT2+<#N#1%8g&eZ;aPQcNm6zN0XWK2?;$m_hSW{*4~U?z`R@cCprzK7s0Vf zyI^m6BYJPuM7;KuK~mCX>09}7fSPT?!fs;CB?O~FU&}HpC@3yAL2UX_wF8`YU+rVc ztaHudq7tWOA-s0kX+RdX-3Fn)2mh0i+uSRBKz6j#H^c(OcO|<{0ZlA>J(rq{G;s)vnpIif4E(ko zmd-CBc$}qPDv{@Mon{;T#MWT6Q&O?9$Mp;irn=Oz2<>%gR^LWDQr@%nS7e(F;*a;H zQqjHd?CAutA`)mP6?(7`SoN+0_w#21xUh6npsJ{gxmfe;6B&l_32Qhe#a$^q2S=q} zA-GGxN3d>o1rNK65l$RYLv7vl;w%nVA$}+s={xiH*%hW%jLlFV8mD;8;Tr(Oh0Rdr zHNUW8FvaxDh&o?#Ci24U4{zl4=2#|ru_kBn;2|dLi;L#&`y1DNY^}0*5jW+lS^w~% zaSIQ*3fUQaTv4blYWRAih-Md68~U`fq0Csj@#8(p!>M_*a+}=`0Yx6wU2ZZf;gJ1% zAB!!>-kD=VUxkwyUm z=o$s^m=!Wk6&>4CL=~hbfP7$G-=BHNwhfYyUrcOA_+^3x6h9z(0+1!hB5* zpc)HIyo1;aPn=eBt@#|!%S~LI{v^ZT1=OLwO0Y^sWq`br;x2*?M8en?Nstf7aIiBF zxv%U9tc0S3oW|toEgTCz6!aQ}9(d_XbiIRq9X`x|#ENHlygAnJK_ugx0oFfw+dXO* z=B3g%wdg;Y+1_pts2lv(J=%vSz%&mD=$4{ty>U2gqchwEly?lmt$1VW?96q}I8Xaj zpO^`uMEFfET?tIunbWeNpY`!M7zCLFvw(V?Z3Ydo56BP@_&ad}91m^bO=S7q zx;tSawJI+nxm8XotC?>)U<#}iV4!Q1=`DsoH^@Fp-o_R=zHD_43;l`!UDkKjLC$>d(bkmi%JP%}pZS8v~w+lb`bKj>k{ zlJAYgS)i&Kj+!le=t>{mU0}n8=6`u+f;r-;eL6*q^20K3k6UFcn8EC)E+mbn(w1W5 zCBMdC@y>PoZME(~y_Ot^xp+1???2>f>)WHWw!dmaoRy9$GBD%$n8GBI{7;lPUt#9y zoc>zwrq?R45yB+R)M}V(O+|Fgg~zTWw$|dO3Vl80rsSDg=YZ)!>xbB?RHv=XNcVD_ zye?Ir^Ak?|K{Nu@72D|7H$JKmP4>y=m?IZSl-FZVGAU5>Y;=MUXtd5;bZdX#&v79|e&Unmt>_IeY(Yr^)U$#z8K1;r=VRulvJQZEu*5b z%~B=1Jetja`Hi*0eoe{F#e8sm3-fQ2)VB&yFDPq9JA6oK>TJPf1ucg(aiT--u+TQ- zs*)V)u8vpnv}Z}(9-VOy@QeimjpEO*p-fWUynf3GY@2t~Mn6`W{Ui4$-Id40!=7+W7~}Biv@* zpNcR%mBN9bo(Sh~ zn>Cdp;}!(f14ar#g|aW;#o0hpv4cFc&aZMPe9hytdM)iythg&e9Nw3uK+o|=d+uew z<$`FlPp{*Bf~J%6$QZAJuJFu$2SNX}G<`uzqv;pHmQ8Y2Ch*gfhr_fXjol>QZzr)a z%vp+?>m}umN3oxQOG_d|T3L*d5{?e#(qxg1dB&gwaSVcd?JcIeZZJhCjO0Ql^U+nH ztZr!Ko|QqjR5N0p07NZ=!2e8nAx%);;((Z=`a*T++slj0`B-~{hSy?HXnH+w~`ryEw|D9(`NCCMO>0t^GZ>-(H9-U3;eKf10 z6=rFxbrd!Mc{*#a%xR|Ptar3f?RB-HLE(CFwjDA?fFMTn`D}qH=09{q{0GJe-X2UL=ov5{$~3@^S|DUZP}PHK_aJqn}e7M|&!1GWa;~(Y!(o45J2^ z9gZ!llv{5lo)!LxhG!xQd{-domN8-c6u{7u=){D0cA=kCm{oQ<<*f34Gq*O!T6%$H zJLOj80S4RRr+k1OyD#9;VLt3YnmI<2#*ypaXiOE0D*a&6A@nPwQL;g@bfCG(_W&AR zMkB*(N!*HhE;gk9YGTFf`tyf=?@kb1DO>O4V}VG$aMCfd!-8ACHJCS^Z4jW0Q;o`JwX{6@`YqF_R_T5ayuc}=gro=bHZ}D zQ1`C0ouNONVLSfw&BI2%!6lt{lK7W*3uyR&v2z)fOIeK$qD=$qhH-9b5dmb=FwVrA zUhkZ#v$IO`9@^nf?*z_+m}$GFw9B)jNU4V!Nw#rqUy1k^>6Q~eL0yrILE*SO23#$0 z^Dz|4`672Z7Q^fn94>NbwE3NjqGj{>OW2iObdDnOOpDkCtnGl*>+oxe>pJ9BD&G&rK&9yVq_sqZaZj|pYP+mkJA>p! z0^k3p4RLEgKVnS8B~aL0?3IBz3{o(#R;J+MH`xG@JK7mD z(Co2AO`LDyGWLL!vG_P@Zb$t~gdt&x$dit_QS9f#IC1PXoKjxh>D{E3TJmmUy|+PApJWrvAgb)Vs68STq)4y`E$~Ng!mJRK!1@Os~lVr z1E)Y63T&hh2PCqD4JEjpf7Q+-)MUEXn7a@Lv#*|A?t2FRvu&-_6yMY(5NQQx5mm8N zxKkHD-EL>7(myB<=wa6eH6_uCl!kMY>|cNCw%frwxh?Z+7=qs`k2J&1`a$_u7yH-O zi~-g5EN$)2c27tFURxFdQQp3{bN4qwD+9G0;aQ1e1~@`>Rs9*gS(%K@FhfYKj%rME z1@24~gO5{s9Hy<;2@?c3@pj2wXrk80woXwL*$&f)&4S773e6jvPe}~go_b0BPa-R+fvYr$#*q-k!A|zaU}QcEwwv)vfSK~ z!{tfu`jv&930;W9M$+TLXJVp!i9dGsc%T#_Dk<3ZjHj-_f&ntWC~Ow%U){tMg~UZO zgZEk+x?aqnI@_I{H%MtR#q^&mQ7@H^nMb!O{I}$C^qLin;buUl2-bXw+bCsl zdx^ptd(LGZ=VViVgo-7ATD`8haCF{l*AC_p=?R@T({v+`QK!U0xiKGvI}(R$XDg`z z@A7Y$uWBV->Qmb=*PRNpTqAm+8J1#VsJGJGBg#&T=SRELn9_ijW^LsIj_tm#BdSj1 z4tr)mRN~EgmxJVh;MxpvZAY#rZ+*%0IOSU>2kszh$ZQ?Hl4A?26}U~*k#O~g=Y5O#N-D_@nF$*4Pypf1+<_eH_v}HGLux3y*s~e9FMg2 zj$0#c8X?$$iwmIGx+AUZ3&uMcI#zV`STK>_5Z*)EFO5;1WWj>tLr1*`kZf<(yKF6; zr!AX-uPuxi>$z$*uVLB#Rj8LmJpiT^5%sQ$PN<#c0Dq9;%^UVYG>Y=97rp|zcRt@v zfE=VI#V0Ya%wf_W&9of8x8N9rbhxDHZjKfCQtTn86ovg`Git)`K7kc(mox{ycV;>V zGOI?EytrE8Y#1l^0U`PI<0mKYtM9J+Y zj;NSMF+Z0#(Ly8&B^^wwI6?xJlKgJ_G?#`rvp3)4cPn+VicU&(jRU=TU^o z%=)?3<}Kq**@$=NPoM+?_w`ym&L#3eonMOL!W$4~Gzh^Y!bXx(o7T@56Hfx@q|z1= zGe5kOm8lLcQV4RtsV>6H)cvYkjn+{M&{R8K<2!Ctl&jM}!kXaH9)WawGgJceq`2}E zwQ)r04H2Ddx4s_GxV~SGJ2)ZrJ)!C*E5N9TwElj1?~cg9+_%fz?mhxk?|@)7$c5xFf1&`vV}S|z2KCcvi7*-S88#l;x{{R~Lr1;>stMEef~}&H z!ryxW$P-M2p1uoAd&N|djWtx@^)}_U6gv7&1$sWXYNPloY|Jv8{j3^~U<#-%>~w*c z4Ky5ki-05L5AhsV<2Ohg`3lR}FJlg5(d}Z{U$*A!kt?csnL`v|sQQDMvjH=FceG() zyG*Zg)mF*8Z)8b=ivrl!#p{-A*nPdGWNU%*@3J~yDbB=VbS)PgpE%sg&}q{ZSo znf*I#iPrJOPf}8AM)M;Z337^feY7m168Vw~MOV>=YG-Pps6KBsMV{w7BW`rzi)b_6 zDiY)ZS?@~`qW0C%e?xy_WDWGr0NC~6!R!7zmIWuH_)JKiD~4b|!HYOUVfsT>#w^LV z3T8wEB~uGev9T?1@JgVc4$03pS&ZRDWYiDs81ytOjyJ-* zYdAJKshjwDn)-qqDI&#WWPr#Ul*eg3JWH%_aT**>6v;pTAr>M zcQJQ&Yh&~Y;K#cd!zaMoNOpPuF9tt{Mf>>HEdcWhU^o+ub9XT1nX|goXtkf6;1qA8 zsbs%7oU6;Wg%n@MC+PPIfw?8vP~kIT)hh}A*w0eL?WEgQ_K`dM=|s8s)F)~f9*~-d z4>@h>lJCZ-I*w?Gge+WxT$Pg1;`qx&ZQr%t&}3Mh-J-IUC~KZV4mtZ9^=1ib)Snhy z_m*2!{P!V+BAzI~!v{!;9tBx)TDMW6$hfStX_pbku!l0xh*$JAnWWH}$4z+h{3pKR zDDtvJhKvgaAZ5uml`|M$8s~Nuzuy?o^j(VeOE{N0f6-_xwn^{_1M!E|F9Ou5xsUNq z8@I{}Panp*lAx*~Xgs=r;8!7M86%R)1zj*#Z8xh2HI=ON;(K&zS;oLX=^O89j2>pj zYUDINpQ`c^KF958mfwgov|8INDHNbT4OUPNLk5Y@{~EJdhEn5xH7Ea^#s4I4&7wpp zi18G~+14ePjCW8e->+CgLB7jJSwAVqN?S-#Ha+)=0mb5aSAn)J@Y#iY5{YXfSXFWq zv-h(Tu3f%>_7OaD8Tr!)jzCKJ_LS~&p^`KpRDPd~NjT)Ecxz3i6$o1oTJx_IhWsia zCJu*oC%wTOB_B)NSmL{2(^CU@XZGq7%Q(HPw`(#Ur^L= zlKVygblgWw+XwF@CG0k%@qQtR%{e%yjP_k-|Hz`GUYwN3M+3=sjArRKS>|)>sR=jkizR@mEuBtEv##-+$f(~HzmR8>nn*w0I}h^UyzRtlDHMc z%pujvDFt~lHcgUPv`K$1nWK@^Se9*RVq38x?c~~*^vz{ue~>iuB=|Ip&e%P-z5F@E z&R~h9{h*}(D6j#67R@+yx3grFtr5!~3_8IpULDCj>v#SZH%GD1%Y#%ZI0=>^TG-IQ z+JK-q_Se%hh3<)FHA9nS7&sujU&NU^WogNg?`A6V&Jpd!0@MFfFfw|cQqU{`8CR54_s0UgW_U55Fs^D zXpy&-eD>-T_t=Q83pDC$ad9XPtCfQ7jk*5+`@2&&^fCqz(5KUC#R5*0utLhJ5^;JV zS=ZK}VsAhZJD2GBEeq`g`V__GWBuM-?Z<_fweDF3q>@;J|41c~ui}=(&8H`@W&`9#dwhyv zOz7#G*WHX|n`)d_p#%cNy~E6s63@~|)D@X&Qa*P9GvWAs|M!8v;*c|Pt;G_X9`0vx zVHIO<)~W=j6?Z*ZFxOGUI3s{O0&eAfDsrDcS;;R8#9<*!^(ybF&JiM#%QCtdhe^-` zf@*poA@lFp_P*-{LYq|xxcwj(g!6CIj9UC8_ENe&>h8G$nJ`L?el%qYXlPg#yEq+Gq zY(lQjuL>fYG@iY!84P815Ml&Dqm9c4RI)sD56jwoE@J!c1SFzG(Y)q zhJe*NQRslu`Q8x-;Ler6D%tr)#L6n-q)d9PQd>r%r}@?R)FOnirvV^p3S^Xg&2Gd+ zrHi<~bgBJR%BD#3tOQ+RmE?}Bv+4o28V|xJ?q!dUg>@j=@1dTYHd+MmD=o(M&rLj-A^P|9BhgkYv(k-4)vbRfOFu0!F3lJ8posoF3cE_@s7a{wNLTmVPDW)V{N&X%@Z*JJ z?uzYG;Hv6`8`K*jnIBt7)i1)X9lGSI?p}W2D z7!Kif`cacDu;CGG2jV-Wd3p6Ztvk(=LFV3X#!vHi44m*8ptEk1l=G%eej$)7W_^%bs#L zlq^tEaZ}#bm;kRG(QRO3HQjj~HjI^w;O4`VU-v7toCvt8qUYeUV5Y9 zY^g=9D?M06G5^xj&XFB2O{I0Oc5RVASW<v?-)wp4`9W-(NlgKRVF9+c+o2&o4}Bgr_3V!O>54ilOs%X zj70%TX4fN@tI{4Nz>YRJvU+aWF%YS4-3Snm!OXK29W8TnX;dFdmiyf|m)*?pAZq82 zuD~rV$JhU}gZs(tOMv9y;jz13pb0J42BtG|Z~DVrBgFJzlRjd(;F#1Tou(W)*497z zQDoMw6VbHiCXvbNngm8L%BKQI;fx*OoCo72QLFPvFm#|`$wrrV&X&U78fR_A^LeNV zjJ@nl&IlBHQy&FAO_5})*m{hj^Nv@-Y z4v(#$S3FkSJoq8M26;Qt@tt7qFk1cNGV_uqI!EH0JKQM5p zit>W32@a(jb>{EC8f!MFYGL=QzpLBH~iNdU3V7q_j2}P3J-`}{@_|#jW zsk9$#Oa#INKs85nGSgGroB!8%iXZOQ+Q2nxTUX>}M14JuKS z9YS>{pfzYJL6XhJQ}iZ(5-~jvEY!qofX+BAC1?u|u6zO0tmWHFbu=@zB&4TD;ZZpY zW2E-&vJ%!4G6v*q-5Z{a(2t+D3H5tBZz<~o5{W8mwPK!4imAI~JnSXXGKUoU6C3@N zg*iR{?hIcEBElMB0d8pFt`#IdS7|n_ecyX{uWn=Ny7=yiOWn_N76i zPlg=TuE%+v@np08>U7rLr&|Q<_dpn@DZ+@h7v_+DWK@mw0mP@S_Or48y7^7h~^{=Sqi26^U4EH^cZDTxL ziKHWFzW0wUjdG@vq?;pgM>7?!m}x%{6-~ZRVu$Q*NlArD|AGi~s8wJ*9?8TG?!w#x zq%b9}Nrsj`DQ<+w+PcHpd7chbHyx;a6v9ML>yRTBuRDA?^qC-8u~S}|MBpSmwzOz< zLA1tt5AJK*MTapGK=cb+9&Mz?fuBQ)kD~INJ}TdU&H(~om$d*}1ddQ2;KH1`(Clih zA-nrR#OHG$mufp5=j^0YGJnl>F^tA#6%FzVQKOWH*9l3nwCYP6Wu z(`(!dYChl4>WJHm^Zx{@3ZJqz;^e`r**rJ~#=I&Y@)FuPWV<5RVs;kOH2CDHE8+hb z;_rOy#Bsb9&i_mOmT3qXjqQfLfvvMNW?;7vRYxDc)nYqeTIIyk3+BQX$XKn=Y&_E_ zPZs&u5S~Sbk-1z_LZ`>9qkfxc1lL&_M_ZTwzGwtVCsTZ^P2HOM3!Y{>43;pXvS?CXSipFLfZ- z`)7zJxNHbI0zSgMsr{w#wIq^7r@Xx?0?=0@3Lt75%ozmyUImwZXn>$R<12>@A*9BT z4z*4RwaX@K2C7!L)?fpMCwJT7s&BMef^2V7ODiLzTRM1MM`=*!seG+dAtKN0nk$?S z&-Fz;4JRjUI->8V7PSJ-!H^uje*898Q-}#&m490Z?_VRPX$c?oIDk{+y z3X{7joV)4opY*h7<6;8%2(Ti(hynK?_$pbdiXONc*Qo-u+hWJtLED_-;TpXlh)woF z_qoI6F7&o#>Qou;Y^T-Ud?b=YuA(5u7%CQM5e3QSjlfb$&9Aw-$0lgA5BE8+0iFvh1#}*35+=Z&ab_wf#NeelMsV?^ zRFdZKEgD>@_9aRA0Z%D>P9~#IQr~H7_()(e=KcXi0pS0jGs7w2Y-p3@=Bx0QuKYs? zU=z2(G2qHsGr_S$)%f`9sa$FSYfdl}KJPtZIFae^A#2;zc#tjHw<60&*}@$77)<4` z`@w3kkcHNW_RHKXA5EW1)IiVM`iB+y6DP9p2>WA~C8>wuWz>VO@RMff;v&h+PT2Z| zgIQVsjST_%|Iw>n@a)jeL_`jMEz-?P@KYiI?LhPZ+5uezPhL_#hc<_-Wpj<7wLLwe zwQgE`(?)WVxnTu!hvn+7UjXgrCz8D>iY5krKquP0kWp2n6J>!Wx*>N45^u+)$K4tk zXiXM=Y3+iMZfdK0$6*HQHWwCV`Du{j1O~p6kJ};r(9c>^3b9K7#%_6mV2HGL#>4yi zeIlAK3~sBb6BVJ(VPobF$J34y(fDwnT(D zF}ko!aLQrb6Cm9wFA{i0PL8#>w^6S{@LIS2f}cOB{QmbqI(9YC=a-s_K{xXj9A{lB zDyFSkc~lNEJ!$NM&}I?&_lyqpXH4CihycVQc-VY%Qx}u>vVRY#aS2pvw%SOZE_1Z> znkepoi_^6cX~|r^x(zGAp~M1-rRhHkv_j%oXp`@Bi4hcK(ix14_##6w=nloQ~`nM2r+a#`$+2r=56lCMkAqptT2XE_kkDgNG78ULr%O^eYi z1#L>CGh-+VJJO8`_qWcn{^8VECSJm$M>E&sLQt2aLc%44LM!w^&~Kg=5U~_U1Ah4Y z2}egur4>7vfp~BsvcN^vJaC0(+3-i6_JR`j|93@Y+@rR3ybhY35$vVQ+t6}ADjX!C z-n>pqvJ?>Ic{YPPr&(7^5{J8)`jvgjM_6-g6BZd7XghnsOHEch`67BKa8YveG3IAA zMOs2ce!>w0|3<9({?(YQ$rmdm2cz-QL32-)p_FDB`64=F26Pmv_mm}RDe`NwHCfrk zEFrStA*VK4==y-{9@no=Y1l*y0qDz)aQeP{miwkg?*xPX8P#rTkbiwwyahiAmZNKyg zA%#AZhK|B+06DN2<`|*XKBayC$S|CpKO8GJ+e^~u8rPGwzytOi9C2gtj+M`4MroU8 zPGYz)%cBq)fN~+Rlj!RWl)DJD>KppyJyjPKVgfBk1RH&C+EZkC%OkhpAQ)z3jX`57zliYu?bv$HfXYC z3XzK*QKi)N_iuVK^qbG^&mu4+VF~36+)GHK3=}Dj+%Iw>8^Q;?fI0A2?0~vm@O2uz zkDb&#MHSl;NC-9KtiK@lH|-sOu98gIF`lh%kZ!bw{{RDo2ip9#VMm4Ks~j!60NVd! z>aqGXct*jHkh7BvhtGV`@3GB8uy4!YTPvh$x>2V{tQxZ_FIDjDzh=I@-;e8n^=>J0 zTF1W)vV?vudHVNq-)`&W*4P8yY39KtPeiv@z#I3AhuF$CSuUkaWnNgQEVhZRlUHFc zHavxl0C-3r`M)35UMN)|_c8wur35pyJNb3Zj$3l4&~NcP8L|eSM`MVa2tme|HI{b0 zVs!3Yvp<)L@oSz9+=uLZ!+TkwQw|&=t*eG$yJYd8!#DG3JdoEc;SfzL1&v^nCR(ZM z#K^+3bL{>^Fr!!g@zkiIfb|{yh|%ZA@Q5_ZY1dvyLz!Zgg^raAJY13>6VrFmBy~|k z4mQ-PNPtjjwR+%tc#7o_2^q3{h?a>?QoYB#(-~Vwo5y^dvwoboG0c}w3ZgM@C=iV?=ycpSb#lP zMFOr5nke(F0*2DchWjKIS2G(B9npAQo4!tU6UhIb1s!q%Ri|Ku*r=5pWgQ~pXnRA0^tAfsE zR?AEq>NVdnc~(%LE`CDH;P_1Y{vW2eEVBy)ac;AilpK0=ykLSrbWZ+H|(8$>r{? z4|zV-jb5)>upK$5MIJN+k82Nam$gLA#GH#pt1D0KD574Uu6g7x+o77jPz^hAzi~J~ zMM|tF`yP^w$OSgqd1&cr6AAgFXG7p<=#;#%x>)~n3)g7Jrh+m_#d?dqCsIfGV;0r` zBS750|9p&dX|=hZ3a6*e(vW6g^6pX6K~0i2-d*Y77e}dMia`UsieZM##jfWJBYpmS z@%s|oJ_c4Fg+a3&jc3S+j^8jLm5~E0DfyouFL|h>3-nF52$;<-`ujR$B5HmuQGS~X zQ13UTfUQ?_zAbCOi2;ktXRH8BgtP`8o%zr@97N6Ig(E5;5cQaEm_bjtvrJNeBkJ{E zZIqp~$GgavH(X5*`qkuxBlqZegj`&7(fTbu1NpX4`@)HgXjyG6>g=QWc&u){|J%~~ zOD3D#D>k8R(1J?{cV|)%NP5TNeH~Z_#!%0%?8@6(wMi4%2_`soQY^Y|DXM;_F2~=W zHx~1wu4)fLH0+H6ifYVJvhsPpQJ@WJShSb8O{^uYFoR~&L<0LFXP-^*@n#9dl}sa6h`}1P<%E61QM<0~+e79TB}IAE$qHQA z_7LQctCawa)b8;;>uEAZZmV zioB`}6t^@K6`LcWU_tXK~8y_}0M*yM*?lA1)c8FDy;1-3m zs&I;_^hh4s<3T7ILji_maEJ=jcEG~QcU66EO~#5}alON%8=TAFt5}oHNQxuu$HSL$ z&LC%pIUnq`ys;pf%8{nvw$lo48Nf;4bK#UV64-A@o4M4f8xAA5Fm^z}FpJR&R#JXpvvY0wuS|axI&ec8 zkZGQBi?dJfr{`Y;+%6hhe4Z7@UdM2HJcwC%S}4&=XrZ(Csz35GR%#;8KEOJ7u4tH~ zn4(3;?xK6fP@ZJ3=O!hmk+d5mK7?dknx&%s>{0t3J$hwzzNH|`Wc!1z)t&rihdEO! zCfhEPHwD^I`~gTDmv&a|aXL_L-DkJ3`LRJ9)%GB**cXRfUk7X3rXh!g?7yOx(g+ln z1qp{890>cf#1st`8sT`KSkv4Dv{}AGg?!N0sJL@3A_{w521+s#n!BIMwc!XvYm&7! z>`?bTs@7>5y76`#eUTg3e<1E5pAuj+alSt@;B0@@7_T{7qxJO0(Oe`)UdQnFPck^j z9YWW;6(A*4|A@d${vC~lw*dJ=wV;KV4Ag-jJtr6MT5^oYYq7(R4-W$YXG8g;FCPK; zE@q+k(cf0Q6Q`7ZpUVirITj$zS}4t48pw#9Q+$(81Xh7f^APwnmt3}8Gr+cvs*aSRRQ2n(*m!iyTMRyqK})b z#=~8X@(ov6q6dkiXbrH!j!zAQ{Um51U7}TOervW;_sM~N4gSMf*45=Yo_#LbiI<8A zdX9>pG$*UJzggQB4qiF&-U=Pj;aphG9829M zLiUw2*r1S-2W?%_mKU9!(Z`^ZFD@(iGtqgekfeWAklS_Xw*8SzqdFE%HvWy;_r_9k zwlh=QZ(J1`acTIOzh1klw=_aF@h+FFYHBb);5f~IdI!sPzqipJ)-mnLytA#Nr#SwH|0+^`5Y^bS4iBjnQ`;M|_-J<`=R$1NAQu5ha*CJYRs40)w}&4k$- zgzH8!Vkb*DQ;EkM-iRbKO@(R3>uul zKrNq1HRt7CgOXppN9wH-#w_ErRB?`ubvp84K}?n@4ZZ{1M^MOGqW;05bJdwaTLz91 zCpmN<^dtT4ms>a5JZVqo=*Z#j=mO->~k^PnpQZ6@9m6HDQ9|T}kJg$d;G_Vv>X4 zElO6p_)z-t1Hl^)nkRjOfnUaj#bEc^S>9BfdR+c#Ny=HC|NFEYLQ; z=u*Q0ajTUQ8>~2ACvz;$D*9601 z;)1Kip}@L&AF=8p#w4E{#+5MpyGf%qiki3}i;pTB?yoTkR~JhJ%*#Aa(MnT{(Pi*2 zz)(Xn|N2%7fSOL*DvIvte_32jd>kn7zyyl5@iy!6T-K)|+hr2n{7$(CU%To^V6Aq& z_Dr?y+kDIa?yxE<)dN^;=7sZrNYe5NRq8DhLp&h71O)3YYS*69k9@SibpG9X=>GxP ztWSYQ)V{zka4zDqZ0ysVwLpuOokEeFf$+YvseVM$Z|(0Zq~EHBFRDZb_p5Xr1l=36 z;i<}}L;!?-@TkRB+tb1ujP~>X$k@*#ZR*#Wp4QcoAX;X~1Xs32hb4?Rw>jwRpLl;` zz`F+>+{yGztBqSkeIv0lAT!nr1b$J%ownY-36my^^CQjBw_>q@#tLy&O{^_@5de*e zoq7eepdD97k(60Zlz;e=p$mP>zayih!$IJex#rjZFZ4O_Owj8!RRgGCR`>q ztB;IH;@2umkoko-4fkbD?kSMN;*Z(5+Gbg4ZTbDDdb&Z050N@viFDfK{Wx&J*QahL z!P0Nq$EkQ(xX6B1&y*=^l84v{`^e?7*8eJIYG=e^TO}3<&)5+f&~dXY@ft(zxZCNK1x5r2=!k;G1UD0ftJ`pV-z~e{oyt2p(88~ zWTKW{3?Ki-Fy~Jjny62h@PcWJlwq(=$crF(7Ih|8@7rUQk`JvxFOpXCOyRLcX_3>4 z-=3Gf4gux2w}3OGr^-vWmcvgSP96I&5GX6|GwYqH4s-Ya7;6j-PVHOZ)tJ~U;p6Z@ z)v(7ptR=*Fm$y$(=ZD$;F7h4ap<|}_+{ z*2MtjWs8@o#ILO(XX5{@fu8QRB)Q1rsyj)LRc&H?GBP;9Lz-|3+_kCzPNho)!}owC zX*7UI)3On+oUl!nO`@hgfXXNjMhN~G$MZP6C@9OQvg6qaFw8Uim=hgD?!Hk%W?9u}!7N&!Fd%_QLa3KYlw%Mh@Vb&oOl$uzm(d>-bns8sc-Z z5Y=Aly$>o?QVub3re2^;*sn7|H!48fUIq6aqgCkVvn0l_cEoCVIbs?D3*HPqXWJ$P z6cPvtO6yDu7ETOL|F)$~>WI6kJEVSPJvl2@#NE}@5#43B_0iydI&|pJKC^}?;RGhl zq50zh1Qi8)H{Qq>^fO?~sNgx>)^LMUwnOf$BjB>lw2RX|C>x`e2L^~VhQ9wWt3ctA zv+3r+v5aRvcf)9rxq{V%aPkb0eSDmik0VUZMi^iNnTQtvb-8#)rd3V?`v!75r9wzg z;c1MZ*9}jL!H_(fPxT=BO7N;Lc|UIk!96g`kF{XEd-UPIB_a<{W77YB zwJFesQc{|o_VHW6l13s~LJE`yb^|chPuJMHOdgFqCAxcS_iHs5qMkuQZ-&>^_ipBs zKu%apD4ds52V_t(kehd#__2$kTV)$6TiuDB3ib}+3fcaL^3P30^j1@*y>!d~ol7I9 z=HX*u`4ZpNxnp$BZPpNEO(9b$?STJ(^S%STmVkgSH zM!J>^d+6%8z=0(-0?s=#fhPXaFT9)+Si5PAh?U=As+Z$$ZNf^*?ADxWjjtFXDb)DT zZcg^wg0>FY>5_($sp2dnto7f5Wr0vCxAO`Q5(Kc+-;IVn9-K4hO~=MJjKKDg04lD@ zb*stVM?)Irg50k}NFr7ubCh8leA}luoLkEtFbTnhVtkG421ZVc!i0Q^arfNWn9LIpJM+5B0dpi`JyQ0OKMY)L5A+{tyr*VLY~2Y)P?=wm47 za;)J;_igEnPB&rbG3j<+sOtba*R>pwESdj!{>ITdR5f+G&J{7XiW;@BM;BQy%g?7Lg9#b6YT_dg zD`#}Pieq{J0CpssrDyB2RJ#)n35PC(je_H}R$lG*s99!`0S`tnw2~)})Vxc1Q^eo) zYY>6JJxT%hxwd2$y~8gif#BjXGLXXh-ND=Ik6K1gyA!Cv+ll++T9T1fvdvZA(tcI# z!kK+Ui5;c!PovL)zc;CIuVz~11DJZ8&Y@x?yOO6$tkvPwpn0)$+R6g-KqZd00ScsH zdUGk%TV&o}1;pSoH*0kj>U;%SdG%)y1%zLE7@cImh{>kopFvOdc)JOVtc1aBFVCxu zbWMjo*!?1;Jw_jC^+Wfw<6b{g+#o7IQ%6oiHW{n)6Zz@ne>mYBxGi7CiHIgEZsRrG z`I<>Jblsx>$O8*@o*@-%!`!3F(R-^t3_&|Giut{!6 z&{&K)MHM`Skav!mbQ<)tf*z!^ zj}FDQlozO24bo01o?R+g{IDmw3oh;GM0;StT8?TR9S8flp2ALal&o#O{?+$Q3dbQ4 zHW&MAwK?^g6quoQ9p<`V{IO0SXK*@^$vK? z`5iV47M*`qr^x9jqvHo?A~YV-Z1PN5$8 zW>RBkqe0{}hxpi1i69WwyO_kPs>G6ohA6}vgEi8UeqtvzRe!F{UJ@?exSat^`)U`{ zL^Bd1*fs`?3yXaKVYa_J@_A4^6YRP8GS7=p0v@73+2*HNR#@0^MjH&7$mj7-uuz%x zD&IANpl2X>-IgB~a?9t=SSR24*ykw9sPWr?SFDlX>J=&D$PmS>)B6^@*ooR{DbAvd zh?d!VNBaUdt~WvEowgl=a&UyyEp-o^)5(Yv5Ob=NAJHe2?=JA#ewMK9iRqcjXfI^g zG%J%GDl_`BR6l)mW;B4R>Be(6(~To4+na`0XhH-y3k!XULWg>#?~>m*US&^~YcoYeSf>8vaN$1_3VqcYt;kp!R_4e|Y3d1VXfnb(aAM z5y+s_^pY*9I;>G4XQ4qU2i%9VkpTs)k%Tuc26VXg36}^Mu)K`%GELTAOe7~Oh~j7hRxufa0ZXYoY`397$$7?HVQ@@?XWQfeQFA&QUFIVD@Zs)d-jcB54IVf@_5ys zjteNl6Ygc29b=ZBk;Hf+#~Q|l@9es*tyR*n2U*b6fq4YFhK0@63bI}zZtcDlq;3+; zlaC*hz26IgA97=TSbSq^4jyr!j)3Z#vLGSu2x_H)Fo?tZhI>qT0&AIrTszA>b75EE z@AboMB?qdQJT?Xkj()GsQBocNck6e|(%;9JeD#Tcb~tbXk4j+ri2J?KbsFjNW{e1a zN16vg1&`e1^Mem$YjSzRxRFf#GvQM`tps~f4N#L?IwDZYJam+ap0e+D7RqN9XoGZz zhYwG-{o`!Xj>bg*7${m$zP5JnMJqF(zG=W^X2{}!%C0%1FJQ%7Fc+!QsaGz!)O-qm zvX&63) z6GHIp)vnPET$<4gtOd9ih`ah|lj8Gswa;;Fz#enlQ~@xq0N7hxsRE{9F!P1&Plq(! z#FqQ(vdOU`M67?7lLY2b%3=eMi1-pPg{(4Td245E_Bk@T{zE37A?`-#T`t`6dBvs4-kQWg`qTd zu`Zlb88R4(x6}fgSG+WdKqbnK7Beah|A#`z1riZcye4VMB-8V~&~S5eNO(<9t(ZxW zn+20MQxgVC8U(36+#Pzc6##2k@-?eDvkE2}Q=LyaYd0M|RNGT+iys9bT02;DwP1-u zV@okpUKz*DdtGMnO>oc$M+mf;A`C3wey56i%$!tbYuSw}5l%K!ZT}S@3s|*&cfqbU zrE?}_kcyZsB3sp}R0l{WmQj6@ajfMoYnaoBD=*8e-TVBQ*b58sent}YWdG^0w8^A& z&x~AyHrO)`s(O-Rl1;T@o>OWusst4=<>vS>GG4LZ&c+0XGr!yUJ;{s2j1gI?DTzH) zY(C~h9q0WF*}1O0w}WM)EcVqeEJQywlJ4+s4vDLNR`5Me4%l%V5t^S+IAFsI=dJT#q9uW1#%zFE9c6~= zQidIL4w8NYhV(RvJ3d@J+Ig*xV7Rqhf%Ii(OB2ut2TCv>V5KTd$K+FD6^Zf~axVx1 zb{&ntj~o4VqlFWE_MOyLO(oFgR4%39JuAe2s!4cu%>yJV&G5_~Y~a?e=qM5a9y<9s z^?5Sv`b%5bNN)wwtC0Wz1smE(@K2%$q?7Ro91AS1bZrA~mJvOS6-c=LS?{Z>{X{R_ zb@=}A^o4p;jKT4$n6n>GSElp?*?pMfA4aW|eiGEfL<4fso~E?Qxr5M{DD#eXhB64J zT(zxdM81q7Pc6{orJ05iYoDi9>UvV&?bKPyYTW>cSA&lXzq?%DRUHmbnfVRFvC(-KW$!uQ9%n(v`1pgZUo z)#Xk99aL?YpdD6CaU4hQZp65!XS13wf{EZk-TOXJb|W!&NE$z{x5(w^s9BLsvzq;yai4XPNc5*K{Q)%MUEZ76KIpsE+MQvMv%2 z3vRAt(*S;z5ys0fYi4%hf^(dILt6OKQh4W}wzI1q2~1 z*qU-hsTOzxJT}TRc~vPQ%svGS%|1id9DP0kkBto2kVFFMz{h&J;po%6^0K;nn?a}; z%-F2?qAhE`iU(zQs0(@)def{SxIreUe-nOvueUd%l36ziS9b%TA zi|WeZXrTL$&_=kCW&dMNIjJ?O?refN8R3R&GYg2SJadf$^adH7tQm*%~vr_J38s#EE zP8>ni0rM&lvi*fJG z*h-J0ve?=vE_w4Qiin!?EaU`xhD6&>Jj;j6iQTM_-!Sts%_a^pCR+9@V0d>=I#cfz zp)pe|)oF6H$T5Dd$FazNRqheTq5Ed@E!rgBskAT9TPNor&SA99{wr!j`*9u z8SXIEnPNEChx&@m92?ABwYly+d~W#dMac%Gw&;+It4Z%H*xel>v0l9zhT~iN^Ro0` zcU8GYWAG3Q_R-vz#!3FvVY(b-HS(a8t+xb=ouf|3;4{|CKpIaGmD>eIF_vVvd?LCA z++98)*uYS9d^ZAK|1a3$qwvh2-7S>^w%IAWaXo=`Qn|mej})BA3mM+gG&fQDd6(U2r8#Day-3JKBiGt zCQ6h>Zfl3E#|Hw7a%cOOsPqM;I!qT~b(N1lND_9msq+ScvBKy_HU5B^Jm0A#x7n(Sms|3!ZbUU<=7hhVRAmTvh zp_jG+8w}?Hq8b&fJ-R05j2d8St?_ZbUk|cnXgI7^H8R|-!5y=qxC7y~+pyC!ro?*J zFa}S^RQr_74!GRAC-luV6=5Zi9XbqP&ZAsBUORIPi}UUnv$Hkkh3IMT<6d=_DBb_CY#vTO+18Aiqo)OcVhh2fN4D z{J>AZ0kFLN`tzzz`dn{5tpA{%@DdMYB)<#yZ-JDe{8*_Hu~Z)g$$UipHJ zWg(RMeFL$V0iCdS5}j1pI(8Q5PqZban~ba>Ik;2r!h#6dDjxsRkUB!gPNP=RljWWmr9CM9u09mBV%$>q;lr!@ z-|YsY0(0c_i=!^dIaDymYIfz6gza@ilc4+*G|Y`#v7dLnZ34!kgSHLks-k1lTx+aM zH%1ytqYCqlwThIBQz5pknU3(fd;)!wt$08pz(oa(j_?Yv*h9X^EuzSC4V+8aPQYj- zzp@2541Ud>;VXE*Qj|?udvoP4W4|%{Cpf>WR6sb%lv=a>xE*6QFkQn4 zGi8CmIbO3Kjav>mta_{wtD zgBt5;5aNgSf{Ncr!(G}kuHw9aEoomap5(vSeE7X`J5(Gwb3)MRL3?;H>p&@F!lrF; zO)`rWqooN?85wXD9ZgR~Vm^Z2KKHb6P^lx)W&WcQoU7)s$wm4Q7*!J{^RA0^CH^No zKct-PI>A!mUy^4_Wc~MR*lC*t!P74fgC5zj1FJ@B4JtR0^RPYrcL~4*>rY0hm%H*2 zTf9p*mPSC~Mr~-*a59cU!kui3cMP{Bd&*qY&*KUpFgNf9^UlcaG;0*xFJ!0b?yzX} zB|=k{T9v?6NQvkghHa(fWLW=Wfa~P>t?8NxC%%*Q9qb!x*r{J_oicbz)nTR0Yl7Icc4Kv87^+sO4LWBzsM_Q%!MLgLD5Zt71&>7epSQ9jq4lnMXJRVKQFf(3lX!)GF}w!^Ve zBhBLyAx|YWI=|x!$`=J_sNuR)2$6IHpcpg=3bqHuY7o#SP=ZO1;I>5)Fm^cR@xJ&J zQWnK@As&d>Giz9f2a!VUrh!V3%@(ajPU>l+~=p zO9rD4?i`|zIT=^7O{J8PF31;zCAkchV(`;6=7Iz)psujh*0bu1$K{4#j{qSKO1xq) ze4>7_u^j@0VARc(6*pS|&sa)=r~MWzv-2olDy0wf$?Xlhbt%;+A(E3v^2sgup|i+Z zB8QKFgC(zQ7OJK?(m}qP_dL{v@nc>oe~Yaq6l-t%eyn%H#XrFvR`alFU`Lxde|(4r znC~|u1g2x~@F_%41Cv-?Lg-^!F{!oaJEp6BR1|m<-QOi0$U@h@{FG5X`(?Sd!pWZt z@$@?(D+l&az$z^giQ6&%6or!f0acx^tVts_4T^ji-22RX_!5Pf3Fj?sWQt<3Fq#_; z#}hD#UuYdg>e2&gJLm6SX>MOXcya=YHkH5}WT*OE7Izc2UFk1NB1t;tRo^W#NW_dQ zRrE8{$D>mw_|>>iwkb^<>-FKVeV8kFbPNn&Te}rT=#)vW-(4iQGfUi1ZqVkXRJ6R@ z!)M+F-j)_lYy1Irczer*MQb{{UNY{+2o&cy-c3h0yj@v#+@#ZGKQ36MPtZZX!gQS# z!LfE3N}pG})9DH-Fe9e4wqD8&q531bv%ECK9w1h*r1AZ*{T4nOd9RKe=3&jIwC#hh zR|sjH?Pn|eAsK9PPZ49G5o`-FCsJdvyv-sXJAIuS9pn~QhMr@lgJJ{q1{&tbKo9@ z*mymx7UR*n(Lz2FFE?{`IW6Gqxbbi}ykG5!C1Yn^vQzT8ekYztn1w`{L& zjz>MIY&!ete$f{*1XqAf`Rk^2_SS(?R2$SQkx;W&^sPhnbYsEY*Dl4@7cR&N3G?K& zK-b(QFpyl|j|GAs0b!hj^JX*%#|26?GArPgUO4_qR zH=YBz*yZ%m2`BC9`RXjvi<473{Cp#9$3}-X#c|XsnJG^ROJneSGbv>S88TWnnzr~M z&48;9Cq*fBoHVc_2hNVa%=qVWyic>?IlBg5nn#pi(J*u|N;@Ry7fjBUOEt;Eqs(I) zY(U;+psl#IQ|&O~O|k_$`O$%Pe&M$1D+LJs7zXR#3Z?FNm@oODj8W2#j4tMr`maX` z7#i`0aOY7~bI%ASU?uDXXK7D}4;zI{)y<%z6?}e&E+7We;)1TT`%XYuG-==PR)j^> zqVi4zZ??M96yYw~2pfGmNPi~(`K%t@PZ-Z6t*Bt{4t_VDqZ7P`y@g=u?lRvYYlXof zwGbyAdE3N?wEQYQ8fZrYxd|^U+7TR_D2=l66g`LmccbNjd0NKT6^fXMg+`|{}?A8!4II$@Zec~$3d3DY6weKZU`aJ0g=Ysj^b39|7tSW=;{ zgFn?}t`>p=A`;5As@;B?Jf`Ax+;p&|zPevmt1G1XrO!I^&R5@(hOVDQ)X-E62j6Zj zopkUiV>7$%-l7jq>N`)cp}zzMe$FNT!nKxt7l-aibZ>nIKtzsXx?bs(n5diu?)Upe zQkv#TJ~K+xw#Di&Dh*&Fofcjl2M9X0_&};yf2PbiN;_$c4)S{WD#7bYhxedo!qB#a zjYkWaQY!!w8g+fhuGuy*`E52aDTge%~Hq#b?|S` z294n3)<3Hrj}U|T98y7a$ucZYrI2@hD-H|RB4>vT!UKii7|0-%tTMBuV5Z`w^)g=FNq7amVL!u=2RujD|1BnA zF>NAv3dXBkABU#!6W4CDyGa=GfwBBN1~qUO45!!ek`milK$7-v25C2$0Z>DDo(q~A z0YDpasENx3OUTmY2fN1OywEHGv^qQ{g+%2RIOP$bs+B4lGhp2chB+Q4*pO_0MJHDI zZy`SZXk1-$(f|kRL|8Bz@Zm6zgQ3HlO}bQ*qCa~+fJVfLaX+$ovxEaoYL)B`C76zIYQ{s&AcMBF=J`6nLaYnN`&HId!|i-n83+^{ zZe%Zdhr(Y?BJ}zu+&CLSQpD=FhoT+yhQ7aSNIo!%*AZ^%w9AsmcCenewGMTaCebUu z2T^~5zHX+|z28efsK?VLx{2i@W!@^zI3-c02KrY?MF|Dxv?RLqL6mAHDXr(1VWwY6 zHK!)kFCw;EI%oB~2XnRwunB=Xn+2C7qUbnYvzc3Dzk{NDd zoZHNsI%*vBmSAG-giO7@s!XMhE*3(?8>_M|_zmIQb~>um z)_VZTQ8{;!xDo}`SS$(*Ajyxa1{}+jrd;gUEEW`-b;qGoajLO4%+KZV&246$et9PF z4R>j=a*=~?Qs(1wBP3Aql38NgHLu23INgX(6IUp^$)GVvW17iJ$(@i?F9N7pOU0pSSRD= zESdpkUM>Y$$Y(TueH__}uFOIm$~Fu2=_8+FYlr*!+{m?!8(uwIyqsi(s?8e05rceF zdn^t)Ip##A1eHjz9!w9C zlOIAhFZt)|Wt5{(uZ?g8c(;lh?A|5Q<&ZiADI` zAGS(4Tu{jn7oVkOm)HnP`?Z}?*ndw&C2Ug{R4iy3!oOW|QHj*bQ>aHqtA$9oE~yO` zP}3_c{70gW!)O}OIf-ogoB?Dvw|&OV2Ahsj8?<~JK={!4Ucpl!9wC-!O}&1&h2H?b z3dSns@I_V=( zD6n2N{qLuQ(QkNQk#@^#q~YCu&T}%JRc+ZTV_)%GtUYY!P_+{T1Hj6aYj_r)$tm3Z z+^TF<1Ma;_q1O8I#YsMl3x}O-y}DyJKF^?4se|OBwZTVd+$*e#y!S@}z5HE`^bAX+ zM}^9-(j#$piWq#@AYaSBDNQa@duiWp+I>(^)a@sg=}3oU?;VopwGb=>=PUt2F?-1k zr_{?KW%Zvwa?&{^>ntO^U1SQCa*}+H(9-bQKHdi)2;va|rHj+Sm|=)LlvpJsT_O5_QK9X#UJ$l}(rug|Z6~z@?9~j#*alUX;vas?nLmo5WHR^6)Ki0-NR%hJ5fxQl)AfJGE@;@}o(W!0pmG?57YdwD z?H|>G{WSyXF`WZ|=Sk7yn%+wWz6&@e>l%mvKE&NX{YpzbdBI%bIjvalRMNv^A4euJ z2+R{Y!d+v0qX@!>O8agxgyB1jac|oc;yGL_2FvoxM)mh{ZDufH417`z9b3f8<~^s( zAPE#zStg_>mytF+J}vCFGh25VLd%u7y^_~$W_+lPkE4qlfIy@?8Nzz&xgGoNUS+`v z4V#m3bjL4)&PGPI2WH97ATVQ8)`dqxer+oPG^>=FG?i5$h$2#To7kl9AlY<3d#>(1C9GXx}-t^>g^wi zJbWUuYchC;rjcy6HqI_WU?|gfjd`9Us0)4r$gJ0V4+Vvb(kCDP`Db|MscdXTA%@uu z;z8?36FZ%oBQkvHuwkxMs0}o1u3K!Mzhv6?6^kbXOAl%n!`!E_MW>ZI=sBhKHVZ#C zixf}GzTW`A1K`I=5D299f0v~!bTX^fe>HGe#7fD;Svx6F?*wNFwJpKHc~&4!5EP#F z`TIpBJ^UGAnethH-**EUn*5eH@fjOd&LL)qKl+;X94qUO>NlwS|0;OV=W*l<2ksTO zfK1=-R*?S+(($1bB93X?4s7^m=m4{WtoENIqGQYWgy#_iEI?uNbr3B^3-pO zV3t4;AfbMC(;{|a(ii#i7^q;aT)WJ=eZ#X*BiNX2qzxI%B>pcD0jRP>ZhjkyUAc}1 zqwg3cR_8VTdaRWb-QXWRKvOs7x70j&Q%6-7{rGN-r7wMfodpW=KXvZo*0x(uyvQ74 zzfK6c zGmO@zBo2}E^0lJq;mHUSjDzN!&t!!(Ur?>II1{_X zn{_v^`Z2yQf7Wqu@*MaG-g(C`@9>{3pDI`n5y#)2J@$K&PD4}zNU=2^?g^11<8j1; z4?vu3L=hNmA{TFQIIvXlYdm>poG(%ag=HJ4oQ0ktk0=UA^7#RFm8iKH=DWj(N;j;=-gafy>RMoYeKym+~!*z;#3T=cf zRioK}pE>-ofpp|(R9jW)mVsc7jvp;`GiCU8OA=aG&_l{ZmxyC|G(G4-7#Ia5{QlQo zgB!1m8Zi^8BQOR(R0xXMS-WDm!L}U87hzA+PxT`6WsVI^K!N1^-0u-gsG1-tE%<`h z@rH`yn_s+HR}Duue4o%FZToRpy>N(RO-0x5k5_f-cXiCJR z4enudjK)U9Z!l8!wiPZ&vxS`u2LX1Z-izHDBce;l{RKm1G}v@Y>8#>b_STtVm(I&BJ+WRYa2l5oU3jEp7QUw4lLq6o>U}^xH%RNWz?ab zZrOLQ!Hk>B71kp^(U?6IDnD>SjF}`MJm+N~J2T|EZR0+r`j3H3^$_iUJlXeYpNo{k zM8mU4Nj3{DEoq?aB3^<&evEWAa&6O0)sV@P$D|Wtl+y=D+fmg39YEs0Mej5X zIems2ey+SGU{^P6Mgbt^|bZv09sz zBK#i|%GXkCEV$xna%*+trX__zB_D1)QG~_jhmGv&QR?Fr++|@EtimLLj_HLO&PPvC zt8vi@2nsTtWatGY400Xyk4&Ryb2nw%CNgpRH|66*#z6bRI$(1eGO`cOy;^m>&DKBZ z>E2I$BadPaO3COVVAd4xPE0Rl*EBJ1%WIN!eMw#hwdkygXXxu=%w=P34iFou5z%(!3ny7N`GIlo+!P~(hbAmcGie(fbQYP zhv71iG6{r$?`ha$=-InsGh`ctNbXs6xf!2@9cpy*O{k7+)P?8Ipn(%J{tD15#pvHj z(AW~-vUjHrref6k#hjyCd@ukyJQoo7b6drdynV1FQWX}g%eX}m10E=3R)iX55>WU_ zEA)E0F%-iffa^9Nx9f~xYojBT9Ojv~XDXVKelGTe*5LPoAARv#dHNbb<)fU1`2y*p z*#b{}VpPoQs1hS|qoOZYCEj?=4{-#N#e{I8-*PgJtksWjLqV)+HtCuX)Raf(@h|Qy)-h0U2SFwf9POd3cs|W&7TTXUq z{p(K%-c47fC`TnpRs~-!WFErLYee7&O*n2>u3}5|d`R#?A@)d3{iDO36OpDX z0yU+sIGD2>V*MFzCd9>~6^`Wx+oH9#xsa7xHWXhy5j^*OdCer5faIPv&e>=il4xIm zzY`RRbi&sSyR8(RcYEW(n5)`_ku)VV3~1S8+#ZH9GY|~V6@srk3?*$*9y*Q${Q7?A zd^XthNjt-a+4zB{pkqamgcwC{kV6q;?7<_=4T87JDKg#s?ikF9b3S=zZ_;Sism#JI zuhFU6%U8&yGYc*?fNxyXVaS|!kvEn21|}V+Y~@Y?(Usi4qDG|?)?A7%X*Yfa3=`Z{ z8!Z0h&n62CwXG0wURhHaSk&a7UOsfb%+P8UR=_kY_+{I(Fr3>8Y-%wDzT>s<*Gj6< zGkKKmk%LK(rkP6x5-L^elTI|Od1cr}TKlU_2Jj*>z15M$pqNAXW@O6eP{WiKUk1PW z#O5x#m}}iP%?)u$Wf~Mq;a7j#{pwiTns>ju{E8&|H8or7;rjBn6zamBkq^X)JqRYf z)AOF_*pUBY(xM8twV8%to^O-V!_Ygrs(ng^n(|*KP)9@-@>F}3Nf;S7DqPs2HIrwQ z!vzE+87xgp;$Bmt+^z9#(F|PK$+P-`e#Ce<5H1%3`q4&YMdWtg`;;oR-|kKJTmQ+o zx;j;$ml}?%l?X~FQGO`{m2GWF&)f^?!O{V^d3Wo$gm%%IU!_EWF6gNVuv65CbB@`R zM1CH{>LIne6uRkSk1rQ@ysyASLYLdH0GDukMiFAgM8S>G!lMuf5)te{LoClfn0_jI zINpgQCzB*)b-c0Ww(otFvLL&rUBn#N2{)ko+FPrydV^bT504qmYFKXmfle5jAYWdc z+Z&*>M;0=&YL07XZ%+7?p3-(ZjI2Qxk0*v_bt$0sc3z=ZW|A&!Fkg`?e+dbpzNTb1 zLxRvX$HDJ}8b&F&6x2pe&vQI66Bb2-5_&b8R#6K|_n^jO5oUUNb$+7jpT@W!>45_Z z{`#@_kZUE1P8^c^5YNe|Ra{Td@R_ri{(K%%8-y(W)>QftVxoa|j!z=f_Sb<8d+e7E z@?HbR89t$J&qH1ogltP!?&t7m{W9WN5`dVQY+ic3;+8vo*i>o%Y==Tw@QTV&odg!=ie#zEQvJabi3C~fwU%=oh{aov<$U&!dx!3NPOl$`&t{3+U{E;A;}b~Chjw;<_r~fs(Rfw1Sr0rnZ$Ol?zEqA|H_x(o=X&;7 zW1Jb6>Um{GXQwSW?K(ow?k>c3uLU=9_^{dA5VJGo>4ooQmo@2-22+Uz?G8^4{+h2M zVAUY6UMX-FVYFKK8>U*Z2J65g4GRRbh)!9TZX<+J#=`G-UlIAZ!NidoW61-BAL9{( z;*~~8s6mJGsFCXo%NEU6V=o`a8Z7|QD72C2%47vU@45KWG%y0G60D0_Ru|#W(oBa- zQ#H}3(=e^$@3_R;n?b@;6l3v07CQ|?P!CjY6)@aPR3#}S$_4*?b|rP)P4i3EFd}_J z8weQCpF~Z#lB2}a1w}K@cKa^9NAy9^Z<#z|aJ9}jiP=>LEdTX4vTf()PTUkQKicE2 zN^MU(X!$$xf{8J7rwk40Y?47g(q;L>gwtKj4Uc6&NmTDy8Osl;Td$^E z8ZS1!0hILp79$@orA3jJdF7NNQX2L;lm=k6J^te>8S2z>Iq%wHp-e^GL4u(RC%B91 z@?FFSiVuW_4!jX)4hN48`|TR|+o%%LLDROgebDut5NCi$W3MD6xH4CqU`!F1F4Wye zE&eYXj)3?TyR-8vOnzAC zk$);Tljh`j#I%@0?%0N@YMAZ4k~1Mxc*Wib*=pQ_Os1pyzXhT9B>s9_XdR!WrD7s& znB>VbRk>kbIT}=eA;W&y*_k~W*pJ6@D$2petpp7`fG*?wxmhDOR@UigcbsC`%In{0 zMlUFi948Z&>PA&EGFq233~SAp7v{skwfp!6ctfyl*QQ0bCVak}#qy$8m#+_HwYUa~ zWRVFLMW*Ox%<0&z^Sj0MFc9frq|TnSm3MF!9td|9B_ZVOj%C>at|Wf412|DoA}qaY z@TBih75L@Qt|P}oLfm`J_yTm`2R+IHZR3#9qB4) zy?o^-n}jQWUL5~(a9A;BJV~W|v!_9R zSOkXR(&Rk-4AsqGWjQyiN^rxBz%UYLTnfY6;Gfc@^w3F1gwt4KxAFCn-N*`d(k>DY)=jg73a}pY70Hr zBjw|VY(0A$-kx~}uC(C|B>7tdPmzk&_;H%g)W;YV{gwxGqoFWd|BJaTi9GqSYln;K zH3^{)(o~z#yG_~RYSPWP5};I%jdVt>mT^nzIKuI6hJgINjn@A0hhry4Qr}(OAOerN zZ=pvIJR5(!bMv+qtG+|%5J2d-pwg;Kn+D)(G>(hsjaud0;sHG~1!4hf3X2_>L)wF^ zZ($4eE{}fbxDD+c&*w;+^6V^C)K~lT46icQ4(s<q& z$r{W#8SyKrS-osQ$^!;s(&wqvtptk3U!407?eRXk%<`MUni{Yg43-J-D5mf;v_*zf z?hF%1eN>y(sGG75#wm~(_3~&i55M;A+KE`peu6!H0@O0vDLt3_On|$$d4CQ&B6a_- z(i*e^bOGZJ!|c&_H_f|I8WCw5g2%l7f(3_Ep@*Mni<&ll2RLLADRl>9$r{ZvG>?zS zApYSu=C$YJ>&$9EUkEDQD*$$)B!2r=g(%u%oM8Rl!)U6)lFC?oQ}@EHwk|s>$Dct- z9MM!*Q$Y!Byi8hUQcgf8@C<}0!B5dP`O*(=!d~o-c{ICm8>@oX`WjAVwfM^JWFP zk~w~H0SW(LASZI-OVKUGspq1CTun2>`jJQ?LCv2u2G8WiZ+L=cVq&-^J;m>w$ec?p zXaj(ZmE`ArjndKIN;MnlvZw;I51%>tzD+qDE5+Gr{a+rSja^i%oz7jiN3%*|GhrxD z4JI7sHZQYIx~X%*gD18J%tW|1*op4M^{ zrOGM~2Np4Si;V@Cpfal`tR&Rt{l;zJ0v>YjyL$tJZdN=s;s=@YM!n3uW!LJm_rwA!-Rcre|LBih{Zdn37 zoIgV1yzoNsrZBw*4mujXv>HJ(+*q!_{?@|^zWZZ99ud5u^Xz0lmd&UG+lC?XN8X68 zeKyKK`fXnn0s`1Y+IYAeIRAyy_)s675ZO@d#u}sPAy0ZpoljdqBD9OuH$2{1bZ^Zv zHG;|BmVD1No0mQ8uIc1qPeWdo2U?+bog~#_jfG?8wkuD|Q@6)bEFJv44oxr;coPsE zmpetYboxd=ZHaJq;uBbHFwtPn<8+8-C&P#2fQ1{~yP=&EC4|`a`okM*AOVfd6%@fS zCu555&6oUU$d%SC6Eku+{+= zzxeH;cM}@qm@s|H^(>FQ;9p#7<9yb|vAA$eTQBI5$Ae_^U&g_#2AU`kP?q8o^6YI5 zcS+B>HT^1ufLxIV9b_8G`JgmW8%sM}*ttq+M)Og4^P*=F)-GX(g(jnZspB@QuV@?F z!HwTH^<8kr#Jn#vy-h~ZdXhZc)K$j;dCTq2hw;gew&)B7nba+8pCp zN^v@u2M!|Gk;XX~h7T(s6{yHhwtrfg7|}J*Ta%9>fDw}99@VgpR?0U92%#k*M|3@B z3#nQbCK?24dU8P=XxgnPjMmN6r)i~p@TG@?_&or9oF>lU-_xY{DL zZ0(;|X>`rRhCNf$zoRZ#E3!*rE{s*Z?+eVk45(K%jhtJ}7e&l>V#-4}?E+CP@sbqI zlU4_GT>~B&?+O!N^1u4jPP!a*oqYmv-&oKuZ;I8CHmP5G9z@iS$;SRWgq^4McARF$ z9iF%b{B2TZjpDX5eN6?~7#0+!1Es;xDS(K&_p?!R%yo=^s|bMGG~wVo(g~oJHNytv z18)Q;%C5zzI>&~CkxHj!R`UXtO3-^ToTk{jT$0q(GVE?fP;iGxrJ$_-Q)DqfWb}WW zxc9D}LhV;hb;_gr_~WQIp$_&Vp#^O1{0vc+J=CE2XP%-7E~CO)XSANlEJ`I2R$CJe59GL18>SHUdNd9@J?Uz|ZpeFR#?@(*fB#UhMb%X=< zd%m(0=6l0JZr|Nu4O7;u!q^u*X~fI>O<>D=H0VvN0}sVdwe@6mzvPvNj4^)4JyH?q>6V&!-UGo z2#R&gF|!_s=vfpUH?6XQt4%#o{tve1NcchXvQq;hZc3C=BW0(2tabZ z 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 z z%o1_!BQ?^oTRQvAh;vFaoS)IV=3f6U*yw$o4gXj8iy~ayMFhvI#n=mC{`Q$b2qj_|AU`jr-U|5$yRVhb(r%Yj zh z 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 z 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

>&+{67Np(u z7io0CLv9CPo%_)BO7J}gMXN=GR4n-gJ9k@DFFJB8jj*0S%*85wv3nqt!Hi+E{899j z$l{;5EPu52J})jW-=_RyrEHz)89eR!Bdb4f!V0U+0F0`CCamCNEXg>Ba}zc+x2uUP zKL+41R+In5|D6&z<#Ivbk;R0g-%+`{v%mDZ=*kw%iJ_rAM2yNi8`IF-UEGah)ssuV zK@Qkd26Em0ArNa*Vbs?t)8NQiesqq)Q4zI}THe~eIZD3S)AN}JOUJQEE@&$K?bRTs zkx29Ks#@ajh;7`cu1k{AgbUH$Of?TQS0+TjdA0kkx)!K#PX9a!$O`v`id%iifPyWF z4x+A}M$^iAU&es+VyIL~CrIjLfP2$kw7{oAFCbJBcUZL!VmfCthf&xA^2DHo9DEgv z8i^S?6v8*i`K<4Nah^>L6C%O%*_|q4&@(hB6y@Xu{QPkulB-tYM)0NFCndeCYJzcW(3qM0Pt*O+81i#A%4o3R*64z_xxun9dOkMve2kSop-}9L1CT$T<3b(>gN4Gctxw9P+{<}z zGvF!H_Yh|FL|8~;{#XB43A3<0y}5vFltb=0Cf{WNhg^1-f304?cUzFKVW>sc5wk7q^d>JeGDs+^gbVWU5?H3G~|+Vh_v zy?4jXg7_A(u`G7htUQ27|0Jrbp3qAcujgpjWg+VT z6wdJq>AWA&*;_f_*B|ijN+$fOz8h<_*;+a5kyIe>oi(xEDaE8=&WvsA!8#B?OGY&{ zdDMTm6xdSrAH^nX}N47J`l7{SRl@rTmg&S?8*Z5C8iRV6-6)S~0DmHx$wa)EIMHW$}QgXn2Dg*9dl)qA1vLTxtMuG?TC( zDEsX~bvF*7QuY)K-6=VsR%gsci;p{fldp1Gza(SK&I9HpV7SEAuI&zbcdoP-KFU&{ zvV2XxZb~1|;x6wnk@RJ^e&f7^;GY@#9Znkv_WHA}|28(eQw6Zwh4*~X+LaLjwf`S7 zQqWnq}8C>k40#QOmW^^gv z?j5Wh92A19g7)LGGTNG-bv0Zi!24K*;|C87guQ0o%wi*YQB|vEM%1jL$aS{z#u^QoA%4IBH15yMkH4bc*L+{Q-uvsY5fGa;@b1GXY~v z7z|rjQiiiX4>=sZsb=P|9b_2Qz>2@qEl-Aeg0P27%+g^!zv+v&t61pas~VdjAYdHe zU3-g-r2R$YQX95#R#t9K=Ua9)cPHet;%=?E>^{3%>fk@nzyC?V3JaFMp5UkyGou{8 zTkSc!w=BhhYDOH*&VPfXW}LZ}6iClOjJP@$35zFSKlBcPkQ$1Ag1>0MaUlH?fgQc? z*P06c2_;J0(%C#63xbS})&ixy9rMP#JB?T&_{x7#yUFkW`)~p8_f`b}r{LOY@~XW< zAt+x+l#M#tv+E>BD4ZorOyY*t-pVQv`&J^FO4@rDc&A$IX(?<9^yP_GL3Cx{K zjnx6wJ!Q5HUVGiN5nl878t~3fwp#A>fTT(JS2iuT6p_CRJt7Z1IQ2wAR}I zrearX41h}L&duAd0qsgzI^ipgUHgvaPL@6#f( zI_?@Q-~2a2mL(1X%6xmNN#60WKOGJTWnOcncEHj&<3C72$Jg#f9qg-IG3iY2R4CTK z)DjvhD~F4#cYsZwD)Np_1NIpyJt!zq226TcGB~D9G48MPJ_y)Q+F818dC`+yd!gZY zU7#@OG3_vLOV$ctKKb@>8R zW_S!{%PxGMzq;piLT7sA3xcl5GkW`X)(QZcUA*eS`m0t%+^JY+>b~Nw9-t zWM_vSBciHvC(*Oxe-%Ye8}0kHgAunz$(}ZoyL9LyUflmIm~Y0NEi*M@?FPc+D?oYB zaFkCPaW}L|uSegc%@|5^sALy-fl*OYf-PzzrPIQJbJL;%`Y&l%R%j*$( zU_K*de}k<6K*XO;FsTsMMx52_87xvUPp^<&SuBt|UU=X4be?OK7KD|-)69p?L;1+~ zKhq8EQ4CXzY9lJ_(}`4|W&@5n{!gwAEDG*7EYXPH7pH@~S(eP!W|@eQsk*7>y?DR% z;A;`Nr7P_k>1{kH2X9%XP?sdewO3Lz$5RJX;>M=Xq#@`{r1mR*VHFKrdG$K8994qh zzalT%6`YlDJGJW4Gr3q&lQdClei0)A)c?%vrWp^h?ZwBBd)$1&F$^>Vb9;+V*{ufY zC#a>OfL6Cy)++M7r3S-U;a%g?EtM;5O|PlU-YN3|L?gS!<-(-@mC{s=P_N5DFJ<#7 zl@@pushrtS3UI)>zRHjCYYIE+$yZ&fSB8d8O+C|2(pbU+aEnA|#Yq$$d*w#4diWzC zTLLtjAXJ@*BQ34UO(U{Gh{O_=cYc>JWV{QCdQt_cG#diw72vn`ntY}sZ9eeW+mC8w zh}H7_VV493)8UAYI_mBko%DUAm~`mlnR6q}P&9N~U>D7dTfJGV?QK=oSGFOzA6A!^ z23wnvJBaft&iYycXAIBdICnDyFuoIsa>>I=1<$P2&3fjxx<(52KPy4u2793l;tjf& z1)FQIb7}inwkKq2(;4#Fesv8wiVahNqb=(XKgSj9(#-`@LErIfnkH#n0)Xd&@7<^S zm+81^sOwbnIqYqW03C>T#&gaJ8I)kNLH6uAbwz$fP6n7EdwYbxx5nxH_)wiE>1?{b zn>h4%cf=`&cy~G;m#!KzhNUEapqsMEAu;P~k`&wyh}+Aujx)#fU^#@3S|?^BFEiXV z-n8#`;)febsj*#xNJWilZHev%l~e?uf4Zf7;OkTFSXs%Cr5V)C7mQ@0Lq6lB{0_xO ze~@8T?yvvG0GBeb_R?sZ(XhY!!tEOO;*NE1BMfyuhO|Sxk4~G1_x&J*pl0(R&J=^( zlN+Z9i~Q=&%E={j6N*&YO5UPMEat{=K3!v;ck7L3q>^nb%0t&zly@ZhusZWmuGw$Tr&sun?6 zlGsR|T-JEexFEpBwb#x-mW39$f&d|1eUd0zmsa6dW96Abt1^R6VzW>^+QR?bI70W# zB!yFl#ch3|?9%>Ek0g{QdQycZLFzR3d4ckBCsh_?c`;Cqw2?aSZU-<&{oP{JFZ?H8 zJPeh5_}xwoO$M9@>CC};G)0Kag}op}l~^j#H2Dz$I%Aqr!JfRbk)5$X+#O9+EYOd? znY(sWKin0k?-A-0B{ggVI*j9M+hKf_y6v4KgL`&R63W?mjYTuBaUVWShDfHX(RLdE3pf%Uu_i>;ST;cB9qp%*D5E#^HGLv(>rG>xpg*) ze95Cmeq%j^-7-R1?vb^P=Kvl+;lC%cpW6%n3G6K6#k}!55F{MRZYlK9?kl6;uVCHl zqk+Pplfwr1WC>3Um{{H`7>jZ#Fi2_n+cGJBL14b0ehp}L8&3R9 zyZ~;b^5kjzRms$`kvC(tucZW2mh5^>(fmg)lFrcE_nN$GjY*w26D`sYkId#pz^iSuEghEo5BL%7;c%zjaaZ=q%E>@H}eS6@2FWEBa&B0%57slie|44DGV(>-p#kB3<1sLT>t zqz~j(rgg4EHTljQKVd}hUU3w}Szhd%?uG~1&s|Z)>Z{Cc?e#LR3OL-8_}=2*I_iYw zqjt%l8ee7qn?K-zew+0I{9ZZL?}q&n*&cK;C~O(nxNA%DntVC|6j%qf=t(EN*_sL6 zY)kk->@%Oc>6JD2trw z^0})q_)1c7;nf=zHdJc>A=PHvbaD->?1HJPxDjnoHI7%X{KQuZ9t^XcuE46jfbv)- zF<#k_XP&WxTAgcclum*2^`3l#`KMemJ|;TEKrbu^XCG;3Mboan7#HAamtpds>%a*F z`w!lH>~3T}=<}>AADjhU42Wj}`ezbr#xQbV<`PD?s;mJe!hmp70i~WaVZHU2Mkl5C z2X;!Fsv*hU?|XW}k>-uk$V8?p60gh7Girc6dKWNAM=H-F%ALNw4d(AnH6}?d1*1;v zqj>wDpNsEzF~HE7!ffj)t_>QfNjU3)AkzNcfrGEWJ!th$tO$y4@`_E9fhFYD-`Ax` zs#>>&*;I6mM9vb=XXk^5V#%3GMcr=Si#r2R=$MehMIC5C`>x)g)^@{!!9o5#i!ydD>$o#e!oI)^p(4{$i)k7xW-L}Hq6 z<5_dz)$X`VB#&pvS~2zjMEp64_C$qp54;u}KjyAW2F`zezW7Ug+n35Pa{o-W_+6j2 zO{O#P_|1G7wKiKmy!&UHG)a?bo{joaYlQbb3VWxj9>;kMB{D?g~ zS8m~w(9?-ofb`7VRHBKE$n?%s@j3V>!7v=#hkT|wwNgM;=5_WQA7qy+RncDOFjmpZ z4`k~5Onh}B!J)Z&iw#;R4I_TbIHfOC3MT;=Rm1cn!VjCz6-<7Xv*5lZVF&lIPQ_}D zR3BXady2V7zoh*L6Cza1r3nDwWFq`xz^C7vutNfm`a0#&uj9|0^k20g2!&l5gB--C z+)cb%E?3!%JcW+)vR;&Tt{aO$eqQ7htRVj2H|vj-BuYj!HGi)x`Eyp~1@kYJfEYDf zY>S$hDJH?g*krw2ao!$`6 z2&}i@{FU&S<>4@@c?D}o_R@Uts_VyyxqKb08!6yNdcv zu(lKAC+YY8$AtCR{n36dYJkyF7w3 zL~sB`{q4{{8OZwCOmKTBD8&aNn}@8ixel`iyFAA+NU>S&^gTkt2b-!#e_ScVSRpL| z3JsiERC>A*IO|O5M?(Ja9y9`+G5Pu#$4D6BMuLNnu`d1XZ>7XkP7bv-$Bno1gt%Aq zA4{WsZ|;enAPeNcX=ibDZyYks*VTL2K|7te60pMhcR&~?r_?f)XsN4%)By}-T^a9v z4_alb71Nf6f9I#GLPOzJfD{ie3U()EBrh!ih@Dk+t?g)ZNRDU+6ypV_>rpKIrU51<5OK?Srhs+Bqp8lJ3WWyfjMF(kmDuXwca=1JKEQW?FqZU z*4Ou3OV%N-EcdfiW&p5MygG|($ZABPJOk7rZko$T6q-2vOF79u->WkN#+B4S?ZlTw zI3F2I#M%l_Z|&71n#F^=EjirG+`rJBso)kAs_7FF4dnd?S;j!U_Ua*c@V=oz_`Rfm ztesNF7|Fi%d=bTbPoO&bg)cx54te%)pYK{Xw5(@-)~kUl88{OS>ZErm2R#-}&wbGF zyn>!HF1~d|YVdCH;!`DYw-sK5dG13TtCpD9Fb&%$H`e2|BDSq%~W8AooLW(iVWj;-1f#X&jK@cmnN4J zps00|8jb~4wO1nJspw;V`pJj>`jHmd51&PWwhJ2b$lTJ5{d|BQu4(p0-z@0$e2-66 z;|mPWqkzt4gDEvj$Idvbt~=gsl)-z zOX20V7a?wX?{*up)MunU@&+c}+#-Pi7`^`4-oQ4o9quoIzZb{9E{;}r7u}DZZnmeS zvMstuawTf85D3Y+#k_fp<Lz~RL%Cg5%$J;B$#sh+kN-+xm5xNvQ znzX7c<*an?dYs)^AIFJ8h#4!>v^OjR%r}?7*O60efY<*n8K5DM;l_YQg3-=Q z-m;1{3$-P{oUvr9BY_3X^th#6E0N)t@Fl#2`QbngQ8sB?Sdu+Fi{B}&Xbq0+qqx5Up*;6f2{@>ggh62{!PoVzy_ed{L9@?Ptf0Y>@(%FX zNOs@~MyP7=Uq46j#Lw1!gffW7UyYg)5m_W(mCds2EL7*+Au-_8SClEvftH z=S2xv2G_(7YfQRuyhB+=WC;vg+sLOzC;J72qb2Xk|HD9Z~ zf2p34vQ^_DCa5Ur)MX8-LM`~s&$JQZx;}OiVdI51;{Ec7co)W?ovHtt5eKEuc_{{6^c*Bf220D z77nd!%zxr}<-W}TwOJD*tC}j0j<>#22T4@!VE-2-qqe`S>^cn6iTDpk+l&vBb8MQOhjHF!_XI zu(`u$q#^vMSl)GN({BYZSdzfgGyK=mvQ4?^aYKIP+AfB+?WA4CJ$2%VJK?ETw+Wqf zq@?P39P=8_r1yQ8u;I_NYRVNKucXLqew%;?4uE zI+)gDSw{`<*^XmE6h1I;IGOT#i}G{_w5G$yg+IH zeD$bk4jbg>Hub0QYpcf$-9C zCZ7AlLHi=wm2S11B920AkndibxR*zOX0gc2U4~s2oT!++;Bdq6YOBWv0+CG=Joh5M z`o-W*GO5c1@(uZ{p+~lLhY%(JkT@*3Oqh#eJ4Z|OND*JFlO%*#a}8|!yyF~_J;IYS zjeD$F2#Q5~6iK1vsbdSi5Q@BT>TUljb>x%13vN-d>)sBLJW<1nPh;#gC8I5{F+@A_ zUKRRbRI}rr_x!1$F~}SW^3+YWb^r5^#JLTqez?hs*zBds;3{~SR=%JixG5aed z4TOK2kB#%sfKM*nU))EErdBN=PhUrQm(W*P0=`^_rMDEqh( z$^#s*#=jMSYt;d9v*|`>#t`sHz=xbvw561`@eVs!get82{?(p_cUX&_(wGr=Lynm1 z5BD|7lTFTWi1mM*g}Oa}#d^6ED<6ljgVBK63u|RvGAqTKpRFJxbs9{D)}0tL zkrP1APyAdqCXJxPv56CJ;jPj4LE~z^ez}F&CK1VJup0d#y?<>po!*d36?^ILUp6Zf zbGo4Gh4{<<&(uwPkR1ilRl|FFcSL^|e6Ban-BJ@zn!SVCy78eZ4R=b;v|CW=CI*q5 z=XYZNfTJuE_@Q%k5yvKs>Jx4ceF=RNQDfdTNkXE*?>4MGLSfOl5WUle^ z`)^$6wx_ZzUyh%~v3_0@Uhm#vSEU`fM=03*V0C9QTl3={x~Pd3QLSSV1m7hB(%4mH z6CSP?{h7yVZA&U4&@kY?ZdK9C~b{ zMmNd}$-Gf@(HAIuS?9ju?i8`#w!QDTvT_@gK%_E^ZJ6z!C7y?ec<4d*r03Gr>iDZT{XfB(MxWELBjZ2 zmTfg9>64^;N1skgu^RAgXV+YSXKfwxFzQ-f%f|f_3>Fjn76Nvg9eJvBa3ltmwwM%Z zch5T3-`Sagzt1&v)d^PPO^`21ht|Hk8>RDg8&(v$m_uOOXMgjRB*f{Tc&x^Rm?Rdj z4jxd%yoUfc9(g4f&#~AlPeU(11B_w7eQ7I){-$#BIl3u2TCsHiM`;f!CIRd0ACDI) zV-e;3ZKq6=i2sZ|kq{BX{tKG>AC8)tq#NEzV9Ig(Ogg=O&&~2tJQb|Aor%x~uYI;n zEm4jSQRw_=nOg>2$L}y~D@EmKB+(g#<&7<{b?*})`53Y?HcpIkQmmf!+8BrL3U=** zNE;o~@rChYSV{Mt3{20fS~k^=6C?p{ke&-J^2pLeuH62}O4sDdVRNhL?N+TJ#)%;1 zWh?e>?q>l~ZlhaRVEP4%ckRxNmsNKzB%BmIfGxG3&nZTo{#>+z18-7hW?ycZULvptKxP-wt<`m0}b8T467F_QEP3f zoqD7Wiki(lN6;mUnOr$xAnr~B+!z0<@ct;;rBnm&v5JxTx2J)D0AOqfoJEBJGXB6bn12pv;@1_4sXoh&&O z>f5KADeF`}d5-w*-a=?Ij06G*W57)8whh=dP#0^cx!hexwVXq04vNeXlgR0LVUjWJ zVY-9g5>)LsiL%V=wv#o`=$DkRllGIGQgS|nD2ikR3-LgKqdr)5PvxcuX=e7{%fyd3 zkvSDMAta)3etjxtyTGFfVpdMft*xB zqO;*>5(H8$y;Y*H7UXI=6j%e!did%BTpMW)-`{j2KpxWm7@mE+-iS)@tsKnrN1}Fn zTciPR16mFGk!B0ui^5tA^!BiE&5pbh+{+4EteGaX)xiW-ePEwmADH1DjD^FxFLJf? zlubZCELrLsN+VjLa<{x*(-UW265PFsNl;TVP<&JDJFgy}BQ7=DDk)iQx$f~W3|*}z z@tkSL%nVeS-+NI3$eW#6OR};;Qj}~wGS6#tFeSL$L_e#69iI#uWY>7yMfe7mEKV!= z%u3rgX29{$NK?_Nlr2nOLi5DhX!npMxv-&qOlW4Ppf&D@+$v4)Th2hWXU!A{Mef4{ zb46i;EvmLRHEJ#P)I9A}9Ck%_aez%HNQufNEqYVF3n;RmsLqY+Z@NZ{az-DyvR6R1Ae+Nx(G}mG6ZhIfWmnYfj!Lw98fD{$0lIkP4gsK&f!6X2Tu5~(=?#u z^5~E)3J5#nL97wYzPf^b*CmW?pqdSHC?ltyfLO_ouK6py`yrHUe#WPs=`H z?H44F1TG7h_je6DP~)W;10xiF_Zb9$!i;Q3wI8#q7=#!Ew(U_pox^e~ADa;!9A>Ds zgy%Z;7i&75Z?vejK{kD6;D$*K0uLLL#|NSJ_o0w1i-blhaDA^phj3-5@Rb`~h~PUg zu))q5Q4XEV9X^$f7uRq_RVk9y1U)gTt_iu4xaDuoFGEyl#F|XU6r+EDEyw_GPTH*p z?*dll0s0}VcYG`k1^aa-D3bRLW;zzE*FQbaC?k1(Np)63lL zVZLxJ>wid&OcAg>$~3ncnAzCJpV->}f93Tm(7`q?t*s@8b0nmi#>pB+)t}M5-*}yp z_prYc1R4m~3p+xbv9`-h`v`+xS#{`S<3fPp;w5-nlKP6VCbuN74Wh>2bi%8n43n*a z4gO=kdxwlJsL8NO`X2;??xl~{U0;i#{PpakCDpu6IZBR+wutpHW6F_t zgV z+=pC|O2S*fbzFYHbE7Y3nIsR|L1p0U%GaT#;RgC7{}bD*Gh|`#BAWTSOvA^nkbdxA z?1fz)X@oj9R%^j72*sZbKIkO&Vko5f3`!j@$UGSb83WeazVxNXGbfO`dnrH79q}F1 zZ56gN3_fG@vf3&ZD-hr(p!tv$7!4soKHDSLNM9mc7#*4t-RU`vwlJ7P%(}Trwjh5Hbh^1Khy*6D7X3@`mN9Df6X^ zToGqA&!j80DMoLhcwbYic2WFx3-dOp5;Jy?`Z~ch}172Ir@6WKA&PG_|!>0tV6*%i0F0z%imTM`q;&Ltp^`!4i|>Xxn|)S;^N1b z9AF9GUX1h@2HJOp9lwZH-5|roa0^sk`=uD3+hhO0FMYMtmY{(VI^=C^4gIHTQne>C zV49NVqVrxetd+feblx@|_x0|DN0e zWox_9>OEWR=Amd{11WiML18;DJp{{6vT$QEKv+3RY`LVL=?{Ud7Rc3c$N99wNKj$s zpGvk}5~aog=^4UNbwe2mQR3tF=tY1CHw1jC)$g`VFhs&i86}JBgGfEUhw)-JtQ|{m zW&p8H+_Id??k0qdcU!i-&(``El}~d%tEinlRNP&9OYHsz{L4q#{M&kqSyH{R;$PXuUnUW|?0!b3%`s}fFGsg*u6j;a8tNa!dlCpDQu{&QBCq#>FY!0?hAR#n zJ*e-t`~y^8z2K75)(J}@ zH`zf}pWMnjtHdcCNnJ!)GYLv>wrrSLxM&lC^9e*SAy{XD^$tJ z9n+5YTmXu{6YSXA>M9YH&x9!<_U)4|9=EK)7Y0^3fraC^)>k&9t5GC~GG-tk1Y#Jo z9o(9uC}lfD{suYfY3g4_EmtY>N#iL>dgQ5o0VtB?rsj>5{q<)s=sdarU24ikY3Hrb zbqcS_$&B>YPCQ>(p$!yEF_14$ zXk>>8Hc2g2)g9O%Qc#C_NtkHu@aFjqR+w#3?eI|{N5yY29eDE$l`72i#4J_ma$Fyb@aH`r(&7u zjGtprOur)Y1OIam#I~T)-iQn(UER{j)RC#BTJ8&8)7O?MaYeG-diZorOJ>5m1=+~C(ruK8=PlRKCb!H6Si^ny&HB~A+!>wWz_Y+{s4`m~ z6w@WK^&y~3MI1RP?}+SWduIqFNGOqN6&&I-#wnJ+Wx}Z~XcpT`GKf{J++dIVG{A9@ z2HCknn_irJfH|;}h<*uG6rG~wlH32sL<12wLs(kB!_QI(n0pBE`biAlh3$<}gB-uX zZv20rvDrGkuNe!~267{06AFi!#Lq|7{J^58#Ar6mci&n9E%dft3Ct=_l42Ffw|sTr58h9eWxY}G zb9S~*?tp6j!=G*jp<91Sx3TikzX;=AJ7<{DM z@K{AbdHM6oW9m<4zl?~N)0)2xVO?o=EgYh-M!QRJ3! zdO$pnGA5@yrkEVH@8ty4OxQ~0uP+6*d`?&GjWv{>d9bG)7R|B|Jd^dx%<=Kn@%7Ek zra$;|d9)A#j&}pR<`s0w;s0Pk0zLtV^J4Pa$-9*%h|IDe>iuAnT#za9O4eyQoTK;j zf&T}TYaUMvTa#&-UchWzV1ZAIJkvoS9CwBafsEHb2E$X^9EP-+>;o(wAdp}8H}Gz0$Ap@M?^0BWN>L!dIV}(mT5@Q zHo6DJ33YYY_jgm;VJEeks`0G+_Vyu6F#!b9RK2IC<0fRsx;}|ozG=a z@t6SJdbPrjyD#124T}?`vZQHwp56l)vjnCs#U*_~08ybD<(553k1p^4JN9xV2O@i= z`Y+%MMH>H6$k1N(*yWEDjy>Eu=Ft9P*!4M)F6(`^zj%H#Lg-~~!)aPaPm}SsKH7(vMngN-W z#&wn3ilovBks;%EpD|FN7B@ODzHdEW#owEL1&fx?hUp!eM3k$2GDK|ze*U9+7l=sy zZ6Nj8cx?j?`?l~i3Q_}r%3w1lc(_L4tRXhh-^AF4E8xFcQ@~#X1L|&QS(=cvqi!;( zYh$)Ju>jFdchNHNgBN9rV7~T*rjOYdd#4FsS}1U_6D|iX69qn)=9!*l`Yo*zrce^P zY7P14d1JY#boI34c>#azT$V&wGy-G|8j4_=EnoS~+Rc`MTD0f5dpyYMq{V2R6CJ8H zYWB+yYL`aI{?YX0do_5BCWP9y_h)i!oL~rL!2vnhk6av+a=Io+AdpKZ*RE!<<+|I; zZrytlYP_g!?W(!zs~e!hyIje>n}SBab)hPlpguAmY6h!=6~K?+AAs@@#~qx-%;xyi zc#$pC-E@lRU-&24a!Sc)rBesu;OndO=}B9`Exvg&zNANun2}FPD9{2T4-ubeBVSgW zwo|S?9ET*}XHFD}sGn#t*@Bi|X4=^Q zmRewm&u3Mb6oh&C%nk|y#VO_`c>40ij~BZ~q&r@1Oh2aIR7G_QN;hRMKX9(J%(zRw zQ+8MZhatb#FZdIVC-b}pr}o|@Ng^tXY-@OB*nfBRxN1_;9FQ%U`JPdQalnZ{RTazm z>0leT=K!tk#v)2iJ2mv;0iMlT)~z+6#?Ujfs|Oac^_W~Yrv%dGqB;FVCJDLDmfIjg zd!emC%nG3xZTP0z^)$1xv|%rI^)6X~fY9f=W3cV|@?Zgt4b+_$q0hybahvJT7yS&$ zMQA3gQE|u9@q_*;L)3Y$5SQ&$QFOT!@-@af*TS&_9ZxK3qST>2$GsVNbmLvjUA$U; zgwD!$|7sDK{FY@-0!uPydf~k!ZN~?Xk9YJAeW|QDL&rktA)=I#k7IJue#8Pv;ecYS zYzL4Pn|Ftu_sFX)l}2Zg-$fP9mJlAc7$Rc1-f;5Ae!Mk1e z9EGwYS!hqKP^~K= zV&aKXD!isO6oUa=J9!;S=T$0&RPy2Mwn?x{d7T$6&Gl08V$V1ra1&$x`$mypRRBu7 z?a0P>tmtMS|u_Gh^T%^WF4j)@RL$dDZTLu>7#K;wF40m86|jEY>g zt!GM@I%BSr4Fim zf4v~olXq1}H^K|5&I~~X0_2}{O==Z9z68J%`cnh z1AIe`LlMM>9C0TYcxy?x!Bv8Dq_u@S6+wrClM18?t@M8M#c3xW6iz|2?lxolN7lb| zce(;3IyQVQ`<{WKQn?SA%XF}U>C~dPYA!ZZ&6;*d5~T{P!A4zFEfo8t`n5i#-I^&_ zqv@1Ob-RgaT8Qr!{oiGLv0HH;veMePtEAv>@ZbC(#qzvR{c%Et-kysf}5B6I`LVo zd|tHi@p(5WNWr!3e$=GwT;jv`L0|w^Apw|R&f1bMK`y=~zP#beS3d zjM)Q$h@!TJW0IrDzf&GwD$T!*p_vHcQn^Weria0>f9wXyztX2G3EU5)%T%oTd}UF` zB8u6E7)B284i?FRQKVX4O+6`FP=%gXkZC{5a8?+i|EOS0!Dd+wvn+U=iD<^@I?0AU zzV#T27JD7}jtJbxKi%b5*MReXow64uuc8wYj$j1)-IPV-W^j+IUgKrn>JYEc;{K)V z)RFE=Ot}ewQt9oxHOuS{hcev>X;6BO2`LBQXh${uVXs9l=M`|=j!cK8OaRxffu~PA zHnrt{q7OB%^TTUdOZH^?2p$m4NO2qDtenhnUAZl6O?zxwz^s8}3fd8=noW||H$1WY zia_w0-3XNVB2T`+Hw)OuXy-B~HuUY3R+|~^{nr{0TcJ?%Wvln`*icJhd&}@`q^Oc2 z{dvj5h{``>;a3#0#C(Am&g{GZh^8EOp(TFxd)McB>d|Z6IKfR}Y$Ruj%el-ipf#<} zIXHPKGJr@1_FZ~ff@GVEY-oxRB&ORxdq8<$VeOCx^X{sjwL}<68z7VDPn#okE~h}5 zlSMar+4<1bn|m%zzOeQJve>j{^a*-Q*xbrOg=V!OL25TC-$L4+Ubp%=2wu);*FUIZ@v14tB(M`b)lG_i#6Q zSA(f&22KNO4?azJVHb{$)aUL-XE_+G%ZlPnCIK*!5n2^X;v_teF)W9~l{xkKuldP+ zYCP$wfMA3HK@9hNkRtLQF7DRQJEUT2`3a8=)Nr`CpXmM>A++nG(EC>6+`)zmZx))^ zG>s>c7Vso*N-_fwy~@WD~UcJ!$!KKIgD?Po>!Ya_M%p8)a)dA|+yHaxws z-{%2L6L<$u2j5Lm%X$XJ&x^korRhTV2==@59?%&~`pmZjWgt8<-rvBY-zzYgVy5%- zq$$mIDY*n-0Jg$HNLITL^HL9Z%HMKxvEYguEn1koBPd%fOHpEJN}>!QBX$N~FJ3TKA4=)LcC0J~)hoD&@BH0$z-G?7ub{%Th- zGb}W4FHO|N(!9T@hR!`qeS5ukJIZ&ERfdOY~=$>hD zk}*AwufZCPFAE(fw7ZO*QYW|slRYTlzq<4FTAprN?c4{?3RQ7XiU$Jg8G>2P^_)Yb z@@C*7!e0U0bLZ7wIrhbPZVjB-*KO{|ru6$i*^S!eU(&@igK-66b#33P zN)o*6MJ|VKReo3h-e*ooyyn4LhRT?V4jZ&?k{J64P=X^p-LO15|G$WiS`O z8@J8=gIbRFAtICxo}YSx5h9{Lek|1boFylG+)*VyrU5E9<^~P&$7=%PzGT1q%Yoi{ z{3nA2GC@B0Co?nsun&0NKn%W@t~4~TI9#a7$64=pb#aJJOb~oOP`rpGz)OCbnpEiz zUE}Z^5^;SLjT4^T@$oDEa{8(IU)FBjUmOM$`^MIRT;l)FR*HoKrWLVNc#pF^EoY3- zT4*ax6zbOVYf8)(G?yuI42}uEnaS{m6EkWu1HbNSOIiq?XCAoV^2inTY-}~HI%iRE z?v^DO$;FlierlI*Ih0NK;2v>infVF5?!pqb-2oCeTlaE&W1*2vf|1 zXHvU09TFFbBQ;G<;2Mkrr&Dn0f?D2PE`Kj&W+jk`WiF`XrnG!|?)s3-jG|Af-yp3? z8g2`fL;+jKgZ+d&nWYGQuNCB@QZu;UyW=NQQ+k0Xc6OiHcWe*Tz?~PX zSI7&l^F`dI3QIDpAJ}8i(592I7F!@o$^ShOVzk^m1)6^ds0Xu)UqtFx{fM7x7)aSn8B*`ag@N zwA6RF=`O|o#=*u2#JWg&zYevR1qbe8Rcg-ZI2-XF?<0+D z?z>LY_9(9X-+IuBmU*nHV%=@#YrPjld`fMM2)z>IYmV-tbLZ1!A6Q{prpzbfySxft z5Tffs8L@!Z z-hA>aJ%kI!(4!O+k*p6e023> zw~3wdwBYh6uTi?iL8I^H;s0hEs-&~PU)@KGtT5YQuGtc9ws%={N(2&PZ3^=%Arz?2 zDPzF76XV8Ic3!U7dG2&!l(_#yo7YRC_?O2$H{|?_$pUZ*0e;HTV`MgP9@~~5a)|oF_f7s`l~zArwk!V2HhtOdwzVONWTMX3sL#ShSN1WS|gCXVZNsX$-k%f!`aa`iB zorj(YDp4)fm(ZT~4HpMN=B*@&Z9YQ&2J+KUwyY)O##iezYIx;-oMliR3 zdP1#P0JeUeQLqoK6vplG=d?8_TTrt5K)^=WB z-VCs6yZeq1Ne*DPLZw;N2q}z2=|NElp-Jj(AOL1oj)2C|jdWk`zJ-6%h80r>5-Xt@Hd*q(O%lML#mN8i=QoOr6 zwFtY=cY1i4Sz}dzW-nNTdEd~)|G7Ka{yk=CS6tTlNabe(G(a;+r(U&amGCdH;@3zs zC*1lRw4$p+(b$^)O0#`ADx7J_#wPLo{X&vzP{@uc|V*?a$KytvkQ43->B=R=jE)=9g%CCn)$oxeUX<)F@*hGYH9 z0WK=xDz?vh0feEAc4C%4@1e z!@NU?onri-(VPi}ESEI&T-QOT_$e6p!PzFVC?)_T5c5fO)W6p_jMouBjLMs~E*>^$ z(m~;5BEm$*o54@cNu?h)(G4NOwFr3_)QF|hFce+V^uE5;wpFN0`P*e@_Bo4koH8S1 z)s_mi3%HnZ>mh)PXomN51Na&0N?V8)pBYxsI~XNLbLou0IYPa<<*sErHiOhK zuTIK%c?XfkCl;b6j5n2x z-tvik>3KcL3qhZ{Ir{9RLc|%pSfFw*%p`$q8FVqiByBSQ=!*}E`2>Gc&>qi+O|2G9|J9N56{d6bvPOCzwX#b~}c6)+U znn$o!G}s~9Vq}5v!3dZGKR#iWLj%(oKXOg7u`3tENlVz9j9_{kU+&@)4qhN)c_ z)rX(`U4cKhqmz_QT046_;ph2;45=dcCo(zRIQ|&7h0M}iR#BKv{4Lo?5+1D=19Wt& z&BeNI1mR!R83^<=+*@bXK#}83UhDD)y=vtm(LZ&8!Go$GZYcbuurRqd;vA-uqNwRx z(zPbC;)m%6QZPg=a!k3kZSPrih1@P@p!nCh1paa%Uvs~53f+NijxZ?MXo;@Y2_C<0 zA$1&W9o0c{?)yeZ4GjZsywrF6jwNfWDWFm+OP+MM3uH_1Vx2AK=?5%y_mU}LG62U7-Yo6h>fnqJV2Z1r zFziu;FBGO;UyoHZaoRMOh#4pBKnp?#?>;U3D}T)~jFlj`vM*`eiW-jk&bPjk%dJ+P zXWIrNVv#Tf-2adu80{jHf2}}Y=uQhV784D9f+HQwTY`dD%s^Yzeeph!TwNc&op^H( z|CE-4Qq^jHHswMdCF=gnw6%8;6+9iQ;Y;4(6n07zT2l3uiRB%>Zd#2y%=y8oqE|~~ zt;%+pE+8nQ?U453vBE#;`b@QrK_Gpl;<|OKMs(ojVfhJ!fBP!vK`Dzx;#=-)zYr_p7aJHh z51Ffx`6gqJ)luV37){~Ct?52hI>C0Nq_#V%)ty}iy)^BVmRh1gZGU?n-dU!zAK0Ol zKwY0ZuqQ1I1Pv9w^mBvUrgvtgFl!kdScpSio#6Z~e3dcQ>`6&7E7b@Eygsy$vE_GT zCjA9+05L$$zYaovYclATM|RTlAYKL6LegCRgdTm$**y!LB3B-UMu_ksh2z<{3AcT& zz7RwnWPu95;~^Le-qcf|ip;d;!B6<|Qo5O{oW}erTMF!F!NEro$a5moR?BL3+O$5oRt18+s zE3s`u)L7C!o&@r}%)LFieEH+`eH}-cU_r4R(lbJ7DZef|JT4{3cnuP!Ffa(|HTHRp zr_HJq3i)GioRaGz=FBvtl6+DGeAhA3419<^!nFx`68YO?bGAunvrfFDjbG+PeMmt% z)9JVh2dbm}OuqSoXQ{!_!vD(9ylYA``K6h@|-PPR&cvaB8M!`zM-HAV2+Lhl=2|=C;8a z(bNLN)EAlpX8$TbYlICJpgz zt55tFku}1hqB3{9-5n^G#xtn^0btP0AG+XrxK2nDx*(2J0Bwd4Co{*-o%CP3`nJZs zlui-jP2Ok)u${W7J=U)x05sqKX*@xsR~zOscB1F4%a5F1jSdcVH-E45+j>dIxezrs z5LC^AG#ewt;s5j*&#Ko2hEci{bbgP$JrhHWQjG9{#e`F{TzY^w+>ZkLMKHzsvhcC)>qYmL#(gzq_(|<4DtkBT zP!F;dHfX@wTix^019ZaWi0y%E@dJ>N#qQGnA}nCH34wn={5{YG%e}|=t2ADEh^z~L zoJa5NLCa7^16@gn`i;O)SCg4UJlH9-(Yfw-l!tvA@Y1_O66a7y_?KBC$~s+(ZuEm; zS2qGoor&0@Q;5HZ6)Rm?;7YqoCSmwbB9T8jYUlPM!{Im!I4*|6Znn7#GTJ-$RQ-3D zxI>QEs+dfqa`jqKDBiU=$}nD}j2Tq#Z)m^g6$fs1)Ww5?30Z9uucQ~WFgITtdKJnH zR=Re2^;}T!%y5P;qi{eO=-i9VNPm?Sf%72zac42YbD#+I>^@c5Awj7MOv@`_?k9{J zW(z$y!y4Zr*RA`HjMMX|e3v+DyMew=_g}3g#6(&}G17JFpS6V6({PVFNn9P<%k5xp zLpZHO&ay8n5j)$H&|9YPyvz1rjW<`0Q9^Lm1j{w5U~XPC_D&Z(eiHdjY%Vzy#AF`` zE{eKPO^wswO|~EAyDYe6n!C;*v(uWoEYy@6T!`it-tizvv6t2}09~ts>Rh^W`NRQTJUS(#nb>65Wp&FY zGAF6<=m$f#7&OT_j2nsIBlTlj+>m{SFjF{?rF~*tpslSZdZ%A(*HugeGYkQez7azn zYFxMgLYw0N{d!ir(;^~CkN=Y#=EoW<2e^w+b0LWD4MI-;@^5z8d9-3Dmw5CPD*6Oz;Q8Nz1@(_n88`#}Ky zf$(dShTiX8WXI{1iZn{NheJtrWU5umH~LO&^&#|Rh%=!7A!;(`&}&MKQp&r^D$zX0 z^L=3&^vcRH^)Q?CQEn@yO@;vss0sYibCl64Bb&Rn|;%i~P7cDv$rTv|;%kAjI@{{9BK2-B!W8;wXx&-)%4iURAlRi&P{gbmluc5ns|IY#Ec<7Q8uEgDxbQl6pZ^AE4KGE3 zfZKJMge|4e$>c3^cvYMp$FTAz%!Lp-j)!bPVvh-kb>ycWrMWkMmG_Zv06l3bO(lQ1 zWXcz(!H22U#sS%?R%fYjpZMsYr3}e)Y+2#E5$ekU56#?;)|UzOYG%W8}qY{ z*xKWdV%2NNgHw^Y#(-R&jSompUN}8te*D6l!LVW%Q5V|m9JI!@cZgLAi&;)P;^qBGjt%e@qBqe%bC)Ia>#6zL# z7w8#@VADl@SgFP}#_FolO?Bhbh)?+NS)ltyeg3<(WbQhLK&WC;T^sWsura{PvQ!(c zZ!wO0*}TkWV|3<@%jm+AH+ss2gk#|e+xMHbg(|JP092yLQZdjhoh*wx^xc^AZP4W3 zcZha6Zo{KkZ2*BnWIvvvY6$V&RIU((hSj9<2{IZd-jbaBk{&>O6WxD{!g}b;$w(E! zuY=z-D%sA~G$_+2V2V1GZ;#sO9?6g0LyqbZ82Kh4*D_uZhwuLB6+3vPrgu0_ES}kA zH_e%X4+080|04@U^F#OGMj{+>)$(s@SYdr{^3$ce2JeNyOT?=(nb_GC4coB`Zl(GX?Sas;v`%i1@+-kZ$(qolSuWH_=5AWV53w!0$KJ z(96OYloe;+TdW(M+d@||fnN_12C3+xLu97qMm6JEr7H&<6905lFq;9)rrN6FagT1a=f)ZJi=T>yZ0WzOVnjHcANgWuii;ZV26&+|%X&T6EsPNO} zr|m8zL`TH0`(Xl-v`R+=--eb)!xE3s6QZ4{!!2+U8LO^t2Oi~JxX;BVY1)igdhEfn z#Y`nXE*R&@xAMx`tPuR57o}|ghx*^!qXGx;ROwhdgZVgw!)+0t1i5~ z=}IhQPek_{Bps-eW3WOERq%PjWpN^dF)Hbu-FZU)tY@O1(Jt;8g7`F{26@zcaFx_!@!NX=4)~)s$b_11f<95Sg$`365}Wx_1cY zz(qIF=5Qket~`=_Ej(NW926lDErK`bo1o?d1!LH|d}zxb+wh4aRw)|)R|8Rl}WA8k4 zpb?gF(M_}BU^r-?)(5B?@lQWN_z=UQOY+FlKF(ARCvcM_ww%k2g-(&&@J2pdC&Zoe zfsy7-6h81ag0P}U72T`H572VSJM&PQ$c_G9SBgpaQ+o|7f!$#L*q#n&lHEoigYuHx zs;&&62IJ6cswb@&6xJYxyH z17b4hh2QW?#4jDQ{$&b#HcIeHh+X11x)}d56LsvLaIu0zlu*NDz+n?Cg9D{c)F?CV zUYYW`8#~2ZB#^Kb$bgWc+gb`@P!__v3*F7R@XKiUK=bOvC8PI$i|Y48GFZmS0R^p# zp45^hJNat>v$^>()p4?(|Jwg!@QbH)*T9Q~uUVBS&nD|MygVJHN`-T{!}Ot)30<>5QRPiefaN;s3N%WzBiLO#gUC zSQfb}^r{O_e`oe+=vMJzdtKE4`U;ZA@QffBLISy+2l+O3@WgPtC-7wptb5&5=MckV{0&3^cJ#a*ADnY9U#OsjDM1#x@<*dPU)n*#~Fbp&~-~^ZM$E)|D7}r&!f0H)6ce!h*mKM}v}CB&llP_m_i=vIke7VS4JqnZGOfwK zD{aM6Aj49TOg=*2iK9&^iz<$zmG(wDHxS4Y89eC$b|cUXT}lgV_xgJ9QGQD(W36W zacSxptpawnQrpxW)?ihvFnP^6?NmhhfoATX+pJ#5JU8~2Nav!QUU$a(CAoCUXCvdf zBa0mR-7oi8Irv7Z$N*4mB2j^=HSk{{+#0~4w9PuTD~jBP*;*U@6b}z5zRcj?V#j-@ ze@=Bs+8oq8pIm~r5Sc5@OskJ z+zd|xqxk^CC2{9veD5IO*1lYHgu9WAPF(Qn3h@~JZ7PYEAlh5K7Wy#V9`R=v3{Ow#dlM9+a17yAM*RDPi41-! zQOQo|&TLO%C0^O(di!QhPM3}+48ArL-oONH#cdWX=^pb7F7?6Y2W7ctkM!B$)<4*L zct2l~b0qKG3e@Hx$0W= zkmnr4CtpDAC?E7WQNj1NgK|-!7WhJmaPxSw)?$RXfohL*^;1bBj?^Q?T#&xRG2o-t z_tP{aM|0z>I7*@9btRdglNcX0p~BTWe+ZG z3YT{?7>s?eF5vhP*Tn6XU?d_s=Wx}QwW6&9&VBL!#S-|^)rsM8E*^xUjcTW159D@& zN2e{Bj&>Lqn*F`CQ(0IR;oFC&3JFKcyXGG?qiFW*U7kVyc^cVVAS#*6!WC__F zX{svIiov|uhueF&*Ji5r_qfpCSA^o?Mb3(e6Z5tisQ!4SKsj&pL)K3UiFvdjxUIB@W+f`_v*9W3NL=ND`EgPi#N!NgU z&})WYjYj_$H5y=>_b7SBRKD=}G5+odD&QDYDto~+IDlQ6lm|KU1CDA=XFdeMl5va( zTyn2)^Mf<=b0sgOx082IZjf79abl6}R3C3yIwxJV?(&PqFbv-#OLmFWido4Pg2zb38mCgvBJgz7|oD9)3EL2k9&aKHnsC$!yFDD27gd$`;1Sbc2 z8^Pi;SPm%_$HGn@du}iVY6Fncev-t}=vA+;xbyJZssLInL&K!b9X(=JfMzr@F}glV zkM!8#+Zu+v*tsf)lyZ1TZCi`c9426)k~i~=1=e;*}MMQo(w zoqBW1Ga9t$a@SDTnZu>f5qEgY{#7yO6c9%Zt8e+x7EM2xG35XNI!uLp;y*4wqaR~j zQ##Ho`b@{};YJX&>rKOcCxF)?x;?0(g=Z!6h^0OqP+KMe4_uYD_HMezN zW^J(1-QFL3IQoTSeSs|YX${#p1XKSZd8RW#CB5LM?zKDt)>(Q5&!R#P(t2JCE5){z z7ovV&knXP2XbZCXmEU8X%pW(ZQO&g24gV{S;p3tLIsg)$<-XIWB`H)O1M&~-=C-^v zV}r#AR+;-rGHr*(mGmQ}ARUSYg`h0q;r1stO{jBfugzTM*UmNq$8Ah1Q3e@3=oGs& zu=b<{*YuOdD1E{f-Lhf1wJAh`N9x&jmcCpr<*H77&9);`jPg6-pt}?Pl{>x48!wHK zTkRI|i=|XRz~?I{1Z5DEsrv`e-R#Zles5M`FKT-Bt9|R`Swd<$A=5g2e~s0U)fC^_ z2A5c-KvosS8DVjI-l9O6CmjUluXkj_W3|~2xksx>Lq#0)g!tk>0-W3CoMin}9>0tV z6WWhN+h&B>{hL!`zI}n9@?NGG5~LvjkIV{RX0K>(^#r6w3@1LdNEyFzoX78QF^@-< zZ~&>1UExmxCUpYc`~Hj)A%JgfLdVy-2&>L6>XWYmML6AIuB^0#hnm0~(9bRKK>2^i zl&^${D6)p2#B;=?xYZ;#D>EW5u%!(18h>#ok{j2I=Gm+vBx8S%Xf|-e@?PcLdw_pQ z$sSEBf)_slK5gBE-%B{oB}XB`edL;{8e57PN1L@9{Eq63ubzIyYeH ztcEI_SyXzoH;St5Z+uPON*oxuM#7dWX)PUu)x`lAogxS2*U}w!@>fU)N^srj`kM48 z@zok^NvlR3)Nc>U_rn{^yIk8QAqsV{w(TXa_iksk<4M%r7C?%2=U4Pnj&B33AxQscA31p25I;PcJtau%|=V2O^3YMxmR1m~SIXI;Ue3jQ8P@Xro@!vdsyeF!S;c zoVme%`01#pBDj_es7tPu-Ff$VEz?zEt>L)M_OFw#G>DL0dIEy2Sv#6puwmb&#dz34 zl~;>#Y4ogYs^Sg-_847&bMz0_WPq6b`t#k3Yx}}&#VO< zm{D4gE(R45)zPzh5cu=oxWkHWOoJGih|^nmIUb^DPhy4nG&9r(TmsD|9-op#!u{Hb z+cxHc*Uq+%d z91p<&aRW|M#bIW+&(@CbVY^AZKADb;E$w++ODI9trTS{V2GBf>4xDpbgw!|#?Y&Te zUg?ydj{c$0FS^iNe>7>m8f6nn66TK*LHni)-qB!ePXu>YK4c5K@A;Q`(M2T1Q^>u~ z_{t)qu2jKJT!7(2y7D3YWv3zKGwy$N!?OjRSpy(v>CKeba^`Oqj!-+#M!a~~Dosii zqMvS>e+Y69)gC5U4S7y?HoBRqoXgkPoM~n@8NKOM2(|9P!Vf)N&ec-V|wObj!U^F|8lmG5~^PU+Z z#|LZ1QbODZ*S+ zO)tenGL@M6$nJR8^J0AKnhoI3`vUvWL6C7!Sj4Jo04{^oAm~F2UDeR4>?b1{q$K%p zSSibrWA6c+gbibZ?Y_|YmgO>#*G{n^Ha914eh<_L5q(r_ex%KDR;F#{JZ2PkJd;h( zUgCoWdYW=FO;+1q%?5m?x;Q_Vc9yc+7O%G$x%zz-7#FS|Us>v_Jc4yRHO(xCJ~F=5 zi{%)qqaY!qwj!vdFnF3Zj(d3_a2g3{@YzjRGa9k=J)4P|3PHN#+7!3R%!;rNt_TL+ z6s7^Jr!&Q3z)68L8XdsHB0lcMvH^*L6j@Fb0_Ew#y1KC5Rbr9sR3u3Ue1_M6 z| zzj3$2ID2{-mwi_fIxNMSY;}pVItM8if)Sz~Oif+mT|Ho;3bn#zOPOKd5a`#L*!ihU ze+9ygSLPtEdmhf^U>g#rt-9w|O$n_f!cibFyi|wn>eDUF5K|QzS|REp@RT)}%97JJ z##N=L_iu@&Kn#gsB6w3D)8XkTkX@SOGcPed2u5s8-3G8TSWEgvj;k4L(EJ<9$QA{m z#@femRCI1(5Zs*LyQ4LXjqF@g%ekJ|oM>zq8GX-9qoG$5dFxfliC;-NhqRu2JzJF- zBD{cYEyFNR>zlCj(77}Z%N>5T1|UxjrWIEEP_;Y5Eae^eRNKagn@- zaYesgj8wTnu)i?vxW@W2KxVF+xFJ|kxczZGlg|!qFS%E_6!JT!!o^~WNZn)c62CY= z1DNla#5tk;TVSZT|2Yl$DkMO`@wp8DkqOEAN+;CraOgbxzvjL<@5}Tsh|I}o_;WB@ z;-VIny492ukEd$yCzz=}Q4Oy;cbHh5b9!@3qh@nFK!|6N>&7hwiALgyQ81h?Beh&b z98f;RXG`<$R)%pbv2^J^PGrv%%8MnndF4&;az zBtG6H38tVkD66pLtD3izlSI-u2my$T?ezd_xRP*yfnM1lSoiX8+*D!93QaL*QeJ^I z@ThqTc{qdpw2Ze9tW%Z}19kkviBnKI4N(4sbdV>G2mqHv5|;P-s@g*g&ZU3CvM8o^ zS25)IU#bK%AYv>D_Yug0-j>8JL4y9j4%++r3>n$dZFPjwreiI;eqH!)W#jb?2*6Ta zB96~+m3(o4xlel?^rxDOi-cfiw+Qox{C@{5wwwu4^#z?~iW5s6V$yY?6HtxqwG@SV z^X!HjVeI535wlX%VenGw7A5eRudA@5^Y_KT%^QP2S&tX-KQeYhK#Y^B4p!AfVLZsZ zN8uB0yCka2dZI)C5_=HSJX)j8Yp*q(r9Te5lHWT{(|m6={%d8Xic?BuK$nfGg5b#f%ZzMNLihQ5kNS1J?XnlW zfP+Jx>Rh{R89WocV)bQ?)G$YM#f|2 zb1~=Vt$kJCHOCPlR0hKX4gIeK_P{S}M|5E@F;*QGasMhBB<8UY-6rvj^?^12BBcW& zORtxho9>X$)#>Ob=c6fB!5!WUXB|k{8BJ&I3J;(G&;M4DPdCRf-HreV3>r^-#Ps|Ol{++fOk74P#E=rt|E9e} zbpoomtmdW;3Gics=Hw`n<*ddPgPqQ-@caQ{9>EBX7n)}Hl{2b6%(dxti;Zg%gKnh@ z=9yM zL@nzz{3h2VPzL5L)8B2Ls}-u`+6RaTk1&XRL8d+5*jx%Fs)`}5`G-}A4i2j$#X;$GnbZ1jB zo8w z7_4`3r4VgwT`HE&;O?W=dqZ_ELBG|{U9x5%rf1h(bf#TDvVCFNH9>a4OwWyRnHOyB zAKYA}o3$dG7+5jNz84#J0Xg)s@)j&gBg_-8SJyZsg-CKU(aa?dz$od}^hb|J4t z^a43u%U`u`K{~86KB{XCquTs7-BeT;x`590duQ0wD!uHKE+4~T9GS&R&}+jmy$$H% zfpG1HyoZfDBL+GA&}t0F+&KaNFpFdmn8}7w8nv}9g{o_YOeMxrm4!Hnjt_u805#bY zCKz$cze^lBV%kb#5{ozA5@TV5`fNWw3$`#pz?`yUrAXAoY39X2?{Eiwm(pKdao`O&ApR z0yjJ_hGWxPY_cZghk3+p{}MB|rQG4cgoIr*xP!<2gy@Dmo>(|t%~S7$wz!%v^Nhh4 zX7_ei&5wxBmfHEt^bNA$G8%RlNa__%tmop|YQAQ1cVkvaLRG_fjU$n!doL>E>augu z0ssI94i1F3i!qCie<*9*4PAHjMQC@|LDf|aZ6_JiCL9-fhcjmme{7aFCr_JQQ!fn< zXt0x}ZHJpBWPwj)+Q-ChyW>1SP6`{t*n9`QtdA?!}b9r_}vQK>3N!3T5$SVm?5r4)nXVM7q$p6*Vefi!M?^OAJ zya&-^3UJ)79GH$-Be~7}R{f;NM2S0;X}Skg0Ioi>83&H|>+23JYfp869(Ic9E414U zw0N>(W{O3XPmnDs@Yfk&lu*Q8;MpXMs=nnr4}cYlzttg$obLdhgaNK7Y5?40tf%IT zpuGh}aGJ(CDd@Td4ySKVGIO9fMhdC7!egOqI5DxN%n^QQJ#$} zJ+cPn=6a@C%SR3QsI>XrN-Vl!p{(W@7s^fBAonjn5&^9;INW~RA)({SKG)q$t@524 zPZ>NvAS|pf$Oi8`ZU2TS%(X2Vhz-TJ!E};{>1(E<(?Xqw4I_(2a8ons^|g8t%a9w} zrjeTmSrmX-r=Pw)Rsfc`_@-l)oi0gPhfj zauD?T0|!!Gp%TY?5w2}oNy!ZBhJx1anK4xqfv2HjKeyJ`=Jmx+^1bS&+IOEH=^Bm) zN$+fzVVLC@VNlXZ8g#M+6hl}c+T!7qnWE|1>4yKB>i|`Tl>EGcNFUG%t5I;xw0Ux# z1BaB2bhx!q^c6+wlRo-{+hxR^V4VbNnN|6B?jL%O61VHylR#=su+T|BYA?Z9-rVG{ z(NWYijfgW#?7rH%vUkqKAHr{z#lG|7m|YXhL}&y8!^EjBF7pSG)7|;!iP0sJK*uih z+~_PFL{M3#wGs^6U3}~!C7oT6&ILc&EjTtuoPDyBIkf&k^fx z;0~o~uAEVzn`eEwy!{JXFx4teu#kn^XnwkV1!N7g5Pe=VdcIgkcwX#qk(T{W^rl_K z5E%JdUr12ff+Q+OlQD+vx6jnh^1Wn8K;Iws;XifK^i!6cM}FmiZrG{w5;6wfj8!fE zvWw4(@nP2&ovK*6gvZ2e$tGa3@Co#NHHpVgBHGHIV9*qQ&Z3Td(C_fY>i+DIjY_Dx zFg|jvqdl;Ppyd^Lq?H?N{4A~OBNQV&OMrCII`OCASO1Gm1y-ogFaLE@B;m}QriYp> zJtNy_($mKGcqBw?jn$_k0^ON#_pVa*i@Xn3@;Sc>$Rq!dq=87v@#<%#`9?1JL)mJu zAAJ=oe=f}72+V^?X&ra_>=I-WN=x|E#N3FLZ&Cx;(D5X=s6gw65y(xn$`~v0&GY=6(1hIFHlS{F_h?Ku=!MtHM55ilN(E8H#rYwgMWJYw%Y zn-`cVY%=Gg4Pae$F=9~k?8%wp3jL0crGzj;_kpG0Y#%drSw3JN-VJh<* zO)l2!u*4N-&+R}l(Fw>#&YQE~DovD|AvC+zqEx9|VQ0rgDB4#QZ5gUADh!il>ERvk z9u0Ybx{W%r{c^>tjGO}c!^T*{OvBk6@dmlJu4o0o3nq~WsVOsL8jCJa^;YrNDvtuW zlyf!1%>W^RMz_=)m!Zae6OatDpr_80#vJ>l1wA`HY_TTlX92Sg*;n(+YK8wLBS#2rPvkl-SRde2csR+rVXLwLA|| zi%wf4EmpnO(1b6?VB#n17?s8;Phe62m1*X1{y=CLz8$=r_Gvds&VX0^#I~_NM3^eJ zcywyIVH=J^C*>Urt@b|fX}~C&bII9X+pY^^Kxt$Ip3m)dXk5jp*E1J#fniDNEn;>O z=H?%{PSqWsHIUldYI?zX(YNzywlh4HVdh0p>sJf+P+yPH#4yl1OO^HlgnZBu#j$`) zZR~Zsb`F~BN~q0|*u9f+=E(|vsR18DlidJ;Y}C~nq-Luv=wPse^IWDXr-zbXT&J|M zcwD?>Kczbq?Wb6p0;(RPqR)f^p%@ zjWRnaa?8+$Mb~2P@>_5+8BDE=98$1@cFgS#P88()O9YsctGPpXkCsT!nT%dM;Fi-8ue`6IF1kSO{ewkk#8asRlu94+oIK%YY}c=qW~Kz51ryT`qznugB?z+ z^J&-vO@3|(CvIm3xnAM#G>x{3Rge*$^T4?iPP8((!%O|)(KXy75TmnbhA!o zkT9woQG_Li!eca+Amk#sF@**G)^G58Kcl?JwnoH4Rt?&j2ZbT@VnbR#gZW)w`!1FL$Xp1{Rox249D z&Z`)*b?6KnsW+W2Vt=NpX*p6{YAn?LN_$yay5c*o4Lx{NMoMC$cCVNaML#r{&Ur>- zuu+1cVKgmNgSOwD0WRe6xy!Q7ePCnemm86PlIcYV)az3yQZRG;kf}PClc{eO9gU zb!)akk3{)T9K3OW`3?kfWKaB<4Lr6ba5kPSV~bk_>-R?TRBIsufeZ#VfPbCiVPuk5 zNgzhQ!r;Y8RonT6Th|>C5bkqz>5@83D9_uatq7x)e9Z7VY!M;m>Q-5A z{Z;k}7=!B z1BnSfv6{(k8?4r`MT=*@AuS;DrGL&jAZ1uB&inI$sv?x1gE*^@QYH=^%b+tfGN_}C za8#>|X3|w^fvJ~}k3q>p(WYF6QHjbtb%@E1)vv^iN zFWQtPVoyp10Q~J;aeF>Jo92Nj`kF2V^E>G~W%;xaf)Qj{-Ih^V!*NpK&!_3Qx!Srv zZxcdQXTHUGGxmrsRs%t#Rw2xk5`!OXR+xaSt&R4Ob`$;YI%0ieJ%0VFQ@IpO^?4zF zlsh~}E!b`09tRs@I3&lM6)^fitQdPsB09#J}z=!7%c1(T9=U>ss|)sj8)_?W42bb=dCQug_TR z&cNHJ9hx^2lSe-fs4+$GXa&=3#v0zA7y_20d~+)R{~iAt0<=f#}|8vV^${b%q)LoI#J{Wz<$u24sm( ziKvw4+NZadV@QLeTGsgBPa6yzC{sx0g)(wT9zw)g7?4OQuwH!*g$|ns@|{U zdWn~+>nsmqqoNaMp}o1q(T-=H-rz*dNCxc4w%2IOjrLtL!B>MQ?EYDPoeCJ;^7G{& zX%I^M^IYfRN_k}_h4rjp>djUY121EY^n@-A3$C9lnU14%0Ls}`4$Y4}i4W}h3zlwd z5WSdLPBi45MM(dL7GyPmnAj@qsoKm}!peoo&%3pHJuY9YR3IbN$4G4ZiJIzU;}1h` z#HaK!9A|KiG}n#pl6g4ahMWCmo7IN)O}hYmoCr4&#ACU0)lFcW?`r3f_kfBvL4M zMi!nEyBwhgCqgQ@W7On*h*I5gN_2vyh-}J#AZxK+2xjPhn;Od;Fiw-&@mS4d>*5Pk zVeZ*eW*G8;s~fZ!m6y^?k`hUEt~`}*VRs}!tCkD?W99hi&1z@dYHJzm6fwd?N(%#7 z$d#8uS~<~N^Y=zK`C`YfJrr!e@g{Qpz>5L@C%WN&|)FRov zDhaCoio99XmmtgMaiu`Lipb7vwcQSNfD0As#F(YhdS<21(7w<9eNCw!QEayM5T)(# zfO2XI!AE58-P2!SpoF5?s!8l}!kc3QZNANmzeEDla@3(tH7Nr`MqO<$LuiU-KI9nq z4-?_r?jr3*L9g~(vWgrDg}B-=D84xd3>-tev=_Tt47&^O`yqbqJMOR1X&gcWSpCuc zt9&W2qo=ncHEKOxV4cZ^y+Y_oSO*t1GDav%v)ETn&>V zJp>h|+Vw8eD#gH7GBp~M*BA3>8^(ScB;4v1!{CWq3R4 zCJI0D8B{=!mlK!{(TEaM9((2ulYr|6)p-ckD_rZu*Ejy}*~M0oM_nbO z*q8GMf?tfSfYl#Xq);}n?W60%T%cKv1lv;SVX;uQ>WHm0=~ou9i)uY)Ghfb}6m_K& z{{}vzc~NX65q(aK@!Nk_vTTklb)&AmFKe#vL~JWNSc(KwVXqDe0m}((6dBVtg`?bL zWeD0MK7GFNq!Q)>4mXtL`FI37HqZ_xmWZ5}GbOUmS&S`<-wd)UxS!<_#ckV9?UK=ba3LP( zcxh(y@^=xoo7?~(K;OUn>t3*J3*FXDv`&JNPKf#W?p>JvdMg+P53Uf|pBTGX-(>u4 zVCSDc`zYe3bMZ9gR;E0bB-S0`vk>|8()hHjEt&e5as7iJu=|w&22soWee)L1E}{Ws zslPc$mtss{o~NEaQ_H}-P3FvDw+8i5vDd6+OBFGC;I(;%oT39mIKQC3XA#W$c zl52h*s`R)sVJbvNJdtE2ENCzgvo_!TNTovm{gaUcUuSB)ouL=v?Y0n@EE>Qo#GZ@+ z)BF<9imx%*ajx1k+Qv%=x0n>ioqY;AHQ(5E(qo zBr!Qetp}%Y3XOdFjN>aE*eE3ujF6zqCAOF3AT$!!Uvj5!&$~f?NR}Yev{NBxbmTzS z|L$8C%pf^rbHvJe50kJ6=Fb0NOo~Bt#7w^aY1R7vj6Z&ApGn&wQSj{_`#)XxJ7;Nr z-V*4=1oenYexzG(d#jQwWZH-T1mFTK>>RZu7Ox0C$krULyLSn+efet>6j>g`9b65~!=o8JGFr+55xyzug(6@*+!;dx6LQIWe3(3pI#~pv%E-2Nma%>yw+a7+B zu6-2sRAV6CxEhfQ@o>xFAr7itodv{BPO9(0SEK~J_e0__u@to{tFm}XRo=LEO46Io zd($G~iUzAAbcDK?bFlc*BguRr*L>TO`Y@T&eO zC*BV%wXS!wDt7H5r{G76MYi}QwDi~cBO)T-VBo^3LBr6VLSI=bZ>3(-g>WBlR9c#p zXVgwn=XOLJy^~N1_YsvwZFfh!q)4?D@{oq;;ogp4MrC7>}1zZt(kcnm@;`tjgYImdD=G9NX z%FEAN;R5!^Hfz17HPwq+4!^T-T53LH0W<7|TOf5gmAMpOR~beUqeRe^0lWW+*-kTL zATpmIHd9J459?XDl2noXJ{uSt6IFZmur~E_x!>>Sdw9do(|^UnOJ9Vgheb^u;4kq? zPDaSHi*5FNbsFv8wPZBfo?d1oSEPMrJu^_KgMM2H8@|7^+KGt|*QPf%6d-x0V3{;O zd*RGwe8;1Oa4+4!L}h2;<*_%Dr7YFb;n5nP;MX_#|3CT&3#m<;?`r_nkL1WA^A3k_ zs8h|IW1^oc=)rh9D&>y3w18IBM_Nj;#pCK=O~?TcsKhCKOFw926KHL?v&Ll%r2=2Y5Ac} zO=~bRD2E#TaP~C3Ojv6;vD^qK$__K8p7FKd?M?y^T1$4W&_Cbf9>qLD9`Bxh53lda4WOx=@Br-QqdCcH5dkT^bRe)+6rd^~uCx~C1jqabnu^O15?glC> z$}p(++40>l-wILHHGs$?ZmSGYIf?9jiCBf_^kcwXSsWbp#%rzvnMP(q<${w|7wD;U z*^EM8Hdi5NIneD@_^EL`0_rNtM%Pw%(7dwW|u;iAFHIEYWm|H<8Wl1C9PH z4pAH!&ocLr{5@I~oDUPA9crj6-##2Zn0s(# z_akcIhohCA*JFug*qm%rhHANr$|67}pXG0Jb#>2O(n!%KKikV-Vo5#|XdGHUrenm0 ze+8B)h*YRF>g5jh2%zD#ViQB3xeJ{Fb!IETLnFKX0=uyt;IvQcz;iPi;8G#+xbg!* zCDSgO#v$jxrqL!@9POIu@GR{Azs5+gp@ten2q6_O?8bUTCH9vl7?zIzl|xr_0ObhS zuZL8hlx9*E97ljsRt^YeSdBv3-ziM{b2CS#0%^gES-fjmDck<2y@~l{PrL9W^2%UG!6_;Mt^*Z$0*!-g= zCBl-})2=5?7C6h?KY{JU-Q!7ODa~rAq0Vi}^6v>c8%E66(8#A^9AB+5OFbAT2XBqz z!L^|{Q<0n9(9`Sf_1}pG5tw}wavd~UmIt(4OZ?pj6N2w8%@9pBl52qx-Y|b~@T@L0 zbMz!8T{5xg7(O5@;BGl2Y_1DA(9`GuqAaj#TUt{)0b-H80|5lJWk6w;97p^0ymp8^ zP_ihbiT$Hp97^&JWsd@fP#d(Wc`7KalD9jE29Zvu+p$XH-OJ#z`6CvZ=c51Y3@OR3 zo+bX-31kDsktgNhIe1j34iNH$sAg(K@*p+1b|{&hk2cs_d5 zktrE4}`0@pM{rcxAHpFTtxEqfJ9Gy7A2EBkY7OATtK$81bbh>m@e$V1ZD|a0^tt^a% zKuYM24rW5IP~u2;x4y&=3bAGU5P8B2uy34+S6*YXnw9))9XrA{v*XKK#$aq~`rH5O z4I|@B0z<_bep()Oa;N>q`s4?zh1I+?Hz52`i(ko#J#d3{o52$kkZU`Cq z58tF|(4~8*24+h?XB7(JC?YnXVoqLQy1(R$K~Dh&nJNinTA1-#vlk9?RjnTdjC_t{ zub1;xyA;~SJ7dPYYum}Pd0Va_G^=nXH+-y3uF!;A>O1|ER}Y?5!Bwz?=Ae$>aiVit6mWQyh+ksKwt z;qsN;U;8j3iOUnl`ldWwM%t3VCQ>C()oHj{x%_?5M#CRNAmIfLf4SDu*aSEux**}P#bc}(?oIwRp;f%GMpi0Q-CggszfZ^A_Bx)785DOHKEixN?L$LfvUvy&%Fd(N+iNS^kj*3JF>) zRWStvj*T92O=6-I6+Oc1Gd|=`>9^}D%=WluYhLiCF}(mZjoDv1PfQawR+4w9Xkj}I zVK}T2kUKU3UOp#(Fd(&gk6J@qhu7eQOa~G8BrniZfCJP9Y<3g9D$#}?8Uif4-ZxP` zx~vfCLBSV7E>NlpkUi^gDoF6Qj;S)at!vS73ja}fosSA!3p!_I%dRuYhxrpD#hg?k#^L9F zu5YR_<{awdzXBzuSk)Bc!F1@9V7=9}l%~z}nTd|DtiawOZ*mpXj;!5VqqH_cSDL*= z$`38SHhLyz&q*yd?S=KLY^vNdQ?vkUg!*84XoO|Ihbx4!@F0AtxnZql0+AjR$BtcAUL21q~B zq`opc-{)r8ohN%&Eu8Dva<5A6c#qOzs%bQ7MN$QoITg~JRH3lcQAjp|_+~k+ZLEm73 zCrBB*gh&(?)O%4KzWzl9^vc_xTR^#mYy`xY+7ITcbN~;3PP2LP8x=8g-Z#^_!l9J6 zMd*geoP!uIQ`+3aHK2~=YhzKi=wUmE1fCRG zz2Jc{R(i@ZIT%`{ zf#F-uy-NXcTN})ll)F?6ONvEXICrS}Mb2cxI8g+nlZ(2RxM8HyQR+`a?}2(a@faLj zsL!b9xy6qa!Yu~aK&1=Gu*9Ne^zvnP`F%Ujm+5FcxQE8My-88x9n|ToPuEmY>zjj- z4BQqM_}C&j1En$Lu*Ztn8UnKsl5I7HipZZ8vJcI@U{7ieHMz9j{`G%8*tvbJn3=qb zX(4dXw;}WWOh^h-x%6s7_(^*wPk~!6cY-FK{K7#NpNU!V18u>&-*X+GiLd^8 z!0^nV*G&x+769b?U3l0~3aQuG9jAL*nsbZ@FBHW<7wX%2K0v#8rXUl;32PNsz$tj0 z;~l@7vYfqVGoV@G9T|_J^@F!CcfAU9HyL7Wh_FE>o%j{y?wGoz-FiXBnj-K7L_dk9 zQGn3*FR4fRE9N{}lV1g(7YvK2b;|`-Rzjo<-D{5V47|hoxiPxa9O=9HDvQ+4C{Sy%h zJc5F~M=5c9ql+x=rn6eA+!2JTs)W@0F}NJLb+Q>dzp46*Ko}eu_7NDc)YSi|9iZf1 z5y_k3%L~EoY99O_Z;FIpX1(K~$y@o-A=N?)ZarKK$yvkZNcQ0OB7Q;}6U{3j0zpoE z;tFV?eO>Pxn;p2{NfA z{k;`fO5}%Tv^_@ajJz!!lnR6wM!I%@Iy1(p#g@E2jTPWnA-YHEV*zUz{jx z)*%~HC2Y{A4M@R_a3XFMZl|Gb&6W36p30ok9imnz+JD6X7OCm-a9QLa!4LsIL@oBb z`oCs7Oqi-f^P|x@6?f%~uq$vbJZwKpjLv2>_F#pbvx7+pi2OByrbnWT&@KdAyPI%D zx~p4sn**iZ%V*Yh!HK7%njXaQ0XNVGQqQT`|Df(3GCaQpv{=L=4Qp|*?Rbdv$|v9a z%Nt{n<$zslMC0_K>__utpmojd0+Zjg{rL3bU_TBD%bH{q&uOQ6Q4EQ;FZF=?CjrMJ z^a!WvxwG_Gqm9~w%3a!bS+oys@4~i4MQ!ac5T(1VDe+OZ>rRh5+&aq7kPOYD%Z44V z=BUU*@S#-{HRBdNgZ32yHKqkhU?ybI3FZu4p4Et4y8wkXTx6N$;yI-N7(Z8`nv zavZ#|MPuq?yPlywWhtbMx4NI!X*RG`9?2!BL^X)aJ8IcTxmX&gZ2=K2;?haOr!!hJ ztzBxG@N4uMS+vN{<5^P${u&{uF>avy0@5dq8eukSrKJFl_^l?Nc3;NZv=FpU+foNf zP7T-*jnYQcT5G-G8n<~EeYHiNVcv<>^tgkK8K~8D4hKNhOL?z;t$KF>(>mQB$*b9c zZBe_ni_ zu12BVH8zJy(FA;u%-_O!B;wZ?>FW7K=cVdQh3xU>?NcFWZT{Um9k!f|!#nCk^W3mI zdq%XV{+eUm-ono@Uj+0$3fDhNQ1(#^aI^r3n~$DbRR?|^9H$spIBy0Q9h7lV3z-hr^dL50?`dk-pzD1Y2R@o#p{} zs(>&#zJsZO4qo>^8=yFiU&sPd8B3 zMz7i4HznZ9qJ|HN%@=5!eV2UWTNmgRoD3jr;iGGuTvRUyHM(yzETWQpe`00^4s2xh zy&^W^8tit3K!~}x`=ZRAETugjZ_pi<{EP+7%l%g>{MW`Lb#oc|%_1wLX~8!MGgb-FWu6ssw0>N`ihdi4U9+@VVUM0#VaSgBUt>R{dlGM> z7QZTGHfc)gEH6KLb*c=N-++=T>^2bzdq(V;rE;v!=2u8oeMO`b6;4;qq@A%UlnVXU zA?pJN0xZ!cOQO5QlANK~P`hv#f)s=Iy`r=GfAXzVYR$ed2_h` z*Lj3LXBGte#fDX9qr_EvY@cPMCJ=48oy#FGz7&I!LDZ=%i|oM&(#cXAf;h#%-+Uuw z?4KZnj0IWN=ttVa5I*A^1VS8HWtVc2R5wc=Pr-xr03IR!<0o}8uUb3m4CWY|D@|cjDm4uL#|Azq(Vjn(? zlh|<@vSL{d4dzSxLYjBpq?B!#;N0M%;l!!@@O%ztAmK&R>6SDb6IOfh)rhncKNR`L z)pnp5nDR(fxlCEr?&#a@A-nVQ-|F>X;g!+5VPn`$z5vg6)aSs!Spto%zaIlvXSW zKw}kKXxB8+({LU+Xor;Fl;;To?B8F76qfSm-=EiYx6Nk0KuPsTIN|4kqNC>cBdcu9 ztT~8hSqI-_nc4BykX4@5E`l_u#r0F@Ys3HS?Le3o8JWk)p&59AuKK zVq;z=m=dRs*Dw6X#NfX>Z~`gMeZGztgI(gqv0Z&=xWpS%Y}gN{8A7`uawdhQd5a^XJ6@oPu*6)(?G2J!>`a}}Or;W1cK0Yn7f?GY*f408*JHS*wC7nEbv*!7T<{F<#? ziGzqwX#W6T55>j^T|Z?$#VLTKuUlLG8{?koh*wq06lyvI5{GxeE#=0Epl9Cg_7#>-0$QY2I_LW9CI@@^E z7j{&1+KEGO#bYP5ZBpSXVZ0Y|3~Mym-6^n%rHzsOKol~#cXLBGB`gsnnP3OZJmhuL zbC;1O$MU=~MBoNg9?mNO0`gzZW#Sk zE;HAB%}wH&{$cj90=Nft5WT6p`3}-94A0_3H$&oaaGeR8Qxk>F4K;W#czr-NhbQ|O z*$7sSZEF$m&+xx*_rSEAiv3@{|5Aqx0M6AP6Y`U$c?h#yR<{#36V?CX0etvw zKVY*(-Ct#2L0Uez%0x2(w0HrPJWy}21oP9|xNg_0@&|pZTg_pY6m&n!RA99FQUFOK zWnHboY4buuX209JY?;N{!Ndd{Kg8ZZ_ivv28b^}t8V6R?4181oQI?Dcb-$6hS8LQ( zit#1?{F!%a)%N7uqIU66vo{j^!5ne*)gkLJWb0e5zoZ=Ss|CrjOSDJTN6`kIC(DBz z0C^JbQ)b#HGHfA=q=d@+OWYecL@LC?PeC0cFyXLFRn+%exHe~o2NkVT13EVeCPnsS zhyY@Z1MR;_l_8&T2UV$}%sZGhEDncqqHSvcf@$HP-rXu3tNwF&ATnBXUnZ|DR~mO6 z>3}y)Nycx=sBmOd5NRS-kDJ09m%ZserEHO6A$|-bg_A{2!t6>-;DHC`58vP4zk#BV~emb6BMna|| zrDD%VmAr)=aZa1GTF2N=+L*Ex$4yxZY99AK;lVaV!h;0n0hf~(6t1HxRLBECr%6=@ zTu&3CRzuI@ZLYt-5l(moFlzcnT4L=OB#J75$~b+j7#ykLiqNgKvam*e+U&Io>)gVT zjgtZAkhWCzi;uBv!d)h@P3{^TcW~8aWragu_?7hE^Jr)QVf2cMF>`vaB)O0I>BXIZ zhL&?+`9P>@A3m5G)(WY~UhC5&1`c1{1ljJPqASWD`ZNL$2qeN0H(eRSP7k*VFRqNnJoLOHTU|;!q7YC z2xoa?GfUcCHM(&pX1E9XZC)GbWOXMKH$x>IO{G%bYhE&5)vwh0wkTKW!M&~I862M= zZaxu!X*`GtOJ(Vn(T#-7TBlG^OP6>#vq2ZaE9O8z0kA?_m5VBO0yl|t0h@Q23tiXA zzOUT?f^5$EY-0y8WAi}@f!GsJyF|F*#W547F!u1u))|c?cV$`jq&)lC+%A^)_R36p zzOw;ET9e?LlWMDW_xg=$Wt-OQt#_5!71o@O>4BAhzTXAiqx48OYDCZP}LcQip_tcdtK;Z znlB~R`5$iUC6r-UO%X`Xrw5yM5bnmC^OGy2YqV=btjgi_pC)jk%s+pleM>>_APhQ< z?(P3f%1u4AY#aPMzN00+hNnU&MzV%;V5tq+exqbUG5SmZ*`vF?#JVK0nql}E_{(kN zTa$`ve{+6Wz||`qT9|D1Gad416cl^LQ<0eJuVS<*d!bT?|Am$& z8+``_Er65fHJ;RvH{6jo;Xa5tZY639%G)S%_ib(VueocKOUK)@<6S>lx6Nyx%@RXm z+#AL`X=hBbFwzUJ#joHpdlpSYg@3*)TaXasU^G+D!R^nbple33a$R{lrHAcDh86FB zV=vZj?9GVq-_1bgSgTmog`&1C&&18e;dKVH;rPLy+#XwDr^g6*(D0SCiwNWM1@Cx+ZmlSp)JA z;3cQu^RfCx-^@tBf%N3%WS3o;Dc%5tEXtn4WP_01i|zOMe|tzy=|~CM9Awp3Kx?LJ zuU%9hpQ%`q0*lt~s+ilHv6$nu7?Ym3t}pX}GdV_izJc}&Ta3IB`noewrYwq#y2V zAF*tb3i;y|}iV zI-N4;Q=FN~tJ_DqDzOUUqPgMHvLyp`>s2E}GO6>qWs~OzLhw5XgqSyXPBXG!%}>?S z8n7YYUFWmFI48$YV^e&^lUvuCp~(r%=$G|M??mmVNGH4#w*u;km)bi@dIouk5QlSU zN|#0>zJ%M0PQS6Y1Tfw9LCsGG7i(6H^VDa(e;FED#wvB=nxkzCGU=*m7eipK0 zuIX4;WK^!t&En(HE8ycJd2AsAP0y4V0}cPF7`k>1)D9kEEIc%V<^WMM{&(!2Ni-k> zSdg!(pFv0+)-MH=po2KEYXE0$mzI@N+BC!LJpugacLOQ{f*ok$T5T?>=tod_ zD9t#Rhre?3kCboF#mR!Z(s?hy;x47#O81GkZMyZ0;LO2k%)bGhlzYx?xR6Q-`pe$G zzX--}w?@!EzyV;72)wv3a@}^&JiT7I-T+#>H6p)f;8W6n>xGM|s>7LU=)|Q{LcrU0 z&4Q;L|G&Jt%%)o*54h6wEZRd~^Qfi<$PE!Z0T4HKknu48;&piK2YxwI65h?Y!)<=Z zV_K0)@VP|K7%Ez{y>vTw_>_-DsV!hT{NrvQZgber}h%x@y$5oj8Y zh|Ju>w-D9J67Zu_*S{ZWH~X8Vwj^kx)Xto+?e-DPUXroV>1*-mTQ8hNYr@hM=GIWM z3A^$dE_ijHtQvyg_)O^c5GX428BIBhMlym4{kkiRH3*t?Ba}E56@GNCo+ApM^Y4Y$ zm2v`$Fts=>!_Kvw0s>f;)9cIAUsU_{5bp z2&ViXEypYp5IDxY=59J%P?poBfGG6&p1+~rYA8UkBDkTHrsF-V+6%jpOqRL+7emO& z2fnx%{c;!4m7erc2dn5~OTAcVfr#|nk7a}U45Z_|T_j5j9U{~%!%sMaekIvga|A|A#_KcWDSV3lxOv!%?tc(G3f>v=x2TDC>j<%H5Y^d%VrR_jn5vi(#&C~| zf((&HMjVa_6{bcVVP{iFEoW-`Z_(b%xB_J*7T_N~I&IWS)|`IsNn;21ei2hl5#oU% zw9syD(ye=-a&M82UCUywg9Y)4n+8;D3a_|f25qNZ`wfP>Ez)A?pvCNBHBG_X760$T zQn$6_%;<}5QZQl`3NS626PloEXp1ITFG!ap7>`00N!thA(WEXm_^ z7G7*Xy@=1W&QZQbGz%2@IOG?N?YjE%%P^+{ngP3Ul9bW?z|jNit2C~&I3ITT%XNys zuVg9OxPoS)CLAd4&B}B@b4TwydVro^zw7bs!5RQ729Olby3=X3n!_^F5GmeopOc!8 zf?yZ2kQa@;WBmX)x#q&U8cR8%yq)3*quG}93|$P(4EmrHbxKlF`9l&;k_|hAArW2E zRZ~B9&H*Gff=o`_V0OXnG%QJy%NM@YSFVQ>6i!{PER0bD*~$@|$p~kr#{B}NmS%Zo zAfJsj(QvO(J}JVT3-KYC3tQxms5)N~hPUjbW1#D{LIVcZ$o#q`=F1WXxGA54xG=gS6CV}Ye>cWkmD1o^ObQ(M?n{M{LQ2X|e*QlAcQGGW*lU9z!j2m%*;Oc0qa z&H|b1pS4h#VNw&xtRmDgu%qi-8`~G4J?y_xY3Y76pXlEiT~jg!Br9fc4m2^GB5z-`G-(;mQV?ciU&ZnQ{;~~4vR?KDLw;JyV-FaGk)cO| zKK6Q;F3UorBKGw(w6U&+f;N@3j*MX{<)9l`f0rb%XJdKC8mOi0O_76O-j z&-#OS-4McowE6xe_}QPs;S)*uHS5P7+{U6S!qliE3S}Ntl<;70j0ei_@HTg?9%M*>LpXw5k+lYKe37->Jxz| zOU?Kg!qnfXcELVcJS8z?x*ag=%qNt5CNx*HJO3O#UYu|LCsa+88L;R4fz+dtp$=p| z4zCOCR~kM(=Nf2!EqMUf`pyr;DwgcXhK5RD=^%ABqJ`O)8j8dxw+(I7|B5sS0qH9v z@S4^r667zo*m~_dPf!MAx2$v6aDX!<9`};^1x~A&wdE{>?3P)5xJ6X7+_;-Nb*a*~ z-5SGN(CMQV&7_tJzn*qM-9ylu&!{j95@(+SovCRp#e^hWUWo0&Bb4=HSnfT^t&^Sl zX3PtxxdIxdchkY6?`B>S5c~RP&Bo7)#{CC{BrwN-#Mx}{nKTs(OHg5dBxZVJEo)M4 zl;JFAQSx8h3BOhsGxpq0d7_pYVMx&`EH8gK|NnbEK#mpSL-xuxChJqC`Agy{BKN4f z0OFbr&u4Xe%;5h%nRJlj;xN+tL0QEWUjYW`UD;69az;as)wg63-8E*|W<01;c**{h zBeb+ktw7NB@bQ>a{hd@71;$n4dM7q=agAaZOX${Tl%gpzD=*2pqvnSi>JL^AC_PWu z>fZTwfDp(UqqgJST+1r4A@_KgKwu>lfy2<=2E$w0cY!ubTx{V)%3G{oLfOKw*1u)^ zjR|`v3F1oZX90lGXE=6Q%}TX<2mZQK4{`Pwldu_1RECf|%#%!^6Q0JS11&%Zn^H}v zp~sUVi#^cKpz<5^TY_yo5dU9g(L*&klZ70>jVrLU;oreEe&tubMXd8!Yoizq9!(0M zYnax1Uu%--Y<}j24{pr!uo08Z$_FaoOOczIKBm^Xr$n$(t_3UW0P^?+bDKKD>1d7R zb}C2q#r6Kiw=zl_PVmd5%6o1u5iso`S#=+ zXWz}P{BmSIjyTxNW@=PvqP~Er*nvt@{O0Cegq{-^$*7^Iv1>56ivl`pI@eT{mUFNy z50vNmlz{b^C&CF;h5QXA48$Ef8|v(2EuK#Vzk{k9#{K3XXgAw-A^Az1REb1vH1A7oMVdJxhXZ<^8CINFS+;Nf0y*pubUn zH+bi{)ct|1`PorW3GsH{t6X|Qb95ibz%5%I;HIH`d;Ve^E@{;8c7yVi(B#B|9`xXa zO#m@)HIDZW!0r!TPZD+cS)d2hRYZ#{+e`Gl25#Xt9P4N5aoZ5ch`%F^d|W0tp2?!V zV8$i@a!-!>DshE9DP2jQJiD(kfIwz(%7cHwMGP$%U9QUb+!!06Q>N8|ynSHzUDnz% z@S0z805FJrmXa|^6{mpwW6dKMNwnDQ9dk2Vp4FVQAM}^`=n6-E{jW zQ$%0(Zhcr_Z3kv?$cben;_hbG=(w*&{Fei|lR6`Q8)cM};zXmQGykVN!j6VFNzZzB zbk!Bu`-6jJ4O$S)^^oZg_+lr0e5(oJaI}H>=T7q}1|B(aAvx-uA@SV1DemXed4TNE zk~0>@nxtS*1C&@-XgebMx8A?Wm86h0{-zZ~EJgc@yTDdd3I;1CsJm2LNX78GRAPND?m_eG-xd#$#Qq`;Eu^p%5FP4*LTy&bkMnMlewX zmj<(R#zN~z85<>v#0$Zy#3xsB46OJ)-`clieFbRx0qLl@ias7YnT!B#xMuGU5H`sroDC$>SVMIHyHraLm$ zKRXZTP;YwENT2D*1URq=`>5layi__54d{#Wktge-teduOMQ&0;41_^czh{8}!ac%6Th5SoAW5p|0= zSg-Wwco7M31-)%k%+5boMO;U%?FPJol2S&qAnj@}8#-DY7u4m&a7dDau z67I1R+~)a01+DQPm{twI4JA_?wl+9jVKJO|eAfqKeA+UCfAYyW2eOA-W+2{#We%N)`*wjcW3(cUfcNev34H$)Qq2O~?lCHjQ_fi1Tr62Et^hQzNj! zS85;O3nP15AKt9qJ@RZh#5n>pyH8TIA)mw~X!C*UF#AOZU6Thsp3`L?>I* zB0NjElFLUA^TJYH`w?v~S-f7xm@lvnN7MVzSKehQ#BXUkc-q$@Y(N|-5M;zY?YTXq zh``?HijXH3AGS*@oIvZ(WECYn42aExy)63h+Udo~<4;XKnk)aEWLOl&@z`45A0s$P z9KY<+%MlnXYIA*_afb%^y~+sA?QF>24PQRea;_LG%>wZBn9T_usiG(i!m$!NJ-0TO?V(ZSXgrnnmE{L=R@`u$09~WJzjC)av$} zKFL2z(`T3P7eP`bitK_th-3vaZlc29{%kLA1#uS^I+dFLYKnD*(x8K-&EABwuTdUN z@T4J*jqwkItJmD)ea-UvX|;IgX0_A@sX}hCfPJ?le#2|M*nbml4@1ps&lpc87!oRe zn&XF$oG#F5*dUnVEksJ}rLdERpt_#V1yzQz)=IiB+pP68a_Lo|=3-S^!<#aW|d zFwj*^zlb`nr2M$-2gK5fsIBki#Sh&fK3f%I_w+$Pen9(n?*7=?6WXPc&OY#jyKKu2 z63Wc@%Y0a;1~?&;saEd$ODCJxQHWp;R<~B^(PcKr@eE`W%z`a+xz9~Q`aHElpR9|E zrY~{EXVnUyFu=NaEPbw8iIp8P*+EN!zbU zE|8~QE)w9nOK20jx(Bz8L!p79>pv`A(T{cwR)1?DfC}ZAp;A=4Gw{0z2Z;M_pP*E~ z*s>{N%YOq&_NUn*mv@iSSpvKtGIOx3jG?wGqvV#(E+}69K|f+pa(sfdJAJG1pGcuj z5Ssguk$Z0~7#2^rHpo<(`FEQP5+&_GGsHvPyG)6&l?&=&*NjL{~gL9jwH;$f~B+_)RWLWto9^F@9C=n_sI7a*AUHObjrUvfMORReB>LOsG)_pL~yvLpD zhf;v{fJ-2=x{|OGt;redA*}lHPN41RL5>X$f$_E9^Dc`1`z5<>h zaUQv{T+EV@nvWjXXt7>z;mf*}{|1o5qswpGd>tPbDlOqZqbTLOXk6Zn>o9B}$E5_=NPEGJIr) z{;o#47=6Lakwp?76q4q!Zjc8#O~X5PNcd{QAbkGlMvIR%oeRLxfO}+52PWo%hMeb< zS7Ino+UcvuxxEz>asO9$4i$~6HJ~POXs$+bhB9bJk+De9v^@aOg{N_`hwD#QG98nQ1Oo$qPcT?kRl!dV|%aDzoW5gJv_ zRGuHNHLV$ofOZ8kka5lKT~4wSwkxIA$_e#k?SU&SnX@x}vw*x+5c%MDI2H)LYOD&f z;F*@;7+4X}xWV7jahobbSY=hF@C(sFxeZ zilQQPc`Uyz;DTGm4@O)bJZ4F*$4)L`!(BqAv6jcgj+ruV5z&m8F76nK-j+5nB3FmI zMd4CrVsa*tCy~Jx*#9xvm+Lv9;$`+GT@}J>(k)p{cAPt0ZiP|nk?+!DaK32Wlj4u> z2F^ak6)VbgQ_csB;pnjJ?0pH_co@P|T)ZEkjvZDjp%6Kcj6oFktt8o>4la7W=0ul? zV{}=NrsJMX5C&HKycI01OucHC=@u5Rh16krW5Gin+G}6HRv9b`p9EG5Uc_QV-3gNa z4vPrm&qOW8Y}{1BWo4U-a!3;Y#eX3Gj|C!r#fwzeByII%bL6H>2z?Zsjmp-V1Xr0> z3Ez5wSHQD^j;(sfG@~Y2`5u(CKa9!M*#g*<6D|fc^NlSzzujJWzt+ljL>1%f>RG;} z8S%W7(sgMfsI{cS4DSKX&P8jB;cX6$U#oON%>3=hpOiHM{)P zd)y4OicKJeDskz>*j{@_=dD+nfpd?P>2oVF0+Gs|6^f0K&*L!Ni644H%{ADH6+uPO z)p~3tykrqiH%G1SINw;$HC60!b8cwrgaeZE53%7s&(WC%-l{n2H0BZeYC|^^#EYD2 zZ^n9K2d?t0U1Riyc3@s$*RE)*|5rciHXiT@g>8uM29J4GULQc(hrvZr(+~q&E!Su{ zqJw|qA=pe*f8_WnzA-Lpk3Yny6)~Pj?8na@YK#ItB~cj;wb>J(yVf&5A{1Uor1i!; zkR8Pm%WezO6*v4}j;K_Wd5R5_KP`eH;n8IRLYX+dg`7QIS*9TGz zcLW4EXeIz;&U~Kbd?Dn!L@v#vduY92klFg|v1v9%dyM;2C6$EOpQerd~)#N4}vDu7#U-x9$`(PXl~I zhhvG==R+)K1hc~|R3ebELM3Xzesr>hmo&f7BVGC{$_(BnlinNIV=Dti&YZ=3r)m*j9R>B0G=`NR{<7}6( z%DUc*Ylp1BCwiRHj<(m7FI|Y%tx}Lf7DRfAap=rYiy0P(K3*@GGo;E*K_+1ty0H$SB|= zNPVQurIZ(oW3B{Fz~-))MQ;k=oE|GUp(y?>yDT^FZFGyWD0m=KWTQeq?^;)pggX^_ zpQ7^SkaFBy&JrsokG0gZmEYevOC=kg5Ht{((-buo;I3oV`HYHQso|p%)yd_Vl+iqe zLAv)f&U(Q4T7=Sg21#a51^;gQ^Pz_MXg4S;%vT?NZR|eE&Nfl{LlRVMx_slC+*0!U zRa(9zZ-)aj=6G;z_(E7FyKk!EvqvMjq)x&Br44;0b`>()6GGs3i9HvZ2}G?CJ1(>N z)TyT@Ysc%yiMe({|JurCeD5Z~Uab60$$O^Fl2f^IW5 zW33Jwmaclt;q!ipmQXNRu&HtI9{tzWU!&{BPt=uFL2A_0P3N+9?74Wh!o42zx&Z}U zSkCDcOXd-fLJG(|0lyJvv{IK`gBs({X8qB7J2gcK7E~HE*oIpx0~fY7%rz~Ya`q3# z&z&coEg3U7TF#if|Cm#HEe$hXIRizC%2SX&Fx&(C_sXp3ycjEVKvQKsyP}N{RsKenT1*+24GH z|3VVXPa{AKa99{!EL72Og6?#3_GH;IET7VawYaA0DZIgIcC4wwcgQrv$qo7Y+WiEM zLY~fMSH*0T`;-Rkxk8Kf5gMZi569)KBhE`lEL`IK)r-GL21$ldNb9&i2_4|K_}mQ^vx=8+PFxA8ATlHSnDB61!Kd zU!0Sb5RdW~@%YnXfh))o1Tjks)XJ==_^wVC_ZSoU?u8Xv;klQ(PXs%K3Bz@-L@7U+ z>_84RJ1PZgi>+z8Xzx}c>V2?5L6Td&l9#XJ0_G--5Yt#mC+#Y?bAduL^K+W!v&wCP>r{QZYwoJzscvynK$tLSt`Bd`h+?R=G8?j z3nF6zGUl;}j8`5+j_TO^{}}{}P-Lv1`=(>wg2@lxv)DV2MtgvEuO$;i z@|rzxx33Exp;1Og+{vXA^*%z0?|e&Zll1yr2Ls1MqIcZ&|4+#eP{Mg2^@C&(PDBU2 z&3TdHPhQ|XtUIgmjOGC;eTwq_L#T|KZ(9kTG~hT$4VNItwU)sV6x6L3FhYqYi6+wb~Us38B}?CS&2j* zpkDxRS8jG>w%o(@+aw7M8Wv=wl^`H349h7l_K3nR(5-sZwYywQFXCtIO~*bN^@Jd0 zeDE3ibRv2@#W0Ae06cL6@3Mrkam%1%gjVhKq_@kKR4@oB`d?P-?+E->*A>e~F56UF zB%fHGt66|&&bLl}L}gTfMU13`oSBFJ{y%c%n!hy>@n?4D=vZDj8;z1>bs1&I{;*6> z^J$W59KuW}TIGWtx?^=s+)bJ z{ri#%9@=k3EvHuJhaRLQn94|i@W^?kn9r$^rfszN50hT#y;S_F;p%bei~3v@co~oi zDvrhNK3R=d`*n%7CtKX`9>?HGCB7Jj`_N`mv73J4ypWsKN&0bK&^uzJ>{;|_YPy5! zpDZ&6|0yY?>{$Cx%vNM0Ubj8$PDrSX2bYhX$hJ*a`a7z$!HW&k(OK=9gK3GNCz{zx zoFl|EA03m@VM3-?-1KGDW`TO92cFygp-3ub?+gSOJo}6=^c7v;wq&s*MUfr078#k2tS#B9=j<3NphYO``RUe>ZvVE z8+|4+#Ya5{>B96qG{h@0tIF0{b0&=VVf3#_RGFJ?^YPS?#S zlTXhj)foXGZ2g$eL<#*yFp|O>fOXr*)uIbfG~ApfTDnt8Px7O+KGq@kgdaE`2kIW% z$p8l6y;_)z+2x+fY=QtcvQhGbr7vt57k%0S{v;L#57mRWliFn@3MjkY5b z&S~ay_*w>h+~oZc?S<(oPnkTtFle>lTVszh3aj{b{L{pO$me5Najg)NIx0*9yl9J? zHFqtGBeJim5wvg+L+Ec$R`wxroJW_S5MLnujXqL0Z6u=6=5ONWd;7Brd`%$XJE z)KR{^7IfGm4q)B*9=UO(DXx@pU49!gP&;8OPtQ6k^E@c|^eEE#LYT1!Qv3~~wrnU+ z@iDnQiHDmeUZKZzIqrb2sGH3R3Rx^+=3s?PfwNtVucl0<>7KFBpc$kP(e5mx+SRh0 zj48Iwf$hQSuMV5+KIgr(mkJ5-zCO7_;l!4qG2d$V@RPR`%dDxyYXV9+NBs4$yi*NP zUl{IIlKCWWRlwY3UmTbIZloq6+Zob3aqHXSfBz)6EU+w)3lu=t?||=T_Z+{F zB)*;Md&+`d@iZeL_Ir^|NiML85U=XwC^sbjx*G9v4^0Mdr6up9f?)t&$ZL)CirZde z-aTD4GZd1jbvm64&c?veuB|p|M6N&2NYd${A^~Wfn`oPEh#csw>+h zYoU(PNP~&6pGaPnOI7 z91RYC1Y1#TQFKQJS1JuZOsu72T1=(>^Mx?`WjrPcu11(ckt=@>=_##7K70d~mfhtg zjY;cwr~}!O=iJg@nX<@KbT>Cp^wiU9TzamwaZ-gJM6dd|)6px8WIZ76$O~lMx=L051gkq;E*^$iVXx%@^ zQnF1sY+jn5lou0$MnEO&YUnH!aFj1TpFYaos-0{7g{Q*ac2#oWZ>9~Wo8~`vH!w-y zqcX9exiC1zT}urTRRln!T>N>~asBFHbv}Z~_2XpoMZ}jG&Ts$ZsBnzXY|ydQL)#cd zLnf5>{LxpXO$ud`ebPvAh6DwJw3AT(Zxj5tReQDfjVbZ5S0*Ia=d3dcbLA{>i}p0? zsXW1F3DpUcx?{Sv_6+ORuf|d*YSFlzP=u@Af=zQ^uJlLG;2*%Snj4KpCfRAQD>q77 ze}UVUJUA_a780p0>p@BZocIY?94we`#+Xut^aFD{&BcU1UWghc?M%R(iLNrk=4s5) zXdOZQeov5|F|jm}{iK`Q-~8H-uLGa+u)t^DW_j^sr*`tS^#}?>3(EH+wkHX;<{Z_C z1wSr$hXGLT@me|1}|>k?992d(fza@fZx}TwU#S zWp8U6P*wuEjFY&Dh^d>k$lPj6H#w77zt&w(7h7kl+`&=Qqa1kq+IOe(sve|Ye5*D-U%m^|pF;Blnet2k%^STWHKQmX z)=Jq`lrRK>N|J(|@YzC216$l6Nf3 z;WjF4c}BL+bs_iHKU=8^bo(zM>GrDeP zZ|+_?QF&`c*e$j4sz7u04#F#l_8w{trwyzrD5PI11!cJ5yC%P1oGj{kxX6 zbWtC8PMHP8s0e*ddWlu|D8ec{Q<&S$_4Pe_t;i8qS57k+;E@!)ST1RFNm?blNGGMm z$pkAOID?LpMPM*Zf4(m~B(vbVHwSrf)Hw}x!Nb0`MV~I4JqkAFY>3<56DWPH!3k0a zZ5)BFX?A5q&Mn2zY2IXlucLyw(}r5QD6a@xMG zIrCyQi-t?g3wc}~#djat!8rdB*8{lV#BmEwesi{W#g?P%`-WgqHPO#dlI|a`%zpa1 z4AB7S1FUttHcB?>nV|ByVCI&u5>g3l-zOT+Gw!!wivwTph*a5lL1rgP-kG*&W31OO z$%At`Qz-d^9}%3({Gq%%d+?!4NzZTNy9ZXltKte8gY9#Km;0p?xNQ=`1+o4W1qn3$ z^N#rZS#&&!;g1)#XBKi0Qm6&TC5(a(Q9TdEPA2+R>8hyR;AhW^ti0t+o`~6}Ej0k< zkM>e{hD_Fzea~AS(<^DscWHNywQyb}Pspxpn4StiU?>N*{+An- zMMcN1?w{H4>1_A#^;B z$NgyYB9!s3AvJMILpW`JWY*B**XfwYwDZtjb7Hru~`FI7#hk@83C_SL%w54P}C^(%uG~-g!1fb~mC-!Fal^*uRIR9JZOv z%yL15*Y^OI?*Bd<-uFM79ZOVkqT^0=`tCT}nchZOZnFr9x_#r1AsoW{0!s<;1l`Mr z@kKmt$XsdF4PPdTWH(4+Uj7x_lfL-@@qBxZQ*~}tRi|v>XOnk;!j!G-d3 z#SgiE*=G@`apEDXVwa7`R)f3#^jDxn|X-=`Q^5AXQXkKYye z?wyLoLAgEIxoZ;IdmLUBt0KwI@$!Z&)q@y5Dzu`JwIb=wyXSXpWB zYDA17N0TQ0?;b$B(P8;bDSUf_jDIh9!R0M2(_Z&+WYT5@M55&VLowWGL!)msk>qJk zb?kEn2SSRvMZd4IW0l}YVvtBppC+FFu$8X+c1x_^b(2Zu2_y9mLY`E_ z@m=e^18*QA4&Gt$Dm0^@0zM7{D-iZ?v`G#i{+Za=&46IZpjaxkK9y-yl1y>-xbkml zSZ7!rGcq5B`wuI^Xr~B#h@M>#SJEEukKzJG!R|QPrJhzcuV#`7;s`X#=~_#jWJ#ZT zfF9_K$^bprMY_)(xxd#0PixI_Ta4Q`c_ESZ+hW>1;Q%l3>a7a%Yu}#zKGDU^Jj*(U z4WtNDKZQa~mhbhSqX1jynDSBJTjUEr+1&@)oen<_p;x11WDUk^Jp0(`?xxf>eAfEs zK2d0*c8hCb>3agEJz?%pJg;O5_W&p0URk!G4X?w9X{zWO z?5UPiy#`MIgqss%e1#t*$|u!m4RZH6He?wqn$J}}MO;AzkEF%CtDf8Q)qWo z(2j9t;MIKN$vHMhDy>w$j$hk~LOztHWV*SjJ<9d$(KL+jvkBGt9&YjfLZY|F+&%72 z3AVpxTqtRyE><^qHSDmSSqKfa!uaqmHbzotqVc^M_Wr!^HZPHR&J!g-CqG3wciIYH z-CvoUt)30(2?VmXu^n`b8&{X{#|fy6&9k$KxQMntmMK;cP_)sJIQ=y1;Tz6^GbiNK zzCfmg$t-Ixi=7c zkivdJLe>YGn&0#KOp~`&iZCRG(gfY{3NsF8&b3=g37!}6!lJiLIoO8HGrpRDl70qy zC~r}C&EF@-uMkgR>VVx^S#7C$tC{~Sxl5Rq7M95h=-vCB_m^801W?lnT<|zUtw6v)fu;daObbii=hj);5W+L-qrj$phL#T?UHb#^nMdXp-A565L zsGuq*lAKMsEgT!HfZpa;n21a8$%n%H)Eb7b0 zCw{^TC|BS5!IN4<`{ttM>f)D?gmw8=v$G(5sMYSVbAkh7&`vLGM1d{zX&H`_h7$9) zW8{BETuzLHvr?TlD}j^<(s(8;9;=H)J7Ic)qySV6@r$6R?`gM=_GrMLcLCqQ)!wRs zcA4G!8OKieYBeKW({Vz>mW&Bv86QA2fQ(C6frg~DbkvF8s!{Sj064~Nw4P4jcR=dO z!+!%kZmB?%fO`E7LgV?nmkCaskCCSZIvcG=x(vdMoRRVZY2hY3cfy<11x}Mzhxbca zKglfb4ev!jhe5oBml=$^rMBO=egH)p@{)*=8B2@dx`e(3ezBfe(y z^lD4Y5L)W!6OzLep!3JoJ-x*TWK$)?);`#WGj)%V$lEK7s0wv&{!b90q4lg`>BoCz z!qDl#{$+>@@McN9Ho)@Q);7%5jbfaxWA@cvgGdZ@N)D_7o@MK^ff@Zh_D zXVOuF4t}hZvPoZmC6w1qT}SK24i*vGe*@A$mLz*!G^ZA4$rG5$AJAOOdg{K~_uv^yf}Ly}GpBT+gL z1T;QC50U9NdYC&*TGHEe~7yDoIBR#7iu&08ZciEPs;BBZs(|!E-%Vr9* zEzEY*+22B@{@g?TGS<-=!nVWCMuD5-dD;E9NXKR>DYqKBuEbvLS~lqLvq_YFm@!xZ z)mnQ0_4EL*Sg&d9g~OUnz%(0?;8cS^TZu7`qfkABwSul(?$_=rA*g%6==t8#H@4wf zH$D9}Q5_N(h#gy>4S}G-4T!C7&N&2c`d`nKJJT2r2l+f2zKxyW@}QWS1>Lv!`Vl9? zh3jm>WB^mz@)0O_`jIL$$znXNhv413#~@nBTzNusZbTb?&f!z*hx>Y8whXSzny+aLnO#k`00aclGa=1YNI;d$uH<8M!OM)E zoOC8sF5kXBk(5rymgZ@DrFprt!~&~z^-gJ)#fAwXBC!MgZF=d+&@)mC(i<3xDBQ#N z&R9g$SEc8Vf>wj>4gK@4&hE-@|3yQ~+A4R(W>eE@kju!kee%SpAI4(K24LQ^dBMy0 z#?J^()|>G51m)3FFXErr4n68A#9I!5wd1N%mwr<#%-f0I@Av8Ct(&F!)+RCwvy4Dm zo1gF4!Hq!CP^!t%x^S+;OvKDq2YWZAs~zVS6zQ&l$r){z(`Sf#%g>jxHR7mWZF zx{z<4)=?+G*jpUyc~S9*l6PvCF?1xB>{o=Pb=U3bZ{Id9fJ$4?sOxgu(a_;>r^nB1 zsUp}#fVc%UkSzO|&T?{_(T?d4E1#H~`5mVlxnG?_Twoi9oWjaCkQ0*ceozfA@TWUP z3W0ZX8o;SeaYepla<)|?=zhEQofR6fD1q%S1|7FK?3wkdTtZRNcY_!g60Gjx3-iIb z-MRaya}NCGI(EmkdhPp)<|+nmav_zZWXn#Bt|`LDdxxEz2>u|NwLH>)T!?a6;Q%k| z3MCv;k(%D=cqyl8od;=Ej#)#Mp7uasId4Ei$PJ@hSAcAUiKa(nOM2JuPOH{{HEVqq32IA@ zMGC9!=^nF2%JLB3ER8{rk}?Ep)h!O8bj<&wE31`=$21_YIA=De=+~!AOZBrexRHBD zcb>Mi8#bi`5#C9MdJ5C|HsoAiK}ps!Lli^5VxT3?TZlD+(Xm&6<%`Z!29vB13LT9# zeo%$iJ91b3I%eocs&ezwKSupv%sPy;6xftJ-kLJ=NA#S8T$Nd~=Y|cq9>PI$|6|dq>OZ48U!`7ySbE_!*?)Yl$TXC`iD( z)8KH0B^zzb+>d~NK0H7yuF64ZeG-Xr0^mau?f1CH*j9QXAG+dg@?^b{s2oE#R(44& zp;WgD(5yQZCX7F0Zd(~Z*I|Ot0*XrZT4qXhq;;89)}jN6Ee*ELdJR9;y>_*x^cOTe zHHVFM`yxCqzD}E~#sgI~K#Cj&l7ydW>@T(*ALZctv*qyEGgbqw%!#%37k`ykGON~w z75GPFBMyaa0MTw!qbu6xtPF-X_ped?aUQETD)>qhta2U?jGTyGKIX@bE#k9g3rnpP zW=GbEed&K4QTpL{|M?EFOkgOtf+^AQdy(QH`y617L)oli;^+BM&o~2nwUz&rj^fQi zbEI{~vcS>bB87+Rv+X-jNgx6m%Q_k6c23v+c&p&Wx?Y@C{rKl-D3J;TAhHx zZHbA0>@9ydGD61*{$DKTg1?M|wnfo#^1UO9yk%XF->kh4y*b~CzT+ueEnP2)>@67 zEd}TE=_Asg-KBVJdISGAH>k30xz*XSte@5Lj9J#FjyBLece>8)u6moD zmLtLe8ojv(iZNPpr3sS6_jp}mWt#Hy2K+h+G+&1UwD-2sr6y-U687vC zr9erPt>bPxw+m@9UbETgWN4=Q0Z{K*dTd0c_8J!4j^1lHqhZ!mbh@XK@9kf@$gyYR z$#(&lX{UZNpDnVB_%x-~=rN1QT_pDYnj1@*L-%qjv~tqbmtlRdwl}A24a;3PBwKXi zoY22N2SbI<{lPJqY)ed9FCnSs;z8fX^(y=%0Ofe+Rz_$Y-Ej1v9hVFAmI_vIS8!^c z%uzw)*xBo2BiVr;whvoi#ixQ<%K>Nz-L=cvH$HaL;j;eFX7Uz5 zF^I65=2p3C`PfUZd8s3UEJ;=Q;T=9p0=K(0X;_$?bhAuzT=e7L!T~#(ivV+#?ir!s z%YDPoKd1Rtb>i{1zYC&U<(NGLz1d(S`+kjxOIqAJoo4K(zzHAxGnNO|I2RilDM_y& z59cEoaVuJ;YLjiy{^6k-u4R|+N`Avb2VWm|(hnhh(|V#@Z^m5zQJN|tuv0JBig{&Wwwc_tm+W*e7^?mG3(r$+Y~cqOOTWVZf{|p+Pe!f zr~ZaEfCc(~`Q*G`BRYH)U$($vZ`zS~)BkfBQkt9n*S%eIe&OUy@8Tu(>q`~mB-9!- zQYpZbgYB+dvj5lsoc#8z&jmCk1i~x#uBH&q({(E(8w86SCqenHBXTMQpTapMn)y`G z;ET1am(beCb3# zR&KxQK_+Xoy=2uy>1IB@TbWJUW1MOLCUMj;rAVaJ7TduS7@M!_J060N36 z=Ir`f&m_7jcqIU|`*GYL_xu8(<1oLPp)@iER&KZ!dPk@mD=tB&$KT-Zx#f0rlU+LF zUjCaoEmnCd`Bs#~s1Zd_Z^3MNS_`SLDTL3?UUQZEl-ZBZ60Tjipl&0an$$VJLggdo zS~0`D^H$AvfW>^XF3E$Yc*RF{^}S2wbrL(-D;JOTRn9iVNnY%0z4kJX-`odZPHevW{_X|KbO@!%{fi`UskxX zm)_ZAc#-{tzX|3Ncl!tj$h!FR5d0zKHQ~97IWhB^4&`=mtm+T>Vj-f>X{u+XzhYA5 zGOE*DWxX-38Ll$~=A7uLgZGyWG#V{`0uGha~*Rezpe@+o2qK8>Ab zPdhLgFXfREFlNJ=e*}iX{PN2JNf~M+AsH86?241XkcS`7iETD+Jm7l-h!64GpE+vB z6mdccHJ(gzn#B#w{);GePW2j10COkOrX7@u!#o$F-3*M>)4=JDamRE}LQXVQr3R&U zBPXy;0JYhc5CXf}%yh9%rHI%0nHMn?1K26JwN4@b~d|op{DCDGixAymdPXZ#Sa{ z7N=*x6=pDvb}VdkIK@Ir=~~Mgck+MBLpbgHcYm-mnggCUVRAyc$g7PzV#UZS?NiN9 zD&}`(?9^8ZZaAph={kkmW|3MI(MFkqP`a)x)9N&o>+)$)-_YOt{cCkcF4Tr|&C6ir zxrO)-sjS?Uz^G`lVjVr$MYQjh%OC!~k5>rEJt#bLsPGc17Nj|@-V@PrHgDTNMhWhu zfm|z#G);4(U$NH*#Sl*&Kd7(1Rkhfd5AZ9|306ey#wz6UMm;Xd+ie%W?Yvw}6;MX#ceth}XzT|DYajP^M$rn^olXxBEjSg3oU8burOpd^5|q1X*7! zRh=z1BDSF4UYclXQbH>??X7p`TPOU%*~|D;$4ByB{@<(ZWwlbozeo1~$2mg$e^q61 z#n4aUC(a@__$lb9qi%xSKq=r-Wn*{&KWOkf;m#h{+p;r{4@EPlz=)~P>{FOa+?=#g z`S#MY;aHx&x*&{U$5#=OI5!gQN9vuPfR)#RV3jqAA_?zb){wGGvs9K>u18O?OsuC- zwAw7(2s|ao^_|PYiK4blMVOYWbZ{d8y9igc@U7Y!FWtUSD^YA`!#m!?*31vYSNX7} zq<xOHN;Ui&-j&QpF^FfRL<>G?N zs9799zw8%q1LG@<^N;ldON%t^*g`j|im{f)%Wokd59$_7tn-&O?R{DYVWFc;dFF3b zQo!=t&{jm|?1)(IPcbb(AE`*B8INH-;Kg0Al)HS1r}5O|T@i-5AkG9F?zZVk) zuc4>*76J=+#FN5Neci+E2VE*kf`l#+_ySV|HALW_**lc^t6-JwF!iZ-eT}GKNzO7J zMs}U{vYatvC^?wBz2=Y*Nay2J0cn}RP6%vx*_3=~<`qP8YSefpW-NkkjUxTksJB|Bv@i6}4ds3Q6-LoDC{&TwCw$(SrC_>~KQjygA;)O=@ zOP6KX8TK;tfz7^RJ;a>5m&um%!w{c+aaakqqjC6vy!#g|+Hi@WW@RI;>I~S*BK~yZ zRX2`=y8KCtv?Hg)Ja*C~^P?5dpaKQ*Ig&Y89eC&0eX% z$3WcQf&}f=WlV_epHqqE1a@qh8T16)YVvTUB*IK{-()1|yiG2=uxL2YA6ws^tqTI# zQDSyct5EwFmk)2^0<1!@{KG1;4~iIL&k$<&v&UllBSF_W(l;vIPS1SS)*c>zYwSsX zDYy{s*!+^Yzq52lxEGIHim&B9a*5g(1I3}6F;n#FsQd`HVyD2Xc-0{UIBy1mdBGHe zE5`9{GN!Rib$yY&F<$5jl$ctUhc{1r%g&>7M|7a|pbaUY3(Gg$U-XK;Z{?UQmRHI` zli}y}m%h;UozZXE`sV6)H9H)U7(Yd}2bln7k!*H%McLB0$Hw*5Bi?FyVA-6zS^h?} z$mT3;q=E?mtzgLgMJe_Tfp2)$fTejK`){W-9vz>ImT{%3?5UYS5xFLtI@vut?LWf8 zTrPzV^DlF%EuRi!t7#fGhZUJ}<^uW~%1}nfqkLeYI5ze^YmNRfS;dtl)Y}r zqsZ>5AuDTy-$_e#m%v1=#_!A+xwg?h>wK$cj(1N2XeY%-;3V7}SsENQz7qU^Uh`GJ z`$!je9YZ?`tOEETz7jf1t};;SZdv3`9{MpG-G*@S-!qd;zx+0-7wFULPmneIvfD4W z#|@1J-T+HS>97U$jsCBMd98+w_pwGQz^R_36{_J&3qJm)C#QrMq(;UJ+vj~|e>CIa6meXG7_c++S@)!sK z?hLWI=y4Z04ie7b{2C zuK+P3_47trBPgkDexT?6E4y(DL;O(7Dh(9e90LuX2;#onqGXS%wD!W2v;?U0oOTtV z_InZ0HighRO_k+yd$_WrWzi#9XPTV3E9NiRdnprYQ#nzaJ66Fu(`hvvu!;1*X2WVP z<{KR*3(n(rZ`xC>gTQ(3--*sA)(2)|PF-w!&ce*}*?})4dqgakA(Onau9)wZ$|c@M zefZ%H{yhR4#Z<9x=heCSqtSBzI9oWt`bQmDr83*&@xu+}XD^=Wasz>BxgMhKto$8# zT|2KJl2>W`7`d!NTJTY_GCn9S{#K-__hi&dzD||OI5`I!oKQVX%D_3V-v<{v25*Qk zk=26wNUt_n08T@_a9}C-LAU@8WKwExsFB7=jLfDuQ3-<~R0yzLn}m%SuC@LAs2Lgy zjdUl<-WJ8AYg}rLX?YOl#C9s7w|Ly8nL=xH`ug(=?l4#isT_V3Oeej0|E`Y`Kmv?y zdb61-+74W$UgY!EFOB7OFfCYN*EWShJT7W&Z?nD$54c zvyiMYM}r5y`jM%;oN?B}QEh8PRaa6?$$goO4DZr+%Xcf(!Lnnq(9D8P zP>aYnr;p>Y8Q5i4;)rwwg6hNdS+v3^bBPiNrNTT**>0j5rkA#JB*$h2$hUz{ zlPl^9ztpGf5jDXl1*g4zW}eNa8!t%mM9)|+hFcT#uRa@xAV=0Ay<)=44rn!dS#GI4J++k1nc;K{?Mv)4veJi1*9 zab(BXCnO{+Cv2>+h1Vf)EouTgzZ(KfosYRHLMWKb)juKu{jOOL_>y;;=TG0rY}8Yu zcOYlKT?959D=Sk?IaveR0`RHiGPr>U0pF2@z(3ufvEbWB9KI&?pUigG#yHR|-0}MI z0B174dy*gRP&Ekp6=Xy$0z~qCND}I>qh|BKGr2Z`h$Zrg{B3ecMLj%tO0$f*HXQ(b z%LSDn`fJi#uu((Y@_i{UEP8O@#^B-O`PG>-;ncdi)2(1}@XgoA`oIfFXY@aJw7>%V z{G?w4$4-}j#JVz1Z4-_AuW3;9bI`z&H3_kbLU(N3{ zm_%rG5oDN-L-X%PT$lRvBl zP3UjMGz9JvFsFP&Oofd~#kFpeV6`+b0k88kdipS2q2!qLrLXe&qS;b>a-ok#$Hw@= zc9KIE78k~p%DL)MTkPBuia&*Mq?)}oR>Qjm!za)~)Yw)r&(h;rEP}!;q=}>HioKD* zUT`Hip!WIB;$dLkA&*qYRcEkEM_-^cqd`?YPB8s1`R4LV_dhY{OZyL92EQjE&|a4@ z#8+&xfuCB~eW0-hoq>!u1E@=!D1AhRDsi@lXF&ecN^%bFWhfegz!j8@am!o7Z8$J8 zo^WX+Hm&JFLX%JZg1K%mcxL_rznG8=o=eEN-S@`w*IVWK(RrwrisJEd6Ek$c;oxi{ zAux=}ONlw(`tJ54`^F&Dq~F`nXR=KEr|Ajh$sWz9kLGa@p$-@SZ6v7=F*$;GR_1Co z0FB6E z^KLUUc3E3O`uIJf2!g}r`MoNs3B$B>tp=UqCz4SCSCZWP)E1)mI}=bl$Ey;PBCiMa zdt>rt*?}?_uYmN_uob7C+mjmTbomTygXp#n&OW%zQ>mK*7)B8jh7m4wnvO zVBWy=`FZ?Xx|Yb#5WF3{$y8HkCTH2vF{vruP`CTG8=bjqYnwFQvniF_lsJ}*tGn_H zu4Wlpx3wv8-!U4s5AQgU6Is_^@GwG%c+&Lj8@UUF07dylRl9viVAMU3EFvce6kgH(#yL~LmWr^)_))xg}}0)YU3M4U?qrNlO6chbS) z=MAim)u`&^7b zJ~@x7Hf`zuN-@;cOz6HVM?5yESEpP*zBrZ&HI#*SfIB#<8wkc0c=ZL9T$Sb*KpKT_H$m zc5%$i##HELZ#D3XgsiJM8$|~Cq=N$cly!6B4 z4pz`!^XrQN%3^b$FSsVI&bHL;dAssTdAlAllVho7%w>J<^Tb zn$DiqWr$iMLF$x})Xz(P9SW862&vW+KzlW~MbA-NzJD(@5G{D4FU{f4wPWgyF%HXv z!A7f%<6;zGh+U*@YS{${pkyD(Z~KcfWXwyGpFp`Qayh<`E15)5Ed%b^M&$;UJhr!6 zseF6`36j`Y5~xTsL<@H0z$dTMT}qc|`KlW!4XUUjgjt%3&O7*{Fil?KUPC%iOB6dW zK)46uEHEtxJIGq*shQ6Y*-;Wbp*Q4#=xKDFbZFA9{nw@shJYe@?U*%hz(fMsQe2Sl z4sOF(3O_~d*vw3yu$FBFCyc`=7elp%QS!dneh%g zUSzVGo7Wm%n>+!i0&!j9slwS@sj!AOw(!k^ueYhBay1kB^JqF`7qr zaZ~DJYi!a|=ul6j-2C?Ctp=L()82Sxp;fXYVq5=Os12Z$;qR6rD|HgRYRN5am&nZQNKX5t&Qfj^WFMFxs7kYYM(~F7OV}wq8>cw{GCm6nzKGLcSe3CC~k$9HXA6iW@6n zejdLGl}dnjU~1FgLk zX@p!1LIMx4WUdg~lTy*mT~hcWLOrMf7@`A}t|jfku+b6^%CIWx5Se@qo=TuRd$)=* z#G%C625I}k>nFX;8TWxFSCi;{@h3uVUSL!{A;wwC?M+6(3?@<#0^7EpZJV(=FVoP{ z&;D%X9ldlq6)J7h25Gh(^nnp+I%;2^b7-qEo0n=&a>fB#A&7{YAc@X1S09~Kgdsn) z-26Z|^#gYG;|D)oq9_WqwCWkf3XFx+D3yZKg|Fn(QzaPTav_C49#f~ytOkf!(f z2h#n6%#hgjtB^*e_UG7YZ(;eGXc#OwDMgiOl2^MZ0z!;CcN(H*_Ta?cEu63bSF0C8 zU|Z^JNww4g&zcDTM-n{G&EWNSomvJC!FN+~?JC}>MQEmdv;7Ed;m^}T!($; zxkmqDfr8bES72StIQbhiUa+`PWW-B!tRdJQ{(Kgf)$lMz?-y1pzUXI95$sJ~0&Re#*7Ee4l@HFmU{yuDb{Hl(c|ta$q6wLPE?szxZZ; z|4&pIJF+O~FZv_5z=-(#;gQqEx4N3}`{i?*p-P6?x5)&qkA7%1Aea3gs$!sGnX1Px ztVF^kR^>s&Wj7Zj;VV7oH;@`^mgNCOnrr;*D1XSYnI|Ck8tXrxQs$t>MjQyNdJe|) zS&TUn*UOXuRkz+V#fm-84xV!tvVW;3u0?F+q9OG)F*U7htEun^>H86$d6u6O{HNy+ z%PhLD;Z1RR_3$m1=7?lHTrHVut@3Kv{d3SQs;#4O=M!AUrrsY@yrlVpKP+ZzGl3S6 zW<~JInMhcJ;90FEOk5V!#+`pzK4jir2FknNc*^hK-O2v{eXO^wG999s{i%ml0 zcC(N1);LZE;d-M0Phg-ka0s0l|&Q6P6{k_ed~SYMUdSd(S&s~I*!IMt3U2i!^b9bIt`G>$o??TLL@hW z2YZOont^pskd4VKtzisfN&*5j`N(zEY_T+DllojC1@YF}p#>qQbstjK-!)k&@f?Lf z8l6i~1I$AoxRrA$2$;|zE;j<9vFvCXh~Qieg1WeU<+YfkRrX@#_#6ZR*cg3}i9esF z3!M|)@r|8z!-t{NqB!R@D%hK!ow%42JsRc;`9^>rOxjxrV`8Pseke*Um`=TJN*VPv z?U1&{|3(pe$8;`oJW5G}B!~NTc}Tl)5FMnpePVf!G0oSRX3hQWkB4>DCK4kdgL$@8ZgbfEggCM>-IKF8>p6{wrCEXQ<#gQ>4{yUC^ye$L z_QWeLY!P?)NDCxm_jj>^h&e}T5hFmKP7CMIj39o)#eRm24gWd=EL2@|ja4<6SC-hs z**m6TD-9Q%63w?>CCF}nE~^DM)0yVgc6%eUS(mzL24xsQ?w#A~P?g+rT*_^4nY`b9 zgaAnFdXR#;*JXFUU`U)N-sQX{3?cXCv#kom6x-3ghOr7GU_D!u87G%5u8lqWL<&K& z4;T-ka+%KNXt3emBGt6v@+q||X9l1hy4wJyXgBlwAtNo0;k7?LUE&$bpp?#y_WYP; z2`U`+O55)Zl9E_v3F=sqNGj(tx*CCLNEP9cHDC=bM!J$8Co~Zp3Pbu_krbGg?jKGo zN&g_CVS#j1cl#P>Xy1zh8INwb7jt1oe@gX&9KHII&^rEHHUAJkgLTUPwZM)B=adi1 z14tRlJ32b?lZ$@DgTM~QrW*ER3VdXz+InR6IZCp#prGi%`3+dnsyoLCvCdAmkk;w4yk+Mfh$Sy7$N z@0-~Pt76zwJE&sdRA6ycRelO zR_+m*8*@YaM=^y03!*eBK2>^v0QnSOow!(4w8nN~m^uDt_8X$wxV=8UDo+*CTdrLR z$9?}hGIy97*8{_6!U>vYdj)!rc~HYQX;^DNi-d351A4CdPt+Ws z4Ip)OXYRK4V#F3|gDKRik<*<)KDD<#SR%ZN`qaQL795Kc=OAa$88w6gzJrNug%lP#mE0id* zH*M~$nu!B)eT8G3WaLrrQl_4ZG#n^peEgyK4Y86qSM;CA!=MaoQNn=1fA9$`Zrx!J zKq_!V#C{RPRoEG(|0I@B$`X5C`Nwa_lMDB${->88%=%(KSicO_e{#(3k; zZk}7{;8A6waHx&tw&>7HG@W16I_jX?2Of4vF^9qkM~f=DwDcLP=8Ogfu+Xvt8j+NVWlE|-;I81T$mn^8Vmf7j+)Qa!8nZ%_AW2ujcT;w zCmLwD3wmaz$?9A)9Yl^E6>J`sb}5RjT{CtIB8{xyffQjJ{8_r;d#sK)HhFFY)Y#%R z)L-^KEjsndF@ANax4V-NdC`CZy97N6E>fZ^69c6gql4M0uWdDkgyVpPDptg%6(=Fq6i~+<|83#WO{$kI=lL=4EnQVmNAL ztyw^O=XtOBN&i=q30b{Gevp)ng&;fGBL;>$Y#PC2qo4B7q8VR4d|psvV(=EvZT15a}ns?XdPHf!^pBl`W$(oJ{4=-g(6~)lxhU*XZLJ_7?sg zB@wzNoIkVceNDNIw|vxxDm#VZ4f{{1jX!prxAF%lnEn`-qZ(0!Q{$|X5ifXNSDvJ@ z7IHfLRiG;V8zxD{kf532Ulz;EUKs+baSqx&tjVbmw_XMDcQb~k>RQa@}HRDxo5v6%=p=}j<0q}iT~Rsapk=JblmM`Ij6lB}XpU}&0dw!J$F194sDmyjG*y(O|99ipM?mQ8*Ii~S zD{EXS)y9WBAe$&M@d3q6GY0vMbPC&B^#`0Sc+Q!E z)#MQ^;@BxmmD4kLZE-I{4bPI_E9OTVs2B8;00w?2<*d)IC#cuv*VfRitRu&9rJz{r z@YT5r3s?FtDV>U$*AM<5-(U_UZ64ssaEFRrL!Z(bjej>1X7Dy=yEw+X^E4&r(x=w& zp3>_#fklAtFZ77i$c@Yz00}UpeS$c5fke!1$R;>1v>SI_rv$MOu*d>}Yo~n+BFk}4 zI3Vh_$Yy&SiG@4L^&k$Vs%$2v5JSm|Jakmc6kdSNw7ukB5yQJ#+-vBmstPxDQ6}b^ zm5gLo1f5tz9_i(ax&JI!q=FNTi-1M78UTAZW!m}Gh|F6|iph~%h?FVp501=@$;}KP zTy0&{k1JqQuPp%{DSb=%D@thi=#JqrNjW|6g}G!{WO`XY|c<)9ZNv#hwV4a(V|OaMDV;(|0h- zmx(8wK8$nqxxOqNjHreNF7#H!u71%&oUWESCj{?XgY;9)j`c9xveoGB4Nn=k&)*`m z&Vw1|!kRdlxXQRM_Dr|iH3?DN185)jW@P;(!r>8#{6Gn$;4!1j zz{qpjUew_v4Qz3%63R!FP+jWXB^gLbj}rQvlS#@A-^FtIuI8uJ?Dtk?ngT8~b?9C^ z(y*ZA%^-F)qKdOcTj@UXtSuAP8`6q*W4GMB8!qFjlTRT<|C0pQ*PduveOq2HAxjYL`&)b#pjh#UPk*gLN-4T(NeY(&8FUPgD; z&e>GI)62UNkHv<{SJ+Ip6ItWt=}!O-0$*8vpLq&mpjUEI3BzQQM1nu!fLd7tiag`CiM zr`CvL?Jqc5FESTQ@?UV_jKc1*iOUwVPFWTB{208Mmkr78Xm4l$pSk%#J^d7WF?-4f z!E!D?EH)K2j)NJd0}0SZBccZ1k@C8>}QJkl8I+@MuP98EF-BUAw!L}i}*sIb+9hg zYdMkhb{_+3>~$jX@z>=q<3c1Y^(b2k8N{pcB&;DwETuatHM*!64Ukalb@Y@CfwtG_ zLb^SmqD->>jMFLMmX^nnj{09EQCg=_XtMUAI2 z_@xpb?$E43^|MuteG--U`kp1|iVv~r*mK;XK*og!G{Q*G-uOr<1|Te}H?C-l9j3k! zGOz?pnr|lsN)K@Ha2*CJ51h5&>Q(Jbq;3x8B|hTVKwxXKk_O;kt&s9qc3x8#%i?*@ zY5Aa94SNoA+7Oy0`$lhriQx{KuXB>53@kW*Sn?iSOSDV8y8Q5&1jOy&tc#Z@N2s}- zncdkv`!Bpm|Me{KS1|Zm^BO(BY69f)n^tTGlmh8cv-nMn3J~X82oovwRuZlp0R4PV z)p3SF5YTmrIG3lJMC^F?19!ooyK|q=5e0VYD9kmm4Y}L4Qz1GQ`VjhNmf_;(tP4~B zU_KSKARM))wo$o?a(%b1b4r)V&xg~ z`%Qrym}`&sGF`l^p0gu+aLI(M8C8zSQaoM?zN$kJ%3;LU*-_-@o@u1Y$gax5<%;3E zfM$VyjeF222;@oH*!aA&`Pi2G+C*ca1hbLo{i1hWY%G=xecK-MhrYD8?YnZ8LMJbs zu#^ECn(6^nfVxh5BhFRZ>IF|#gK{Bb!c?ky$dvo{ZFX6XNsnSTxz~mll}A9;}qu1;0UD5f3gn z+3Q0=CjdvXp>L$wsUmL>fnTHVvz@KLu$L|~x1jt~_%>>}`q{|OQ&aPOeA_Uc1U+*R(wRHYS700;k{67v!svIJ30pa&y}8d6sF z09RwVHhA=BN*$xVRs;o;DB0%>p$FFwTg~VCj+CvHHGqyqY(+hS9Xx)D+qN)Q4v>n^ zQ3s_w7|uHTmR_!S-i}LJNMq6Z7AY+nSHg(Y3_pX=imk!AA2Fx%_*h?uLZ~BPkbAhf zeGNF(lG7FNY7Sd=6QMP8xF54heJRSTtM{G14K(_tnhz)2wu%W&E5PV! z?RodgU!pXZ& zks|6JUGR zv57WB$7*pmK2i{tvwbj@*ygV+7hLYhdDzuJ#|{_@??Sn+s9n!|SwMw*H&|t&u5#B& z1JUH-H-13mF5rj=5sb*V@LoW~tjTCt6l*anPUVjHdFeAUkd>VDk^fRR-w|p@<(E!) z{g%KKkl!1be&yUDz|3MIOv3V4IFkPUBX*}m(Jg@f6;73z^xUje2O7$(A))ygGOtPZ zYr+-Bqh^Pf`b%EFyqfRMh>2>%u`XYN@!DRYcXeKtkQyVtJyB zjDsgsb5>aT4H}dBJ~(GHw6vVy5WI8AMu9H7Mn%&#+_f%b)OrEFlZ5=0PeDLg@it?VKZMIUxj1ORtizXk8E6MLEYX*Ju z^!Y*yv*JzH$a+KgpNOP}ENzYYZZz$Cl_~k7zHJ9E+^1aR4mNW>nY`26eabHNFExEh>L`2;n^$ZBw0irm*|d#!MQF+QYEM|i*T?BzUv7D0c<|8z z;T=%3h(GEjs;Y5#Jd_iyiYFyo9@QVC#wxI@MfnG9?G%yc?y!IH@?7NBRjDFiSLkgZySw z{O9IZsqoUdPu;AE3uzT^HIvt!i99I+iSaMM9R|VSedKLLP@})!7Tmug!??V)tW8L6 zrz?bhZZV$eMW&ZJ-GxeYcNeNlOvg)F%NQsk4aSLj-ch<8g$`W^@~5 zyh&Bbk^j`EEYQ9cm#zrP03P*?UrE{QSx_S}WZ{~UEePkRH%C+>#OTwz_>w|uJR9xU z;hj|%1MqW-%?*_i)+GRm0XgB~f{)5GQS{v5T?Kv5e%+Fy6rgXXWN6 zj1bu~_GnC`f@z@WH4v#3BQ>$sj~lf%OBdRS99SUoGn17MCBy%;5 zom$8}mx~zb|4tZ305;^CB(VVEyxrhXft{}Xd+kTuB65f9#8t+!CQ_p2ZVdlzK%`BF zD2WP6IFg4?@=ETjXp4j(p-wE7Kfx`;Uz#*C!K3s@24VYtW2{;KV{|C&K z-bS=2hi5|UF4+0&105ac5+S=yXwKc_eTh0W>O%q1}VO; zy(6obH&%E;Kx7J(a+g;<5ix3{GySb1Br0cc2w8+%!u6HE6~h;@3A*?IkrY?hYNd?C zMr>%_Drmhz6|5n@;?L9;6kb4njUN*wDpIJ3GVt}^{6ca%1F|)Y5Ygz_NlBXJ5w{|hgk+f6@AaWwhk2lZ+Uz=_b!VzpV zMFm_$vM2eXH3n&Kz2Lw6rMSd`l&bd>qI}ZPyme1rNph={4K`|ZP6C@{Hf3Fxc~+vu zIDj)GB;ECw=7wq_zsh=|YkhRQOp;I(#O*h~<8np%LSl^^F6Ujz3GKvb?le-^l%pSC zb>I%G65)oiMKA*cSMZ{nA?f^x%j<=&%!x^}xZ;}y?8J`D~k>QDZ({LO`E^!}Wrt4H7me!nT znsoxKtLFO~jQH#rW<2fduV2l!PqtR71{>0P2>8wr>!BTh!{;D6jOs;$$S%$%Xz|o$ z@VtvS*Ez?pEJVM!fJ6}o|GWoL;2jyf0N=Be$)kg;s{90`k&>p;0)#vZr|DBT5gVzgpAI(&qTz3lzO%!6 zl(=TNos3rIS;v}ws?o?xdicvAq`%|I5_#=HBNyc-Pd}+_4W0l_^nTijA)DIF+A@ z7V9Dmk8|$0nq(>$efRfV@fB{zge52&JR$^9eefiXEbuu~719CoimDDvO-9JAvA?w) z`%n154q_OQNbmzzrwLQjFtX1*k?%F}1tB+Pc#^|l>`#Yh8#c9gT~7o0&0zQQr@LW% z^;;=(YcEP~kG3EA9n9YOsl;M#hPEwY=NhdZM3%mq{}pjJNEr*TK2lLmR&N7b0W_!E ziOq+1JYxO1&Fk)c_ePbcV}^nf%#Y&9Vc-CIYp)C^FFPC`7G7{I3t{>XB^4bhh99|8#W*hnN~CHj-06_z#D7VtLVGfpw5nP{mZZxQ^jC_Ji=NbyD;B4$UoC|0PDe?^q z6Cw0BBx&e0=s0uo)-rTnddO;&)C})X`@@5#1-y&&D`A-wDU9ycbMwAo(44|*KqbCRLraDh|dK3K_b*`hqx5t$6zbDF_vwF zUZ3H-Hq}S85kFbX9Ar}G|6#2kygDzp+HNOM#Lo3#Y>vs{Go7tQ4Kl{F;HcJZE{g_` z^z-8Y(h#PhYX`W?5Bzobm~b(`k8l}@aey+kP&WcEBM(8 z9M`7k13p<#jH@<|jI&A(8XghqH}pH8wc4)@QJ>M6BNG6vI2dDXef#F4-UNU8 zuuHaXOwMEh{lUAh9VLdNdYrPW|9lSWkRngbHHlY1dmFbQ7shh*%~J%~kn^Iv>l?(( zpOWD&j>&oQ*J@ctLo*xc;05gC>o}5h^D?bUJUBe|VuNI%K9_C#4bTpC&pzs~?z37o zAQ^3DjtMQbHku?8j&~ocYBe&^ALINr>EbM1iuXiPG@hQBsiCZ7q3VMQY?Yg}*hGH@XUh?y0oqV|}OtyCIQup}Sg4#ZNd69p?$$W1jSNgph0f6A!gy<7MoeQ1;Z;@Cn zB?xNN*fdoGv!*xpRgg-GcG#`)&TD6>GSsQB0S!~|zLmNF{=%pZg;}K-tXy?l1|#AQ zLaw||Q#u`9&l2$om8iC7v*dxvhrB}WBn3!z_K66Ys#zKtNM(d|qDebo@@nUCze496 z0Qi;Rgfz>;kuj$H%oK_5SbSw(LRvW89Rt*d>4W0$Iy5F)mXHN29z;Z*aD@`N&8JC# zckJv6v5 zEJ>k1V=$1)0o*qazcsT;Kx0)I@hqcxHGQD*zeY|CK8tV;K)ICQP&QFaVmr=na^{0; zXNyE!JxqI!W9hZ+V%cE4z?ssDBt(v4x@5yc*#{QS*OpnqV;q4`-*9Xl5K^WQjSm+DAXSJhZ$x9= z+{n6ZsV9qdVAexFa*=?19;zEPl%i$?TlTVp@H-U+ux)CD_l20-ib)tXGH9{Js>X)7 zyA@Murls`L!hI)9W~!2J3D*c(s2&I!XSeNOI#N|0xp$_iBlE-@h)$R<1%Cq`je zg#8=TUD}AdU+G+ci9IL+kIdZye1MGBoQiK@nffh4eIw7(dsPz(ODfypxo$ z^pWoBt9>*$rW*5nk#@{#o(C^IZ~14aHpkZx8wrE>-i^||y{M9dn9e+JQ(<`*e8=WC zEx#0{H1*Vma@4WHft$UznzNBAwLp)9@%CytH!bOl8aU^10`s5Jikv3*CgeFl2}L;- zMwN6RHQc7T7-PVq{tf5#=<2{)D+=p<6_3rp(*~0*lK6A3<-0Y2XO8pbq2?VKE&{)Z z9K{Ddmc;^}z@VmBe}dsXtO#y@ zZfcH;LqSL4_%nKP62)Z=ZEFh8k3NjsN?;K#QjfqQ(u;tJ{F3>nFGJagfjM>ll;F53&3-IaKuURZU;$ z|Jhtn>GH@ReQE{7#5egBhYneZv@<8B0*`sU*aLmkZ2Y?9C`Xt@Q70p2>ZJ_9)+q1} zK1JQPGT0N1lT-(}FjubiFM{{{uZNmGtAh~PA&=t4bde`c5LrmbOz8)HloP<~$4c%k z-m>tv&v_0-uxhsyAioS#<2R$$%xQ!R;8=JrxJQJ*C(p1o9WD&*%i{HA2zQmQ^qr|6 z+kJ;fTuoml$|Av?(gt55UP~3Zx*sMV^qN*u!m#zO z*o{L?o1I1W)18fkJ!5W&b}0uw8!3FhFKUN(z1c9@zMI%nJfeJkxPCa6%61Ad2iVyv zCyln>Xz*d3E#VJY>lA9CMX%b@b`=AP@cfTpLdGrAKMvV}U4dVkTkjf^C!qo#{_f^m z)d}@T_#K0P@tg`EtJH4{*TaWYk1X2pIqIjiuZ1XqodXuRDgbcx+5vg_vIYR?o?hd$ z5x>^i>y}|lpPVSHm8x&U&CcB_#-4yip3D+_di#5#DAAU*15P-}7hG>ehNlNlE3Q+9 zd>bn7wNEcHGeT7d9g3stO1U)`U+jdkIHBi8ipg1V#vgp$K)2p;klK66I1z;8h=5-m zzjg0jb3ql3Ge>t*YEppqhAgO}T5R>w!H>ZSg-XA~e;+xl|1X;nZcjCoFfLD3Z-& zxt_DrNSXs$k!14d7K){yzhCo-#7}L9%x{~DS6GP!SvG>ACmb9!mz#C$W0Jek&qwlV zjJNT<+bgbq_6)p$tN0RcN)-;l!KS+E2HZ{0weIzP`)t!3vd~8!%~o%{_YLZ!cP`@V zSFK4%#SdbHxqE~y*b^IznT7AvrrfEcg`Jb9cMqSKpxUc&Y10GOBNr#%?N`t7*K#cg zM@e!VoX?Zu5?@WSck?0+)wf-hQLjMH0}}{1B-UDH{`Va8!OZT`FgB0(2q2;l0*0 z4Bp9;iqqY|{l{B)f^qOb*`xKF#vt>6wy$RkrftG=L1(l)NNB3AHxQPECMNFc?JxJD zi$Ft$$q;xm8c|dN#zF2oM|?kp^AzBr+~XBk^&ktfb}?RQfxzCK1rd|U;(o(eTsT^PUk0#$nCyk8Y|;5BmW@xy5<~FX zI`Ok@FhyI$d$VE&^~CizZT5^Ft&H> zQ~lC~!#TJ{Zm=f9+=tf{Bg@dG}X9N0SGUM2fnHwhk zfDVmFVqo!4@d!NU{ia^gmll%gc17Z!nnUfYE}H25v)|+MTZT=~v--Peh3@4b{q6A; z3OV(h2hz9eo7J}!-Un|yy|UQ>pRh7ONyYyA{xVFH>xMf%!??Y*r*oSvNU^zzPm7$+ z{ZA>^4%DwoxL<~F3t$Z$Nvkt@p8IWT5 z2$mp|_Q}on%z`siN0^&lo_3V|W^nOEvsV$Qfl6a)QqU+?7$keJRM3xVfPFcds|v0x zW800?*K{C9Jx1TFa>zAI;L3-Pr3Z5@^7&Pnu<;PXYGw-nXN`GC7AxMOu&B=67-aZ? z22NxJWU~1}_)^w9=D0lqBRuTgp7#xGe|)*W)INx{$ci0;a_UQ#MDTuh_beEppO z1fnrJ265k7bIR7}4T%c+JN^)KsRE(&*Jh`woRTKJ;V#6o$<^EY@-lZ!&UI;nNa~T`R$d$zH-y%`3+Z|NB%BP%j`Vl6*4%%NqhMCeU9(IVr%pxCzeF^nzPFe zkyD?shz`z6i_%$QS9*ZVyrMuLMYIISkVrElQ=bf7R!r_zuBdng%3lmd5X;Z_SgscHZm~!Gy#9;t%BQXU=I%+1nl6vjJ zr35@k|9p>To$-O(nJJRH3G*jmB)QV6rd8Bsb|v5ihGHU_`>lZgkLw^*GgB(A_{Gl- zFJ6j}&q<}_7}x*0**`5wFRct4t5mZ={ z|B}Kh^t*D^2bSikIxfv9TqO@KElUj|#BVBaE_RAJSgIOHE>zG-1&lN`Hc%fC4AjEd z;Th|;gTaJ$-6C8*)0r!JZ6MGVI3wKf>5x>7L@u)nJTEU+TnIg%Wq?--IS2ix_e%Pt zXawlNniuv1%G>F!hqhsC742Tq5V-;cQJ$H(7Wmd%T-RTZkPMC8XM}903)Ko=cNgyW zB=zQ)G>RX8^yWvbIErQ17wD7RUZsWFE z25Eam*nQr7R@{8HsuXo1o!)d+x2@@ir-zvU<`h}YnDrL7vsM{)V#kRgtVc5GQKEzg z^#0%Tf3ObM#8eSOU>qMJ-HdZ?N2uW4%iwYmdWn(dQ15wk zEG-F%!X0QL8TW%4k*Qt#;3M}?wP_bxo99RcAO<2DH~h=C+~~gh_8!XxfxllM?2ZOF z!2T|ggODz`+*^ma`0QztD^Ypq+i}tPnx9D0l5X_DCdTd#);Cq=V~&=XG^XkV`GFu$ zj+dO=B5t5~m}|<_E$H4lT!+SZ|HaoJw$fJfjG#N3*f}(qVpr{a$1aasAB~57+$D%t z^(fQ1MHjY7F4a;nf&ZctqJX(Y=U+=ZLfmgaAiSe#kl_)`s2vgQBuMUgQIPF7DiMo2 zz@`UX-~J%!?(!g*7Zn-5sEu#OxgwU`5S1P3K{M>e8L7&tJsKk74{rv`(eHHp4G-AA zG>g;3g|#~tFb!i)yc3)Urdj)uOWa-R2b8JlpGsA|+^Q^=d6`b4K*@MJZ;FLqVBU{!Daw z-GQCtC_%oR>UHY+Z&6#`Vd1vuG3AfzxZg0JA8MAC{LQ^_z0e+0O3!tc<_yQZR!O9) zMwhA*=xItV-t5n^TAP~!gbuW$91?)>VE@e!Fh&$5a7zEiu5l=@1bQU4KoP(JL!gRw zr)iXPrP6f2HUE#ncBYu{Q6E!_S-YQ#_E)pi!!f9`H2OG%d@RMYuAQ9bB2|2O8k|xq zrC3K6#FqT!%x4rq3+?obuC>O};zz{%I{dRoQ4p>5u=pfH^7bT}ChFJ;bZb!a1Qvk> z8zzoxhek$3KBMhZLPS6J$DXoXm}C6(x17}>L-+nQpJIZX(bzmzD0`W#BIKVNjJGb8 z>w1Ri8>b3?HvdFOxFRU^;9Z?(S;IMJ8GlTeifAFJ=hlGF>9luqq}N+0tBwiZdwX$S z7ok?}@4Zh{2HFw>R3Pz?YVDU2IvPV5n>>i)E&OIt2(8fKD+1O8ZHJ=9?(Xz}`d}WxFcDOV;};^h zzsKAPRRCkA2|hQRV_$Bzxc4j7UQ+4Y9g z;Rq2ZK@Z8=*?2VT^>&9uDpa(nfeNJO*bc!|glxEYI~jclGK7y6f^U6;(EX{rEeuSh zJH)!uk#OktVT~)DSRq0k#!r{Y|0lv}0mDz{SC7FKziP3u zBCpz#v8yI5r@}lQcB;kwuElUkAFeu|LK5sT)xqU-#snD{QZiaSZhqI~W)tG0#AEiJ zbG!JmBpbc+@kY&AKow@T>k!22omfIj!36_5;nV>PfAQ-8r*TOskuT8YS1!*K1N z{;#2K3sj6=Y4yC+Hbm<)m*fCaT6@_o+6hS7BY0cCS9IY6QG6*vhdB*}H4iUwxbuU) zH+&B3i9GEvQ&5<-aW-fHnBP~mIRyxMsJ{m|eN$11J4+XBFU!9_n;|Uc6rMj)DWshr zMFF#$*L(QzudH&Js}Xz|lwHQ{Lld392vcp`O!S24bkrEp32cl37O3yo()Gq!f13*< zl1+7^6#n{&NcWR?jwe3?hq_ABdhO3F_aJgupHVJr zDZT;YEv$-;nO@T1V+9kxC)js35@sW9{ws9Z-eQQbT^j+Q!i@#M7p;lMiU81j6Rj?7 zSJo2b%_u|{AF*nm)AG?PDmH3%NFozjMqp<@|l70{k=NP@veEMq#StRbnk!z5+XA@Xo zwV#Z5kLYx`BW+>7yAenY9Gr-Cpd%vBgsV?QeKtka6+7V}fI|*;I_1 zIwga>0Fgkzf~sF;&q^V7-Kezr<0`bM1A6hMEZlQzKfk*GaFI-M@YrgB$$ui432ll3 zB3(*ak?C7QzUL2GBl%Kkv0yLWZxNPzWeZ$RxaWi97O}j#RQ4+LRvu|lF#OM7ilp)D zNquR&Y?s%8Gd?BYt8CW)W6iNG@e8R-=!G9+@(Z?YW zJpEkwNr^e%stTcee5eTh?zk6cxCP&i()P2O?M2^!qPsA@CWDS+voe#npPeSCRlBK;FM9J8JBy zQ=$NN78;WaroQiDrS+sjCK1LrlzO09L&pOcmQL5qQigjNQU^#!T%w8A>i~0R~7x0O_ z)nI#RkUIpoCN>|6f#M;t$rzDl*qb>U@A-Xqr?TvuDx4LmqK2G@@*Iuer3>$DBW0a( zD@IX^eYgUs*VJ%UBP#tt?_<9A9VOE5+&A*d*XByttfzEOJqT!LInh#ypgrbxL0|JrdU*$*78ExF~EaaC%iU|=%y*y*Q)SRJ3Tba zI7m(p|A-W2K{WGQ>ES=b3Z%vX7Iv$EQrvQbhR0VU`MBhioGHSphAGgTphj{DqOUAC zKALZ&n&h&$1oy?);_+gi=K}_BjTZhUzqQ3K)hCU*#@ifAnF`r?9hWEY+B)&MN8N_I zK1Qg4toPqNjZzd17y(*-HkA)gIc+3&%i6hUB!KOffdKR~(bQ@^v3lman$*)oSi$Mn8sCxZHA0fB_Cg98T`&{EUw&*d z-P;mI)1VNk(rcHQunAG>ewy=6y6+Ox#y2;uncFoswWhi=SScl0_giRgUO7&S%kL@pO&KCC%UXaIzh|>nT3|bLlm?qIZ5s{g3wHZ^iFl z_iThjowq9fsvd}G7z2rxNS3e5^Y*IBW0@&dx77|7ltkrViY*R(tEN-nD`2o<7mBSwL-Olmg>L-iAbNMu zgCa~RG$U3m2Td>9lPgHE=H@xOcxP40Uc7<}T zeUhrm){#PYL%*tYyqpGbGco1v6Mp?th~oms-uS{UOrXAsgn(0;LU4$c*Mz zLc7PSk`@mJC#ASZ?DZ@Hzq?vDCA$b?Jm_n?@y+$Oaw~4m=j29!T^A~v0*%$Sm{chN zB&mKu<{UZ}j_#p4%}_3AmKE+PZVBgkaLy zTmZt|64Rq-E1o*~vXTVtD{;xS$@6n(;bbavY0*1HaXo99|>ptGdP z8r0dIgd>C+-20y%4&tc)v26H=@m*0q%nr8bf)amEMi{I^Ium-{nwc~WH;GJ3DDkSW zye~v6vsUj6toS7zH$VAtA zDnP+vyY1B(1_1z}lq*NQr}h^7EAiFx=?%Tf{zmHgi-oaMuf;P&vUM_8gB~RPWk!aI z<&<-O4>ffT;eDIi0Mg6>s>WJX?1S3w6>K!+Y613H8w2jPcG>qgTQd`?@a?*El{RwJ z8}XoQFk7De9`6luwufyXhQsSjQ?7aK!=EIySze+_rid%qzBP-@>eqDKoMsq9sJi!4 zusHTD;IOjF+=dfA_YfpKra&UzG=tNhx9AwDLWRawTon>Mid=W%9_C9?PZ*@R__RxtM2769W=L!mi^P1K4LENX>i$SXbZi*OO8SR+ zhN7_3IE^yP6zhY|XCsIJP%LA}EIN&jQl2Ek0q2GymQEfv0#SY)e4Va~b1}pc$HBFr zI9O{*A3_*LTq(&ukA6PIiyQeP2PTzPmpEBk+rAB__Mi;>LLr-5LkD?O+55PMxiZRS z9ZlahyMAwA^z9PnPgJAZb>JIoC)+hN$4o4(dlYSCDa|%&FR<`f zRkgp6|NB?PsB00vi$nO$RP!^@dtq;vnI2_jHvrMC=IG{o~ zZ*9Xq1OZDLSczo%cQcn2OOHJ<4?B`*1-}a{Y_{r&tuGI%)lw0kM@Nlavs1nXLPSn$ z6A*0B>$xBAD0A9B_X$vS$9;)Q{_i${>c2uF`u3>_F5-=&%mIh@RUtd$x5O`~#L3;M z<4Fc@1;9%2+ims|NBbRY5Mb&|*#` zo@(wEHvMH|d+4*2+c&+&h?|GSxyb{E5*;V`V1q*cikFbJ#S0Al21$i7y;}4@zy}T5 zg+3GlmACTFJ=Tb9htxx3X&UhxJMGh;Zcy{1d?vTT8<@8VwzkZ;9bsukd}uGHit)S4 z0vp3;SK(pzq(ZI);hvMCU1Z!oXzGrZP@H=SkXaKELmGV!-__?uAE6p3K^jrmatBN3 zhdQ5R?YK}8;~Js&<})fCZSyRY*NY;yqSBbK-RM9*;2A@--Fa)UNUzYXsTs zvr6taY>*K&hEL?l+)pBwAICE_5Xb$%^V9s4K+u&{nkm8x$g(SBaRdUW0=5PWm zw(;qB5?@wKie7I5p{xe_$x9~Qj^pbq5n`9^xaH%@B-@igV`oh?X9ugKw{(xaWy!Y^ zK<1GtN*7Q%ZSg-eX?;}z5t#}Lx0-7Ie?TKZCt-}Zy#7cgu6A_ zVPDgkk-RuQY959#K-|y>*z+t=AMOf}90|mOB$aljO`Z?@CCsP{qlXnLU0%BQ{HmZV z?QY4FT7tkaPFp{)n* z2s}uh+gWP@h7nvPdt59oy;0gNRarLn_T>o1c?IVeE7ws%SZ{*qYn8nw?buRWu&by9A4>&U;P zN=LMmab_K_|;e zJ_POXV3v|MDx+}D76%6c(Ghq)rz)D#Jhw~qenA8T*VC~Tr=-8A@%DDQRX&LVK85Ra zTn^<4RXJwDx2KxxGM~Mj1hF!Pw3*NB17>{iAlv*98x;!hoNlOE)uOb6wJ^MpUIP0Z@X*`v=2%qoC$(OBM1s$`ba%AeFk!f<>b?{ zzm9EOot}e;3%w}P#0w4eCc>AIBst|w~-wh-+G zUsjgft4ECE9H@-8Yo9qfebKYulE-W!z?L^xpueJ}M^uJVcU;^+7kSdS;m99nTM3h< z2mtc`-x>n!{8Z!NmRX;TG3o+d6oafo{yb#0745J1AC;k=^!@ZsGniMyHLeI3Ke?qs z{18CiD#EcXlf^JxKTsnH=!G-{u2ZK{44dkB3z2U2wPv;v%_OeXz1clm(Dxlkq5JEW z)J=Mq17~eE`#J@IDa|)zPbdPndvO1JI#W7f38z4f3{82M16;V>fKj-t+m4kT_9CR7*ibI!bp&g1=_RSA&}Ly4*i?S0GMRE zHZvg;xZ(mD7ra1FBT z5GXW)_indB90&$A;U%q%JuZBrvhE^0fA;O_uCa7Be(&*IbqDO=%cpI9+6vO;8XRT` zPv13^0SzCxE&nVoI?W$=F1Jo1x}UP9@QZ=J zScO8UP`!Gplv34)ZMp^kCS%Q-z?xa2=dICiBup;nQ#DIPSP?%N4w&kXfc(z&T!kQb zq<9}Lr#_`xFv9%n{TuQ{a%(U|j|azoAlMAaGXbXl&%x#VVq|Qg%I5vzV??UU8VBRp3op8)^40aP;}2n8 zJQQg|*P!N~gqk@ew)L0+eAJ~Gv++ffdq1z2=gz}c`R|@f&6;b#6byTn#I%_`4p5f~ zkyI_I&5H!^+5ipLSsxe0tQesUVub9t^-EQTxW(cx3m+Tq(E%GkByHyEN9+AL+v6~e zR!X!PvVe8uVtK6-iX66UZ|EHoE#3E(sG4{$#KXZ!*`@kDVI84g^tB;AcM+#2kcu(u zTo~x$Wp%GG&VT$z(ck8-Z0LXhR>5XBILDPL8ZCfT8|7fxX2i?GVd038C_bX|IjXzP zapj|iHwGzv_Zl(R(hdiKlh5;U<*yDe#0yiDGAjAeD`^3=+La3@4Vi8F=UIm0)ZI|Q z!m>3dkBuZ5y)xqxZIq`-i$3BoM)6!k!;ggo5;qDvVX~%!Zw@;PM2I1nAh5m4vBy@S zh-@W4&UmZvGbTu9D0c`;PSn8iF7;Y$Dg$l9v-uH$y-@LUaND7+A@DNJfXD=e6DZtN z<3To*b=KXw`<%Gg%;x835`hmx!rk%r(r!XKrc$=M%QRma=WsPQ@ObvGopvyz8Z(=_ z05`2_gfeM#@0xh7PL_HFY8#%y`c!ZY7)bN4^0)9D!bFX*0NNor)ksIS)Gjh!sEi$ieEP zhNCWA5g?qN=n2$ZzL+>aDpW$Ipfnuopa*K`EfZ?Ff&DBM927*_SP7>oMgP~S&wNVDISGB`5=@JDWpe(sG0^2c z7|ACvTk;lS26RX0XtJW)#w@j6QKL=QRDVc?vTda`kWAf6PfB(Py-L*$jEYnn1A>$t z^A8nh?a%{3vd~kY>t+u$8d~nA(Mc#GB1?!AR?@>S;noPWmM_@x7(y5bk>6$UrfR3c zsyXQ{5k6>4DCX&!1VB(ixMFXd%n2Ox>VJle*}}=>u;RZuL#r80;)JhfLzfkryfSY} zwQYv%UJe@!ovC}3OAJ#@pW4Qs>UF)Hg&}@L2xoxHy1zMbx1J5-~m*qb)2qJh;L72xANby9UpnP$RE6JY$6^# zSdWBEs$CEPzrZ@h?g=9YcE=@yv@@^7n#)kV0NS6mK7k1HUxfoG zjM%{rz1|<(*)>|LDNrRf4PyD+?S8H9bNogp_Z|>;JM``bS$ytx`3@jx$M>m0C1n#X z9E0a&ndE-1)+H1o7S0|sm3rOnzc@5}pfI=XoQecFV2f6N7y(z2;^H>4gE0D@S|1k6 zl6pPwn?rZP+M0C*pWh+FSQ~oR1)QI*?BFR*jE!upPg zCY^SkxTjQ08iD}Y{%X(@mKLxDOPX~8vW#x(yk$JCEi2>;Pfa79=g$HgXr`&vXJ&YU zPa0H0R&zhyuO=)^0gn-U8Jay#+~e%xe;gSV`mmEoxusKNmB$Sl1Oo+dj1eSxepX9k z;0WiqtCPmvH#;fc^8*@gSRMJ>922o+nWBgESiPAol za5NNPWR9LVxjEt9x}dME;-YvXPdHcF7pjB66wNC`deNI8DRFYWp4)5iqEi0gASEzS82tweL zg?nv@5!Rq%Vt@i(RyA*}<6^YGOov>-o8ZP|OGJC%MNPjs4!LH)J`m~NG>5qj2qn`e z!6cRA$ePfcomn1L$rE<_6vF-K_eLMGR8Zdsy_&Js+hIVxq{J6?{%2iWXdR`6El|Qn-K5?5 z{ny3){_KVSY=}H~Xq+i`SVRV)-S3xn2El^X!!=>UoCg+YqETL2ru3>GsyQm{mAERi zD|w+_J6Z=-8n9?ZQ8Bk9lM-Zb@@z1;QshBi9gA_BI0Nj%Hst!t%v~7>g&$8jw|2hB zwz+vtN9C4OScQdP?$w|$UM2!Sz=WNXp_hlS_{Wv&Tca!GbA(b>u5AknGdAQZ8|uit z-fbIh3t|V5JxdT@O7icCy$PM|hYhZx@o?Zf)%NsB4q&_@El76ZZA@6M>TYa64ZEJ7 zODhyF56Qji^b;-ZIHagHZV-H|auAeXqTfprOXGg`Vvyyzb&8|E;0YVBM1lq~HH5}v4Mm;;Lm|Gv#AGPQZKDNkzUxnn5( zz@WLaqb#}v`irhJiNloyPbE`uQiV`?ZQ;vEo@)o><2=kZx#M7Kc(e;t zJ|EK`wRq21#8*W82S2|&eSKhlfm3;<{8m_!*cD*vxcgrk=64&Jj9D&iD1a34I>m2aL-G?0S< zFqpCAgYf=D)#-$vIHLEi6)QHPX6hfWCO)Xg24gFzVwM6Jb9q#6#<(t5?d{gkbirJA z7gTWvG2nb4c$w=*=-0l#KYmHQ zms&?of&pU>K>Q7W=U^G}5Uv%B(D>Sx>P2DlLO0mwmFx8*Xd#RLKAl?x4$UmC^s63m zC*?c(D?3lONGbW5I>!SUD(&xi-I~%&ESF|Dv{zdD&LZrr!gIPqH=fm8?zI>=u&uZS zg}obJCkO5pwt8|ht@jo*6|zg8`P`JZ8Gqb~;;9WQp3L4w>1FNEWZVrNt*hZ1j>D?b zbSqsmBkTDSsVEn8kdVR$Sowva8R#L;l9UJCB| zV0>;jtJL@-j(2a~IU%pBb<5cElGEsopjVJQ;^9Dfe@caOd)Sm!=Bg*hQ&xw!jL_;? zgpL4gjp@n2%g3qp>36<`3fyr81I|mQ$Gr;#BA4|TtL$u!^ijh;0|HU?2Ft^ALMXPo zO{<27eV$+$pz5DF?Kf3>J5?vaaoS%2J`Frb3ImM)EC_vWT|u#aY>$w`G_~Tn%)XsY z{h9lr`3KMnNw*tX2(H^?PwgbU@J?~QXRtid4O7hTkA+WOpMNO9>57U|NoGcIJL}949lnkMD)q5a&})&D}MmsO>U2=YUfdM+T2B(PQW8Ir3+d%$RR>!E4IMf!2LiVwkE z9t-KyG@;!LhV)C(Nwh2nV2YYB(6`|=bokg}@~m>Q?KqH4e5)Bx+n!C!VP94dvQ8i> zHim1g%D^A3wRPVS-9z9CJCgj}jCTU+N!d~7+R~+L2Ujq(uN>{7ys|L@R`P=qSD&pw z|3?!x>S{z3KHty$DRNlUi_+>x@2iguzz-g6x*Amgp4KO~DqL3|NIXX5h93%*#;d=k zHm4%HgJ4`FN=qA~(Cg=R^7XWlU$e6;1g36%$Zr(KdhijG2d?5h@p&k-{80OPD}R9U z>I%NvjZUo=`R0(Yq0EIIwZL1$mF}asjLQnkyFlj1Qwk3F2x0H&!q?num4v3^^I&be zAn>&~=Ow&yjDZZD0eei1TqRq1i433sJYSn>DpbHPdB}#nbtb!ZgozsXTqPf(bK@FR zw@ZU{fTxW+!)5&@h`v3}o|UZMjiNbX%+D}BG~!eKwOuXLNTQ?OBwNg>H5mi+$~!u? zjuMe#xkD#uhioqZ>Iz3CdzuE^xBk?>Xe0l%Vc`n`ZX!v5i$|*~RL9oiy%~9K1J&KV z;}*Vf2_jmY%T3427aEB~s-$F%gFJ69m{e-H$DC0I4{9;Q0AD*Ua7Y&!a6)@Ge$SzRL2bZ0v$)L%t$0s$Z7=HVM$e^OFg*oQh#H~4xKmk0d2SmZ>CHm(6f zc-!KtY1ykm4E2as41J+L@*(c!nx9R7=%CV|x7=QI5`}X{r{hLOcsv%0)b_nnhW~|- zOl>@~v%hes6jEbOHJ89cQQTUzBGl)3V~sPh*My7`$9S8bgp@Ju|? zj?me@!IiTA+4{DbS<072sT?133wOti&^m^B%sc042d`evwMyKmX{VtFh3Qhu^`lF# z9rZSb5BS`~0$e;l08rXD-lAHRaVSl2|6WVg^iV>`*1HXcdv8e%diP}B-+cB0Bj;61 zTSjEuuW_sE4(+YRAP{vFd}ecA98`wR4f|R)YhUzJjme8teQKJPt3Wfd;y#wSdZz-u z(7Vf(^OddJpj2Qsad~XsQIJ1fGZTH21dEsa-T0q2esf#B_!5}wo-CtAbs$)HbXQr&(5Q8N%$qIg3YbxA{*)FoqVQ--Yn_4E ze1*H68z!Q_VSrB2H8SuBd*G_hh}Wcl+4Nj*1;RZm@#1s=L$LqC86yV9`t@%y4Fs)q zi22wUY$pS_aJI@!IshuH)jO6{U|B|F11!_*D9!KQ)%UHd0{2?t=Jcsq zjuk!q!%spNJc6%>DTsl#^3KzSsPx9@M~LfS{wUlTKn2=y@OEe5IcZk@}T^ufw~?phUQdn-nAeqCx_96=Ek`&O9t~ZDc3qxo z4F#x<8mOFI@2F(y<4Hy?j}*C?J$iV{ox0YVx&={KE#GNakjS&IHXJE9892n-6y8k^ zQ`>Nx2j&u_Ud-g>vdTC*0Xh_6opXf%B!`)!(-=TeF-0P>Jlk}-X4y>pi}RmjZ#7p2XXvFJR=Jr^+ZgaL$=@vq*fi_a zny_(`u)&AAJxquRo0qwQO=sD*HD&oi2gZ(?{wu`=&c+t$*}oh~rPid3j!6W7xcIJ~ zNXG<_)I@IZ7mBJ=>SbhxaJB~*kQve!sKzcIf3-i6dMwnemw zRR95Gw?Ipz+*Yx<48P2#$4Np={C1e@dnHKbt8Wy>fY6zOsD~&11wYWyVD7(5T>i|r zsH;ugd8{tWI2AhadY`9=E35YZ$ zBc$U}H0#|oT2@Ib2isJ9`jN?*ZWQCAkt<&lJ@(2z%}mwfta4L^p8rpYNA!c1X! z-krM34BX_?pjQaxEv#HIurBsT3X0y^w5w*ruG+pxxGKY+#S<8=tzCE(B0oxQ<;ix_ zIe&PenMbpHriBNTV}zw9q!=Pa#DUA&myAT224C%)Xayb*fv)v`4%|p_#Y4L*1(71Sn=3VN8W# z=KKDmS}*oLH^|wr%+7hbrG8A)N0M?o(@FzQS1S^|RsGmPaRN-d4X zzt+0~`J*X$mIIrss2aC-9%C2bfSR2Y;MoSF4FSRw30ni7y?+%m>~-zBW*Y>ae#T~u zy(|TI*n(8y;NcNgx$a^)&AKGR0q1~7=?%ZUH(OtKdV*#(1s|zbZf#D24eAH~-QykqSv&D95S6XmnseAl z(4QzCJ8~Wz<_)T#S$J`Qr z!$J;4f)lex;0WxPIb0O?+jR(;y2pSiX7-;9J37ee*9f#}((l1Lslbg~`tih-_d_;C z6{9U+1Wx_91Xwy^a55IwiJ70Yvyr3)rr(HE1Xl2(rp7$S z4s*rAp>p9`Q8`CInx|p^a4+jRb~(K@aK+`A`%?LDeEzI-R_>mWVDNdNmR~t{4oJ%( zF3Q?%9mD3Wcd3@RMYT^cEJp_)^Bd@y|0yd3oHGr}NKf|9zbQsCEsi$uNB z#zFYb1|+N9qAw-khWE6)oD04Ygw_pCi^pr~+plly?`oE;O2L)gX^-y9_9MdKKIZ0c zMo3a^BIPR@x0V1Ka%aV71De714Ugl=BIsEx?&@DSvL#iU^;Z>~ zc8-HtWQ}H1(Q$SyWt6qCPqG6PflBRr9Y@E#D&YESjJ=)?Gh0lrlCdqFQxsQfNmyDp zrZ^QbZuiezD@cQo<7|4tN17jlEu#?3K-O{m_92BF!+L*XjeV8>UsqQWVd6jf2oZ_Z zijPD@m7}U~Kv%6xLfO(8VIe{;F4Q0S@M#o5-ik1@J^o^@3>>0k z)lZ-26LZy^HIPA7O}4vV3@e7d?#U*&vY~O94dm&pp9D#eCKg_<@_QHtnZMyH>%lFK zC=^rwai*JbeV>^Ajf}V}qP-bx?dzWFhaW?QV$Q7nwG!|VlXO_@GL@dumax81xvZ#MV&Xqu|%PJJKW{IdNzo9%4 zPg6qiAJZsFJW_IAX4(rp2zlN7ZK0n-FwgD_^lPA|R_|5+AWTjqzlwta_^$76*5EH~ z=gmv3s7usRJv%S>WwbE#u3qcj znWk~A)W8Lawf7L2GP_W67y1ko_(Y^9YA$SqbM(6RK4LyY6ZDd2hddG>@PzKK9JPMj zLwD6XIhvTR=(Q0m{tSP>8v?}hRZ#XO7))+ z8_1D2@~rMijJAcLW6ibu+zUGG!evIX^N-UlSsFMh9N_!s7NO_Ui0)pM3r6rz$$%^- z>}a+7SFM?Ql>6Ua4rE{IfdtpOuH`zvQy@!(T19KNQT?yu8tyiN=9WS2IWD^9Y4dZkCX#C@~Uip{Y zU(~JUn@#jMb&&n)G!k{o{JgQH{!5F(>-TN0u2QQ%T67lEVO7rA2zpnO7u4?=)#V?e zGbEA!NTVTW{qHt=3O7@NA+hQ8XgY8}Ej_ix*41_;7B(!qXGth(w3gwSRcDQRK`QQ) ze;99h-V|@w=GNV|4oC(6Ffge+IS^E!B}(f@D~N@@G+TVek|V`c?=F1agCxV!i=xeE z_9Zr$VJenwMUz#0Z%x6lu`pdp*d}}=-H;DGVCB4WQJgS}@lCaL`4b1#7&K$PqXgo* zi3SA`g;kM9mqMN8v_I*6z5H?LuFpc!7+H;Z(P#Rx=@vdL;XCm77y+0`hSUmqtbX!M z%aE^nRRm>cp&(5);+|0bS_#!y%WBspFC;pKs2yJ{x*qn`xP226eEEb!EZqq3Sgt|24A#btTL`Aq~^>4xWePwcL){3^xVG9pw*9t8Fg8aWztxt*PSx~nL zF->t0!1k}=;t5Z>crRrrU?I|3r4AUF@+^(1NmDxHa}AwE`Nq-6OnUP1a${g={vBFJKnKr{ zx$JQG(c=p9&2tmz`}>2#FHz;MbE>T&`?|~-R~&++?DKP`rPBV^=Gn>$!XcrxZCiq_ z^t16ZEBlfy=LPn)Zcw$@Ea$zKsE6q?wgA?r?cMTqTSwKUcqi2hS&P)lCQDrw&g}3$ z`NWy&KVQe6mm*w@5-tIO$%wo>6L!Su{4A8|^QS)1!`cG2#Rwm$Q*r5he=r=+1!QnX ze~xV&*gApN1L9Cx?GH;Ku)&1K2@$}|3>D6m76cfy1e$niqP|UPW@F9ZU#y+7Xj7jC zp-T${Af&kKc5eFHL~5Z!AZ0Eit#>?jV_Q(Ci*zz#zLM?0q*f zd*uTQe0a%x9sEZg9)eyWg+^valGw#F^?AVLKgf}Nm!7#tt~QtW^^rO@4H$G+euOV; zt@{Lg2zv??gnaA(Nzp%4tI!g!U9!f&;XNP;L!g}F2c87OVD3V@qvCT!`ba!FU5;TW zzA2N&gf@!6J7QG1iU{qHWttD-gF;Kt6UkWutGBJ|fxJpj-A>yB&XfT49fRgDkIg&|MMIpqbTOm9Zyd(&7o7yRj z8Z_B}b;xEleRx4DNlsFCD65YN*`dua|DD!h&q=#946tmkHKc{d{akA#`(l_SqpdR} zbqVDAbin4u+H+p(3Q6l&#!P+;q7Q7@xRk+Yo^IHEl_My81Jq$HBp|rF{6&5QkcjvU zRoH9N>8^H20XL+bqqRc4l_PE&6&G=?%I!}%`y!ms|NfAe^mbm(v{1qe1&GbZM?f_66_HF&vbbMNw?gOzDkaJJ60jv4?ca!e}Xb(yW|ZR z5y|QxVd2P1(F!B_!E%0b0{lNvLgv3%%c!DsZXaa%x#~46aTNyzJoM!=ol=HhCCnnV z=y!ynFUeunY_{l?a~YZ}=2l$2@jc2wI5N-64vTUT=sNQ%5v&)IpYgzRr5wN~s_pOi zTCIF5d|H4$Bm~)QDt9$|+8S-H?H3gsxx7&&q$24--VC7pP!YmD&;I?;mUeL*^VW9?vLqDMIWYJ9m6*d2ox{GQ~&bjCPj8?{d@5kl^-KT`EpKVbxl}N|)C{DaT z|JFFtb|QqFOhSXjn>0o54p7>=PUK{cy&G_qXCsFOHje+PW%(DFHta-0=mN#I<4S!W zH|zq6L=f`uy8DK3#d~SofriR=v>veiymyV{##|TTLC;gKlkoBk3LxPG6=fW9v=GC? zEuL@v0o}#`9#BmUR?~ij5P}=>J=noYjugOiyL43n^axEt$AVsu6!nCN~x2%C!eFDqbBi1$^0e0(s zrhp(O5=ZK(CU{f0SpKapt0E>*-}jtUQtF^bp z5xGW#%;E&#G;lt`AUBLI68)*kt|Wq(afyu!pQ~IteGqbP!Q@rrN95(q1$yh4K`Hfg z0W4w>#9FzhZ%scsio?hptVGSTGzPzXIt`mp#+JY4KeqguCO_oQDbn5)7Z6R1nF32tP#2%y zN^|TPd6CTkWGy4V9bvBQa}L`IXnoyM=0^Xst#LUQklX?2;oM`=DkoIS9r8p`&Q|jC zAozq6ed*Wg%gYqan>K{5qgtiqZsmP3QYS9?qjSsHCdq19$g_I?kZo6q(?}e1r%<`T znJq>4qeqo&SS}5~VmP*|E^Lwc=AJ9lpxkmm)d|P!6v$L3_ne?GS508Fyp55P7u&<( zw5Yf=YPc;N70meWMt)PsIBa;&2AFQU91kLu>&dyk;?X5DnWgp+PvCP?mKN&cO#npE z&)MAFY6p@$6aE{RS7Mu4m1}h)YmQ-`Zd$;99-u9}8P-)Ij=cyE^+J$%{h~oE#?nz; zQ6B1CH4uKJlapH-OIUxCaCxnl`dz?fyW2oEm7+7o>DV<9QUS|alq2*G3=4-B4;Gqkmv z+BFX{YRtAdo1jCu?1o3nmL%WmzE+8D?$9<-#s#4^??~RMQ86~BhC?!8j?4Bv#0$_K z5SS6=UjZCAP_ev%Fc-TzDFm=-wp18qTF|KEl2hU@2rTEb3B-)PIf1W-hUv_1S_{jC z6&f5+x?Bdy=t4ZF4cW5b)?uz~>N+A#*9bYxOb;*xir;6Z6*jo@uObHyhGrUdtskq* z$)~*C4Z17cXxE1D{OKU@(*+zYk4kWF)NOb~$Z!qq*kcWx`>a`l zEvn>{ADIb{Ew&;#kfT=W)eN#sjf;CxQi!DfDjFb^jA@bj8 ziqs%8$cpkJ49z%QZ>H_UwU*o5|<4MrVC*^$H)iq@UL#ID)j~Of5=Y+ zvNbyJElI7+J9c0|cRBDzh59os|1`KSJ@VyB4C6Q+ zZE?XTpeFR*(AZjX{?IHAJ1iht8iIpFWyXjA4{qR1YSW7Qn%nKFO4TIPouru#XCT#z zp1GFc3tl1*MV;Kg;0qPX;^rj!cKNvz<-l$f!Ofq#WNLgynSfk?n738@INu4JV2{F9 zz6-)Pyld2`u=*$QQ{7zqb@kp_?*?*;*ccCa{2lK`iPh#w4Da((oN*O5Rasw&34~9j zG0l-TcfE)0|eNvt7Mw4M13 z3|PPsFpzCc^%bD78~8PJfbbcnl>A)c4N8b!+*mRxUs=wz*xJaH9;MKKlI3-rRgCok zxbjnU^uDWf916pJPr~AfGEL>vop6uem2V-wdvz+003tx$zk)TPLTA!3pV$WW>8J3z-JQ}0Swhxabl-Jf5?W0{WvRyB zvyAl!S$x455Z*-2Z+&!Ju{Q#`x%YxVQ{&Baz1E{4W)PLB^(-QrjZ-0rPq1GTAtQ)L zt~yIEu3fpHXh`l@b-(mY#(d;I>1|GshaB5gGH)@hU6B`3tT5VbZ|U!^X#m-s)m2U_ ztCN+DAFDD-YJtU)&g3xB)WrCN*`MxA$UP1~DV?W?TQ9sQ9Ym@bRKg6N2prtiuYuc) zu2eEt9o<>q%04)KfvAiKi_VSfb(+q46CY%T!_Z1D_U{Dw?MQlex>&4P!sS%36(=FmQPD>^)mpDMfw18~yelV-yua_?0(WwuBOa47 z&OZu)3sJ$^!7G0Md%nYaYXb8#urakh)HI#;nOX`@^-xM^TTTUFJdW6F&H_Ls3`V*p z{?sVeI(K)1s{((pkwGf3$uQY;Piq6B0p=g(rQXGjE)Nh;J19nN;e5OOs`~PQ-CqX2 z0IEpKoX{$0K(bts$V@a--!D_&!!d^4Nn`2)AVXB;Su^hrCn_gU$VesC4B(mOP;6;~~NXK`&wYNx2E4_5Z)6+EQ^kfs#qg%}P>tNN<- za*l6bMJ2p{43lT#_TZ)bbwDb-ibauQLR9^gfmQ*q{;$1Wk910Ar`TD@9OxDZE_qYR z#$Mu|``$ty+GT$@XL(b_-|&%QKw!gv3)m90NzG?e%vaDwx1J>rL5}M(wbOXLy#ZJp z;S%sNOBP|M%_gvfC7L7se|+wZJ3J0a@uYTcvJYuIk=7>%VhqcR!fSMZSdF7@T43bE zQq-{{BG!}tMS_ZHS(L9P+8`JOF@*eZ?V1-sP%=>04ZoUbP*50{|H6bzKQz&}JG>9T zAy|-oY$!<`Y1(@6^ktI4gZfQlXEz^#JqWh z1xg~(i@O8V)F~g6q}Kb5OJ)L-CQK;VXoJp98h+&|VPRLq0CA$O9m&T0NKj(mx#t>u z+2=d=1Vskblim(Dn;o}nEeBR!G@P~Apx0M?pl$koxnsTs92Cek2094 z9eg1e?DafwE2Sn0pUiAY=onIU1{!w88~d@qa%(=n!P_3wtL(bXi6_gNYVLQ?ShBo_ z-e(eO$2Ck2Cvm`npv$Kx-pR+oWOPr@i%|j?$C8(aEskI~GH)x>wkl>BLA8dwjC84V zL-cu13ENajy&tO_`*)~W<_{FOC4hIVEdPN!z0{};t`8H#>~^<`z`?-pQ3^8kYk$yW zep)?c>Jwp1dD9NHEiL2HJqd9GTHu|hHZMgpM1PbU&9!UqhkE-#X2Ti8R6cL`l~T*f6~5`~JDmEi@k z*pkCQ37rOy7s$!Ha#5oY65s8Py16IJem0l_gLO4w22I4KpNB#2$4i0Cnb{SY)p~IY zDz#1twZ%-n#Y^1n;Xz%53@?RqN1+40SlD9G%D^!dH6mfazZ>rH*1rY#HBK`;$cW`%NZX z>Ry#*2c2ER5m)6*QbSji+_wS26C3=SYo80_b1B8<6Os2)5fMa3+V>8zfSsDw|C??r z#5?|Ma4v}J*?m1JQNp34ESEIyd{0saALLl%{4oeliD57Ek*I{XG%?gnFIQXwT^D!Y ze#Lq7IRDz_Ti}<|X?4|ER&~ekj4ac4GP&>GzMZ_tPkyPqhKon=+`vbqF{hatwW(Uu0OI z%JyY$#UR{l=Bl;6lKBuCdxg{3XpNOgH3_>)8sOj=Fk5?PFxk7Ve#N%LXU4;^r!^$L zFVyMICA|>wE12;&6?!T1=ISt?eYqabV2@TNIT+CU2WDkiS5|rE`kxKa0!M&P{z1RXTA> zwLmEXE-`|%BXpG^9sA(v6Lg_j>BNJCHnDt_O5XNkaQ!Vta6s59SP%>0d;(m)yaz>J z1>?!e8{k^JmBafzDgUB)DJkH}POQTjwZ8mkCz3s;ozLaY147>}JdP-84($_urolq9%fr@G7V=YT8oukpRmq_E{@^}z1u;q$EK zdZk~nsj1uGbA;wDdfDQL$0e*}#;wCtlC-VcbMTgbrawC$T$cui1Uq^{%{9`mX8`3` z3WZI6x=G0S$>iQYowdcnwA6urb1>H>21b8xk;4o zn-MLF(UO2xVM|&47ionl$@Vr--c6~}5zz%fbKZyluK?T+l4H&#%Znrb??uA+z}^_! zu9CX-o<~e>>wKZvs(d2}GuL(|-4a*<2%gNPVF!0FVQxy_7dc^WC76;su=tGb5+D>8QuDsN;^-Acaf)(XYH!jpi_9XGq?uq8Lz+STFmkN5Y5p{Z-eKJ1L(yIJE! zj}Tizqw=QM$q?JeiDG2yB)u2Q)BmGzP>n8gm;XFk?itf1BmLbY6`;)ub$f+J&VzT8 z!&(c+na4r#^<05z{z17=j|#Z9EJT5saqj-*q&i%B$?D zW(1#`swteF^pVo_O|Uf4?rUOc1ki;{u>^YdQ+za{2yk0qa*a7>x9iue%sykZ^ib8N zgRj%1=%UeE>SBD^GKX283c;!PWXO?;9+r0~gwwC`7m-(&jX8h$7{!kE>oDMf`zy5g z0un~C${sk^sN6PmM&8=arm)TTWDPK&JX1O@%QYepny^1lSU_%OXH&FQoBky6KJNp5 zSEDO`E7`5h1xC8(Gm6BCQDfkM${=sNn_2y*THa~3ckMEFXF2zMA)rcI2JnmP^ z*DSEo&{r*(1Z79XPgF~P38?{t&>W0(h?0?Vp-Y?Zm|ecU!C`xCLu};LWI+J$2gGse za<6`bR#_T8|~Alr!!KpHPK#Nr&|o$qMhLu&1=`WUKZRnld<_%)Pb zp_+b}YDk{>Na;wI*gKC*TL@)O{#XPCVC9V)PS5Ys(UA+9YBUz&oWnjXtNxH_q*57t zoe4`JKEI>#fE9_wwW)YK$wgk6$5uwpo}e_{CNWT6UXw>%_(tz%7i}u!SI7*g4&p$> z(Tt~}I*CJ3>5Ehy$zQ-@lw`Q0nn9V@zSj@~!F7TT!%M5s1|o%Q_DXBuX48J!9RNtq zk@%lQ^1sY@YGv&mq?r4}0I~nbJJ*Xzhz$Q0LMyAlVOnZcIvY$|^PTvtIP2xTFtRX4_{#nN$dKoQ~H6`6F| zJP?pd-ikpN7DOX``jvyK)gi%$w@~=iF#q9uSatOt5}4BSl3?J`9gQ@L5S6ujB;kEy z@Hm2UuzYo)M3m}Ce5tzal9i=e_?SHNR89X!%H6`{d2>~9NbqC#;@_Ko|Emt+<`3A~ zFV6#D&Zej{O@CLlS?Ia@fWveoIX+M6B?gyvl(@loOPNr3g@*cPH!cQxn11*;;azai zQJPS(bs`;Argx}a(_QW3f!8|>4^freKOb37@+KdpGuh<*cW7uOBQw;oPlcdL%73&; zUQ*44Rk9;!JBLY0=H*oNv_3zN6xNQLNO&?;X=trStC)5g;vS!^Mdr0+a-`_PvkhxI zfJYufMV@P`Wq55Zev4Q}?@bj%m#i$G-~i{0{64kNZ*I)e&R-Js#+g1OUz0kof+oyW zxNDVQYa{X6l(J@2*BIvgrjZT_G!9!7e=AD0j$*x6_kN*7rBcoV z*s3n%ZGs}%V0Iygk9wn>!OJ~m<|Yl9p*L7}15|Psnrq(usyVmoy1h>LQtcJy1gE^Q zsp^?z?M6*74w0q5;M~5(6{T(3yHDMO2G4qzP^S*TUKlE2<&(&mOmZ%xwB;6PHZKcK zYZ4YxGKZR2t+Rc;jTeYFkOvXhM_t!y9d0cOl|5VW)9*oxUVlB$B(qP@zfXIQ_K0s3 zhr4FIBwtL`yE!9h`p%_R6CNw4ypPQudML{gApb0QlJ%rR&!D^UFNrK(>6nY$*UT%1 zelI`KNeVw?6;+NZ@^M+EC>p|rd6zzUrZYQ5HSq@(aD43$v0b4t-EiJgFPTk>H?yg^ zBFQ0PJBj_cvh{`goLn9RJc+j-fjVOv&(ueo15~%Rv5B0&uYnm|*g3j)?%E<1^C!FesJ*bE^6dUr4+ULtYe@=t54p-+8$R`!12 zJWQZV$%UG$`ZNYZ;JXL6TLv&=CV8Rp6DD&jm_%0%i`;o1D#oh?5btjaC)5r4|3dYftKREvzizlEYGQBaXfZ2^y777=zeM z4It1q6#KA;j)Zno5QY-juUX1jds^KkNtkB&w$Ox+Xq>ojm*Ax4VYE)BB z>L5*w=`|ZX%<=TdB`}lg-<`W=S55eHUpgx&gAlAbqYUzTm5M?!gwojK-_ z@L*Nija?#WMNULxak_P`Gsl#_{;o%^SZ(Bs-n^3ai9xIAF$ZPWPc5?h2is)oW_p!t z=p{ypJz7TQO!ih%d0>j1BLwoOaRYk7Pbd#EvmXNyCE>GMesgC<@X&eCMkKnPZ8{MI zG&p5qP>Q{;qa3DKzRcE3q#q7W&@x4qdh`O77n2GTA2d6F66d&yz1l|Uy3O{2HpK<3 z_5}dVoH{EiC-x-#x?jY{o+(D>iNULDA;`CzNG#FGMZ*A%*8;=o_XH>A>$5eG59{wS*zpaQDYlk#jKD@SS+BV>Ds(0 z6>1J={R>|gNmVzjZGA>8D$D{uSWl9MMN$#Mwz9lmBCD zC?|WnwM*;^8e2Wutm*)MH7NPKJrIMIh~hA0;MA}t6$JDdL9&vFP^@g_zzK~QrW#Wh z@}AST^EG+G9vJUQ3kEaTSJ_|PWvWd~d{>$5O${+GLmzgH=pb$e*sMD}3 z^_Z6wowY_X0F%~DmR|}c>jHTS=Tz{fQ;ZTFnfyUm%lpEf=OP?E3_l%D$LZNM3wTtD`x;pPQz<3q@1hk(joN%F(`?c{ly(%H zPX%Y=_|5-``yM}Ye-k0Y=MCBNpI@~e6-!8^1un<(`uDS!65Y6*0aDf%STer-2tj{1 zA=F{|;LZ_H>CXT9(WeD^-w{b`6rN-hXz#>5S0_$EoS;Z$J>7R`$H0VK+x?}q>Cbtc zJnA!&H?aCD-lvc?m@6^}GGM?JC~F?SAmZ9=xPTAafgXvtOWrAMq^gTNo89M%%0D%J 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

bdX2e;+fDHeY@Hb0_;!$l6x5;Kg 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

9_fVnY@rHDin44Zvcy_Z7*lj}$Ye=^~#H-x|4f1 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

  • {|%+I4bFI7Mow59nsx~YG^cBHOB*6z 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 z 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 literal 0 HcmV?d00001 From 600bad5c6921cebc4dd3df420a55c0f0162d4135 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 14 Mar 2023 20:46:17 +0000 Subject: [PATCH 016/123] cmac: release v0.7.2 (#129) --- Cargo.lock | 18 +++++++++--------- cmac/CHANGELOG.md | 6 ++++++ cmac/Cargo.toml | 2 +- cmac/src/lib.rs | 3 +-- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9e9b7e5..5ad2b97 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -21,9 +21,9 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[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", ] @@ -47,9 +47,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[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", @@ -58,7 +58,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.7.1" +version = "0.7.2" dependencies = [ "aes", "cipher", @@ -155,9 +155,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.137" +version = "0.2.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" [[package]] name = "magma" @@ -186,9 +186,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "version_check" diff --git a/cmac/CHANGELOG.md b/cmac/CHANGELOG.md index 096cc1a..b9b493c 100644 --- a/cmac/CHANGELOG.md +++ b/cmac/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.7.2 (2022-03-14) +### Changed +- Do not include large CAVP test vectors in published packages ([#128]) + +[#128]: https://github.com/RustCrypto/MACs/pull/128 + ## 0.7.1 (2022-02-17) ### Fixed - Minimal versions build ([#108]) diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index a56dcc8..c44d00e 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cmac" -version = "0.7.1" # Also update html_root_url in lib.rs when bumping this +version = "0.7.2" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index 52f1778..1ff1845 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -42,8 +42,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", - html_root_url = "https://docs.rs/cmac/0.7.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![forbid(unsafe_code)] #![cfg_attr(docsrs, feature(doc_cfg))] From ac25f6984b252f9fc9df4ccdc6b2e2a96324f128 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Mar 2023 12:22:29 -0600 Subject: [PATCH 017/123] Bump actions/checkout from 3.3.0 to 3.4.0 (#130) Bumps [actions/checkout](https://github.com/actions/checkout) from 3.3.0 to 3.4.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3.3.0...v3.4.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/cbc-mac.yml | 4 ++-- .github/workflows/cmac.yml | 4 ++-- .github/workflows/hmac.yml | 4 ++-- .github/workflows/pmac.yml | 4 ++-- .github/workflows/workspace.yml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 6d0f4f8..41c4737 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 4b266ba..88b072b 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -51,7 +51,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index d529b20..e6260c0 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 03c149f..b589cbc 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -51,7 +51,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 5586b52..eb8b419 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.3.0 + - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.4.0 - name: Install stable toolchain uses: actions-rs/toolchain@v1 From 4d48ce0b13f857882c7881b0de1046c0b5cd45b5 Mon Sep 17 00:00:00 2001 From: Dirk Stolle Date: Tue, 21 Mar 2023 03:23:33 +0100 Subject: [PATCH 018/123] Replace unmaintained actions-rs/* actions in CI workflows (#131) Basically all of the `actions-rs/*` actions are unmaintained. See for more information. Due to their age they generate several warnings in CI runs. To get rid of some of those warnings the occurrences of `actions-rs/toolchain` are replaced by `dtolnay/rust-toolchain`, and the occurrences of `actions-rs/cargo` are replaced by direct invocations of `cargo`. --- .github/workflows/cbc-mac.yml | 10 +++------- .github/workflows/cmac.yml | 10 +++------- .github/workflows/hmac.yml | 10 +++------- .github/workflows/pmac.yml | 10 +++------- .github/workflows/workspace.yml | 11 +++-------- 5 files changed, 15 insertions(+), 36 deletions(-) diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 41c4737..631749f 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: @@ -54,10 +52,8 @@ jobs: steps: - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo test --release --no-default-features - run: cargo test --release diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 88b072b..0f7ea76 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -30,12 +30,10 @@ jobs: steps: - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: @@ -53,10 +51,8 @@ jobs: steps: - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo test --release --no-default-features - run: cargo test --release diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index e6260c0..745216e 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo test --release --no-default-features - run: cargo test --release --features reset - run: cargo test --release diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index b589cbc..9e071e9 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -30,12 +30,10 @@ jobs: steps: - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: @@ -53,10 +51,8 @@ jobs: steps: - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo test --release --no-default-features - run: cargo test --release diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index eb8b419..b87e3d4 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -15,9 +15,8 @@ jobs: steps: - uses: actions/checkout@v3.4.0 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: 1.56.0 # MSRV components: clippy - run: cargo clippy --all -- -D warnings @@ -29,14 +28,10 @@ jobs: uses: actions/checkout@v3.4.0 - name: Install stable toolchain - uses: actions-rs/toolchain@v1 + uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: stable components: rustfmt - name: Run cargo fmt - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check + run: cargo fmt --all -- --check From 004c496a57060bded652c7279f103abb6801aec0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 22:19:54 +0000 Subject: [PATCH 019/123] Bump actions/checkout from 3.4.0 to 3.5.0 (#132) --- .github/workflows/cbc-mac.yml | 4 ++-- .github/workflows/cmac.yml | 4 ++-- .github/workflows/hmac.yml | 4 ++-- .github/workflows/pmac.yml | 4 ++-- .github/workflows/workspace.yml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 631749f..31becb2 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -50,7 +50,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 0f7ea76..6114f0b 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 745216e..1013069 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -50,7 +50,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 9e071e9..4dd8f12 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index b87e3d4..defa6b4 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.4.0 + - uses: actions/checkout@v3.5.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v3.4.0 + uses: actions/checkout@v3.5.0 - name: Install stable toolchain uses: dtolnay/rust-toolchain@master From e7bcfaa131b0e1fea0b5cc87d995a40b3eecbd9b Mon Sep 17 00:00:00 2001 From: Alexandr Kitaev Date: Tue, 4 Apr 2023 01:51:43 +0300 Subject: [PATCH 020/123] implement belt-mac (#134) --- .github/workflows/belt-mac.yml | 58 +++++++++ .github/workflows/workspace.yml | 2 +- Cargo.lock | 42 ++++-- Cargo.toml | 1 + README.md | 21 +-- belt-mac/CHANGELOG.md | 9 ++ belt-mac/Cargo.toml | 31 +++++ belt-mac/LICENSE-APACHE | 201 +++++++++++++++++++++++++++++ belt-mac/LICENSE-MIT | 25 ++++ belt-mac/README.md | 76 +++++++++++ belt-mac/benches/mod.rs | 14 ++ belt-mac/src/lib.rs | 214 +++++++++++++++++++++++++++++++ belt-mac/tests/data/belt-mac.blb | Bin 0 -> 117 bytes belt-mac/tests/mod.rs | 4 + 14 files changed, 680 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/belt-mac.yml create mode 100644 belt-mac/CHANGELOG.md create mode 100644 belt-mac/Cargo.toml create mode 100644 belt-mac/LICENSE-APACHE create mode 100644 belt-mac/LICENSE-MIT create mode 100644 belt-mac/README.md create mode 100644 belt-mac/benches/mod.rs create mode 100644 belt-mac/src/lib.rs create mode 100644 belt-mac/tests/data/belt-mac.blb create mode 100644 belt-mac/tests/mod.rs diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml new file mode 100644 index 0000000..bfae477 --- /dev/null +++ b/.github/workflows/belt-mac.yml @@ -0,0 +1,58 @@ +name: belt-mac + +on: + pull_request: + paths: + - "belt-mac/**" + - "Cargo.*" + push: + branches: master + +defaults: + run: + working-directory: belt-mac + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.57.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v3.5.0 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + targets: ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} + + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.57.0 # MSRV + - stable + steps: + - uses: actions/checkout@v3.5.0 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + - run: cargo test --release --no-default-features + - run: cargo test --release diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index defa6b4..749ed43 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -17,7 +17,7 @@ jobs: - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.56.0 # MSRV + toolchain: 1.68.0 components: clippy - run: cargo clippy --all -- -D warnings diff --git a/Cargo.lock b/Cargo.lock index 5ad2b97..ee3ff89 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,6 +13,25 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "belt-block" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a1be3fcfd5950762b6ac3f929b7ac65f31b35afee94e17f6fcadd58ee47abee" +dependencies = [ + "cipher", +] + +[[package]] +name = "belt-mac" +version = "0.1.0" +dependencies = [ + "belt-block", + "cipher", + "digest", + "hex-literal 0.4.0", +] + [[package]] name = "blobby" version = "0.3.1" @@ -36,7 +55,7 @@ dependencies = [ "cipher", "des", "digest", - "hex-literal", + "hex-literal 0.3.4", ] [[package]] @@ -51,6 +70,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ + "blobby", "crypto-common", "inout", "zeroize", @@ -65,16 +85,16 @@ dependencies = [ "dbl", "des", "digest", - "hex-literal", + "hex-literal 0.3.4", "kuznyechik", "magma", ] [[package]] name = "cpufeatures" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +checksum = "280a9f2d8b3a38871a3c8a46fb80db65e5e5ed97da80c4d08bf27fb63e35e181" dependencies = [ "libc", ] @@ -121,9 +141,9 @@ 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", @@ -135,6 +155,12 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" +[[package]] +name = "hex-literal" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcb5b3e439c92a7191df2f9bbe733de8de55c3f86368cdb1c63f8be7e9e328e" + [[package]] name = "inout" version = "0.1.3" @@ -198,6 +224,6 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[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" diff --git a/Cargo.toml b/Cargo.toml index ee782d4..6213730 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,6 @@ [workspace] members = [ + "belt-mac", "cbc-mac", "cmac", "pmac", diff --git a/README.md b/README.md index b5a4d0f..de7f30b 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,13 @@ Collection of [Message Authentication Code][1] (MAC) algorithms written in pure ## Supported Algorithms -| Algorithm | Crate | Crates.io | Documentation | MSRV | -|-----------|----------|:-------------:|:-------------:|:----:| -| [CBC-MAC] | [`cbc-mac`] | [![crates.io](https://img.shields.io/crates/v/cbc-mac.svg)](https://crates.io/crates/cbc-mac) | [![Documentation](https://docs.rs/cbc-mac/badge.svg)](https://docs.rs/cbc-mac) | ![MSRV 1.56][msrv-1.56] | -| [CMAC] | [`cmac`] | [![crates.io](https://img.shields.io/crates/v/cmac.svg)](https://crates.io/crates/cmac) | [![Documentation](https://docs.rs/cmac/badge.svg)](https://docs.rs/cmac) | ![MSRV 1.56][msrv-1.56] | -| [HMAC] | [`hmac`] | [![crates.io](https://img.shields.io/crates/v/hmac.svg)](https://crates.io/crates/hmac) | [![Documentation](https://docs.rs/hmac/badge.svg)](https://docs.rs/hmac) | ![MSRV 1.41][msrv-1.41] | -| [PMAC] | [`pmac`] | [![crates.io](https://img.shields.io/crates/v/pmac.svg)](https://crates.io/crates/pmac) | [![Documentation](https://docs.rs/pmac/badge.svg)](https://docs.rs/pmac) | ![MSRV 1.56][msrv-1.56] | +| Algorithm | Crate | Crates.io | Documentation | MSRV | +|------------|--------------|:---------:|:-------------:|:----:| +| [BelT MAC] | [`belt-mac`] | [![crates.io](https://img.shields.io/crates/v/belt-mac.svg)](https://crates.io/crates/belt-mac) | [![Documentation](https://docs.rs/belt-mac/badge.svg)](https://docs.rs/belt-mac) | ![MSRV 1.57][msrv-1.57] | +| [CBC-MAC] | [`cbc-mac`] | [![crates.io](https://img.shields.io/crates/v/cbc-mac.svg)](https://crates.io/crates/cbc-mac) | [![Documentation](https://docs.rs/cbc-mac/badge.svg)](https://docs.rs/cbc-mac) | ![MSRV 1.56][msrv-1.56] | +| [CMAC] | [`cmac`] | [![crates.io](https://img.shields.io/crates/v/cmac.svg)](https://crates.io/crates/cmac) | [![Documentation](https://docs.rs/cmac/badge.svg)](https://docs.rs/cmac) | ![MSRV 1.56][msrv-1.56] | +| [HMAC] | [`hmac`] | [![crates.io](https://img.shields.io/crates/v/hmac.svg)](https://crates.io/crates/hmac) | [![Documentation](https://docs.rs/hmac/badge.svg)](https://docs.rs/hmac) | ![MSRV 1.41][msrv-1.41] | +| [PMAC] | [`pmac`] | [![crates.io](https://img.shields.io/crates/v/pmac.svg)](https://crates.io/crates/pmac) | [![Documentation](https://docs.rs/pmac/badge.svg)](https://docs.rs/pmac) | ![MSRV 1.56][msrv-1.56] | ### Minimum Supported Rust Version (MSRV) Policy @@ -23,8 +24,8 @@ MSRV bumps are considered breaking changes and will be performed only with minor All crates licensed under either of - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -41,9 +42,11 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [deps-link]: https://deps.rs/repo/github/RustCrypto/MACs [msrv-1.41]: https://img.shields.io/badge/rustc-1.41.0+-blue.svg [msrv-1.56]: https://img.shields.io/badge/rustc-1.56.0+-blue.svg +[msrv-1.57]: https://img.shields.io/badge/rustc-1.57.0+-blue.svg [//]: # (crates) +[`belt-mac`]: ./belt-mac [`cbc-mac`]: ./cbc-mac [`cmac`]: ./cmac [`hmac`]: ./hmac @@ -55,8 +58,8 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [//]: # (algorithms) +[BelT MAC]: https://apmi.bsu.by/assets/files/std/belt-spec371.pdf [CBC-MAC]: https://en.wikipedia.org/wiki/CBC-MAC [CMAC]: https://en.wikipedia.org/wiki/One-key_MAC [HMAC]: https://en.wikipedia.org/wiki/HMAC [PMAC]: https://en.wikipedia.org/wiki/PMAC_(cryptography) - diff --git a/belt-mac/CHANGELOG.md b/belt-mac/CHANGELOG.md new file mode 100644 index 0000000..afe586b --- /dev/null +++ b/belt-mac/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.1.0 (2023-04-03) +Initial Release \ No newline at end of file diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml new file mode 100644 index 0000000..5a87489 --- /dev/null +++ b/belt-mac/Cargo.toml @@ -0,0 +1,31 @@ +[package] +name = "belt-mac" +version = "0.1.0" +description = "MAC specified by the BelT standard" +authors = ["RustCrypto Developers"] +license = "MIT OR Apache-2.0" +edition = "2021" +rust-version = "1.57" +readme = "README.md" +documentation = "https://docs.rs/belt-mac" +repository = "https://github.com/RustCrypto/MACs" +keywords = ["crypto", "mac", "belt-mac"] +categories = ["cryptography", "no-std"] + +[dependencies] +belt-block = { version = "0.1" } +digest = { version = "0.10.3", features = ["mac"] } +cipher = "0.4" + +[dev-dependencies] +cipher = { version = "0.4", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } +hex-literal = "0.4" + +[features] +std = ["digest/std"] +zeroize = ["cipher/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/belt-mac/LICENSE-APACHE b/belt-mac/LICENSE-APACHE new file mode 100644 index 0000000..78173fa --- /dev/null +++ b/belt-mac/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +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. diff --git a/belt-mac/LICENSE-MIT b/belt-mac/LICENSE-MIT new file mode 100644 index 0000000..50c6180 --- /dev/null +++ b/belt-mac/LICENSE-MIT @@ -0,0 +1,25 @@ +Copyright (c) 2023 The RustCrypto Project Developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/belt-mac/README.md b/belt-mac/README.md new file mode 100644 index 0000000..d4bad6c --- /dev/null +++ b/belt-mac/README.md @@ -0,0 +1,76 @@ +# RustCrypto: belt-mac + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of [`belt-mac`]. + +# Example +```rust +use belt_mac::{BeltMac, Mac}; +use hex_literal::hex; + +let key = [0x42; 32]; +let msg = b"input message"; +let expected_tag = hex!("9f5c9623b4eff8802195e81bcd841959"); + +// To get the authentication code: +let mut mac: BeltMac = BeltMac::new_from_slice(&key).unwrap(); +mac.update(msg); +let tag = mac.finalize(); +let tag_bytes = tag.into_bytes(); +assert_eq!(&tag_bytes[..], &expected_tag[..]); + +// To verify the message: +let mut mac: BeltMac = BeltMac::new_from_slice(&key).unwrap(); +mac.update(b"input message"); +mac.verify(&tag_bytes).unwrap(); +``` + +## Minimum Supported Rust Version + +Rust **1.57** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/belt-mac.svg +[crate-link]: https://crates.io/crates/belt-mac +[docs-image]: https://docs.rs/belt-mac/badge.svg +[docs-link]: https://docs.rs/belt-mac/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs +[build-image]: https://github.com/RustCrypto/MACs/workflows/belt-mac/badge.svg?branch=master&event=push +[build-link]: https://github.com/RustCrypto/MACs/actions?query=workflow%3Abelt-mac + +[//]: # (general links) + +[belt-mac]: https://apmi.bsu.by/assets/files/std/belt-spec371.pdf diff --git a/belt-mac/benches/mod.rs b/belt-mac/benches/mod.rs new file mode 100644 index 0000000..b7c195c --- /dev/null +++ b/belt-mac/benches/mod.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use belt_block::BeltBlock; +use belt_mac::{BeltMac, Mac}; +use test::Bencher; + +digest::bench_update!( + BeltMac::::new(&Default::default()); + belt_mac_10 10; + belt_mac_100 100; + belt_mac_1000 1000; + belt_mac_10000 10000; +); diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs new file mode 100644 index 0000000..cec1874 --- /dev/null +++ b/belt-mac/src/lib.rs @@ -0,0 +1,214 @@ +#![no_std] +#![doc = include_str!("../README.md")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" +)] +#![forbid(unsafe_code)] +#![cfg_attr(docsrs, feature(doc_cfg))] +#![warn(missing_docs, rust_2018_idioms)] + +pub use digest::{self, Mac}; + +use belt_block::BeltBlock; +use cipher::{BlockBackend, BlockCipher, BlockClosure, BlockEncryptMut}; +use core::fmt; +use digest::{ + block_buffer::Lazy, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + UpdateCore, + }, + crypto_common::{InnerInit, InnerUser}, + generic_array::{ + typenum::{IsLess, Le, NonZero, U256}, + ArrayLength, GenericArray, + }, + MacMarker, Output, OutputSizeUser, Reset, +}; + +#[cfg(feature = "zeroize")] +use cipher::zeroize::{Zeroize, ZeroizeOnDrop}; + +/// Generic BeltMac instance. +pub type BeltMac = CoreWrapper>; + +#[derive(Clone)] +/// Generic core BeltMac instance, which operates over blocks. +pub struct BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone, +{ + cipher: C, + state: Block, + r: Block, +} + +impl BlockSizeUser for BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone, +{ + type BlockSize = C::BlockSize; +} + +impl OutputSizeUser for BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone, +{ + type OutputSize = C::BlockSize; +} + +impl InnerUser for BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone, +{ + type Inner = C; +} + +impl MacMarker for BeltMacCore where C: BlockCipher + BlockEncryptMut + Clone {} + +impl InnerInit for BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone, +{ + #[inline] + fn inner_init(mut cipher: C) -> Self { + let state = Default::default(); + let mut r = Default::default(); + cipher.encrypt_block_mut(&mut r); + Self { cipher, state, r } + } +} + +impl BufferKindUser for BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone, +{ + type BufferKind = Lazy; +} + +impl UpdateCore for BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone, +{ + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + struct Ctx<'a, N: ArrayLength> { + state: &'a mut Block, + blocks: &'a [Block], + } + + impl<'a, N: ArrayLength> BlockSizeUser for Ctx<'a, N> { + type BlockSize = N; + } + + impl<'a, N: ArrayLength> BlockClosure for Ctx<'a, N> { + #[inline(always)] + fn call>(self, backend: &mut B) { + for block in self.blocks { + xor(self.state, block); + backend.proc_block((self.state).into()); + } + } + } + + let Self { cipher, state, .. } = self; + cipher.encrypt_with_backend_mut(Ctx { state, blocks }) + } +} + +impl Reset for BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone, +{ + #[inline(always)] + fn reset(&mut self) { + self.state = Default::default(); + } +} + +impl FixedOutputCore for BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone, + C::BlockSize: IsLess, + Le: NonZero, +{ + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let pos = buffer.get_pos(); + let buf = buffer.pad_with_zeros(); + + let cipher = &mut self.cipher; + let r = &self.r; + let bs = r.len(); + let mut new_r = Block::::default(); + if pos == bs { + // phi1 + let (h1, h2) = new_r.split_at_mut(bs - 4); + h1.copy_from_slice(&r[4..]); + for i in 0..4 { + h2[i] = r[i] ^ r[4 + i]; + } + } else { + buf[pos] = 0x80; + // phi2 + let (h1, h2) = new_r.split_at_mut(4); + for i in 0..4 { + h1[i] = r[i] ^ r[bs - 4 + i]; + } + h2.copy_from_slice(&r[..bs - 4]); + } + + let mut state = self.state.clone(); + xor(&mut state, buf); + xor(&mut state, &new_r); + cipher.encrypt_block_b2b_mut(&state, out); + } +} + +impl AlgorithmName for BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, +{ + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("BeltMac<")?; + ::write_alg_name(f)?; + f.write_str(">") + } +} + +impl fmt::Debug for BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, +{ + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("BeltMacCore<")?; + ::write_alg_name(f)?; + f.write_str("> { ... }") + } +} + +#[cfg(feature = "zeroize")] +#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] +impl Drop for BeltMacCore +where + C: BlockCipher + BlockEncryptMut + Clone, +{ + fn drop(&mut self) { + self.state.zeroize(); + } +} + +#[cfg(feature = "zeroize")] +#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] +impl ZeroizeOnDrop for BeltMacCore where + C: BlockCipher + BlockEncryptMut + Clone + ZeroizeOnDrop +{ +} + +#[inline(always)] +fn xor>(buf: &mut GenericArray, data: &GenericArray) { + for i in 0..N::USIZE { + buf[i] ^= data[i]; + } +} diff --git a/belt-mac/tests/data/belt-mac.blb b/belt-mac/tests/data/belt-mac.blb new file mode 100644 index 0000000000000000000000000000000000000000..7544b305b126aa27886c9f1a9ccd620c4abe5d40 GIT binary patch literal 117 zcmZQnczN%+PCpO-GTqyrU-FBmxwEkci@jB;GPgXvxS4rn_cunVjZ=1=;NtjdZI;W> z7a>rTa4SK$f7(gL1Qc Date: Mon, 17 Apr 2023 19:23:54 +0000 Subject: [PATCH 021/123] Bump actions/checkout from 3.5.0 to 3.5.2 (#137) --- .github/workflows/belt-mac.yml | 4 ++-- .github/workflows/cbc-mac.yml | 4 ++-- .github/workflows/cmac.yml | 4 ++-- .github/workflows/hmac.yml | 4 ++-- .github/workflows/pmac.yml | 4 ++-- .github/workflows/workspace.yml | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index bfae477..91e776c 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.57.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 31becb2..18bfd7d 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -50,7 +50,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 6114f0b..dad0a59 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 1013069..aa546ae 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -50,7 +50,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 4dd8f12..7fde559 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 749ed43..204348e 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.0 + - uses: actions/checkout@v3.5.2 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v3.5.0 + uses: actions/checkout@v3.5.2 - name: Install stable toolchain uses: dtolnay/rust-toolchain@master From e4edc196269440cc5eeba58a0eea2b6f6566cac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Mon, 17 Apr 2023 22:25:29 +0300 Subject: [PATCH 022/123] Update Cargo.lock --- Cargo.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ee3ff89..a3cf7c3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -15,9 +15,9 @@ dependencies = [ [[package]] name = "belt-block" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a1be3fcfd5950762b6ac3f929b7ac65f31b35afee94e17f6fcadd58ee47abee" +checksum = "d9aa1eef3994e2ccd304a78fe3fea4a73e5792007f85f09b79bb82143ca5f82b" dependencies = [ "cipher", ] @@ -29,7 +29,7 @@ dependencies = [ "belt-block", "cipher", "digest", - "hex-literal 0.4.0", + "hex-literal 0.4.1", ] [[package]] @@ -157,9 +157,9 @@ checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "hex-literal" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcb5b3e439c92a7191df2f9bbe733de8de55c3f86368cdb1c63f8be7e9e328e" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "inout" @@ -181,9 +181,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.140" +version = "0.2.141" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" +checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" [[package]] name = "magma" From 0b13c9ef0831a37fed25da46c1ff52df291bea53 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 23 Apr 2023 19:52:36 -0600 Subject: [PATCH 023/123] Add SECURITY.md --- SECURITY.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..37d058c --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,17 @@ +# Security Policy + +## Supported Versions + +Security updates are applied only to the most recent release. + +## Reporting a Vulnerability + +If you have discovered a security vulnerability in this project, please report +it privately. **Do not disclose it as a public issue.** This gives us time to +work with you to fix the issue before public exposure, reducing the chance that +the exploit will be used before a patch is released. + +Please disclose it at [security advisory](https://github.com/RustCrypto/MACs/security/advisories/new). + +This project is maintained by a team of volunteers on a reasonable-effort basis. +As such, please give us at least 90 days to work on a fix before public exposure. From c68642e55a4dbb7b3e08008fbcba588e19555ed5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 May 2023 12:05:31 -0600 Subject: [PATCH 024/123] Bump digest from 0.10.6 to 0.10.7 (#139) Bumps [digest](https://github.com/RustCrypto/traits) from 0.10.6 to 0.10.7. - [Commits](https://github.com/RustCrypto/traits/compare/digest-v0.10.6...digest-v0.10.7) --- updated-dependencies: - dependency-name: digest dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- belt-mac/Cargo.toml | 2 +- cbc-mac/Cargo.toml | 4 ++-- cmac/Cargo.toml | 4 ++-- pmac/Cargo.toml | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a3cf7c3..454d3bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -129,9 +129,9 @@ dependencies = [ [[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 = [ "blobby", "block-buffer", diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 5a87489..a63d985 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = { version = "0.1" } -digest = { version = "0.10.3", features = ["mac"] } +digest = { version = "0.10.7", features = ["mac"] } cipher = "0.4" [dev-dependencies] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 0afdb7e..38458d5 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -12,13 +12,13 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -digest = { version = "0.10.3", features = ["mac"] } +digest = { version = "0.10.7", features = ["mac"] } cipher = "0.4.2" [dev-dependencies] aes = "0.8" des = "0.8" -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.3" [features] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index c44d00e..c871d66 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -14,12 +14,12 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -digest = { version = "0.10.3", features = ["mac"] } +digest = { version = "0.10.7", features = ["mac"] } cipher = "0.4.2" dbl = "0.3" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.3" aes = "0.8" des = "0.8" diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index a512e5d..22f0119 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -13,13 +13,13 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.10.3", features = ["mac"] } +digest = { version = "0.10.7", features = ["mac"] } cipher = "0.4.2" dbl = "0.3" [dev-dependencies] aes = "0.8" -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } [features] std = ["digest/std"] From 7451938cc69f97b08797ce51636371ca5f9a4847 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 19 May 2023 12:14:55 -0600 Subject: [PATCH 025/123] Revert c68642e; preserve `digest` v0.10.7 bump in Cargo.lock (#140) Avoids bumping the patch version requirements for `digest` which occurred in #139 --- belt-mac/Cargo.toml | 2 +- cbc-mac/Cargo.toml | 4 ++-- cmac/Cargo.toml | 4 ++-- pmac/Cargo.toml | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index a63d985..5a87489 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = { version = "0.1" } -digest = { version = "0.10.7", features = ["mac"] } +digest = { version = "0.10.3", features = ["mac"] } cipher = "0.4" [dev-dependencies] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 38458d5..0afdb7e 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -12,13 +12,13 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -digest = { version = "0.10.7", features = ["mac"] } +digest = { version = "0.10.3", features = ["mac"] } cipher = "0.4.2" [dev-dependencies] aes = "0.8" des = "0.8" -digest = { version = "0.10.7", features = ["dev"] } +digest = { version = "0.10.3", features = ["dev"] } hex-literal = "0.3" [features] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index c871d66..c44d00e 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -14,12 +14,12 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -digest = { version = "0.10.7", features = ["mac"] } +digest = { version = "0.10.3", features = ["mac"] } cipher = "0.4.2" dbl = "0.3" [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } +digest = { version = "0.10.3", features = ["dev"] } hex-literal = "0.3" aes = "0.8" des = "0.8" diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 22f0119..a512e5d 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -13,13 +13,13 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.10.7", features = ["mac"] } +digest = { version = "0.10.3", features = ["mac"] } cipher = "0.4.2" dbl = "0.3" [dev-dependencies] aes = "0.8" -digest = { version = "0.10.7", features = ["dev"] } +digest = { version = "0.10.3", features = ["dev"] } [features] std = ["digest/std"] From 74b9edf3b38ea7e57f5b05cb9d992da33339a016 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 21:21:54 +0300 Subject: [PATCH 026/123] Bump actions/checkout from 3.5.2 to 3.5.3 (#141) --- .github/workflows/belt-mac.yml | 4 ++-- .github/workflows/cbc-mac.yml | 4 ++-- .github/workflows/cmac.yml | 4 ++-- .github/workflows/hmac.yml | 4 ++-- .github/workflows/pmac.yml | 4 ++-- .github/workflows/workspace.yml | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index 91e776c..88a5160 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.57.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 18bfd7d..c61f85f 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -50,7 +50,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index dad0a59..f23cc9d 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index aa546ae..f8dbca6 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -50,7 +50,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 7fde559..37a2786 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 204348e..7a20ed8 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.2 + - uses: actions/checkout@v3.5.3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v3.5.2 + uses: actions/checkout@v3.5.3 - name: Install stable toolchain uses: dtolnay/rust-toolchain@master From cd0dde322c93ab1d9e8e4e3de7798f369b2ae02f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Fri, 16 Jun 2023 16:34:17 +0300 Subject: [PATCH 027/123] Update Cargo.lock --- Cargo.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 454d3bf..7c65c94 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "280a9f2d8b3a38871a3c8a46fb80db65e5e5ed97da80c4d08bf27fb63e35e181" +checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" dependencies = [ "libc", ] @@ -181,9 +181,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.141" +version = "0.2.146" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" +checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" [[package]] name = "magma" @@ -206,9 +206,9 @@ dependencies = [ [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "typenum" From b88a37ea391f086d9e798630d86dbdd1e81cfd90 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Jun 2023 12:18:32 -0600 Subject: [PATCH 028/123] Bump aes from 0.8.2 to 0.8.3 (#142) Bumps [aes](https://github.com/RustCrypto/block-ciphers) from 0.8.2 to 0.8.3. - [Commits](https://github.com/RustCrypto/block-ciphers/compare/aes-v0.8.2...aes-v0.8.3) --- updated-dependencies: - dependency-name: aes dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7c65c94..4b2ff10 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[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", From 0fa4707746e999ddbdc9a791c339168c487789ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Wed, 5 Jul 2023 14:07:58 +0300 Subject: [PATCH 029/123] Update Cargo.lock --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4b2ff10..d3a8c76 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] @@ -181,9 +181,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.146" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "magma" From 8a4733205055ee9813043b4cd1c83bb841df0441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Mon, 7 Aug 2023 16:55:49 +0300 Subject: [PATCH 030/123] Update Clippy --- .github/workflows/workspace.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 7a20ed8..50d3736 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -17,7 +17,7 @@ jobs: - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.68.0 + toolchain: 1.71.0 components: clippy - run: cargo clippy --all -- -D warnings From a343fa76ce6675fa791a72e91a727b69d54b3a39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Mon, 7 Aug 2023 20:30:46 +0300 Subject: [PATCH 031/123] Update dependencies --- Cargo.lock | 8 ++++---- cmac/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d3a8c76..b51259d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -172,9 +172,9 @@ dependencies = [ [[package]] name = "kuznyechik" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8483b65417c9aca2348085fecc5eaef5af04834190b329dddd90f562204e632b" +checksum = "ca7899a524198c60ded686fc826703de2a04470aff9d042e8cc1f845b912c12f" dependencies = [ "cipher", ] @@ -187,9 +187,9 @@ checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "magma" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2769afcfdd8e74b86e29ad12ef7f89e1e9c5d0b78cb50a6233a502c60d62f0" +checksum = "4b09bd24ba5fcb427ee21a09e28f9a5e2c2fce78c69af974fb8d373662ceedb4" dependencies = [ "cipher", ] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index c44d00e..e82e31c 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -24,7 +24,7 @@ hex-literal = "0.3" aes = "0.8" des = "0.8" kuznyechik = "0.8" -magma = "0.8" +magma = "0.9" [features] std = ["digest/std"] From e0a004c9b1a63ac08069c6193a018d91da8bdd13 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 12:30:30 -0600 Subject: [PATCH 032/123] Bump actions/checkout from 3.5.3 to 4.0.0 (#146) Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.3 to 4.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3.5.3...v4.0.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/belt-mac.yml | 4 ++-- .github/workflows/cbc-mac.yml | 4 ++-- .github/workflows/cmac.yml | 4 ++-- .github/workflows/hmac.yml | 4 ++-- .github/workflows/pmac.yml | 4 ++-- .github/workflows/workspace.yml | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index 88a5160..969161e 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.0.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.57.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.0.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index c61f85f..ae4737a 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.0.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -50,7 +50,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.0.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index f23cc9d..99ff365 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.0.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.0.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index f8dbca6..716945d 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.0.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -50,7 +50,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.0.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 37a2786..1baed53 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.0.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.0.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 50d3736..dadb319 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.0.0 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v3.5.3 + uses: actions/checkout@v4.0.0 - name: Install stable toolchain uses: dtolnay/rust-toolchain@master From d5072124165481c9dab3d337dea35207b3d8f174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Tue, 26 Sep 2023 19:21:47 +0300 Subject: [PATCH 033/123] Update Cargo.lock --- Cargo.lock | 8 ++++---- hmac/Cargo.lock | 45 +++++++++++++++++++++++---------------------- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b51259d..9bb4869 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -181,9 +181,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.147" +version = "0.2.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" [[package]] name = "magma" @@ -212,9 +212,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "version_check" diff --git a/hmac/Cargo.lock b/hmac/Cargo.lock index 52f4ebf..490e261 100644 --- a/hmac/Cargo.lock +++ b/hmac/Cargo.lock @@ -10,9 +10,9 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[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", ] @@ -25,9 +25,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[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", ] @@ -44,9 +44,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "blobby", "block-buffer", @@ -56,9 +56,9 @@ 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", @@ -97,30 +97,31 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.132" +version = "0.2.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" [[package]] name = "md-5" -version = "0.10.4" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b48670c893079d3c2ed79114e3644b7004df1c361a4e0ad52e2e6940d07c3d" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ + "cfg-if", "digest", ] [[package]] name = "proc-macro-hack" -version = "0.5.19" +version = "0.5.20+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "sha1" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", @@ -129,9 +130,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -149,15 +150,15 @@ dependencies = [ [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "typenum" -version = "1.15.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "version_check" From b802dd5a3cd5e1ce090d57b4c0cf0dbfac240a01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 20:15:18 +0300 Subject: [PATCH 034/123] Bump actions/checkout from 4.0.0 to 4.1.1 (#148) --- .github/workflows/belt-mac.yml | 4 ++-- .github/workflows/cbc-mac.yml | 4 ++-- .github/workflows/cmac.yml | 4 ++-- .github/workflows/hmac.yml | 4 ++-- .github/workflows/pmac.yml | 4 ++-- .github/workflows/workspace.yml | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index 969161e..1f538b3 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4.0.0 + - uses: actions/checkout@v4.1.1 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.57.0 # MSRV - stable steps: - - uses: actions/checkout@v4.0.0 + - uses: actions/checkout@v4.1.1 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index ae4737a..65cf533 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4.0.0 + - uses: actions/checkout@v4.1.1 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -50,7 +50,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v4.0.0 + - uses: actions/checkout@v4.1.1 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 99ff365..ac54281 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4.0.0 + - uses: actions/checkout@v4.1.1 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v4.0.0 + - uses: actions/checkout@v4.1.1 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 716945d..7b1f7e2 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4.0.0 + - uses: actions/checkout@v4.1.1 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -50,7 +50,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v4.0.0 + - uses: actions/checkout@v4.1.1 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 1baed53..812bb81 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -28,7 +28,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4.0.0 + - uses: actions/checkout@v4.1.1 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -49,7 +49,7 @@ jobs: - 1.56.0 # MSRV - stable steps: - - uses: actions/checkout@v4.0.0 + - uses: actions/checkout@v4.1.1 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index dadb319..cfaba69 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.0.0 + - uses: actions/checkout@v4.1.1 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v4.0.0 + uses: actions/checkout@v4.1.1 - name: Install stable toolchain uses: dtolnay/rust-toolchain@master From 46072132e1ef0efb1f8522c1ba5fc59ed824f83d Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 13 Dec 2023 16:08:01 +0300 Subject: [PATCH 035/123] hmac: test Debug impls (#149) --- hmac/src/lib.rs | 2 +- hmac/tests/mod.rs | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index b93fb31..7e50ff8 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -76,7 +76,7 @@ //! the [`Error`][std::error::Error] trait for error types) //! - `reset`: enables implementation of the [`Reset`][digest::Reset] trait //! (note that it makes HMAC states bigger) -//! +//! //! [`digest`]: https://docs.rs/digest //! [`sha2`]: https://docs.rs/sha2 //! [`RustCrypto/hashes`]: https://github.com/RustCrypto/hashes diff --git a/hmac/tests/mod.rs b/hmac/tests/mod.rs index d1798c8..7057384 100644 --- a/hmac/tests/mod.rs +++ b/hmac/tests/mod.rs @@ -2,11 +2,20 @@ use digest::new_mac_test as test; #[cfg(feature = "reset")] use digest::new_resettable_mac_test as test; -use hmac::{Hmac, SimpleHmac}; +use hmac::{Hmac, HmacCore, SimpleHmac}; use sha1::Sha1; use sha2::{Sha224, Sha256, Sha384, Sha512}; use streebog::{Streebog256, Streebog512}; +#[test] +fn test_debug_impls() { + fn needs_debug() {} + + needs_debug::>(); + needs_debug::>(); + needs_debug::>(); +} + // Test vectors from RFC 2104, plus wiki test test!(hmac_md5_rfc2104, "md5", Hmac); test!(hmac_md5_rfc2104_simple, "md5", SimpleHmac); From e435a1279023ef1448f478b279302273ccb03008 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jan 2024 05:48:17 -0700 Subject: [PATCH 036/123] hmac: bump `digest` to v0.11.0-pre.3; MSRV 1.71 (#150) This prerelease of `digest` notably includes a migration from `generic-array` to `hybrid-array`. Bumps the crate version to v0.13.0-pre to denote this is a breaking change, however note there is not a crate release associated with this version bump. The edition has also been bumped to 2021, and `hex-literal` has been upgraded to v0.4. --- .github/workflows/hmac.yml | 4 +- hmac/Cargo.lock | 93 +++++++++++++++++++------------------- hmac/Cargo.toml | 19 ++++---- hmac/README.md | 4 +- hmac/src/lib.rs | 9 ++-- hmac/src/optim.rs | 2 +- 6 files changed, 66 insertions(+), 65 deletions(-) diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 7b1f7e2..66ac014 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: rust: - - 1.41.0 # MSRV + - 1.71.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -47,7 +47,7 @@ jobs: strategy: matrix: rust: - - 1.41.0 # MSRV + - 1.71.0 # MSRV - stable steps: - uses: actions/checkout@v4.1.1 diff --git a/hmac/Cargo.lock b/hmac/Cargo.lock index 490e261..166b05d 100644 --- a/hmac/Cargo.lock +++ b/hmac/Cargo.lock @@ -10,11 +10,11 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.10.4" +version = "0.11.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +checksum = "72bc448e41b30773616b4f51a23f1a51634d41ce0d06a9bf6c3065ee85e227a1" dependencies = [ - "generic-array", + "crypto-common", ] [[package]] @@ -34,19 +34,20 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.2.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "cc17eb697364b18256ec92675ebe6b7b153d2f1041e568d74533c5d0fc1ca162" dependencies = [ - "generic-array", - "typenum", + "getrandom", + "hybrid-array", + "rand_core", ] [[package]] name = "digest" -version = "0.10.7" +version = "0.11.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +checksum = "eb3be3c52e023de5662dc05a32f747d09a1d6024fdd1f64b0850e373269efb43" dependencies = [ "blobby", "block-buffer", @@ -55,37 +56,25 @@ dependencies = [ ] [[package]] -name = "generic-array" -version = "0.14.7" +name = "getrandom" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ - "typenum", - "version_check", + "cfg-if", + "libc", + "wasi", ] [[package]] name = "hex-literal" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d70693199b3cf4552f3fa720b54163927a3ebed2aef240efaf556033ab336a11" -dependencies = [ - "hex-literal-impl", - "proc-macro-hack", -] - -[[package]] -name = "hex-literal-impl" -version = "0.2.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59448fc2f82a5fb6907f78c3d69d843e82ff5b051923313cc4438cb0c7b745a8" -dependencies = [ - "proc-macro-hack", -] +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hmac" -version = "0.12.1" +version = "0.13.0-pre" dependencies = [ "digest", "hex-literal", @@ -95,33 +84,45 @@ dependencies = [ "streebog", ] +[[package]] +name = "hybrid-array" +version = "0.2.0-pre.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27fbaf242418fe980caf09ed348d5a6aeabe71fc1bd8bebad641f4591ae0a46d" +dependencies = [ + "typenum", +] + [[package]] name = "libc" -version = "0.2.148" +version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "md-5" -version = "0.10.6" +version = "0.11.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +checksum = "dad20e1fc790e8dc3294de8d1936f6c25e6a498507506d7d4705d0242c0c7fda" dependencies = [ "cfg-if", "digest", ] [[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" +name = "rand_core" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] [[package]] name = "sha1" -version = "0.10.6" +version = "0.11.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +checksum = "c14486028be4486a46aa8c4131ef865ec85b221c1e1327af76f10b6981e06850" dependencies = [ "cfg-if", "cpufeatures", @@ -130,9 +131,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.11.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "de0628cd6fd8219612c2d71ad52ab8c2014a18cbdbedbde17de04d400df65997" dependencies = [ "cfg-if", "cpufeatures", @@ -141,9 +142,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.10.2" +version = "0.11.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e7fe6ed8a42cec360e070309427bb7959e102849b0dbaa7de19d5b9860bd536" +checksum = "95fb02b2a927e059d2bf349eb26664c7ca663c980e069feb4782adb465c5c9e3" dependencies = [ "digest", ] @@ -161,7 +162,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] -name = "version_check" -version = "0.9.4" +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index bf45b73..25816ba 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,26 +1,27 @@ [package] name = "hmac" -version = "0.12.1" # Also update html_root_url in lib.rs when bumping this +version = "0.13.0-pre" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -edition = "2018" +edition = "2021" readme = "README.md" documentation = "https://docs.rs/hmac" repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "hmac", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = { version = "0.10.3", features = ["mac"] } +digest = { version = "=0.11.0-pre.3", features = ["mac"] } [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } -md-5 = { version = "0.10", default-features = false } -sha1 = { version = "0.10", default-features = false } -sha2 = { version = "0.10", default-features = false } -streebog = { version = "0.10", default-features = false } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +md-5 = { version = "=0.11.0-pre.0", default-features = false } +sha1 = { version = "=0.11.0-pre.0", default-features = false } +sha2 = { version = "=0.11.0-pre.0", default-features = false } +streebog = { version = "=0.11.0-pre.0", default-features = false } +hex-literal = "0.4" [features] std = ["digest/std"] diff --git a/hmac/README.md b/hmac/README.md index 52d4ef9..ec73431 100644 --- a/hmac/README.md +++ b/hmac/README.md @@ -12,7 +12,7 @@ Pure Rust implementation of the [Hash-based Message Authentication Code (HMAC)][ ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -44,7 +44,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/hmac/badge.svg [docs-link]: https://docs.rs/hmac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index 7e50ff8..a7da7f9 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -21,7 +21,7 @@ //! //! ```rust //! use sha2::Sha256; -//! use hmac::{Hmac, Mac}; +//! use hmac::{Hmac, KeyInit, Mac}; //! use hex_literal::hex; //! //! // Create alias for HMAC-SHA256 @@ -49,7 +49,7 @@ //! //! ```rust //! # use sha2::Sha256; -//! # use hmac::{Hmac, Mac}; +//! # use hmac::{Hmac, KeyInit, Mac}; //! # use hex_literal::hex; //! # type HmacSha256 = Hmac; //! let mut mac = HmacSha256::new_from_slice(b"my secret and secure key") @@ -84,8 +84,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", - html_root_url = "https://docs.rs/hmac/0.12.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![forbid(unsafe_code)] #![cfg_attr(docsrs, feature(doc_cfg))] @@ -95,7 +94,7 @@ extern crate std; pub use digest; -pub use digest::Mac; +pub use digest::{KeyInit, Mac}; use digest::{ core_api::{Block, BlockSizeUser}, diff --git a/hmac/src/optim.rs b/hmac/src/optim.rs index 32d6277..7fa4d7b 100644 --- a/hmac/src/optim.rs +++ b/hmac/src/optim.rs @@ -3,13 +3,13 @@ use core::{fmt, slice}; #[cfg(feature = "reset")] use digest::Reset; use digest::{ + array::typenum::{IsLess, Le, NonZero, U256}, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreProxy, CoreWrapper, FixedOutputCore, OutputSizeUser, UpdateCore, }, crypto_common::{Key, KeySizeUser}, - generic_array::typenum::{IsLess, Le, NonZero, U256}, HashMarker, InvalidLength, KeyInit, MacMarker, Output, }; From a37e1528a47b99d4a03669a50ebf96af267c3bed Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jan 2024 06:34:38 -0700 Subject: [PATCH 037/123] hmac: add `EagerHash` (#151) Provides a trait for hash functions which expose their block-level core which can be used in an optimized implementation of HMAC without polluting the bounds of code which uses HMAC generically over hash functions. Originally from #123. --- hmac/src/lib.rs | 2 +- hmac/src/optim.rs | 194 +++++++++------------------------------------- 2 files changed, 38 insertions(+), 158 deletions(-) diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index a7da7f9..710bcd6 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -104,7 +104,7 @@ use digest::{ mod optim; mod simple; -pub use optim::{Hmac, HmacCore}; +pub use optim::{EagerHash, Hmac, HmacCore}; pub use simple::SimpleHmac; const IPAD: u8 = 0x36; diff --git a/hmac/src/optim.rs b/hmac/src/optim.rs index 7fa4d7b..655f1f1 100644 --- a/hmac/src/optim.rs +++ b/hmac/src/optim.rs @@ -1,13 +1,10 @@ use super::{get_der_key, IPAD, OPAD}; use core::{fmt, slice}; -#[cfg(feature = "reset")] -use digest::Reset; use digest::{ - array::typenum::{IsLess, Le, NonZero, U256}, block_buffer::Eager, core_api::{ - AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreProxy, CoreWrapper, - FixedOutputCore, OutputSizeUser, UpdateCore, + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, UpdateCore, }, crypto_common::{Key, KeySizeUser}, HashMarker, InvalidLength, KeyInit, MacMarker, Output, @@ -16,37 +13,38 @@ use digest::{ /// Generic HMAC instance. pub type Hmac = CoreWrapper>; -/// Generic core HMAC instance, which operates over blocks. -pub struct HmacCore -where - D: CoreProxy, - D::Core: HashMarker +/// Trait implemented by eager hashes which expose their block-level core. +pub trait EagerHash { + /// Block-level core type of the hash. + type Core: HashMarker + UpdateCore + FixedOutputCore + BufferKindUser + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, -{ - digest: D::Core, - opad_digest: D::Core, - #[cfg(feature = "reset")] - ipad_digest: D::Core, + + Clone; } -impl Clone for HmacCore +impl EagerHash for CoreWrapper where - D: CoreProxy, - D::Core: HashMarker + C: HashMarker + UpdateCore + FixedOutputCore + BufferKindUser + Default + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, { + type Core = C; +} + +/// Generic core HMAC instance, which operates over blocks. +pub struct HmacCore { + digest: D::Core, + opad_digest: D::Core, + #[cfg(feature = "reset")] + ipad_digest: D::Core, +} + +impl Clone for HmacCore { fn clone(&self) -> Self { Self { digest: self.digest.clone(), @@ -57,92 +55,25 @@ where } } -impl MacMarker for HmacCore -where - D: CoreProxy, - D::Core: HashMarker - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, -{ -} +impl MacMarker for HmacCore {} -impl BufferKindUser for HmacCore -where - D: CoreProxy, - D::Core: HashMarker - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, -{ +impl BufferKindUser for HmacCore { type BufferKind = Eager; } -impl KeySizeUser for HmacCore -where - D: CoreProxy, - D::Core: HashMarker - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, -{ - type KeySize = <::Core as BlockSizeUser>::BlockSize; +impl KeySizeUser for HmacCore { + type KeySize = <::Core as BlockSizeUser>::BlockSize; } -impl BlockSizeUser for HmacCore -where - D: CoreProxy, - D::Core: HashMarker - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, -{ - type BlockSize = <::Core as BlockSizeUser>::BlockSize; +impl BlockSizeUser for HmacCore { + type BlockSize = <::Core as BlockSizeUser>::BlockSize; } -impl OutputSizeUser for HmacCore -where - D: CoreProxy, - D::Core: HashMarker - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, -{ - type OutputSize = <::Core as OutputSizeUser>::OutputSize; +impl OutputSizeUser for HmacCore { + type OutputSize = <::Core as OutputSizeUser>::OutputSize; } -impl KeyInit for HmacCore -where - D: CoreProxy, - D::Core: HashMarker - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, -{ +impl KeyInit for HmacCore { #[inline(always)] fn new(key: &Key) -> Self { Self::new_from_slice(key.as_slice()).unwrap() @@ -173,36 +104,14 @@ where } } -impl UpdateCore for HmacCore -where - D: CoreProxy, - D::Core: HashMarker - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, -{ +impl UpdateCore for HmacCore { #[inline(always)] fn update_blocks(&mut self, blocks: &[Block]) { self.digest.update_blocks(blocks); } } -impl FixedOutputCore for HmacCore -where - D: CoreProxy, - D::Core: HashMarker - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, -{ +impl FixedOutputCore for HmacCore { #[inline(always)] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { let mut hash = Output::::default(); @@ -221,36 +130,16 @@ where #[cfg(feature = "reset")] #[cfg_attr(docsrs, doc(cfg(feature = "reset")))] -impl Reset for HmacCore -where - D: CoreProxy, - D::Core: HashMarker - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, -{ +impl digest::Reset for HmacCore { #[inline(always)] fn reset(&mut self) { self.digest = self.ipad_digest.clone(); } } -impl AlgorithmName for HmacCore +impl AlgorithmName for HmacCore where - D: CoreProxy, - D::Core: HashMarker - + AlgorithmName - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, + D::Core: AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("Hmac<")?; @@ -259,18 +148,9 @@ where } } -impl fmt::Debug for HmacCore +impl fmt::Debug for HmacCore where - D: CoreProxy, - D::Core: HashMarker - + AlgorithmName - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, - ::BlockSize: IsLess, - Le<::BlockSize, U256>: NonZero, + D::Core: AlgorithmName, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("HmacCore<")?; From d37216d08c272f9999cfa66543ee763069754b4b Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jan 2024 07:12:12 -0700 Subject: [PATCH 038/123] hmac v0.13.0-pre.0 (#152) --- hmac/Cargo.lock | 2 +- hmac/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hmac/Cargo.lock b/hmac/Cargo.lock index 166b05d..101d63e 100644 --- a/hmac/Cargo.lock +++ b/hmac/Cargo.lock @@ -74,7 +74,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hmac" -version = "0.13.0-pre" +version = "0.13.0-pre.0" dependencies = [ "digest", "hex-literal", diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 25816ba..45aa06f 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-pre" +version = "0.13.0-pre.0" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From def43b4eddd133a1d9f278d558aa454d8cafd784 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 10 Jan 2024 12:15:15 -0700 Subject: [PATCH 039/123] hmac: bump `digest` dependency to v0.11.0-pre.4 (#153) Also cuts a v0.13.0-pre.1 release of `hmac` --- hmac/Cargo.lock | 34 +++++++++++++++++----------------- hmac/Cargo.toml | 14 +++++++------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/hmac/Cargo.lock b/hmac/Cargo.lock index 101d63e..6aef9b7 100644 --- a/hmac/Cargo.lock +++ b/hmac/Cargo.lock @@ -10,9 +10,9 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.11.0-pre.3" +version = "0.11.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72bc448e41b30773616b4f51a23f1a51634d41ce0d06a9bf6c3065ee85e227a1" +checksum = "0edadbde8e0243b49d434f9a23ec0590af201f400a34d7d51049284e4a77c568" dependencies = [ "crypto-common", ] @@ -34,9 +34,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-pre.3" +version = "0.2.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc17eb697364b18256ec92675ebe6b7b153d2f1041e568d74533c5d0fc1ca162" +checksum = "806e4e3731d44f1340b069551225b44c2056c105cad9e67f0c46266db8a3a6b9" dependencies = [ "getrandom", "hybrid-array", @@ -45,9 +45,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-pre.3" +version = "0.11.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3be3c52e023de5662dc05a32f747d09a1d6024fdd1f64b0850e373269efb43" +checksum = "b429fb535b92bad18c86f1d7ee7584a175c2810800c7ac5b75b9408b13981979" dependencies = [ "blobby", "block-buffer", @@ -74,7 +74,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hmac" -version = "0.13.0-pre.0" +version = "0.13.0-pre.1" dependencies = [ "digest", "hex-literal", @@ -86,9 +86,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.2.0-pre.8" +version = "0.2.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27fbaf242418fe980caf09ed348d5a6aeabe71fc1bd8bebad641f4591ae0a46d" +checksum = "b8c5517ac29f08e88170b9647d85cc5f21c2596de177b4867232e20b214b8da1" dependencies = [ "typenum", ] @@ -101,9 +101,9 @@ checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "md-5" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad20e1fc790e8dc3294de8d1936f6c25e6a498507506d7d4705d0242c0c7fda" +checksum = "d16de5e3b92a3ecc566508a82dde68e28e5a1a91b1db13e1d243f2dc560ac90a" dependencies = [ "cfg-if", "digest", @@ -120,9 +120,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c14486028be4486a46aa8c4131ef865ec85b221c1e1327af76f10b6981e06850" +checksum = "731912b869ff1fb4c6432ad4737a5951d5388fbdda0417163a29638206935fe6" dependencies = [ "cfg-if", "cpufeatures", @@ -131,9 +131,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0628cd6fd8219612c2d71ad52ab8c2014a18cbdbedbde17de04d400df65997" +checksum = "9daa731ca112bb569b34b41775363a461422813d8ed1ea6dba352eb58ec4e684" dependencies = [ "cfg-if", "cpufeatures", @@ -142,9 +142,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95fb02b2a927e059d2bf349eb26664c7ca663c980e069feb4782adb465c5c9e3" +checksum = "9195128e99b61b19a1d847de3e60b8dc895e4a133ac1e3f94087f1f94ce434ba" dependencies = [ "digest", ] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 45aa06f..753696e 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-pre.0" +version = "0.13.0-pre.1" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -13,14 +13,14 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.3", features = ["mac"] } +digest = { version = "=0.11.0-pre.4", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } -md-5 = { version = "=0.11.0-pre.0", default-features = false } -sha1 = { version = "=0.11.0-pre.0", default-features = false } -sha2 = { version = "=0.11.0-pre.0", default-features = false } -streebog = { version = "=0.11.0-pre.0", default-features = false } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } +md-5 = { version = "=0.11.0-pre.1", default-features = false } +sha1 = { version = "=0.11.0-pre.1", default-features = false } +sha2 = { version = "=0.11.0-pre.1", default-features = false } +streebog = { version = "=0.11.0-pre.1", default-features = false } hex-literal = "0.4" [features] From cacc6fa76d521718311c69f400fc40a82d6d7f4c Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 17 Jan 2024 15:57:34 +0000 Subject: [PATCH 040/123] hmac: bump `digest` to v0.11.0-pre.7; MSRV 1.72 (#154) --- .github/workflows/hmac.yml | 4 ++-- hmac/Cargo.lock | 20 ++++++++++---------- hmac/Cargo.toml | 14 +++++++------- hmac/README.md | 4 ++-- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 66ac014..a76d218 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: rust: - - 1.71.0 # MSRV + - 1.72.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -47,7 +47,7 @@ jobs: strategy: matrix: rust: - - 1.71.0 # MSRV + - 1.72.0 # MSRV - stable steps: - uses: actions/checkout@v4.1.1 diff --git a/hmac/Cargo.lock b/hmac/Cargo.lock index 6aef9b7..f1d9b05 100644 --- a/hmac/Cargo.lock +++ b/hmac/Cargo.lock @@ -45,9 +45,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-pre.4" +version = "0.11.0-pre.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b429fb535b92bad18c86f1d7ee7584a175c2810800c7ac5b75b9408b13981979" +checksum = "957713a19ffdda287c63772e607f848512f67ba948f17d8e42cb8d50fd98a786" dependencies = [ "blobby", "block-buffer", @@ -101,9 +101,9 @@ checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "md-5" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16de5e3b92a3ecc566508a82dde68e28e5a1a91b1db13e1d243f2dc560ac90a" +checksum = "0f8abbac3acc78149aba64dd60d8c147995f5eaab3f8943c0a9d9c1fa52de5d1" dependencies = [ "cfg-if", "digest", @@ -120,9 +120,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "731912b869ff1fb4c6432ad4737a5951d5388fbdda0417163a29638206935fe6" +checksum = "301ed48dd873557d86a1843ebcdd511b628f13ec5401a0efa7007dc5a595eb1f" dependencies = [ "cfg-if", "cpufeatures", @@ -131,9 +131,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9daa731ca112bb569b34b41775363a461422813d8ed1ea6dba352eb58ec4e684" +checksum = "e18b939d4051b69874cbdb8f55de6a14ae44b357ccb94bdbd0a2122f8f875a46" dependencies = [ "cfg-if", "cpufeatures", @@ -142,9 +142,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9195128e99b61b19a1d847de3e60b8dc895e4a133ac1e3f94087f1f94ce434ba" +checksum = "0849f719669df4f019cf2dc3fd219d9ea661662e68a6ee8726e2ad1164fc9843" dependencies = [ "digest", ] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 753696e..f7dece4 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -10,17 +10,17 @@ documentation = "https://docs.rs/hmac" repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "hmac", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.71" +rust-version = "1.72" [dependencies] -digest = { version = "=0.11.0-pre.4", features = ["mac"] } +digest = { version = "=0.11.0-pre.7", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } -md-5 = { version = "=0.11.0-pre.1", default-features = false } -sha1 = { version = "=0.11.0-pre.1", default-features = false } -sha2 = { version = "=0.11.0-pre.1", default-features = false } -streebog = { version = "=0.11.0-pre.1", default-features = false } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } +md-5 = { version = "=0.11.0-pre.2", default-features = false } +sha1 = { version = "=0.11.0-pre.2", default-features = false } +sha2 = { version = "=0.11.0-pre.2", default-features = false } +streebog = { version = "=0.11.0-pre.2", default-features = false } hex-literal = "0.4" [features] diff --git a/hmac/README.md b/hmac/README.md index ec73431..941e2a8 100644 --- a/hmac/README.md +++ b/hmac/README.md @@ -12,7 +12,7 @@ Pure Rust implementation of the [Hash-based Message Authentication Code (HMAC)][ ## Minimum Supported Rust Version -Rust **1.71** or higher. +Rust **1.72** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -44,7 +44,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/hmac/badge.svg [docs-link]: https://docs.rs/hmac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.72+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs From 1a674e4c162222468b13c8b87265f4eda52b6531 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 17 Jan 2024 16:02:55 +0000 Subject: [PATCH 041/123] hmac v0.13.0-pre.2 (#155) --- hmac/Cargo.lock | 2 +- hmac/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hmac/Cargo.lock b/hmac/Cargo.lock index f1d9b05..c57f114 100644 --- a/hmac/Cargo.lock +++ b/hmac/Cargo.lock @@ -74,7 +74,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hmac" -version = "0.13.0-pre.1" +version = "0.13.0-pre.2" dependencies = [ "digest", "hex-literal", diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index f7dece4..d76cbe7 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-pre.1" +version = "0.13.0-pre.2" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 4b2bb119880f97cf9653a3e7362ff9fa787a9ba1 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 1 Feb 2024 12:19:08 -0700 Subject: [PATCH 042/123] hmac: bump `digest` to v0.11.0-pre.8 (#156) Also cuts a v0.13.0-pre.3 prerelease of `hmac` --- hmac/Cargo.lock | 34 +++++++++++++++++----------------- hmac/Cargo.toml | 14 +++++++------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/hmac/Cargo.lock b/hmac/Cargo.lock index c57f114..99a70e5 100644 --- a/hmac/Cargo.lock +++ b/hmac/Cargo.lock @@ -10,9 +10,9 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.11.0-pre.4" +version = "0.11.0-pre.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edadbde8e0243b49d434f9a23ec0590af201f400a34d7d51049284e4a77c568" +checksum = "3ded684142010808eb980d9974ef794da2bcf97d13396143b1515e9f0fb4a10e" dependencies = [ "crypto-common", ] @@ -34,9 +34,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-pre.4" +version = "0.2.0-pre.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806e4e3731d44f1340b069551225b44c2056c105cad9e67f0c46266db8a3a6b9" +checksum = "b7aa2ec04f5120b830272a481e8d9d8ba4dda140d2cda59b0f1110d5eb93c38e" dependencies = [ "getrandom", "hybrid-array", @@ -45,9 +45,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-pre.7" +version = "0.11.0-pre.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957713a19ffdda287c63772e607f848512f67ba948f17d8e42cb8d50fd98a786" +checksum = "065d93ead7c220b85d5b4be4795d8398eac4ff68b5ee63895de0a3c1fb6edf25" dependencies = [ "blobby", "block-buffer", @@ -74,7 +74,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hmac" -version = "0.13.0-pre.2" +version = "0.13.0-pre.3" dependencies = [ "digest", "hex-literal", @@ -86,9 +86,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.2.0-rc.0" +version = "0.2.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8c5517ac29f08e88170b9647d85cc5f21c2596de177b4867232e20b214b8da1" +checksum = "18e63b66aee2df5599ba69b17a48113dfc68d2e143ea387ef836509e433bbd7e" dependencies = [ "typenum", ] @@ -101,9 +101,9 @@ checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "md-5" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f8abbac3acc78149aba64dd60d8c147995f5eaab3f8943c0a9d9c1fa52de5d1" +checksum = "649f2dc52b97a3d781ba9a36dad970f147d55920d17a27735f551b560024f3bf" dependencies = [ "cfg-if", "digest", @@ -120,9 +120,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301ed48dd873557d86a1843ebcdd511b628f13ec5401a0efa7007dc5a595eb1f" +checksum = "3885de8cb916f223718c1ccd47a840b91f806333e76002dc5cb3862154b4fed3" dependencies = [ "cfg-if", "cpufeatures", @@ -131,9 +131,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e18b939d4051b69874cbdb8f55de6a14ae44b357ccb94bdbd0a2122f8f875a46" +checksum = "8f33549bf3064b62478926aa89cbfc7c109aab66ae8f0d5d2ef839e482cc30d6" dependencies = [ "cfg-if", "cpufeatures", @@ -142,9 +142,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0849f719669df4f019cf2dc3fd219d9ea661662e68a6ee8726e2ad1164fc9843" +checksum = "906aaaef0b6bfcf186c7aac662b06a11769e688744323aa6ff3b9f96a5c71c09" dependencies = [ "digest", ] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index d76cbe7..3c7ab66 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-pre.2" +version = "0.13.0-pre.3" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -13,14 +13,14 @@ categories = ["cryptography", "no-std"] rust-version = "1.72" [dependencies] -digest = { version = "=0.11.0-pre.7", features = ["mac"] } +digest = { version = "=0.11.0-pre.8", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } -md-5 = { version = "=0.11.0-pre.2", default-features = false } -sha1 = { version = "=0.11.0-pre.2", default-features = false } -sha2 = { version = "=0.11.0-pre.2", default-features = false } -streebog = { version = "=0.11.0-pre.2", default-features = false } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } +md-5 = { version = "=0.11.0-pre.3", default-features = false } +sha1 = { version = "=0.11.0-pre.3", default-features = false } +sha2 = { version = "=0.11.0-pre.3", default-features = false } +streebog = { version = "=0.11.0-pre.3", default-features = false } hex-literal = "0.4" [features] From fda14c4e902c7870b963ae3b1e960f877e6eb95f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Feb 2024 11:00:03 -0700 Subject: [PATCH 043/123] Bump aes from 0.8.3 to 0.8.4 (#157) Bumps [aes](https://github.com/RustCrypto/block-ciphers) from 0.8.3 to 0.8.4. - [Commits](https://github.com/RustCrypto/block-ciphers/compare/aes-v0.8.3...aes-v0.8.4) --- updated-dependencies: - dependency-name: aes dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9bb4869..ddecc1f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "aes" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", From 43cc597a8881d6924ae56bb22edf19600e981e3e Mon Sep 17 00:00:00 2001 From: Arthur Gautier Date: Tue, 5 Mar 2024 07:17:59 -0800 Subject: [PATCH 044/123] bump `digest`/`cipher` to `0.11.0-pre.8`/`0.5.0-pre.4` (#158) --- .github/workflows/belt-mac.yml | 6 +- .github/workflows/cbc-mac.yml | 6 +- .github/workflows/cmac.yml | 6 +- .github/workflows/pmac.yml | 6 +- .github/workflows/workspace.yml | 2 +- Cargo.lock | 164 ++++++++++++++++++++++--------- Cargo.toml | 13 ++- belt-mac/Cargo.toml | 14 +-- belt-mac/README.md | 2 +- belt-mac/src/lib.rs | 60 ++++++------ cbc-mac/Cargo.toml | 14 +-- cbc-mac/src/lib.rs | 56 +++++------ cmac/Cargo.toml | 20 ++-- cmac/src/lib.rs | 60 ++++++------ hmac/Cargo.lock | 168 -------------------------------- pmac/Cargo.toml | 14 +-- pmac/src/lib.rs | 84 ++++++++-------- 17 files changed, 305 insertions(+), 390 deletions(-) delete mode 100644 hmac/Cargo.lock diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index 1f538b3..44c5692 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: rust: - - 1.57.0 # MSRV + - 1.71.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -37,6 +37,8 @@ jobs: - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: + # disabled until belt-block gets published + if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} @@ -46,7 +48,7 @@ jobs: strategy: matrix: rust: - - 1.57.0 # MSRV + - 1.71.0 # MSRV - stable steps: - uses: actions/checkout@v4.1.1 diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 65cf533..cdf3fa1 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: rust: - - 1.56.0 # MSRV + - 1.71.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -38,6 +38,8 @@ jobs: - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: + # disabled until belt-block gets published + if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} @@ -47,7 +49,7 @@ jobs: strategy: matrix: rust: - - 1.56.0 # MSRV + - 1.72.0 # MSRV - stable steps: - uses: actions/checkout@v4.1.1 diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index ac54281..5150c83 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: rust: - - 1.56.0 # MSRV + - 1.71.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -37,6 +37,8 @@ jobs: - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: + # disabled until belt-block gets published + if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} @@ -46,7 +48,7 @@ jobs: strategy: matrix: rust: - - 1.56.0 # MSRV + - 1.72.0 # MSRV - stable steps: - uses: actions/checkout@v4.1.1 diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 812bb81..7e40b4b 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: rust: - - 1.56.0 # MSRV + - 1.71.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -37,6 +37,8 @@ jobs: - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: + # disabled until belt-block gets published + if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} @@ -46,7 +48,7 @@ jobs: strategy: matrix: rust: - - 1.56.0 # MSRV + - 1.72.0 # MSRV - stable steps: - uses: actions/checkout@v4.1.1 diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index cfaba69..f7f6866 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -17,7 +17,7 @@ jobs: - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.71.0 + toolchain: 1.72.0 components: clippy - run: cargo clippy --all -- -D warnings diff --git a/Cargo.lock b/Cargo.lock index ddecc1f..30ec07c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,8 @@ version = 3 [[package]] name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +version = "0.9.0-pre" +source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo/bump-cipher/0.5.0-pre.4#bb94e5e71f5320fcaab727ad0c503cca5190da4c" dependencies = [ "cfg-if", "cipher", @@ -15,16 +14,15 @@ dependencies = [ [[package]] name = "belt-block" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9aa1eef3994e2ccd304a78fe3fea4a73e5792007f85f09b79bb82143ca5f82b" +version = "0.2.0-pre" +source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo/bump-cipher/0.5.0-pre.4#bb94e5e71f5320fcaab727ad0c503cca5190da4c" dependencies = [ "cipher", ] [[package]] name = "belt-mac" -version = "0.1.0" +version = "0.2.0-pre" dependencies = [ "belt-block", "cipher", @@ -40,16 +38,16 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.10.4" +version = "0.11.0-pre.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +checksum = "3ded684142010808eb980d9974ef794da2bcf97d13396143b1515e9f0fb4a10e" dependencies = [ - "generic-array", + "crypto-common", ] [[package]] name = "cbc-mac" -version = "0.1.1" +version = "0.2.0-pre" dependencies = [ "aes", "cipher", @@ -66,9 +64,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cipher" -version = "0.4.4" +version = "0.5.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +checksum = "84fba98785cecd0e308818a87c817576a40f99d8bab6405bf422bacd3efb6c1f" dependencies = [ "blobby", "crypto-common", @@ -78,7 +76,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.7.2" +version = "0.8.0-pre" dependencies = [ "aes", "cipher", @@ -101,37 +99,37 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.2.0-pre.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "b7aa2ec04f5120b830272a481e8d9d8ba4dda140d2cda59b0f1110d5eb93c38e" dependencies = [ - "generic-array", - "typenum", + "getrandom", + "hybrid-array", + "rand_core", ] [[package]] name = "dbl" -version = "0.3.2" +version = "0.4.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd2735a791158376708f9347fe8faba9667589d82427ef3aed6794a8981de3d9" +checksum = "977125a36bcb9fcf23cec295ffd25a7499046d5ae95603cd536d4ec1e39bd673" dependencies = [ - "generic-array", + "hybrid-array", ] [[package]] name = "des" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdd80ce8ce993de27e9f063a444a4d53ce8e8db4c1f00cc03af5ad5a9867a1e" +version = "0.9.0-pre" +source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo/bump-cipher/0.5.0-pre.4#bb94e5e71f5320fcaab727ad0c503cca5190da4c" dependencies = [ "cipher", ] [[package]] name = "digest" -version = "0.10.7" +version = "0.11.0-pre.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +checksum = "065d93ead7c220b85d5b4be4795d8398eac4ff68b5ee63895de0a3c1fb6edf25" dependencies = [ "blobby", "block-buffer", @@ -140,13 +138,14 @@ dependencies = [ ] [[package]] -name = "generic-array" -version = "0.14.7" +name = "getrandom" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ - "typenum", - "version_check", + "cfg-if", + "libc", + "wasi", ] [[package]] @@ -161,42 +160,71 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +[[package]] +name = "hmac" +version = "0.13.0-pre.3" +dependencies = [ + "digest", + "hex-literal 0.4.1", + "md-5", + "sha1", + "sha2", + "streebog", +] + +[[package]] +name = "hybrid-array" +version = "0.2.0-rc.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87c2311a0adecbffff284aabcf1249b1485193b16e685f9ef171b1ba82979cff" +dependencies = [ + "typenum", +] + [[package]] name = "inout" -version = "0.1.3" +version = "0.2.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "0a2cc35b920cc3b344af824e64e508ffc2c819fc2368ed4d253244446194d2fe" dependencies = [ - "generic-array", + "hybrid-array", ] [[package]] name = "kuznyechik" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca7899a524198c60ded686fc826703de2a04470aff9d042e8cc1f845b912c12f" +version = "0.9.0-pre" +source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo/bump-cipher/0.5.0-pre.4#bb94e5e71f5320fcaab727ad0c503cca5190da4c" dependencies = [ "cipher", ] [[package]] name = "libc" -version = "0.2.148" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "magma" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b09bd24ba5fcb427ee21a09e28f9a5e2c2fce78c69af974fb8d373662ceedb4" +version = "0.10.0-pre" +source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo/bump-cipher/0.5.0-pre.4#bb94e5e71f5320fcaab727ad0c503cca5190da4c" dependencies = [ "cipher", ] +[[package]] +name = "md-5" +version = "0.11.0-pre.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "649f2dc52b97a3d781ba9a36dad970f147d55920d17a27735f551b560024f3bf" +dependencies = [ + "cfg-if", + "digest", +] + [[package]] name = "pmac" -version = "0.7.1" +version = "0.8.0-pre" dependencies = [ "aes", "cipher", @@ -204,6 +232,46 @@ dependencies = [ "digest", ] +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "sha1" +version = "0.11.0-pre.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3885de8cb916f223718c1ccd47a840b91f806333e76002dc5cb3862154b4fed3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.11.0-pre.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f33549bf3064b62478926aa89cbfc7c109aab66ae8f0d5d2ef839e482cc30d6" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "streebog" +version = "0.11.0-pre.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "906aaaef0b6bfcf186c7aac662b06a11769e688744323aa6ff3b9f96a5c71c09" +dependencies = [ + "digest", +] + [[package]] name = "subtle" version = "2.5.0" @@ -217,13 +285,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] -name = "version_check" -version = "0.9.4" +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "zeroize" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" diff --git a/Cargo.toml b/Cargo.toml index 6213730..dc510b7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,11 +3,18 @@ members = [ "belt-mac", "cbc-mac", "cmac", - "pmac", -] -exclude = [ "hmac", + "pmac", ] [profile.dev] opt-level = 2 + +[patch.crates-io] +# please re-enable the minimal-versions when you remove those patches. +# https://github.com/RustCrypto/block-ciphers/pull/413 +aes = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/bump-cipher/0.5.0-pre.4" } +belt-block = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/bump-cipher/0.5.0-pre.4" } +des = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/bump-cipher/0.5.0-pre.4" } +kuznyechik = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/bump-cipher/0.5.0-pre.4" } +magma = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/bump-cipher/0.5.0-pre.4" } diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 5a87489..0263047 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "belt-mac" -version = "0.1.0" +version = "0.2.0-pre" description = "MAC specified by the BelT standard" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.57" +rust-version = "1.71" readme = "README.md" documentation = "https://docs.rs/belt-mac" repository = "https://github.com/RustCrypto/MACs" @@ -13,13 +13,13 @@ keywords = ["crypto", "mac", "belt-mac"] categories = ["cryptography", "no-std"] [dependencies] -belt-block = { version = "0.1" } -digest = { version = "0.10.3", features = ["mac"] } -cipher = "0.4" +belt-block = { version = "0.2.0-pre" } +digest = { version = "=0.11.0-pre.8", features = ["mac"] } +cipher = "=0.5.0-pre.4" [dev-dependencies] -cipher = { version = "0.4", features = ["dev"] } -digest = { version = "0.10", features = ["dev"] } +cipher = { version = "=0.5.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/belt-mac/README.md b/belt-mac/README.md index d4bad6c..cdab28e 100644 --- a/belt-mac/README.md +++ b/belt-mac/README.md @@ -11,7 +11,7 @@ Pure Rust implementation of [`belt-mac`]. # Example ```rust -use belt_mac::{BeltMac, Mac}; +use belt_mac::{digest::KeyInit, BeltMac, Mac}; use hex_literal::hex; let key = [0x42; 32]; diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index cec1874..7d38019 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -11,19 +11,19 @@ pub use digest::{self, Mac}; use belt_block::BeltBlock; -use cipher::{BlockBackend, BlockCipher, BlockClosure, BlockEncryptMut}; +use cipher::{BlockBackend, BlockCipher, BlockCipherEncrypt, BlockClosure}; use core::fmt; use digest::{ + array::{ + typenum::{IsLess, Le, NonZero, U256}, + Array, ArraySize, + }, block_buffer::Lazy, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, UpdateCore, }, - crypto_common::{InnerInit, InnerUser}, - generic_array::{ - typenum::{IsLess, Le, NonZero, U256}, - ArrayLength, GenericArray, - }, + crypto_common::{BlockSizes, InnerInit, InnerUser}, MacMarker, Output, OutputSizeUser, Reset, }; @@ -37,7 +37,7 @@ pub type BeltMac = CoreWrapper>; /// Generic core BeltMac instance, which operates over blocks. pub struct BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { cipher: C, state: Block, @@ -46,63 +46,63 @@ where impl BlockSizeUser for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { type BlockSize = C::BlockSize; } impl OutputSizeUser for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { type OutputSize = C::BlockSize; } impl InnerUser for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { type Inner = C; } -impl MacMarker for BeltMacCore where C: BlockCipher + BlockEncryptMut + Clone {} +impl MacMarker for BeltMacCore where C: BlockCipher + BlockCipherEncrypt + Clone {} impl InnerInit for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { #[inline] - fn inner_init(mut cipher: C) -> Self { + fn inner_init(cipher: C) -> Self { let state = Default::default(); let mut r = Default::default(); - cipher.encrypt_block_mut(&mut r); + cipher.encrypt_block(&mut r); Self { cipher, state, r } } } impl BufferKindUser for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { type BufferKind = Lazy; } impl UpdateCore for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { - struct Ctx<'a, N: ArrayLength> { + struct Ctx<'a, N: BlockSizes> { state: &'a mut Block, blocks: &'a [Block], } - impl<'a, N: ArrayLength> BlockSizeUser for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockSizeUser for Ctx<'a, N> { type BlockSize = N; } - impl<'a, N: ArrayLength> BlockClosure for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockClosure for Ctx<'a, N> { #[inline(always)] fn call>(self, backend: &mut B) { for block in self.blocks { @@ -113,13 +113,13 @@ where } let Self { cipher, state, .. } = self; - cipher.encrypt_with_backend_mut(Ctx { state, blocks }) + cipher.encrypt_with_backend(Ctx { state, blocks }) } } impl Reset for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { #[inline(always)] fn reset(&mut self) { @@ -129,14 +129,14 @@ where impl FixedOutputCore for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, C::BlockSize: IsLess, Le: NonZero, { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { let pos = buffer.get_pos(); - let buf = buffer.pad_with_zeros(); + let mut buf = buffer.pad_with_zeros(); let cipher = &mut self.cipher; let r = &self.r; @@ -160,15 +160,15 @@ where } let mut state = self.state.clone(); - xor(&mut state, buf); + xor(&mut state, &buf); xor(&mut state, &new_r); - cipher.encrypt_block_b2b_mut(&state, out); + cipher.encrypt_block_b2b(&state, out); } } impl AlgorithmName for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, + C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("BeltMac<")?; @@ -179,7 +179,7 @@ where impl fmt::Debug for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, + C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("BeltMacCore<")?; @@ -192,7 +192,7 @@ where #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] impl Drop for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { fn drop(&mut self) { self.state.zeroize(); @@ -202,12 +202,12 @@ where #[cfg(feature = "zeroize")] #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] impl ZeroizeOnDrop for BeltMacCore where - C: BlockCipher + BlockEncryptMut + Clone + ZeroizeOnDrop + C: BlockCipher + BlockCipherEncrypt + Clone + ZeroizeOnDrop { } #[inline(always)] -fn xor>(buf: &mut GenericArray, data: &GenericArray) { +fn xor(buf: &mut Array, data: &Array) { for i in 0..N::USIZE { buf[i] ^= data[i]; } diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 0afdb7e..bc3840a 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -1,24 +1,24 @@ [package] name = "cbc-mac" -version = "0.1.1" # Also update html_root_url in lib.rs when bumping this +version = "0.2.0-pre" # Also update html_root_url in lib.rs when bumping this description = "Implementation of Cipher Block Chaining Message Authentication Code (CBC-MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.56" +rust-version = "1.71" readme = "README.md" documentation = "https://docs.rs/cbc-mac" repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -digest = { version = "0.10.3", features = ["mac"] } -cipher = "0.4.2" +digest = { version = "=0.11.0-pre.8", features = ["mac"] } +cipher = "=0.5.0-pre.4" [dev-dependencies] -aes = "0.8" -des = "0.8" -digest = { version = "0.10.3", features = ["dev"] } +aes = "0.9.0-pre" +des = "0.9.0-pre" +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.3" [features] diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index 8c11027..ac57f42 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -7,7 +7,7 @@ //! # Examples //! //! ``` -//! use cbc_mac::{CbcMac, Mac}; +//! use cbc_mac::{digest::KeyInit, CbcMac, Mac}; //! use des::Des; //! use hex_literal::hex; //! @@ -36,19 +36,19 @@ pub use digest::{self, Mac}; -use cipher::{BlockBackend, BlockCipher, BlockClosure, BlockEncryptMut}; +use cipher::{BlockBackend, BlockCipher, BlockCipherEncrypt, BlockClosure}; use core::fmt; use digest::{ + array::{ + typenum::{IsLess, Le, NonZero, U256}, + Array, ArraySize, + }, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, UpdateCore, }, - crypto_common::{InnerInit, InnerUser}, - generic_array::{ - typenum::{IsLess, Le, NonZero, U256}, - ArrayLength, GenericArray, - }, + crypto_common::{BlockSizes, InnerInit, InnerUser}, MacMarker, Output, OutputSizeUser, Reset, }; @@ -62,7 +62,7 @@ pub type CbcMac = CoreWrapper>; #[derive(Clone)] pub struct CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { cipher: C, state: Block, @@ -70,30 +70,30 @@ where impl BlockSizeUser for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { type BlockSize = C::BlockSize; } impl OutputSizeUser for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { type OutputSize = C::BlockSize; } impl InnerUser for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { type Inner = C; } -impl MacMarker for CbcMacCore where C: BlockCipher + BlockEncryptMut + Clone {} +impl MacMarker for CbcMacCore where C: BlockCipher + BlockCipherEncrypt + Clone {} impl InnerInit for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { #[inline] fn inner_init(cipher: C) -> Self { @@ -104,27 +104,27 @@ where impl BufferKindUser for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { type BufferKind = Eager; } impl UpdateCore for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { - struct Ctx<'a, N: ArrayLength> { + struct Ctx<'a, N: BlockSizes> { state: &'a mut Block, blocks: &'a [Block], } - impl<'a, N: ArrayLength> BlockSizeUser for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockSizeUser for Ctx<'a, N> { type BlockSize = N; } - impl<'a, N: ArrayLength> BlockClosure for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockClosure for Ctx<'a, N> { #[inline(always)] fn call>(self, backend: &mut B) { for block in self.blocks { @@ -135,13 +135,13 @@ where } let Self { cipher, state } = self; - cipher.encrypt_with_backend_mut(Ctx { state, blocks }) + cipher.encrypt_with_backend(Ctx { state, blocks }) } } impl Reset for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { #[inline(always)] fn reset(&mut self) { @@ -151,7 +151,7 @@ where impl FixedOutputCore for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, C::BlockSize: IsLess, Le: NonZero, { @@ -160,8 +160,8 @@ where let Self { state, cipher } = self; let pos = buffer.get_pos(); if pos != 0 { - xor(state, buffer.pad_with_zeros()); - cipher.encrypt_block_mut(state); + xor(state, &buffer.pad_with_zeros()); + cipher.encrypt_block(state); } out.copy_from_slice(state); } @@ -169,7 +169,7 @@ where impl AlgorithmName for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, + C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("CbcMac<")?; @@ -180,7 +180,7 @@ where impl fmt::Debug for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, + C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("CbcMacCore<")?; @@ -193,7 +193,7 @@ where #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] impl Drop for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, { fn drop(&mut self) { self.state.zeroize(); @@ -203,12 +203,12 @@ where #[cfg(feature = "zeroize")] #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] impl ZeroizeOnDrop for CbcMacCore where - C: BlockCipher + BlockEncryptMut + Clone + ZeroizeOnDrop + C: BlockCipher + BlockCipherEncrypt + Clone + ZeroizeOnDrop { } #[inline(always)] -fn xor>(buf: &mut GenericArray, data: &GenericArray) { +fn xor(buf: &mut Array, data: &Array) { for i in 0..N::USIZE { buf[i] ^= data[i]; } diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index e82e31c..b55b22e 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "cmac" -version = "0.7.2" +version = "0.8.0-pre" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.56" +rust-version = "1.71" readme = "README.md" documentation = "https://docs.rs/cmac" repository = "https://github.com/RustCrypto/MACs" @@ -14,17 +14,17 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -digest = { version = "0.10.3", features = ["mac"] } -cipher = "0.4.2" -dbl = "0.3" +digest = { version = "=0.11.0-pre.8", features = ["mac"] } +cipher = "=0.5.0-pre.4" +dbl = "0.4.0-pre.4" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.3" -aes = "0.8" -des = "0.8" -kuznyechik = "0.8" -magma = "0.9" +aes = "0.9.0-pre" +des = "0.9.0-pre" +kuznyechik = "0.9.0-pre" +magma = "0.10.0-pre" [features] std = ["digest/std"] diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index 1ff1845..c26316e 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -8,7 +8,7 @@ //! //! ```rust //! use aes::Aes128; -//! use cmac::{Cmac, Mac}; +//! use cmac::{digest::KeyInit, Cmac, Mac}; //! //! // Create `Mac` trait implementation, namely CMAC-AES128 //! let mut mac = Cmac::::new_from_slice(b"very secret key.").unwrap(); @@ -27,7 +27,7 @@ //! //! ```rust //! # use aes::Aes128; -//! # use cmac::{Cmac, Mac}; +//! # use cmac::{digest::KeyInit, Cmac, Mac}; //! let mut mac = Cmac::::new_from_slice(b"very secret key.").unwrap(); //! //! mac.update(b"input message"); @@ -50,20 +50,20 @@ pub use digest::{self, Mac}; -use cipher::{BlockBackend, BlockCipher, BlockClosure, BlockEncryptMut}; +use cipher::{BlockBackend, BlockCipher, BlockCipherEncrypt, BlockClosure}; use core::fmt; use dbl::Dbl; use digest::{ + array::{ + typenum::{IsLess, Le, NonZero, U256}, + Array, ArraySize, + }, block_buffer::Lazy, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, UpdateCore, }, - crypto_common::{InnerInit, InnerUser}, - generic_array::{ - typenum::{IsLess, Le, NonZero, U256}, - ArrayLength, GenericArray, - }, + crypto_common::{BlockSizes, InnerInit, InnerUser}, MacMarker, Output, OutputSizeUser, Reset, }; @@ -77,7 +77,7 @@ pub type Cmac = CoreWrapper>; #[derive(Clone)] pub struct CmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { cipher: C, @@ -86,7 +86,7 @@ where impl BlockSizeUser for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + BlockSizeUser + Clone, Block: Dbl, { type BlockSize = C::BlockSize; @@ -94,7 +94,7 @@ where impl OutputSizeUser for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { type OutputSize = C::BlockSize; @@ -102,7 +102,7 @@ where impl InnerUser for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { type Inner = C; @@ -110,14 +110,14 @@ where impl MacMarker for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { } impl InnerInit for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { #[inline] @@ -129,7 +129,7 @@ where impl BufferKindUser for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { type BufferKind = Lazy; @@ -137,21 +137,21 @@ where impl UpdateCore for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { - struct Ctx<'a, N: ArrayLength> { + struct Ctx<'a, N: BlockSizes> { state: &'a mut Block, blocks: &'a [Block], } - impl<'a, N: ArrayLength> BlockSizeUser for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockSizeUser for Ctx<'a, N> { type BlockSize = N; } - impl<'a, N: ArrayLength> BlockClosure for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockClosure for Ctx<'a, N> { #[inline(always)] fn call>(self, backend: &mut B) { for block in self.blocks { @@ -162,13 +162,13 @@ where } let Self { cipher, state } = self; - cipher.encrypt_with_backend_mut(Ctx { state, blocks }) + cipher.encrypt_with_backend(Ctx { state, blocks }) } } impl Reset for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { #[inline(always)] @@ -179,7 +179,7 @@ where impl FixedOutputCore for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, C::BlockSize: IsLess, Le: NonZero, @@ -191,10 +191,10 @@ where let buf = buffer.pad_with_zeros(); let mut subkey = Default::default(); - cipher.encrypt_block_mut(&mut subkey); + cipher.encrypt_block(&mut subkey); let key1 = subkey.dbl(); - xor(state, buf); + xor(state, &buf); if pos == buf.len() { xor(state, &key1); } else { @@ -202,14 +202,14 @@ where let key2 = key1.dbl(); xor(state, &key2); } - cipher.encrypt_block_mut(state); + cipher.encrypt_block(state); out.copy_from_slice(state); } } impl AlgorithmName for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, + C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, Block: Dbl, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { @@ -221,7 +221,7 @@ where impl fmt::Debug for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, + C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, Block: Dbl, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { @@ -235,7 +235,7 @@ where #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] impl Drop for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { fn drop(&mut self) { @@ -247,13 +247,13 @@ where #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] impl ZeroizeOnDrop for CmacCore where - C: BlockCipher + BlockEncryptMut + Clone + ZeroizeOnDrop, + C: BlockCipher + BlockCipherEncrypt + Clone + ZeroizeOnDrop, Block: Dbl, { } #[inline(always)] -fn xor>(buf: &mut GenericArray, data: &GenericArray) { +fn xor(buf: &mut Array, data: &Array) { for i in 0..N::USIZE { buf[i] ^= data[i]; } diff --git a/hmac/Cargo.lock b/hmac/Cargo.lock deleted file mode 100644 index 99a70e5..0000000 --- a/hmac/Cargo.lock +++ /dev/null @@ -1,168 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "blobby" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" - -[[package]] -name = "block-buffer" -version = "0.11.0-pre.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ded684142010808eb980d9974ef794da2bcf97d13396143b1515e9f0fb4a10e" -dependencies = [ - "crypto-common", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cpufeatures" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" -dependencies = [ - "libc", -] - -[[package]] -name = "crypto-common" -version = "0.2.0-pre.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7aa2ec04f5120b830272a481e8d9d8ba4dda140d2cda59b0f1110d5eb93c38e" -dependencies = [ - "getrandom", - "hybrid-array", - "rand_core", -] - -[[package]] -name = "digest" -version = "0.11.0-pre.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065d93ead7c220b85d5b4be4795d8398eac4ff68b5ee63895de0a3c1fb6edf25" -dependencies = [ - "blobby", - "block-buffer", - "crypto-common", - "subtle", -] - -[[package]] -name = "getrandom" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" - -[[package]] -name = "hmac" -version = "0.13.0-pre.3" -dependencies = [ - "digest", - "hex-literal", - "md-5", - "sha1", - "sha2", - "streebog", -] - -[[package]] -name = "hybrid-array" -version = "0.2.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e63b66aee2df5599ba69b17a48113dfc68d2e143ea387ef836509e433bbd7e" -dependencies = [ - "typenum", -] - -[[package]] -name = "libc" -version = "0.2.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" - -[[package]] -name = "md-5" -version = "0.11.0-pre.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "649f2dc52b97a3d781ba9a36dad970f147d55920d17a27735f551b560024f3bf" -dependencies = [ - "cfg-if", - "digest", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "sha1" -version = "0.11.0-pre.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3885de8cb916f223718c1ccd47a840b91f806333e76002dc5cb3862154b4fed3" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha2" -version = "0.11.0-pre.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f33549bf3064b62478926aa89cbfc7c109aab66ae8f0d5d2ef839e482cc30d6" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "streebog" -version = "0.11.0-pre.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "906aaaef0b6bfcf186c7aac662b06a11769e688744323aa6ff3b9f96a5c71c09" -dependencies = [ - "digest", -] - -[[package]] -name = "subtle" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index a512e5d..a819a20 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "pmac" -version = "0.7.1" # Also update html_root_url in lib.rs when bumping this +version = "0.8.0-pre" # Also update html_root_url in lib.rs when bumping this description = "Generic implementation of Parallelizable Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.56" +rust-version = "1.71" readme = "README.md" documentation = "https://docs.rs/pmac" repository = "https://github.com/RustCrypto/MACs" @@ -13,13 +13,13 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.10.3", features = ["mac"] } -cipher = "0.4.2" -dbl = "0.3" +digest = { version = "=0.11.0-pre.8", features = ["mac"] } +cipher = "=0.5.0-pre.4" +dbl = "0.4.0-pre.4" [dev-dependencies] -aes = "0.8" -digest = { version = "0.10.3", features = ["dev"] } +aes = "0.9.0-pre" +digest = { version = "=0.11.0-pre.8", features = ["dev"] } [features] std = ["digest/std"] diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index 41ee11d..9ee7d6d 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -8,7 +8,7 @@ //! //! ```rust //! use aes::Aes128; -//! use pmac::{Pmac, Mac}; +//! use pmac::{digest::KeyInit, Pmac, Mac}; //! //! // Create `Mac` trait implementation, namely PMAC-AES128 //! let mut mac = Pmac::::new_from_slice(b"very secret key.").unwrap(); @@ -27,7 +27,7 @@ //! //! ```rust //! # use aes::Aes128; -//! # use pmac::{Pmac, Mac}; +//! # use pmac::{digest::KeyInit, Pmac, Mac}; //! let mut mac = Pmac::::new_from_slice(b"very secret key.").unwrap(); //! //! mac.update(b"input message"); @@ -54,20 +54,20 @@ extern crate std; pub use digest::{self, Mac}; -use cipher::{BlockBackend, BlockCipher, BlockClosure, BlockEncryptMut, ParBlocks}; +use cipher::{BlockBackend, BlockCipher, BlockCipherEncrypt, BlockClosure, ParBlocks}; use core::fmt; use dbl::Dbl; use digest::{ + array::{ + typenum::{IsLess, Le, NonZero, Unsigned, U256}, + Array, ArraySize, + }, block_buffer::Lazy, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, UpdateCore, }, - crypto_common::{InnerInit, InnerUser}, - generic_array::{ - typenum::{IsLess, Le, NonZero, Unsigned, U256}, - ArrayLength, GenericArray, - }, + crypto_common::{BlockSizes, InnerInit, InnerUser}, MacMarker, Output, OutputSizeUser, Reset, }; @@ -89,7 +89,7 @@ pub type Pmac = CoreWrapper>; #[derive(Clone)] pub struct PmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { state: PmacState, @@ -99,8 +99,8 @@ where #[derive(Clone)] struct PmacState where - N: ArrayLength, - GenericArray: Dbl, + N: BlockSizes, + Array: Dbl, { counter: usize, l_inv: Block, @@ -111,16 +111,16 @@ where impl BlockSizeUser for PmacState where - N: ArrayLength, - GenericArray: Dbl, + N: BlockSizes, + Array: Dbl, { type BlockSize = N; } impl PmacState where - N: ArrayLength, - GenericArray: Dbl, + N: BlockSizes, + Array: Dbl, { #[inline(always)] fn next_offset(&mut self) -> &Block { @@ -143,8 +143,8 @@ where #[cfg(feature = "zeroize")] impl Drop for PmacState where - N: ArrayLength, - GenericArray: Dbl, + N: BlockSizes, + Array: Dbl, { fn drop(&mut self) { self.counter.zeroize(); @@ -157,7 +157,7 @@ where impl BlockSizeUser for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { type BlockSize = C::BlockSize; @@ -165,7 +165,7 @@ where impl OutputSizeUser for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { type OutputSize = C::BlockSize; @@ -173,7 +173,7 @@ where impl InnerUser for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { type Inner = C; @@ -181,14 +181,14 @@ where impl MacMarker for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { } impl Reset for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { #[inline(always)] @@ -201,7 +201,7 @@ where impl BufferKindUser for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { type BufferKind = Lazy; @@ -209,7 +209,7 @@ where impl AlgorithmName for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, + C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, Block: Dbl, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { @@ -221,7 +221,7 @@ where impl fmt::Debug for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone + AlgorithmName, + C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, Block: Dbl, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { @@ -233,13 +233,13 @@ where impl InnerInit for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { #[inline] - fn inner_init(mut cipher: C) -> Self { + fn inner_init(cipher: C) -> Self { let mut l = Default::default(); - cipher.encrypt_block_mut(&mut l); + cipher.encrypt_block(&mut l); let l_inv = l.clone().inv_dbl(); let l_cache = [(); LC_SIZE].map(|_| { @@ -260,15 +260,15 @@ where impl UpdateCore for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { struct Ctx<'a, N, const LC_SIZE: usize> where - N: ArrayLength, - GenericArray: Dbl, + N: BlockSizes, + Array: Dbl, { state: &'a mut PmacState, blocks: &'a [Block], @@ -276,16 +276,16 @@ where impl<'a, N, const LC_SIZE: usize> BlockSizeUser for Ctx<'a, N, LC_SIZE> where - N: ArrayLength, - GenericArray: Dbl, + N: BlockSizes, + Array: Dbl, { type BlockSize = N; } impl<'a, N, const LC_SIZE: usize> BlockClosure for Ctx<'a, N, LC_SIZE> where - N: ArrayLength, - GenericArray: Dbl, + N: BlockSizes, + Array: Dbl, { #[inline(always)] fn call>(self, backend: &mut B) { @@ -317,13 +317,13 @@ where } let Self { cipher, state } = self; - cipher.encrypt_with_backend_mut(Ctx { blocks, state }) + cipher.encrypt_with_backend(Ctx { blocks, state }) } } impl FixedOutputCore for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone, + C: BlockCipher + BlockCipherEncrypt + Clone, Block: Dbl, C::BlockSize: IsLess, Le: NonZero, @@ -337,20 +337,20 @@ where let pos = buffer.get_pos(); let buf = buffer.pad_with_zeros(); if pos == buf.len() { - xor(tag, buf); + xor(tag, &buf); xor(tag, l_inv); } else { tag[pos] ^= 0x80; - xor(tag, buf); + xor(tag, &buf); } - cipher.encrypt_block_b2b_mut(tag, out); + cipher.encrypt_block_b2b(tag, out); } } #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for PmacCore where - C: BlockCipher + BlockEncryptMut + Clone + ZeroizeOnDrop, + C: BlockCipher + BlockCipherEncrypt + Clone + ZeroizeOnDrop, Block: Dbl, C::BlockSize: IsLess, Le: NonZero, @@ -358,7 +358,7 @@ where } #[inline(always)] -fn xor>(buf: &mut GenericArray, data: &GenericArray) { +fn xor(buf: &mut Array, data: &Array) { for i in 0..N::USIZE { buf[i] ^= data[i]; } From acad3c0e8db0cabd9de9d60b21170f03b3c21998 Mon Sep 17 00:00:00 2001 From: Arthur Gautier Date: Tue, 5 Mar 2024 09:42:28 -0800 Subject: [PATCH 045/123] Cleanup patches (#159) https://github.com/RustCrypto/block-ciphers/pull/413 has merged --- Cargo.lock | 10 +++++----- Cargo.toml | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 30ec07c..76b1906 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5,7 +5,7 @@ version = 3 [[package]] name = "aes" version = "0.9.0-pre" -source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo/bump-cipher/0.5.0-pre.4#bb94e5e71f5320fcaab727ad0c503cca5190da4c" +source = "git+https://github.com/RustCrypto/block-ciphers.git#c577715951ed183b7980a3b7499797723909c1dc" dependencies = [ "cfg-if", "cipher", @@ -15,7 +15,7 @@ dependencies = [ [[package]] name = "belt-block" version = "0.2.0-pre" -source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo/bump-cipher/0.5.0-pre.4#bb94e5e71f5320fcaab727ad0c503cca5190da4c" +source = "git+https://github.com/RustCrypto/block-ciphers.git#c577715951ed183b7980a3b7499797723909c1dc" dependencies = [ "cipher", ] @@ -120,7 +120,7 @@ dependencies = [ [[package]] name = "des" version = "0.9.0-pre" -source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo/bump-cipher/0.5.0-pre.4#bb94e5e71f5320fcaab727ad0c503cca5190da4c" +source = "git+https://github.com/RustCrypto/block-ciphers.git#c577715951ed183b7980a3b7499797723909c1dc" dependencies = [ "cipher", ] @@ -193,7 +193,7 @@ dependencies = [ [[package]] name = "kuznyechik" version = "0.9.0-pre" -source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo/bump-cipher/0.5.0-pre.4#bb94e5e71f5320fcaab727ad0c503cca5190da4c" +source = "git+https://github.com/RustCrypto/block-ciphers.git#c577715951ed183b7980a3b7499797723909c1dc" dependencies = [ "cipher", ] @@ -207,7 +207,7 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "magma" version = "0.10.0-pre" -source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo/bump-cipher/0.5.0-pre.4#bb94e5e71f5320fcaab727ad0c503cca5190da4c" +source = "git+https://github.com/RustCrypto/block-ciphers.git#c577715951ed183b7980a3b7499797723909c1dc" dependencies = [ "cipher", ] diff --git a/Cargo.toml b/Cargo.toml index dc510b7..3be7c96 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,8 +13,8 @@ opt-level = 2 [patch.crates-io] # please re-enable the minimal-versions when you remove those patches. # https://github.com/RustCrypto/block-ciphers/pull/413 -aes = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/bump-cipher/0.5.0-pre.4" } -belt-block = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/bump-cipher/0.5.0-pre.4" } -des = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/bump-cipher/0.5.0-pre.4" } -kuznyechik = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/bump-cipher/0.5.0-pre.4" } -magma = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/bump-cipher/0.5.0-pre.4" } +aes = { git = "https://github.com/RustCrypto/block-ciphers.git" } +belt-block = { git = "https://github.com/RustCrypto/block-ciphers.git" } +des = { git = "https://github.com/RustCrypto/block-ciphers.git" } +kuznyechik = { git = "https://github.com/RustCrypto/block-ciphers.git" } +magma = { git = "https://github.com/RustCrypto/block-ciphers.git" } From c4afef2cabf5bf4403f4c4e6c5e42c2bc7977955 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 26 Jul 2024 16:59:05 -0600 Subject: [PATCH 046/123] Bump `cipher` to v0.5.0-pre.6; `digest` to v0.11.0-pre.9 (#165) --- Cargo.lock | 82 ++++++++++++++++++++++----------------------- Cargo.toml | 5 +-- belt-mac/Cargo.toml | 10 +++--- cbc-mac/Cargo.toml | 12 +++---- cmac/Cargo.toml | 18 +++++----- hmac/Cargo.toml | 12 +++---- pmac/Cargo.toml | 10 +++--- pmac/src/lib.rs | 5 ++- 8 files changed, 76 insertions(+), 78 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 76b1906..74d725d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,8 +4,9 @@ version = 3 [[package]] name = "aes" -version = "0.9.0-pre" -source = "git+https://github.com/RustCrypto/block-ciphers.git#c577715951ed183b7980a3b7499797723909c1dc" +version = "0.9.0-pre.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "183b3b4639f8f7237857117abb74f3dc8648b77e67ff78d9cb6959fd7e76f387" dependencies = [ "cfg-if", "cipher", @@ -14,8 +15,8 @@ dependencies = [ [[package]] name = "belt-block" -version = "0.2.0-pre" -source = "git+https://github.com/RustCrypto/block-ciphers.git#c577715951ed183b7980a3b7499797723909c1dc" +version = "0.2.0-pre.1" +source = "git+https://github.com/RustCrypto/block-ciphers.git#ab802d8370c17e36c990c868607056e57461e740" dependencies = [ "cipher", ] @@ -27,7 +28,7 @@ dependencies = [ "belt-block", "cipher", "digest", - "hex-literal 0.4.1", + "hex-literal", ] [[package]] @@ -38,9 +39,9 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.11.0-pre.5" +version = "0.11.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ded684142010808eb980d9974ef794da2bcf97d13396143b1515e9f0fb4a10e" +checksum = "17092d478f4fadfb35a7e082f62e49f0907fdf048801d9d706277e34f9df8a78" dependencies = [ "crypto-common", ] @@ -53,7 +54,7 @@ dependencies = [ "cipher", "des", "digest", - "hex-literal 0.3.4", + "hex-literal", ] [[package]] @@ -64,9 +65,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cipher" -version = "0.5.0-pre.4" +version = "0.5.0-pre.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84fba98785cecd0e308818a87c817576a40f99d8bab6405bf422bacd3efb6c1f" +checksum = "c71c893d5a1e8257048dbb29954d2e1f85f091a150304f1defe4ca2806da5d3f" dependencies = [ "blobby", "crypto-common", @@ -83,7 +84,7 @@ dependencies = [ "dbl", "des", "digest", - "hex-literal 0.3.4", + "hex-literal", "kuznyechik", "magma", ] @@ -99,9 +100,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-pre.5" +version = "0.2.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7aa2ec04f5120b830272a481e8d9d8ba4dda140d2cda59b0f1110d5eb93c38e" +checksum = "8c070b79a496dccd931229780ad5bbedd535ceff6c3565605a8e440e18e1aa2b" dependencies = [ "getrandom", "hybrid-array", @@ -110,26 +111,27 @@ dependencies = [ [[package]] name = "dbl" -version = "0.4.0-pre.4" +version = "0.4.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977125a36bcb9fcf23cec295ffd25a7499046d5ae95603cd536d4ec1e39bd673" +checksum = "bb19b576f7e885fac6667774f906b150c9e4df82ed8974d5a99a82bdbee946a8" dependencies = [ "hybrid-array", ] [[package]] name = "des" -version = "0.9.0-pre" -source = "git+https://github.com/RustCrypto/block-ciphers.git#c577715951ed183b7980a3b7499797723909c1dc" +version = "0.9.0-pre.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291fd90b2979cd5898c7065de0ceef1b7b9c477fe9b3389e995fa8c2cef7cc56" dependencies = [ "cipher", ] [[package]] name = "digest" -version = "0.11.0-pre.8" +version = "0.11.0-pre.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065d93ead7c220b85d5b4be4795d8398eac4ff68b5ee63895de0a3c1fb6edf25" +checksum = "cf2e3d6615d99707295a9673e889bf363a04b2a466bd320c65a72536f7577379" dependencies = [ "blobby", "block-buffer", @@ -148,12 +150,6 @@ dependencies = [ "wasi", ] -[[package]] -name = "hex-literal" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" - [[package]] name = "hex-literal" version = "0.4.1" @@ -165,7 +161,7 @@ name = "hmac" version = "0.13.0-pre.3" dependencies = [ "digest", - "hex-literal 0.4.1", + "hex-literal", "md-5", "sha1", "sha2", @@ -174,26 +170,27 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.2.0-rc.7" +version = "0.2.0-rc.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c2311a0adecbffff284aabcf1249b1485193b16e685f9ef171b1ba82979cff" +checksum = "4d306b679262030ad8813a82d4915fc04efff97776e4db7f8eb5137039d56400" dependencies = [ "typenum", ] [[package]] name = "inout" -version = "0.2.0-pre.4" +version = "0.2.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2cc35b920cc3b344af824e64e508ffc2c819fc2368ed4d253244446194d2fe" +checksum = "bbc33218cf9ce7b927426ee4ad3501bcc5d8c26bf5fb4a82849a083715aca427" dependencies = [ "hybrid-array", ] [[package]] name = "kuznyechik" -version = "0.9.0-pre" -source = "git+https://github.com/RustCrypto/block-ciphers.git#c577715951ed183b7980a3b7499797723909c1dc" +version = "0.9.0-pre.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7984e78a88c94f87c94a1a17f8fb3bff3f466c2b8bddf341ae9616d7519c888" dependencies = [ "cipher", ] @@ -206,17 +203,18 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "magma" -version = "0.10.0-pre" -source = "git+https://github.com/RustCrypto/block-ciphers.git#c577715951ed183b7980a3b7499797723909c1dc" +version = "0.10.0-pre.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef645dc7cf374c71e44deb3f045f59873da9bbfaab4e062fcfd3529ee9e52318" dependencies = [ "cipher", ] [[package]] name = "md-5" -version = "0.11.0-pre.3" +version = "0.11.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "649f2dc52b97a3d781ba9a36dad970f147d55920d17a27735f551b560024f3bf" +checksum = "117b97b6b9ae1ec9a396b357698efa3ecff4fc1f40e0ec59ae7c1270b460ac1d" dependencies = [ "cfg-if", "digest", @@ -243,9 +241,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-pre.3" +version = "0.11.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3885de8cb916f223718c1ccd47a840b91f806333e76002dc5cb3862154b4fed3" +checksum = "9540978cef7a8498211c1b1c14e5ce920fe5bd524ea84f4a3d72d4602515ae93" dependencies = [ "cfg-if", "cpufeatures", @@ -254,9 +252,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-pre.3" +version = "0.11.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f33549bf3064b62478926aa89cbfc7c109aab66ae8f0d5d2ef839e482cc30d6" +checksum = "540c0893cce56cdbcfebcec191ec8e0f470dd1889b6e7a0b503e310a94a168f5" dependencies = [ "cfg-if", "cpufeatures", @@ -265,9 +263,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.11.0-pre.3" +version = "0.11.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "906aaaef0b6bfcf186c7aac662b06a11769e688744323aa6ff3b9f96a5c71c09" +checksum = "fcb353b35a577917dbcc59b8bef4084ba206b36851577816d5ffe3dac9b0ad54" dependencies = [ "digest", ] diff --git a/Cargo.toml b/Cargo.toml index 3be7c96..d5bddab 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,4 +1,5 @@ [workspace] +resolver = "2" members = [ "belt-mac", "cbc-mac", @@ -13,8 +14,4 @@ opt-level = 2 [patch.crates-io] # please re-enable the minimal-versions when you remove those patches. # https://github.com/RustCrypto/block-ciphers/pull/413 -aes = { git = "https://github.com/RustCrypto/block-ciphers.git" } belt-block = { git = "https://github.com/RustCrypto/block-ciphers.git" } -des = { git = "https://github.com/RustCrypto/block-ciphers.git" } -kuznyechik = { git = "https://github.com/RustCrypto/block-ciphers.git" } -magma = { git = "https://github.com/RustCrypto/block-ciphers.git" } diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 0263047..2fd6a83 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -13,13 +13,13 @@ keywords = ["crypto", "mac", "belt-mac"] categories = ["cryptography", "no-std"] [dependencies] -belt-block = { version = "0.2.0-pre" } -digest = { version = "=0.11.0-pre.8", features = ["mac"] } -cipher = "=0.5.0-pre.4" +belt-block = "0.2.0-pre.1" +cipher = "=0.5.0-pre.6" +digest = { version = "=0.11.0-pre.9", features = ["mac"] } [dev-dependencies] -cipher = { version = "=0.5.0-pre.4", features = ["dev"] } -digest = { version = "=0.11.0-pre.8", features = ["dev"] } +cipher = { version = "=0.5.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.9", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index bc3840a..0da869f 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -12,14 +12,14 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -digest = { version = "=0.11.0-pre.8", features = ["mac"] } -cipher = "=0.5.0-pre.4" +cipher = "=0.5.0-pre.6" +digest = { version = "=0.11.0-pre.9", features = ["mac"] } [dev-dependencies] -aes = "0.9.0-pre" -des = "0.9.0-pre" -digest = { version = "=0.11.0-pre.8", features = ["dev"] } -hex-literal = "0.3" +aes = "0.9.0-pre.1" +des = "0.9.0-pre.1" +digest = { version = "=0.11.0-pre.9", features = ["dev"] } +hex-literal = "0.4" [features] std = ["digest/std"] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index b55b22e..22bf1fc 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -14,17 +14,17 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -digest = { version = "=0.11.0-pre.8", features = ["mac"] } -cipher = "=0.5.0-pre.4" -dbl = "0.4.0-pre.4" +cipher = "=0.5.0-pre.6" +digest = { version = "=0.11.0-pre.9", features = ["mac"] } +dbl = "0.4.0-rc.0" [dev-dependencies] -digest = { version = "=0.11.0-pre.8", features = ["dev"] } -hex-literal = "0.3" -aes = "0.9.0-pre" -des = "0.9.0-pre" -kuznyechik = "0.9.0-pre" -magma = "0.10.0-pre" +aes = "0.9.0-pre.1" +des = "0.9.0-pre.1" +digest = { version = "=0.11.0-pre.9", features = ["dev"] } +hex-literal = "0.4" +kuznyechik = "0.9.0-pre.1" +magma = "0.10.0-pre.1" [features] std = ["digest/std"] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 3c7ab66..3fa2fd2 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -13,14 +13,14 @@ categories = ["cryptography", "no-std"] rust-version = "1.72" [dependencies] -digest = { version = "=0.11.0-pre.8", features = ["mac"] } +digest = { version = "=0.11.0-pre.9", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.8", features = ["dev"] } -md-5 = { version = "=0.11.0-pre.3", default-features = false } -sha1 = { version = "=0.11.0-pre.3", default-features = false } -sha2 = { version = "=0.11.0-pre.3", default-features = false } -streebog = { version = "=0.11.0-pre.3", default-features = false } +digest = { version = "=0.11.0-pre.9", features = ["dev"] } +md-5 = { version = "=0.11.0-pre.4", default-features = false } +sha1 = { version = "=0.11.0-pre.4", default-features = false } +sha2 = { version = "=0.11.0-pre.4", default-features = false } +streebog = { version = "=0.11.0-pre.4", default-features = false } hex-literal = "0.4" [features] diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index a819a20..60ce34e 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -13,13 +13,13 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "=0.11.0-pre.8", features = ["mac"] } -cipher = "=0.5.0-pre.4" -dbl = "0.4.0-pre.4" +cipher = "=0.5.0-pre.6" +digest = { version = "=0.11.0-pre.9", features = ["mac"] } +dbl = "0.4.0-rc.0" [dev-dependencies] -aes = "0.9.0-pre" -digest = { version = "=0.11.0-pre.8", features = ["dev"] } +aes = "0.9.0-pre.1" +digest = { version = "=0.11.0-pre.9", features = ["dev"] } [features] std = ["digest/std"] diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index 9ee7d6d..4393714 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -295,11 +295,14 @@ where // and migration to const generics let mut iter = blocks.chunks_exact(B::ParBlocksSize::USIZE); for chunk in &mut iter { - let mut tmp = ParBlocks::::clone_from_slice(chunk); + let mut tmp = ParBlocks::::try_from(chunk).expect("size mismatch"); + for block in tmp.iter_mut() { xor(block, state.next_offset()); } + backend.proc_par_blocks((&mut tmp).into()); + for t in tmp.iter() { xor(&mut state.tag, t); } From 0d6ef4e4b68fd46bf9af1e0efb985dd3ccc43f9b Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 26 Jul 2024 17:01:26 -0600 Subject: [PATCH 047/123] hmac v0.13.0-pre.4 (#166) --- hmac/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 3fa2fd2..83d7308 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-pre.3" +version = "0.13.0-pre.4" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 7cd5622cf83175e7a30a8bc8af20235db4848e58 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 27 Jul 2024 09:52:20 -0600 Subject: [PATCH 048/123] cbc-mac+cmac+pmac: cut pre.1 prereleases (#167) Cuts the following prereleases: - `cbc-mac` v0.2.0-pre.1 - `cmac` v0.8.0-pre.1 - `pmac` v0.8.0-pre.1 --- Cargo.lock | 8 ++++---- cbc-mac/Cargo.toml | 2 +- cbc-mac/src/lib.rs | 3 +-- cmac/Cargo.toml | 2 +- pmac/Cargo.toml | 2 +- pmac/src/lib.rs | 3 +-- 6 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 74d725d..78ab4fe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,7 +48,7 @@ dependencies = [ [[package]] name = "cbc-mac" -version = "0.2.0-pre" +version = "0.2.0-pre.1" dependencies = [ "aes", "cipher", @@ -77,7 +77,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.8.0-pre" +version = "0.8.0-pre.1" dependencies = [ "aes", "cipher", @@ -158,7 +158,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hmac" -version = "0.13.0-pre.3" +version = "0.13.0-pre.4" dependencies = [ "digest", "hex-literal", @@ -222,7 +222,7 @@ dependencies = [ [[package]] name = "pmac" -version = "0.8.0-pre" +version = "0.8.0-pre.1" dependencies = [ "aes", "cipher", diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 0da869f..b916153 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cbc-mac" -version = "0.2.0-pre" # Also update html_root_url in lib.rs when bumping this +version = "0.2.0-pre.1" description = "Implementation of Cipher Block Chaining Message Authentication Code (CBC-MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index ac57f42..971e440 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -27,8 +27,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", - html_root_url = "https://docs.rs/cbc-mac/0.1.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![deny(unsafe_code)] #![cfg_attr(docsrs, feature(doc_cfg))] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 22bf1fc..2c630af 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cmac" -version = "0.8.0-pre" +version = "0.8.0-pre.1" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 60ce34e..0475320 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pmac" -version = "0.8.0-pre" # Also update html_root_url in lib.rs when bumping this +version = "0.8.0-pre.1" description = "Generic implementation of Parallelizable Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index 4393714..4abd1e9 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -42,8 +42,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", - html_root_url = "https://docs.rs/pmac/0.7.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![forbid(unsafe_code)] #![cfg_attr(docsrs, feature(doc_cfg))] From 505aeeaa96cec03359055c1019302de152c1bfe3 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 14 Aug 2024 20:01:12 +0300 Subject: [PATCH 049/123] Bump `cipher` to v0.5.0-pre.7 (#168) --- Cargo.lock | 61 +++++++++++++++++++++-------------------- Cargo.toml | 13 +-------- belt-mac/Cargo.toml | 5 ++-- belt-mac/benches/mod.rs | 2 +- belt-mac/src/lib.rs | 47 +++++++++++++++---------------- cbc-mac/Cargo.toml | 9 +++--- cbc-mac/benches/mod.rs | 2 +- cbc-mac/src/lib.rs | 47 +++++++++++++++---------------- cmac/Cargo.toml | 13 +++++---- cmac/benches/mod.rs | 2 +- cmac/src/lib.rs | 44 ++++++++++++++--------------- hmac/src/lib.rs | 3 +- pmac/Cargo.toml | 6 ++-- pmac/benches/mod.rs | 2 +- pmac/src/lib.rs | 44 ++++++++++++++--------------- 15 files changed, 142 insertions(+), 158 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 78ab4fe..d906585 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "aes" -version = "0.9.0-pre.1" +version = "0.9.0-pre.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "183b3b4639f8f7237857117abb74f3dc8648b77e67ff78d9cb6959fd7e76f387" +checksum = "e7856582c758ade85d71daf27ec6bcea6c1c73913692b07b8dffea2dc03531c9" dependencies = [ "cfg-if", "cipher", @@ -15,8 +15,9 @@ dependencies = [ [[package]] name = "belt-block" -version = "0.2.0-pre.1" -source = "git+https://github.com/RustCrypto/block-ciphers.git#ab802d8370c17e36c990c868607056e57461e740" +version = "0.2.0-pre.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df0a14d60362d7b6041d3fe85dfd787ced16c4928f93d72152142c67d01d0bc" dependencies = [ "cipher", ] @@ -39,16 +40,16 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.11.0-rc.0" +version = "0.11.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17092d478f4fadfb35a7e082f62e49f0907fdf048801d9d706277e34f9df8a78" +checksum = "8969801e57d15e15bc4d7cdc5600dc15ca06a9a62b622bd4871c2d21d8aeb42d" dependencies = [ "crypto-common", ] [[package]] name = "cbc-mac" -version = "0.2.0-pre.1" +version = "0.2.0-pre.2" dependencies = [ "aes", "cipher", @@ -65,11 +66,10 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cipher" -version = "0.5.0-pre.6" +version = "0.5.0-pre.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71c893d5a1e8257048dbb29954d2e1f85f091a150304f1defe4ca2806da5d3f" +checksum = "5b1425e6ce000f05a73096556cabcfb6a10a3ffe3bb4d75416ca8f00819c0b6a" dependencies = [ - "blobby", "crypto-common", "inout", "zeroize", @@ -77,7 +77,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.8.0-pre.1" +version = "0.8.0-pre.2" dependencies = [ "aes", "cipher", @@ -91,18 +91,18 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] [[package]] name = "crypto-common" -version = "0.2.0-rc.0" +version = "0.2.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c070b79a496dccd931229780ad5bbedd535ceff6c3565605a8e440e18e1aa2b" +checksum = "b0b8ce8218c97789f16356e7896b3714f26c2ee1079b79c0b7ae7064bb9089fa" dependencies = [ "getrandom", "hybrid-array", @@ -120,9 +120,9 @@ dependencies = [ [[package]] name = "des" -version = "0.9.0-pre.1" +version = "0.9.0-pre.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291fd90b2979cd5898c7065de0ceef1b7b9c477fe9b3389e995fa8c2cef7cc56" +checksum = "76239c731adb4b5204cfeec47bd06ec1071d9477a0d32bbb83dc7d8c599efe63" dependencies = [ "cipher", ] @@ -141,9 +141,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -188,24 +188,25 @@ dependencies = [ [[package]] name = "kuznyechik" -version = "0.9.0-pre.1" +version = "0.9.0-pre.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7984e78a88c94f87c94a1a17f8fb3bff3f466c2b8bddf341ae9616d7519c888" +checksum = "bd136ca56393426d0aeca01643adef06b1f30d667fdebf31f7cf11724cbd9051" dependencies = [ + "cfg-if", "cipher", ] [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "magma" -version = "0.10.0-pre.1" +version = "0.10.0-pre.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef645dc7cf374c71e44deb3f045f59873da9bbfaab4e062fcfd3529ee9e52318" +checksum = "b9fd466f879a2c01f141f168c4e045a26dca5a60aef79efa8bb96e9c701bb8ea" dependencies = [ "cipher", ] @@ -222,7 +223,7 @@ dependencies = [ [[package]] name = "pmac" -version = "0.8.0-pre.1" +version = "0.8.0-pre.2" dependencies = [ "aes", "cipher", @@ -272,9 +273,9 @@ dependencies = [ [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "typenum" @@ -290,6 +291,6 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/Cargo.toml b/Cargo.toml index d5bddab..eec9b9d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,17 +1,6 @@ [workspace] resolver = "2" -members = [ - "belt-mac", - "cbc-mac", - "cmac", - "hmac", - "pmac", -] +members = ["belt-mac", "cbc-mac", "cmac", "hmac", "pmac"] [profile.dev] opt-level = 2 - -[patch.crates-io] -# please re-enable the minimal-versions when you remove those patches. -# https://github.com/RustCrypto/block-ciphers/pull/413 -belt-block = { git = "https://github.com/RustCrypto/block-ciphers.git" } diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 2fd6a83..294dd67 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -13,12 +13,11 @@ keywords = ["crypto", "mac", "belt-mac"] categories = ["cryptography", "no-std"] [dependencies] -belt-block = "0.2.0-pre.1" -cipher = "=0.5.0-pre.6" +belt-block = "0.2.0-pre.2" +cipher = "=0.5.0-pre.7" digest = { version = "=0.11.0-pre.9", features = ["mac"] } [dev-dependencies] -cipher = { version = "=0.5.0-pre.6", features = ["dev"] } digest = { version = "=0.11.0-pre.9", features = ["dev"] } hex-literal = "0.4" diff --git a/belt-mac/benches/mod.rs b/belt-mac/benches/mod.rs index b7c195c..5061481 100644 --- a/belt-mac/benches/mod.rs +++ b/belt-mac/benches/mod.rs @@ -2,7 +2,7 @@ extern crate test; use belt_block::BeltBlock; -use belt_mac::{BeltMac, Mac}; +use belt_mac::{BeltMac, KeyInit}; use test::Bencher; digest::bench_update!( diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index 7d38019..18687fe 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -8,10 +8,10 @@ #![cfg_attr(docsrs, feature(doc_cfg))] #![warn(missing_docs, rust_2018_idioms)] -pub use digest::{self, Mac}; +pub use digest::{self, KeyInit, Mac}; use belt_block::BeltBlock; -use cipher::{BlockBackend, BlockCipher, BlockCipherEncrypt, BlockClosure}; +use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; use core::fmt; use digest::{ array::{ @@ -37,7 +37,7 @@ pub type BeltMac = CoreWrapper>; /// Generic core BeltMac instance, which operates over blocks. pub struct BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { cipher: C, state: Block, @@ -46,30 +46,30 @@ where impl BlockSizeUser for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { type BlockSize = C::BlockSize; } impl OutputSizeUser for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { type OutputSize = C::BlockSize; } impl InnerUser for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { type Inner = C; } -impl MacMarker for BeltMacCore where C: BlockCipher + BlockCipherEncrypt + Clone {} +impl MacMarker for BeltMacCore where C: BlockCipherEncrypt + Clone {} impl InnerInit for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { #[inline] fn inner_init(cipher: C) -> Self { @@ -82,44 +82,44 @@ where impl BufferKindUser for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { type BufferKind = Lazy; } impl UpdateCore for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { - struct Ctx<'a, N: BlockSizes> { + struct Closure<'a, N: BlockSizes> { state: &'a mut Block, blocks: &'a [Block], } - impl<'a, N: BlockSizes> BlockSizeUser for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockSizeUser for Closure<'a, N> { type BlockSize = N; } - impl<'a, N: BlockSizes> BlockClosure for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockCipherEncClosure for Closure<'a, N> { #[inline(always)] - fn call>(self, backend: &mut B) { + fn call>(self, backend: &B) { for block in self.blocks { xor(self.state, block); - backend.proc_block((self.state).into()); + backend.encrypt_block((self.state).into()); } } } let Self { cipher, state, .. } = self; - cipher.encrypt_with_backend(Ctx { state, blocks }) + cipher.encrypt_with_backend(Closure { state, blocks }) } } impl Reset for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { #[inline(always)] fn reset(&mut self) { @@ -129,7 +129,7 @@ where impl FixedOutputCore for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, C::BlockSize: IsLess, Le: NonZero, { @@ -168,7 +168,7 @@ where impl AlgorithmName for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + Clone + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("BeltMac<")?; @@ -179,7 +179,7 @@ where impl fmt::Debug for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + Clone + AlgorithmName, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("BeltMacCore<")?; @@ -192,7 +192,7 @@ where #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] impl Drop for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { fn drop(&mut self) { self.state.zeroize(); @@ -201,10 +201,7 @@ where #[cfg(feature = "zeroize")] #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] -impl ZeroizeOnDrop for BeltMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + ZeroizeOnDrop -{ -} +impl ZeroizeOnDrop for BeltMacCore where C: BlockCipherEncrypt + Clone + ZeroizeOnDrop {} #[inline(always)] fn xor(buf: &mut Array, data: &Array) { diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index b916153..69249cd 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cbc-mac" -version = "0.2.0-pre.1" +version = "0.2.0-pre.2" description = "Implementation of Cipher Block Chaining Message Authentication Code (CBC-MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,15 +12,16 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -cipher = "=0.5.0-pre.6" +cipher = "=0.5.0-pre.7" digest = { version = "=0.11.0-pre.9", features = ["mac"] } [dev-dependencies] -aes = "0.9.0-pre.1" -des = "0.9.0-pre.1" digest = { version = "=0.11.0-pre.9", features = ["dev"] } hex-literal = "0.4" +aes = "0.9.0-pre.2" +des = "0.9.0-pre.2" + [features] std = ["digest/std"] zeroize = ["cipher/zeroize"] diff --git a/cbc-mac/benches/mod.rs b/cbc-mac/benches/mod.rs index 3478920..acc55ca 100644 --- a/cbc-mac/benches/mod.rs +++ b/cbc-mac/benches/mod.rs @@ -2,7 +2,7 @@ extern crate test; use aes::Aes128; -use cbc_mac::{CbcMac, Mac}; +use cbc_mac::{CbcMac, KeyInit}; use des::Des; use test::Bencher; diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index 971e440..f9cd2b5 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -33,9 +33,9 @@ #![cfg_attr(docsrs, feature(doc_cfg))] #![warn(missing_docs, rust_2018_idioms)] -pub use digest::{self, Mac}; +pub use digest::{self, KeyInit, Mac}; -use cipher::{BlockBackend, BlockCipher, BlockCipherEncrypt, BlockClosure}; +use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; use core::fmt; use digest::{ array::{ @@ -61,7 +61,7 @@ pub type CbcMac = CoreWrapper>; #[derive(Clone)] pub struct CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { cipher: C, state: Block, @@ -69,30 +69,30 @@ where impl BlockSizeUser for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { type BlockSize = C::BlockSize; } impl OutputSizeUser for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { type OutputSize = C::BlockSize; } impl InnerUser for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { type Inner = C; } -impl MacMarker for CbcMacCore where C: BlockCipher + BlockCipherEncrypt + Clone {} +impl MacMarker for CbcMacCore where C: BlockCipherEncrypt + Clone {} impl InnerInit for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { #[inline] fn inner_init(cipher: C) -> Self { @@ -103,44 +103,44 @@ where impl BufferKindUser for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { type BufferKind = Eager; } impl UpdateCore for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { - struct Ctx<'a, N: BlockSizes> { + struct Closure<'a, N: BlockSizes> { state: &'a mut Block, blocks: &'a [Block], } - impl<'a, N: BlockSizes> BlockSizeUser for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockSizeUser for Closure<'a, N> { type BlockSize = N; } - impl<'a, N: BlockSizes> BlockClosure for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockCipherEncClosure for Closure<'a, N> { #[inline(always)] - fn call>(self, backend: &mut B) { + fn call>(self, backend: &B) { for block in self.blocks { xor(self.state, block); - backend.proc_block((self.state).into()); + backend.encrypt_block((self.state).into()); } } } let Self { cipher, state } = self; - cipher.encrypt_with_backend(Ctx { state, blocks }) + cipher.encrypt_with_backend(Closure { state, blocks }) } } impl Reset for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { #[inline(always)] fn reset(&mut self) { @@ -150,7 +150,7 @@ where impl FixedOutputCore for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, C::BlockSize: IsLess, Le: NonZero, { @@ -168,7 +168,7 @@ where impl AlgorithmName for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + Clone + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("CbcMac<")?; @@ -179,7 +179,7 @@ where impl fmt::Debug for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + Clone + AlgorithmName, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("CbcMacCore<")?; @@ -192,7 +192,7 @@ where #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] impl Drop for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, { fn drop(&mut self) { self.state.zeroize(); @@ -201,10 +201,7 @@ where #[cfg(feature = "zeroize")] #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] -impl ZeroizeOnDrop for CbcMacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + ZeroizeOnDrop -{ -} +impl ZeroizeOnDrop for CbcMacCore where C: BlockCipherEncrypt + Clone + ZeroizeOnDrop {} #[inline(always)] fn xor(buf: &mut Array, data: &Array) { diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 2c630af..7072bf8 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cmac" -version = "0.8.0-pre.1" +version = "0.8.0-pre.2" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -14,17 +14,18 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -cipher = "=0.5.0-pre.6" +cipher = "=0.5.0-pre.7" digest = { version = "=0.11.0-pre.9", features = ["mac"] } dbl = "0.4.0-rc.0" [dev-dependencies] -aes = "0.9.0-pre.1" -des = "0.9.0-pre.1" digest = { version = "=0.11.0-pre.9", features = ["dev"] } hex-literal = "0.4" -kuznyechik = "0.9.0-pre.1" -magma = "0.10.0-pre.1" + +aes = "0.9.0-pre.2" +des = "0.9.0-pre.2" +kuznyechik = "0.9.0-pre.2" +magma = "0.10.0-pre.2" [features] std = ["digest/std"] diff --git a/cmac/benches/mod.rs b/cmac/benches/mod.rs index 4f3f7eb..76b71e7 100644 --- a/cmac/benches/mod.rs +++ b/cmac/benches/mod.rs @@ -2,7 +2,7 @@ extern crate test; use aes::{Aes128, Aes256}; -use cmac::{Cmac, Mac}; +use cmac::{Cmac, KeyInit}; use kuznyechik::Kuznyechik; use test::Bencher; diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index c26316e..5b8e021 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -48,9 +48,9 @@ #![cfg_attr(docsrs, feature(doc_cfg))] #![warn(missing_docs, rust_2018_idioms)] -pub use digest::{self, Mac}; +pub use digest::{self, KeyInit, Mac}; -use cipher::{BlockBackend, BlockCipher, BlockCipherEncrypt, BlockClosure}; +use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; use core::fmt; use dbl::Dbl; use digest::{ @@ -77,7 +77,7 @@ pub type Cmac = CoreWrapper>; #[derive(Clone)] pub struct CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { cipher: C, @@ -86,7 +86,7 @@ where impl BlockSizeUser for CmacCore where - C: BlockCipher + BlockCipherEncrypt + BlockSizeUser + Clone, + C: BlockCipherEncrypt + BlockSizeUser + Clone, Block: Dbl, { type BlockSize = C::BlockSize; @@ -94,7 +94,7 @@ where impl OutputSizeUser for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { type OutputSize = C::BlockSize; @@ -102,7 +102,7 @@ where impl InnerUser for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { type Inner = C; @@ -110,14 +110,14 @@ where impl MacMarker for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { } impl InnerInit for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { #[inline] @@ -129,7 +129,7 @@ where impl BufferKindUser for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { type BufferKind = Lazy; @@ -137,38 +137,38 @@ where impl UpdateCore for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { - struct Ctx<'a, N: BlockSizes> { + struct Closure<'a, N: BlockSizes> { state: &'a mut Block, blocks: &'a [Block], } - impl<'a, N: BlockSizes> BlockSizeUser for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockSizeUser for Closure<'a, N> { type BlockSize = N; } - impl<'a, N: BlockSizes> BlockClosure for Ctx<'a, N> { + impl<'a, N: BlockSizes> BlockCipherEncClosure for Closure<'a, N> { #[inline(always)] - fn call>(self, backend: &mut B) { + fn call>(self, backend: &B) { for block in self.blocks { xor(self.state, block); - backend.proc_block((self.state).into()); + backend.encrypt_block((self.state).into()); } } } let Self { cipher, state } = self; - cipher.encrypt_with_backend(Ctx { state, blocks }) + cipher.encrypt_with_backend(Closure { state, blocks }) } } impl Reset for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { #[inline(always)] @@ -179,7 +179,7 @@ where impl FixedOutputCore for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, C::BlockSize: IsLess, Le: NonZero, @@ -209,7 +209,7 @@ where impl AlgorithmName for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + Clone + AlgorithmName, Block: Dbl, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { @@ -221,7 +221,7 @@ where impl fmt::Debug for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + Clone + AlgorithmName, Block: Dbl, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { @@ -235,7 +235,7 @@ where #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] impl Drop for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { fn drop(&mut self) { @@ -247,7 +247,7 @@ where #[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] impl ZeroizeOnDrop for CmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + ZeroizeOnDrop, + C: BlockCipherEncrypt + Clone + ZeroizeOnDrop, Block: Dbl, { } diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index 710bcd6..885c42b 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -93,8 +93,7 @@ #[cfg(feature = "std")] extern crate std; -pub use digest; -pub use digest::{KeyInit, Mac}; +pub use digest::{self, KeyInit, Mac}; use digest::{ core_api::{Block, BlockSizeUser}, diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 0475320..c889c60 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pmac" -version = "0.8.0-pre.1" +version = "0.8.0-pre.2" description = "Generic implementation of Parallelizable Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -13,12 +13,12 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -cipher = "=0.5.0-pre.6" +cipher = "=0.5.0-pre.7" digest = { version = "=0.11.0-pre.9", features = ["mac"] } dbl = "0.4.0-rc.0" [dev-dependencies] -aes = "0.9.0-pre.1" +aes = "0.9.0-pre.2" digest = { version = "=0.11.0-pre.9", features = ["dev"] } [features] diff --git a/pmac/benches/mod.rs b/pmac/benches/mod.rs index 726e57b..996a281 100644 --- a/pmac/benches/mod.rs +++ b/pmac/benches/mod.rs @@ -2,7 +2,7 @@ extern crate test; use aes::{Aes128, Aes256}; -use pmac::{Mac, Pmac}; +use pmac::{KeyInit, Pmac}; use test::Bencher; digest::bench_update!( diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index 4abd1e9..b3e7b8b 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -51,9 +51,9 @@ #[cfg(feature = "std")] extern crate std; -pub use digest::{self, Mac}; +pub use digest::{self, KeyInit, Mac}; -use cipher::{BlockBackend, BlockCipher, BlockCipherEncrypt, BlockClosure, ParBlocks}; +use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt, ParBlocks}; use core::fmt; use dbl::Dbl; use digest::{ @@ -88,7 +88,7 @@ pub type Pmac = CoreWrapper>; #[derive(Clone)] pub struct PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { state: PmacState, @@ -156,7 +156,7 @@ where impl BlockSizeUser for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { type BlockSize = C::BlockSize; @@ -164,7 +164,7 @@ where impl OutputSizeUser for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { type OutputSize = C::BlockSize; @@ -172,7 +172,7 @@ where impl InnerUser for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { type Inner = C; @@ -180,14 +180,14 @@ where impl MacMarker for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { } impl Reset for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { #[inline(always)] @@ -200,7 +200,7 @@ where impl BufferKindUser for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { type BufferKind = Lazy; @@ -208,7 +208,7 @@ where impl AlgorithmName for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + Clone + AlgorithmName, Block: Dbl, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { @@ -220,7 +220,7 @@ where impl fmt::Debug for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + Clone + AlgorithmName, Block: Dbl, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { @@ -232,7 +232,7 @@ where impl InnerInit for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { #[inline] @@ -259,12 +259,12 @@ where impl UpdateCore for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { - struct Ctx<'a, N, const LC_SIZE: usize> + struct Closure<'a, N, const LC_SIZE: usize> where N: BlockSizes, Array: Dbl, @@ -273,7 +273,7 @@ where blocks: &'a [Block], } - impl<'a, N, const LC_SIZE: usize> BlockSizeUser for Ctx<'a, N, LC_SIZE> + impl<'a, N, const LC_SIZE: usize> BlockSizeUser for Closure<'a, N, LC_SIZE> where N: BlockSizes, Array: Dbl, @@ -281,13 +281,13 @@ where type BlockSize = N; } - impl<'a, N, const LC_SIZE: usize> BlockClosure for Ctx<'a, N, LC_SIZE> + impl<'a, N, const LC_SIZE: usize> BlockCipherEncClosure for Closure<'a, N, LC_SIZE> where N: BlockSizes, Array: Dbl, { #[inline(always)] - fn call>(self, backend: &mut B) { + fn call>(self, backend: &B) { let Self { mut blocks, state } = self; if B::ParBlocksSize::USIZE > 1 { // TODO: replace with `slice::as_chunks` on stabilization @@ -300,7 +300,7 @@ where xor(block, state.next_offset()); } - backend.proc_par_blocks((&mut tmp).into()); + backend.encrypt_par_blocks((&mut tmp).into()); for t in tmp.iter() { xor(&mut state.tag, t); @@ -312,20 +312,20 @@ where for block in blocks { let mut block = block.clone(); xor(&mut block, state.next_offset()); - backend.proc_block((&mut block).into()); + backend.encrypt_block((&mut block).into()); xor(&mut state.tag, &block); } } } let Self { cipher, state } = self; - cipher.encrypt_with_backend(Ctx { blocks, state }) + cipher.encrypt_with_backend(Closure { blocks, state }) } } impl FixedOutputCore for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + Clone, Block: Dbl, C::BlockSize: IsLess, Le: NonZero, @@ -352,7 +352,7 @@ where #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for PmacCore where - C: BlockCipher + BlockCipherEncrypt + Clone + ZeroizeOnDrop, + C: BlockCipherEncrypt + Clone + ZeroizeOnDrop, Block: Dbl, C::BlockSize: IsLess, Le: NonZero, From dd301554bfca375c01fd159110f05d694571cf26 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 14 Aug 2024 20:09:59 +0300 Subject: [PATCH 050/123] CI: use actions/checkout@v4 (#169) --- .github/workflows/belt-mac.yml | 5 +++-- .github/workflows/cbc-mac.yml | 5 +++-- .github/workflows/cmac.yml | 5 +++-- .github/workflows/hmac.yml | 5 +++-- .github/workflows/pmac.yml | 5 +++-- .github/workflows/workspace.yml | 4 ++-- 6 files changed, 17 insertions(+), 12 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index 44c5692..b2112fb 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -3,6 +3,7 @@ name: belt-mac on: pull_request: paths: + - ".github/workflows/belt-mac.yml" - "belt-mac/**" - "Cargo.*" push: @@ -28,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -51,7 +52,7 @@ jobs: - 1.71.0 # MSRV - stable steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index cdf3fa1..5f3c334 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -3,6 +3,7 @@ name: cbc-mac on: pull_request: paths: + - ".github/workflows/cbc-mac.yml" - "cbc-mac/**" - "Cargo.*" push: @@ -29,7 +30,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -52,7 +53,7 @@ jobs: - 1.72.0 # MSRV - stable steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 5150c83..a531f68 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -3,6 +3,7 @@ name: cmac on: pull_request: paths: + - ".github/workflows/cmac.yml" - "cmac/**" - "Cargo.*" push: @@ -28,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -51,7 +52,7 @@ jobs: - 1.72.0 # MSRV - stable steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index a76d218..2f5b5d8 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -3,6 +3,7 @@ name: hmac on: pull_request: paths: + - ".github/workflows/hmac.yml" - "hmac/**" - "Cargo.*" push: @@ -29,7 +30,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -50,7 +51,7 @@ jobs: - 1.72.0 # MSRV - stable steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 7e40b4b..6d10fdb 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -3,6 +3,7 @@ name: pmac on: pull_request: paths: + - ".github/workflows/pmac.yml" - "pmac/**" - "Cargo.*" push: @@ -28,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -51,7 +52,7 @@ jobs: - 1.72.0 # MSRV - stable steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index f7f6866..cbc3339 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4 - name: Install stable toolchain uses: dtolnay/rust-toolchain@master From 698af6b6b2a30e5d2d46c197bfc5a851bcd8fd33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Ho=C5=A1ek?= Date: Mon, 23 Sep 2024 15:42:28 +0200 Subject: [PATCH 051/123] implement retail-mac (ISO/IEC 9797-1 MAC Algorithm 3) (#170) Among other use cases, Retail MAC is used, in combination with DES and ISO 7816 padding, when communicating with the chip in ICAO machine-readable travel documents. --- .github/workflows/retail-mac.yml | 61 ++++++++ Cargo.lock | 11 ++ Cargo.toml | 2 +- README.md | 17 ++- retail-mac/CHANGELOG.md | 11 ++ retail-mac/Cargo.toml | 31 ++++ retail-mac/LICENSE-APACHE | 201 +++++++++++++++++++++++++ retail-mac/LICENSE-MIT | 25 ++++ retail-mac/README.md | 57 +++++++ retail-mac/benches/mod.rs | 23 +++ retail-mac/src/lib.rs | 245 +++++++++++++++++++++++++++++++ 11 files changed, 676 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/retail-mac.yml create mode 100644 retail-mac/CHANGELOG.md create mode 100644 retail-mac/Cargo.toml create mode 100644 retail-mac/LICENSE-APACHE create mode 100644 retail-mac/LICENSE-MIT create mode 100644 retail-mac/README.md create mode 100644 retail-mac/benches/mod.rs create mode 100644 retail-mac/src/lib.rs diff --git a/.github/workflows/retail-mac.yml b/.github/workflows/retail-mac.yml new file mode 100644 index 0000000..aba89e5 --- /dev/null +++ b/.github/workflows/retail-mac.yml @@ -0,0 +1,61 @@ +name: retail-mac + +on: + pull_request: + paths: + - ".github/workflows/retail-mac.yml" + - "retail-mac/**" + - "Cargo.*" + push: + branches: master + +defaults: + run: + working-directory: retail-mac + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.71.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v4 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + targets: ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + + minimal-versions: + # disabled until belt-block gets published + if: false + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} + + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.72.0 # MSRV + - stable + steps: + - uses: actions/checkout@v4 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + - run: cargo test --release --no-default-features + - run: cargo test --release diff --git a/Cargo.lock b/Cargo.lock index d906585..36ba3ae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -240,6 +240,17 @@ dependencies = [ "getrandom", ] +[[package]] +name = "retail-mac" +version = "0.2.0-pre.2" +dependencies = [ + "aes", + "cipher", + "des", + "digest", + "hex-literal", +] + [[package]] name = "sha1" version = "0.11.0-pre.4" diff --git a/Cargo.toml b/Cargo.toml index eec9b9d..4e023fa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [workspace] resolver = "2" -members = ["belt-mac", "cbc-mac", "cmac", "hmac", "pmac"] +members = ["belt-mac", "cbc-mac", "cmac", "hmac", "pmac", "retail-mac"] [profile.dev] opt-level = 2 diff --git a/README.md b/README.md index de7f30b..9f2ddce 100644 --- a/README.md +++ b/README.md @@ -8,13 +8,14 @@ Collection of [Message Authentication Code][1] (MAC) algorithms written in pure ## Supported Algorithms -| Algorithm | Crate | Crates.io | Documentation | MSRV | -|------------|--------------|:---------:|:-------------:|:----:| -| [BelT MAC] | [`belt-mac`] | [![crates.io](https://img.shields.io/crates/v/belt-mac.svg)](https://crates.io/crates/belt-mac) | [![Documentation](https://docs.rs/belt-mac/badge.svg)](https://docs.rs/belt-mac) | ![MSRV 1.57][msrv-1.57] | -| [CBC-MAC] | [`cbc-mac`] | [![crates.io](https://img.shields.io/crates/v/cbc-mac.svg)](https://crates.io/crates/cbc-mac) | [![Documentation](https://docs.rs/cbc-mac/badge.svg)](https://docs.rs/cbc-mac) | ![MSRV 1.56][msrv-1.56] | -| [CMAC] | [`cmac`] | [![crates.io](https://img.shields.io/crates/v/cmac.svg)](https://crates.io/crates/cmac) | [![Documentation](https://docs.rs/cmac/badge.svg)](https://docs.rs/cmac) | ![MSRV 1.56][msrv-1.56] | -| [HMAC] | [`hmac`] | [![crates.io](https://img.shields.io/crates/v/hmac.svg)](https://crates.io/crates/hmac) | [![Documentation](https://docs.rs/hmac/badge.svg)](https://docs.rs/hmac) | ![MSRV 1.41][msrv-1.41] | -| [PMAC] | [`pmac`] | [![crates.io](https://img.shields.io/crates/v/pmac.svg)](https://crates.io/crates/pmac) | [![Documentation](https://docs.rs/pmac/badge.svg)](https://docs.rs/pmac) | ![MSRV 1.56][msrv-1.56] | +| Algorithm | Crate | Crates.io | Documentation | MSRV | +|--------------|----------------|:---------:|:-------------:|:----:| +| [BelT MAC] | [`belt-mac`] | [![crates.io](https://img.shields.io/crates/v/belt-mac.svg)](https://crates.io/crates/belt-mac) | [![Documentation](https://docs.rs/belt-mac/badge.svg)](https://docs.rs/belt-mac) | ![MSRV 1.57][msrv-1.57] | +| [CBC-MAC] | [`cbc-mac`] | [![crates.io](https://img.shields.io/crates/v/cbc-mac.svg)](https://crates.io/crates/cbc-mac) | [![Documentation](https://docs.rs/cbc-mac/badge.svg)](https://docs.rs/cbc-mac) | ![MSRV 1.56][msrv-1.56] | +| [CMAC] | [`cmac`] | [![crates.io](https://img.shields.io/crates/v/cmac.svg)](https://crates.io/crates/cmac) | [![Documentation](https://docs.rs/cmac/badge.svg)](https://docs.rs/cmac) | ![MSRV 1.56][msrv-1.56] | +| [HMAC] | [`hmac`] | [![crates.io](https://img.shields.io/crates/v/hmac.svg)](https://crates.io/crates/hmac) | [![Documentation](https://docs.rs/hmac/badge.svg)](https://docs.rs/hmac) | ![MSRV 1.41][msrv-1.41] | +| [PMAC] | [`pmac`] | [![crates.io](https://img.shields.io/crates/v/pmac.svg)](https://crates.io/crates/pmac) | [![Documentation](https://docs.rs/pmac/badge.svg)](https://docs.rs/pmac) | ![MSRV 1.56][msrv-1.56] | +| [Retail MAC] | [`retail-mac`] | [![crates.io](https://img.shields.io/crates/v/retail-mac.svg)](https://crates.io/crates/retail-mac) | [![Documentation](https://docs.rs/retail-mac/badge.svg)](https://docs.rs/retail-mac) | ![MSRV 1.56][msrv-1.56] | ### Minimum Supported Rust Version (MSRV) Policy @@ -51,6 +52,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [`cmac`]: ./cmac [`hmac`]: ./hmac [`pmac`]: ./pmac +[`retail-mac`]: ./retail-mac [//]: # (footnotes) @@ -63,3 +65,4 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [CMAC]: https://en.wikipedia.org/wiki/One-key_MAC [HMAC]: https://en.wikipedia.org/wiki/HMAC [PMAC]: https://en.wikipedia.org/wiki/PMAC_(cryptography) +[Retail MAC]: https://en.wikipedia.org/wiki/ISO/IEC_9797-1#MAC_algorithm_3 diff --git a/retail-mac/CHANGELOG.md b/retail-mac/CHANGELOG.md new file mode 100644 index 0000000..dae238b --- /dev/null +++ b/retail-mac/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.1.0 (2024-??-??) +- Initial release ([#170]) + +[#170]: https://github.com/RustCrypto/MACs/pull/170 diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml new file mode 100644 index 0000000..670f4cc --- /dev/null +++ b/retail-mac/Cargo.toml @@ -0,0 +1,31 @@ +[package] +name = "retail-mac" +version = "0.1.0" +description = "Implementation of Retail Message Authentication Code (Retail MAC)" +authors = ["RustCrypto Developers"] +license = "MIT OR Apache-2.0" +edition = "2021" +rust-version = "1.71" +readme = "README.md" +documentation = "https://docs.rs/retail-mac" +repository = "https://github.com/RustCrypto/MACs" +keywords = ["crypto", "mac"] + +[dependencies] +cipher = "=0.5.0-pre.7" +digest = { version = "=0.11.0-pre.9", features = ["mac"] } + +[dev-dependencies] +digest = { version = "=0.11.0-pre.9", features = ["dev"] } +hex-literal = "0.4" + +aes = "0.9.0-pre.2" +des = "0.9.0-pre.2" + +[features] +std = ["digest/std"] +zeroize = ["cipher/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/retail-mac/LICENSE-APACHE b/retail-mac/LICENSE-APACHE new file mode 100644 index 0000000..78173fa --- /dev/null +++ b/retail-mac/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +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. diff --git a/retail-mac/LICENSE-MIT b/retail-mac/LICENSE-MIT new file mode 100644 index 0000000..f5b157a --- /dev/null +++ b/retail-mac/LICENSE-MIT @@ -0,0 +1,25 @@ +Copyright (c) 2018 Artyom Pavlov + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/retail-mac/README.md b/retail-mac/README.md new file mode 100644 index 0000000..775e593 --- /dev/null +++ b/retail-mac/README.md @@ -0,0 +1,57 @@ +# RustCrypto: Retail MAC + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [Retail Message Authentication Code][Retail MAC], +also known as ISO/IEC 9797-1 MAC algorithm 3. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.56** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/retail-mac.svg +[crate-link]: https://crates.io/crates/retail-mac +[docs-image]: https://docs.rs/retail-mac/badge.svg +[docs-link]: https://docs.rs/retail-mac/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs +[build-image]: https://github.com/RustCrypto/MACs/workflows/retail-mac/badge.svg?branch=master&event=push +[build-link]: https://github.com/RustCrypto/MACs/actions?query=workflow%3Aretail-mac + +[//]: # (general links) + +[Retail MAC]: https://en.wikipedia.org/wiki/ISO/IEC_9797-1#MAC_algorithm_3 diff --git a/retail-mac/benches/mod.rs b/retail-mac/benches/mod.rs new file mode 100644 index 0000000..adf8ee5 --- /dev/null +++ b/retail-mac/benches/mod.rs @@ -0,0 +1,23 @@ +#![feature(test)] +extern crate test; + +use aes::Aes128; +use des::Des; +use retail_mac::{KeyInit, RetailMac}; +use test::Bencher; + +digest::bench_update!( + RetailMac::::new(&Default::default()); + retail_mac_aes128_10 10; + retail_mac_aes128_100 100; + retail_mac_aes128_1000 1000; + retail_mac_aes128_10000 10000; +); + +digest::bench_update!( + RetailMac::::new(&Default::default()); + retail_mac_des_10 10; + retail_mac_des_100 100; + retail_mac_des_1000 1000; + retail_mac_des_10000 10000; +); diff --git a/retail-mac/src/lib.rs b/retail-mac/src/lib.rs new file mode 100644 index 0000000..0958008 --- /dev/null +++ b/retail-mac/src/lib.rs @@ -0,0 +1,245 @@ +//! [Retail Message Authentication Code (Retail MAC)][Retail MAC] +//! implemented in pure Rust and generic over block cipher. +//! +//! **WARNING!** The algorithm has known weaknesses in case of variable-length +//! messages. See the Wikipedia article for (CBC-MAC)[CBC-MAC] for more information. +//! +//! # Examples +//! +//! ``` +//! use retail_mac::{digest::KeyInit, RetailMac, Mac}; +//! use des::Des; +//! use hex_literal::hex; +//! +//! type RetailMacDes = RetailMac; +//! +//! // test from ISO/IEC 9797-1:2011 section B.4 +//! // K and K' are concatenated: +//! let key = hex!("0123456789ABCDEFFEDCBA9876543210"); +//! +//! let mut mac = RetailMacDes::new_from_slice(&key).unwrap(); +//! mac.update(b"Now is the time for all "); +//! let correct = hex!("A1C72E74EA3FA9B6"); +//! mac.verify_slice(&correct).unwrap(); +//! +//! let mut mac2 = RetailMacDes::new_from_slice(&key).unwrap(); +//! mac2.update(b"Now is the time for it"); +//! let correct2 = hex!("2E2B1428CC78254F"); +//! mac2.verify_slice(&correct2).unwrap(); +//! ``` +//! +//! [Retail MAC]: https://en.wikipedia.org/wiki/ISO/IEC_9797-1#MAC_algorithm_3 +//! [CBC-MAC]: https://en.wikipedia.org/wiki/CBC-MAC#Security_with_fixed_and_variable-length_messages + +#![no_std] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" +)] +#![deny(unsafe_code)] +#![cfg_attr(docsrs, feature(doc_cfg))] +#![warn(missing_docs, rust_2018_idioms)] + +pub use digest::{self, Key, KeyInit, Mac}; + +use cipher::{ + BlockCipherDecrypt, BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt, + InvalidLength, KeySizeUser, +}; +use core::fmt; +use digest::{ + array::{ + typenum::{IsLess, Le, NonZero, U2, U256}, + Array, ArraySize, + }, + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + UpdateCore, + }, + crypto_common::BlockSizes, + MacMarker, Output, OutputSizeUser, Reset, +}; + +#[cfg(feature = "zeroize")] +use cipher::zeroize::{Zeroize, ZeroizeOnDrop}; + +/// Generic Retail MAC instance. +pub type RetailMac = CoreWrapper>; + +/// Generic core Retail MAC instance, which operates over blocks. +#[derive(Clone)] +pub struct RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + cipher: C, + cipher_prime: C, + state: Block, +} + +impl BlockSizeUser for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + type BlockSize = C::BlockSize; +} + +impl OutputSizeUser for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + type OutputSize = C::BlockSize; +} + +impl KeySizeUser for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + ::BlockSize: core::ops::Mul, + <::BlockSize as core::ops::Mul>::Output: ArraySize, +{ + type KeySize = <::BlockSize as core::ops::Mul>::Output; +} + +impl MacMarker for RetailMacCore where C: BlockCipherEncrypt + BlockCipherDecrypt + Clone {} + +impl BufferKindUser for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + type BufferKind = Eager; +} + +impl KeyInit for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + KeyInit, + ::BlockSize: core::ops::Mul, + <::BlockSize as core::ops::Mul>::Output: ArraySize, +{ + #[inline(always)] + fn new(key: &Key) -> Self { + Self::new_from_slice(key.as_slice()).unwrap() + } + + #[inline(always)] + fn new_from_slice(key: &[u8]) -> Result { + let cipher = C::new_from_slice(&key[..key.len() / 2])?; + let cipher_prime = C::new_from_slice(&key[key.len() / 2..])?; + Ok(Self { + cipher, + cipher_prime, + state: Block::::default(), + }) + } +} + +impl UpdateCore for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + struct Closure<'a, N: BlockSizes> { + state: &'a mut Block, + blocks: &'a [Block], + } + + impl<'a, N: BlockSizes> BlockSizeUser for Closure<'a, N> { + type BlockSize = N; + } + + impl<'a, N: BlockSizes> BlockCipherEncClosure for Closure<'a, N> { + #[inline(always)] + fn call>(self, backend: &B) { + for block in self.blocks { + xor(self.state, block); + backend.encrypt_block((self.state).into()); + } + } + } + + let Self { cipher, state, .. } = self; + cipher.encrypt_with_backend(Closure { state, blocks }) + } +} + +impl Reset for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + #[inline(always)] + fn reset(&mut self) { + self.state = Default::default(); + } +} + +impl FixedOutputCore for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + C::BlockSize: IsLess, + Le: NonZero, +{ + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let Self { + state, + cipher, + cipher_prime, + } = self; + let pos = buffer.get_pos(); + if pos != 0 { + xor(state, &buffer.pad_with_zeros()); + cipher.encrypt_block(state); + } + cipher_prime.decrypt_block(state); + cipher.encrypt_block(state); + out.copy_from_slice(state); + } +} + +impl AlgorithmName for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + AlgorithmName, +{ + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("RetailMac<")?; + ::write_alg_name(f)?; + f.write_str(">") + } +} + +impl fmt::Debug for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + AlgorithmName, +{ + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("RetailMacCore<")?; + ::write_alg_name(f)?; + f.write_str("> { ... }") + } +} + +#[cfg(feature = "zeroize")] +#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] +impl Drop for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + fn drop(&mut self) { + self.state.zeroize(); + } +} + +#[cfg(feature = "zeroize")] +#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] +impl ZeroizeOnDrop for RetailMacCore where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + ZeroizeOnDrop +{ +} + +#[inline(always)] +fn xor(buf: &mut Array, data: &Array) { + for i in 0..N::USIZE { + buf[i] ^= data[i]; + } +} From 7ae6d75f27f45e7e3ce7f52047a9197745e3f212 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 22 Oct 2024 16:33:16 -0600 Subject: [PATCH 052/123] Bump `dbl` to v0.4.0-rc.1; MSRV 1.81 (#172) --- .github/workflows/belt-mac.yml | 4 ++-- .github/workflows/cbc-mac.yml | 6 +++--- .github/workflows/cmac.yml | 6 +++--- .github/workflows/hmac.yml | 6 +++--- .github/workflows/pmac.yml | 6 +++--- .github/workflows/retail-mac.yml | 6 +++--- .github/workflows/workspace.yml | 2 +- Cargo.lock | 10 +++++----- README.md | 10 +++++----- belt-mac/Cargo.toml | 2 +- belt-mac/README.md | 8 ++++---- cbc-mac/Cargo.toml | 2 +- cbc-mac/README.md | 8 ++++---- cmac/Cargo.toml | 2 +- cmac/README.md | 8 ++++---- hmac/Cargo.toml | 2 +- hmac/README.md | 9 ++++++--- hmac/src/simple.rs | 2 +- pmac/Cargo.toml | 2 +- pmac/README.md | 8 ++++---- retail-mac/Cargo.toml | 2 +- retail-mac/README.md | 12 ++++++------ 22 files changed, 63 insertions(+), 60 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index b2112fb..056ba8e 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: rust: - - 1.71.0 # MSRV + - 1.81.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -49,7 +49,7 @@ jobs: strategy: matrix: rust: - - 1.71.0 # MSRV + - 1.81.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 5f3c334..3b46aa8 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -24,7 +24,7 @@ jobs: strategy: matrix: rust: - - 1.71.0 # MSRV + - 1.81.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -43,14 +43,14 @@ jobs: if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: - working-directory: ${{ github.workflow }} + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest strategy: matrix: rust: - - 1.72.0 # MSRV + - 1.81.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index a531f68..1e7bd6f 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: rust: - - 1.71.0 # MSRV + - 1.81.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -42,14 +42,14 @@ jobs: if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: - working-directory: ${{ github.workflow }} + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest strategy: matrix: rust: - - 1.72.0 # MSRV + - 1.81.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 2f5b5d8..a34ccf5 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -24,7 +24,7 @@ jobs: strategy: matrix: rust: - - 1.72.0 # MSRV + - 1.81.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -41,14 +41,14 @@ jobs: minimal-versions: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: - working-directory: ${{ github.workflow }} + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest strategy: matrix: rust: - - 1.72.0 # MSRV + - 1.81.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 6d10fdb..c3a889b 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: rust: - - 1.71.0 # MSRV + - 1.81.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -42,14 +42,14 @@ jobs: if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: - working-directory: ${{ github.workflow }} + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest strategy: matrix: rust: - - 1.72.0 # MSRV + - 1.81.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/retail-mac.yml b/.github/workflows/retail-mac.yml index aba89e5..17f8ec0 100644 --- a/.github/workflows/retail-mac.yml +++ b/.github/workflows/retail-mac.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: rust: - - 1.71.0 # MSRV + - 1.81.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -42,14 +42,14 @@ jobs: if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: - working-directory: ${{ github.workflow }} + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest strategy: matrix: rust: - - 1.72.0 # MSRV + - 1.81.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index cbc3339..c823f4d 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -17,7 +17,7 @@ jobs: - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.72.0 + toolchain: 1.81.0 components: clippy - run: cargo clippy --all -- -D warnings diff --git a/Cargo.lock b/Cargo.lock index 36ba3ae..11ddefb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -111,9 +111,9 @@ dependencies = [ [[package]] name = "dbl" -version = "0.4.0-rc.0" +version = "0.4.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb19b576f7e885fac6667774f906b150c9e4df82ed8974d5a99a82bdbee946a8" +checksum = "b317b5dd7fb52c79e017554049304992f65260689c5ddb55438ad52ba007f98d" dependencies = [ "hybrid-array", ] @@ -170,9 +170,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.2.0-rc.9" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d306b679262030ad8813a82d4915fc04efff97776e4db7f8eb5137039d56400" +checksum = "45a9a965bb102c1c891fb017c09a05c965186b1265a207640f323ddd009f9deb" dependencies = [ "typenum", ] @@ -242,7 +242,7 @@ dependencies = [ [[package]] name = "retail-mac" -version = "0.2.0-pre.2" +version = "0.1.0" dependencies = [ "aes", "cipher", diff --git a/README.md b/README.md index 9f2ddce..8e5576b 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,11 @@ Collection of [Message Authentication Code][1] (MAC) algorithms written in pure | Algorithm | Crate | Crates.io | Documentation | MSRV | |--------------|----------------|:---------:|:-------------:|:----:| | [BelT MAC] | [`belt-mac`] | [![crates.io](https://img.shields.io/crates/v/belt-mac.svg)](https://crates.io/crates/belt-mac) | [![Documentation](https://docs.rs/belt-mac/badge.svg)](https://docs.rs/belt-mac) | ![MSRV 1.57][msrv-1.57] | -| [CBC-MAC] | [`cbc-mac`] | [![crates.io](https://img.shields.io/crates/v/cbc-mac.svg)](https://crates.io/crates/cbc-mac) | [![Documentation](https://docs.rs/cbc-mac/badge.svg)](https://docs.rs/cbc-mac) | ![MSRV 1.56][msrv-1.56] | -| [CMAC] | [`cmac`] | [![crates.io](https://img.shields.io/crates/v/cmac.svg)](https://crates.io/crates/cmac) | [![Documentation](https://docs.rs/cmac/badge.svg)](https://docs.rs/cmac) | ![MSRV 1.56][msrv-1.56] | +| [CBC-MAC] | [`cbc-mac`] | [![crates.io](https://img.shields.io/crates/v/cbc-mac.svg)](https://crates.io/crates/cbc-mac) | [![Documentation](https://docs.rs/cbc-mac/badge.svg)](https://docs.rs/cbc-mac) | ![MSRV 1.81][msrv-1.56] | +| [CMAC] | [`cmac`] | [![crates.io](https://img.shields.io/crates/v/cmac.svg)](https://crates.io/crates/cmac) | [![Documentation](https://docs.rs/cmac/badge.svg)](https://docs.rs/cmac) | ![MSRV 1.81][msrv-1.56] | | [HMAC] | [`hmac`] | [![crates.io](https://img.shields.io/crates/v/hmac.svg)](https://crates.io/crates/hmac) | [![Documentation](https://docs.rs/hmac/badge.svg)](https://docs.rs/hmac) | ![MSRV 1.41][msrv-1.41] | -| [PMAC] | [`pmac`] | [![crates.io](https://img.shields.io/crates/v/pmac.svg)](https://crates.io/crates/pmac) | [![Documentation](https://docs.rs/pmac/badge.svg)](https://docs.rs/pmac) | ![MSRV 1.56][msrv-1.56] | -| [Retail MAC] | [`retail-mac`] | [![crates.io](https://img.shields.io/crates/v/retail-mac.svg)](https://crates.io/crates/retail-mac) | [![Documentation](https://docs.rs/retail-mac/badge.svg)](https://docs.rs/retail-mac) | ![MSRV 1.56][msrv-1.56] | +| [PMAC] | [`pmac`] | [![crates.io](https://img.shields.io/crates/v/pmac.svg)](https://crates.io/crates/pmac) | [![Documentation](https://docs.rs/pmac/badge.svg)](https://docs.rs/pmac) | ![MSRV 1.81][msrv-1.56] | +| [Retail MAC] | [`retail-mac`] | [![crates.io](https://img.shields.io/crates/v/retail-mac.svg)](https://crates.io/crates/retail-mac) | [![Documentation](https://docs.rs/retail-mac/badge.svg)](https://docs.rs/retail-mac) | ![MSRV 1.81][msrv-1.56] | ### Minimum Supported Rust Version (MSRV) Policy @@ -42,7 +42,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [deps-image]: https://deps.rs/repo/github/RustCrypto/MACs/status.svg [deps-link]: https://deps.rs/repo/github/RustCrypto/MACs [msrv-1.41]: https://img.shields.io/badge/rustc-1.41.0+-blue.svg -[msrv-1.56]: https://img.shields.io/badge/rustc-1.56.0+-blue.svg +[msrv-1.81]: https://img.shields.io/badge/rustc-1.56.0+-blue.svg [msrv-1.57]: https://img.shields.io/badge/rustc-1.57.0+-blue.svg [//]: # (crates) diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 294dd67..e52ac40 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -5,7 +5,7 @@ description = "MAC specified by the BelT standard" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.71" +rust-version = "1.81" readme = "README.md" documentation = "https://docs.rs/belt-mac" repository = "https://github.com/RustCrypto/MACs" diff --git a/belt-mac/README.md b/belt-mac/README.md index cdab28e..c7d9649 100644 --- a/belt-mac/README.md +++ b/belt-mac/README.md @@ -2,10 +2,10 @@ [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] +[![Build Status][build-image]][build-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -[![Build Status][build-image]][build-link] Pure Rust implementation of [`belt-mac`]. @@ -33,7 +33,7 @@ mac.verify(&tag_bytes).unwrap(); ## Minimum Supported Rust Version -Rust **1.57** or higher. +Rust **1.81** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -60,12 +60,12 @@ dual licensed as above, without any additional terms or conditions. [//]: # (badges) -[crate-image]: https://img.shields.io/crates/v/belt-mac.svg +[crate-image]: https://img.shields.io/crates/v/belt-mac.svg?logo=rust [crate-link]: https://crates.io/crates/belt-mac [docs-image]: https://docs.rs/belt-mac/badge.svg [docs-link]: https://docs.rs/belt-mac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs [build-image]: https://github.com/RustCrypto/MACs/workflows/belt-mac/badge.svg?branch=master&event=push diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 69249cd..ccf920b 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -5,7 +5,7 @@ description = "Implementation of Cipher Block Chaining Message Authentication Co authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.71" +rust-version = "1.81" readme = "README.md" documentation = "https://docs.rs/cbc-mac" repository = "https://github.com/RustCrypto/MACs" diff --git a/cbc-mac/README.md b/cbc-mac/README.md index e958abb..80ca418 100644 --- a/cbc-mac/README.md +++ b/cbc-mac/README.md @@ -2,10 +2,10 @@ [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] +[![Build Status][build-image]][build-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -[![Build Status][build-image]][build-link] Pure Rust implementation of the [Cipher Block Chaining Message Authentication Code (CBC-MAC)][CBC-MAC]. @@ -13,7 +13,7 @@ Pure Rust implementation of the [Cipher Block Chaining Message Authentication Co ## Minimum Supported Rust Version -Rust **1.56** or higher. +Rust **1.81** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -40,12 +40,12 @@ dual licensed as above, without any additional terms or conditions. [//]: # (badges) -[crate-image]: https://img.shields.io/crates/v/cbc-mac.svg +[crate-image]: https://img.shields.io/crates/v/cbc-mac.svg?logo=rust [crate-link]: https://crates.io/crates/cbc-mac [docs-image]: https://docs.rs/cbc-mac/badge.svg [docs-link]: https://docs.rs/cbc-mac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs [build-image]: https://github.com/RustCrypto/MACs/workflows/cbc-mac/badge.svg?branch=master&event=push diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 7072bf8..cf9112a 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -5,7 +5,7 @@ description = "Generic implementation of Cipher-based Message Authentication Cod authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.71" +rust-version = "1.81" readme = "README.md" documentation = "https://docs.rs/cmac" repository = "https://github.com/RustCrypto/MACs" diff --git a/cmac/README.md b/cmac/README.md index 2e2b21c..5101e25 100644 --- a/cmac/README.md +++ b/cmac/README.md @@ -2,10 +2,10 @@ [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] +[![Build Status][build-image]][build-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -[![Build Status][build-image]][build-link] Pure Rust implementation of the [Cipher-based Message Authentication Code (CMAC)][1]. @@ -13,7 +13,7 @@ Pure Rust implementation of the [Cipher-based Message Authentication Code (CMAC) ## Minimum Supported Rust Version -Rust **1.56** or higher. +Rust **1.81** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -40,12 +40,12 @@ dual licensed as above, without any additional terms or conditions. [//]: # (badges) -[crate-image]: https://img.shields.io/crates/v/cmac.svg +[crate-image]: https://img.shields.io/crates/v/cmac.svg?logo=rust [crate-link]: https://crates.io/crates/cmac [docs-image]: https://docs.rs/cmac/badge.svg [docs-link]: https://docs.rs/cmac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs [build-image]: https://github.com/RustCrypto/MACs/workflows/cmac/badge.svg?branch=master&event=push diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 83d7308..a16473b 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/hmac" repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "hmac", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.72" +rust-version = "1.81" [dependencies] digest = { version = "=0.11.0-pre.9", features = ["mac"] } diff --git a/hmac/README.md b/hmac/README.md index 941e2a8..855b062 100644 --- a/hmac/README.md +++ b/hmac/README.md @@ -2,6 +2,7 @@ [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] +[![Build Status][build-image]][build-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] @@ -12,7 +13,7 @@ Pure Rust implementation of the [Hash-based Message Authentication Code (HMAC)][ ## Minimum Supported Rust Version -Rust **1.72** or higher. +Rust **1.81** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -39,12 +40,14 @@ dual licensed as above, without any additional terms or conditions. [//]: # (badges) -[crate-image]: https://img.shields.io/crates/v/hmac.svg +[crate-image]: https://img.shields.io/crates/v/hmac.svg?logo=rust [crate-link]: https://crates.io/crates/hmac [docs-image]: https://docs.rs/hmac/badge.svg [docs-link]: https://docs.rs/hmac/ +[build-image]: https://github.com/RustCrypto/MACs/actions/workflows/hmac.yml/badge.svg +[build-link]: https://github.com/RustCrypto/MACs/actions/workflows/hmac.yml [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.72+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs diff --git a/hmac/src/simple.rs b/hmac/src/simple.rs index e28c4c3..a2478a3 100644 --- a/hmac/src/simple.rs +++ b/hmac/src/simple.rs @@ -68,7 +68,7 @@ impl FixedOutput for SimpleHmac { fn finalize_into(self, out: &mut Output) { let mut h = D::new(); h.update(&self.opad_key); - h.update(&self.digest.finalize()); + h.update(self.digest.finalize()); h.finalize_into(out); } } diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index c889c60..c5b6bcf 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -5,7 +5,7 @@ description = "Generic implementation of Parallelizable Message Authentication C authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.71" +rust-version = "1.81" readme = "README.md" documentation = "https://docs.rs/pmac" repository = "https://github.com/RustCrypto/MACs" diff --git a/pmac/README.md b/pmac/README.md index 93dfbba..85a78ce 100644 --- a/pmac/README.md +++ b/pmac/README.md @@ -2,10 +2,10 @@ [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] +[![Build Status][build-image]][build-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -[![Build Status][build-image]][build-link] Pure Rust implementation of the [Parallel Message Authentication Code (PMAC)][1]. @@ -13,7 +13,7 @@ Pure Rust implementation of the [Parallel Message Authentication Code (PMAC)][1] ## Minimum Supported Rust Version -Rust **1.56** or higher. +Rust **1.81** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -40,12 +40,12 @@ dual licensed as above, without any additional terms or conditions. [//]: # (badges) -[crate-image]: https://img.shields.io/crates/v/pmac.svg +[crate-image]: https://img.shields.io/crates/v/pmac.svg?logo=rust [crate-link]: https://crates.io/crates/pmac [docs-image]: https://docs.rs/pmac/badge.svg [docs-link]: https://docs.rs/pmac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs [build-image]: https://github.com/RustCrypto/MACs/workflows/pmac/badge.svg?branch=master&event=push diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index 670f4cc..b4098ca 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -5,7 +5,7 @@ description = "Implementation of Retail Message Authentication Code (Retail MAC) authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.71" +rust-version = "1.81" readme = "README.md" documentation = "https://docs.rs/retail-mac" repository = "https://github.com/RustCrypto/MACs" diff --git a/retail-mac/README.md b/retail-mac/README.md index 775e593..fcb28c4 100644 --- a/retail-mac/README.md +++ b/retail-mac/README.md @@ -2,10 +2,10 @@ [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] +[![Build Status][build-image]][build-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -[![Build Status][build-image]][build-link] Pure Rust implementation of the [Retail Message Authentication Code][Retail MAC], also known as ISO/IEC 9797-1 MAC algorithm 3. @@ -14,7 +14,7 @@ also known as ISO/IEC 9797-1 MAC algorithm 3. ## Minimum Supported Rust Version -Rust **1.56** or higher. +Rust **1.81** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -41,16 +41,16 @@ dual licensed as above, without any additional terms or conditions. [//]: # (badges) -[crate-image]: https://img.shields.io/crates/v/retail-mac.svg +[crate-image]: https://img.shields.io/crates/v/retail-mac.svg?logo=rust [crate-link]: https://crates.io/crates/retail-mac [docs-image]: https://docs.rs/retail-mac/badge.svg [docs-link]: https://docs.rs/retail-mac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs -[build-image]: https://github.com/RustCrypto/MACs/workflows/retail-mac/badge.svg?branch=master&event=push -[build-link]: https://github.com/RustCrypto/MACs/actions?query=workflow%3Aretail-mac +[build-image]: https://github.com/RustCrypto/MACs/actions/workflows/retail-mac.yml/badge.svg +[build-link]: https://github.com/RustCrypto/MACs/actions/workflows/retail-mac.yml [//]: # (general links) From 0e5a375c3c3678ea9387ca01624231ef1884c64d Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 14 Feb 2025 15:56:49 +0300 Subject: [PATCH 053/123] Fix `lippy::needless_lifetimes` lints (#176) --- belt-mac/src/lib.rs | 4 ++-- cbc-mac/src/lib.rs | 4 ++-- cmac/src/lib.rs | 4 ++-- pmac/src/lib.rs | 4 ++-- retail-mac/src/lib.rs | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index 18687fe..90f909b 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -98,11 +98,11 @@ where blocks: &'a [Block], } - impl<'a, N: BlockSizes> BlockSizeUser for Closure<'a, N> { + impl BlockSizeUser for Closure<'_, N> { type BlockSize = N; } - impl<'a, N: BlockSizes> BlockCipherEncClosure for Closure<'a, N> { + impl BlockCipherEncClosure for Closure<'_, N> { #[inline(always)] fn call>(self, backend: &B) { for block in self.blocks { diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index f9cd2b5..9fc5b12 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -119,11 +119,11 @@ where blocks: &'a [Block], } - impl<'a, N: BlockSizes> BlockSizeUser for Closure<'a, N> { + impl BlockSizeUser for Closure<'_, N> { type BlockSize = N; } - impl<'a, N: BlockSizes> BlockCipherEncClosure for Closure<'a, N> { + impl BlockCipherEncClosure for Closure<'_, N> { #[inline(always)] fn call>(self, backend: &B) { for block in self.blocks { diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index 5b8e021..8edc126 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -147,11 +147,11 @@ where blocks: &'a [Block], } - impl<'a, N: BlockSizes> BlockSizeUser for Closure<'a, N> { + impl BlockSizeUser for Closure<'_, N> { type BlockSize = N; } - impl<'a, N: BlockSizes> BlockCipherEncClosure for Closure<'a, N> { + impl BlockCipherEncClosure for Closure<'_, N> { #[inline(always)] fn call>(self, backend: &B) { for block in self.blocks { diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index b3e7b8b..050a746 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -273,7 +273,7 @@ where blocks: &'a [Block], } - impl<'a, N, const LC_SIZE: usize> BlockSizeUser for Closure<'a, N, LC_SIZE> + impl BlockSizeUser for Closure<'_, N, LC_SIZE> where N: BlockSizes, Array: Dbl, @@ -281,7 +281,7 @@ where type BlockSize = N; } - impl<'a, N, const LC_SIZE: usize> BlockCipherEncClosure for Closure<'a, N, LC_SIZE> + impl BlockCipherEncClosure for Closure<'_, N, LC_SIZE> where N: BlockSizes, Array: Dbl, diff --git a/retail-mac/src/lib.rs b/retail-mac/src/lib.rs index 0958008..5f9689b 100644 --- a/retail-mac/src/lib.rs +++ b/retail-mac/src/lib.rs @@ -144,11 +144,11 @@ where blocks: &'a [Block], } - impl<'a, N: BlockSizes> BlockSizeUser for Closure<'a, N> { + impl BlockSizeUser for Closure<'_, N> { type BlockSize = N; } - impl<'a, N: BlockSizes> BlockCipherEncClosure for Closure<'a, N> { + impl BlockCipherEncClosure for Closure<'_, N> { #[inline(always)] fn call>(self, backend: &B) { for block in self.blocks { From 816cc88ee08211127abc342dd3b8344aa7b40ba9 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 14 Feb 2025 15:59:41 +0300 Subject: [PATCH 054/123] Release retail-mac v0.1.0-pre.0 (#177) --- Cargo.lock | 24 ++++++++++++------------ retail-mac/Cargo.toml | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 11ddefb..fc34dd4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -40,11 +40,11 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.11.0-rc.1" +version = "0.11.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8969801e57d15e15bc4d7cdc5600dc15ca06a9a62b622bd4871c2d21d8aeb42d" +checksum = "3fd016a0ddc7cb13661bf5576073ce07330a693f8608a1320b4e20561cc12cdc" dependencies = [ - "crypto-common", + "hybrid-array", ] [[package]] @@ -91,9 +91,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.13" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -170,18 +170,18 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a9a965bb102c1c891fb017c09a05c965186b1265a207640f323ddd009f9deb" +checksum = "f2d35805454dc9f8662a98d6d61886ffe26bd465f5960e0e55345c70d5c0d2a9" dependencies = [ "typenum", ] [[package]] name = "inout" -version = "0.2.0-rc.0" +version = "0.2.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbc33218cf9ce7b927426ee4ad3501bcc5d8c26bf5fb4a82849a083715aca427" +checksum = "de49db00f5add6dad75a57946b75de0f26287a6fc95f4f277d48419200422beb" dependencies = [ "hybrid-array", ] @@ -198,9 +198,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.155" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "magma" @@ -242,7 +242,7 @@ dependencies = [ [[package]] name = "retail-mac" -version = "0.1.0" +version = "0.1.0-pre.0" dependencies = [ "aes", "cipher", diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index b4098ca..6648ddf 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "retail-mac" -version = "0.1.0" +version = "0.1.0-pre.0" description = "Implementation of Retail Message Authentication Code (Retail MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From c7cbed0bd3f7026cc01251cd4602d0db4d0495b9 Mon Sep 17 00:00:00 2001 From: Arthur Gautier Date: Mon, 24 Feb 2025 16:20:07 +0000 Subject: [PATCH 055/123] Upgrade all crates to the 2024 edition and bump MSRV to 1.85 (#178) --- .github/workflows/belt-mac.yml | 4 +- .github/workflows/cbc-mac.yml | 4 +- .github/workflows/cmac.yml | 4 +- .github/workflows/hmac.yml | 5 +- .github/workflows/pmac.yml | 4 +- .github/workflows/retail-mac.yml | 4 +- .github/workflows/workspace.yml | 2 +- Cargo.lock | 94 ++++++++++---------------------- Cargo.toml | 14 +++++ README.md | 20 +++---- belt-mac/Cargo.toml | 12 ++-- belt-mac/src/lib.rs | 4 +- cbc-mac/Cargo.toml | 12 ++-- cbc-mac/src/lib.rs | 4 +- cmac/Cargo.toml | 12 ++-- cmac/src/lib.rs | 4 +- hmac/Cargo.toml | 10 ++-- hmac/src/lib.rs | 2 +- hmac/src/optim.rs | 4 +- hmac/src/simple.rs | 4 +- pmac/Cargo.toml | 10 ++-- pmac/src/lib.rs | 4 +- retail-mac/Cargo.toml | 12 ++-- retail-mac/src/lib.rs | 4 +- 24 files changed, 113 insertions(+), 140 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index 056ba8e..9f02252 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -49,7 +49,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 3b46aa8..876cf30 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -24,7 +24,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -50,7 +50,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 1e7bd6f..2e26307 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -49,7 +49,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index a34ccf5..45cd752 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -24,7 +24,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -39,6 +39,7 @@ jobs: - run: cargo build --no-default-features --release --target ${{ matrix.target }} minimal-versions: + if: false # TODO: temp disabled due to unpublished prerelease dependencies uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} @@ -48,7 +49,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index c3a889b..7c584b8 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -49,7 +49,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/retail-mac.yml b/.github/workflows/retail-mac.yml index 17f8ec0..3094bb3 100644 --- a/.github/workflows/retail-mac.yml +++ b/.github/workflows/retail-mac.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -49,7 +49,7 @@ jobs: strategy: matrix: rust: - - 1.81.0 # MSRV + - 1.85.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index c823f4d..6b2d7f8 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -17,7 +17,7 @@ jobs: - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.81.0 + toolchain: 1.85.0 components: clippy - run: cargo clippy --all -- -D warnings diff --git a/Cargo.lock b/Cargo.lock index fc34dd4..bf7fb65 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,12 +1,11 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "aes" version = "0.9.0-pre.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7856582c758ade85d71daf27ec6bcea6c1c73913692b07b8dffea2dc03531c9" +source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo%2Fedition-2024#cc3c0c08f89d33935ea047faf0f501e50e0f89b0" dependencies = [ "cfg-if", "cipher", @@ -16,8 +15,7 @@ dependencies = [ [[package]] name = "belt-block" version = "0.2.0-pre.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6df0a14d60362d7b6041d3fe85dfd787ced16c4928f93d72152142c67d01d0bc" +source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo%2Fedition-2024#cc3c0c08f89d33935ea047faf0f501e50e0f89b0" dependencies = [ "cipher", ] @@ -34,15 +32,15 @@ dependencies = [ [[package]] name = "blobby" -version = "0.3.1" +version = "0.4.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" +checksum = "4a859067dcb257cb2ae028cb821399b55140b76fb8b2a360e052fe109019db43" [[package]] name = "block-buffer" -version = "0.11.0-rc.3" +version = "0.11.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd016a0ddc7cb13661bf5576073ce07330a693f8608a1320b4e20561cc12cdc" +checksum = "a229bfd78e4827c91b9b95784f69492c1b77c1ab75a45a8a037b139215086f94" dependencies = [ "hybrid-array", ] @@ -66,9 +64,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cipher" -version = "0.5.0-pre.7" +version = "0.5.0-pre.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b1425e6ce000f05a73096556cabcfb6a10a3ffe3bb4d75416ca8f00819c0b6a" +checksum = "276974d2acb7cf592603150941fc1ff6442acdeb1dc653ac2825928f4703c131" dependencies = [ "crypto-common", "inout", @@ -100,20 +98,18 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-rc.1" +version = "0.2.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0b8ce8218c97789f16356e7896b3714f26c2ee1079b79c0b7ae7064bb9089fa" +checksum = "170d71b5b14dec99db7739f6fc7d6ec2db80b78c3acb77db48392ccc3d8a9ea0" dependencies = [ - "getrandom", "hybrid-array", - "rand_core", ] [[package]] name = "dbl" -version = "0.4.0-rc.1" +version = "0.4.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b317b5dd7fb52c79e017554049304992f65260689c5ddb55438ad52ba007f98d" +checksum = "cb24c766034b76390c67f3d9c44e63019febeb4cc39e4ba40b5fc79e20c898e1" dependencies = [ "hybrid-array", ] @@ -121,17 +117,16 @@ dependencies = [ [[package]] name = "des" version = "0.9.0-pre.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76239c731adb4b5204cfeec47bd06ec1071d9477a0d32bbb83dc7d8c599efe63" +source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo%2Fedition-2024#cc3c0c08f89d33935ea047faf0f501e50e0f89b0" dependencies = [ "cipher", ] [[package]] name = "digest" -version = "0.11.0-pre.9" +version = "0.11.0-pre.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf2e3d6615d99707295a9673e889bf363a04b2a466bd320c65a72536f7577379" +checksum = "6c478574b20020306f98d61c8ca3322d762e1ff08117422ac6106438605ea516" dependencies = [ "blobby", "block-buffer", @@ -139,22 +134,11 @@ dependencies = [ "subtle", ] -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - [[package]] name = "hex-literal" -version = "0.4.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" [[package]] name = "hmac" @@ -170,18 +154,19 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2d35805454dc9f8662a98d6d61886ffe26bd465f5960e0e55345c70d5c0d2a9" +checksum = "4dab50e193aebe510fe0e40230145820e02f48dae0cf339ea4204e6e708ff7bd" dependencies = [ "typenum", + "zeroize", ] [[package]] name = "inout" -version = "0.2.0-rc.3" +version = "0.2.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de49db00f5add6dad75a57946b75de0f26287a6fc95f4f277d48419200422beb" +checksum = "ac5e145e8ade9f74c0a5efc60ccb4e714b0144f7e2220b7ca64254feee71c57f" dependencies = [ "hybrid-array", ] @@ -189,8 +174,7 @@ dependencies = [ [[package]] name = "kuznyechik" version = "0.9.0-pre.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd136ca56393426d0aeca01643adef06b1f30d667fdebf31f7cf11724cbd9051" +source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo%2Fedition-2024#cc3c0c08f89d33935ea047faf0f501e50e0f89b0" dependencies = [ "cfg-if", "cipher", @@ -205,8 +189,7 @@ checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "magma" version = "0.10.0-pre.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fd466f879a2c01f141f168c4e045a26dca5a60aef79efa8bb96e9c701bb8ea" +source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo%2Fedition-2024#cc3c0c08f89d33935ea047faf0f501e50e0f89b0" dependencies = [ "cipher", ] @@ -214,8 +197,7 @@ dependencies = [ [[package]] name = "md-5" version = "0.11.0-pre.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "117b97b6b9ae1ec9a396b357698efa3ecff4fc1f40e0ec59ae7c1270b460ac1d" +source = "git+https://github.com/RustCrypto/hashes.git#0d0369ff7dab69e98acfb8a08f4724dbda285e04" dependencies = [ "cfg-if", "digest", @@ -231,15 +213,6 @@ dependencies = [ "digest", ] -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - [[package]] name = "retail-mac" version = "0.1.0-pre.0" @@ -254,8 +227,7 @@ dependencies = [ [[package]] name = "sha1" version = "0.11.0-pre.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9540978cef7a8498211c1b1c14e5ce920fe5bd524ea84f4a3d72d4602515ae93" +source = "git+https://github.com/RustCrypto/hashes.git#0d0369ff7dab69e98acfb8a08f4724dbda285e04" dependencies = [ "cfg-if", "cpufeatures", @@ -265,8 +237,7 @@ dependencies = [ [[package]] name = "sha2" version = "0.11.0-pre.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "540c0893cce56cdbcfebcec191ec8e0f470dd1889b6e7a0b503e310a94a168f5" +source = "git+https://github.com/RustCrypto/hashes.git#0d0369ff7dab69e98acfb8a08f4724dbda285e04" dependencies = [ "cfg-if", "cpufeatures", @@ -276,8 +247,7 @@ dependencies = [ [[package]] name = "streebog" version = "0.11.0-pre.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb353b35a577917dbcc59b8bef4084ba206b36851577816d5ffe3dac9b0ad54" +source = "git+https://github.com/RustCrypto/hashes.git#0d0369ff7dab69e98acfb8a08f4724dbda285e04" dependencies = [ "digest", ] @@ -294,12 +264,6 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - [[package]] name = "zeroize" version = "1.8.1" diff --git a/Cargo.toml b/Cargo.toml index 4e023fa..e06bdb0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,3 +4,17 @@ members = ["belt-mac", "cbc-mac", "cmac", "hmac", "pmac", "retail-mac"] [profile.dev] opt-level = 2 + +[patch.crates-io] +# https://github.com/RustCrypto/hashes/pull/652 +md-5 = { git = "https://github.com/RustCrypto/hashes.git" } +sha1 = { git = "https://github.com/RustCrypto/hashes.git" } +sha2 = { git = "https://github.com/RustCrypto/hashes.git" } +streebog = { git = "https://github.com/RustCrypto/hashes.git" } + +# https://github.com/RustCrypto/block-ciphers/pull/472 +aes = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/edition-2024" } +des = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/edition-2024" } +belt-block = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/edition-2024" } +kuznyechik = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/edition-2024" } +magma = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/edition-2024" } diff --git a/README.md b/README.md index 8e5576b..31a6a0e 100644 --- a/README.md +++ b/README.md @@ -10,16 +10,12 @@ Collection of [Message Authentication Code][1] (MAC) algorithms written in pure | Algorithm | Crate | Crates.io | Documentation | MSRV | |--------------|----------------|:---------:|:-------------:|:----:| -| [BelT MAC] | [`belt-mac`] | [![crates.io](https://img.shields.io/crates/v/belt-mac.svg)](https://crates.io/crates/belt-mac) | [![Documentation](https://docs.rs/belt-mac/badge.svg)](https://docs.rs/belt-mac) | ![MSRV 1.57][msrv-1.57] | -| [CBC-MAC] | [`cbc-mac`] | [![crates.io](https://img.shields.io/crates/v/cbc-mac.svg)](https://crates.io/crates/cbc-mac) | [![Documentation](https://docs.rs/cbc-mac/badge.svg)](https://docs.rs/cbc-mac) | ![MSRV 1.81][msrv-1.56] | -| [CMAC] | [`cmac`] | [![crates.io](https://img.shields.io/crates/v/cmac.svg)](https://crates.io/crates/cmac) | [![Documentation](https://docs.rs/cmac/badge.svg)](https://docs.rs/cmac) | ![MSRV 1.81][msrv-1.56] | -| [HMAC] | [`hmac`] | [![crates.io](https://img.shields.io/crates/v/hmac.svg)](https://crates.io/crates/hmac) | [![Documentation](https://docs.rs/hmac/badge.svg)](https://docs.rs/hmac) | ![MSRV 1.41][msrv-1.41] | -| [PMAC] | [`pmac`] | [![crates.io](https://img.shields.io/crates/v/pmac.svg)](https://crates.io/crates/pmac) | [![Documentation](https://docs.rs/pmac/badge.svg)](https://docs.rs/pmac) | ![MSRV 1.81][msrv-1.56] | -| [Retail MAC] | [`retail-mac`] | [![crates.io](https://img.shields.io/crates/v/retail-mac.svg)](https://crates.io/crates/retail-mac) | [![Documentation](https://docs.rs/retail-mac/badge.svg)](https://docs.rs/retail-mac) | ![MSRV 1.81][msrv-1.56] | - -### Minimum Supported Rust Version (MSRV) Policy - -MSRV bumps are considered breaking changes and will be performed only with minor version bump. +| [BelT MAC] | [`belt-mac`] | [![crates.io](https://img.shields.io/crates/v/belt-mac.svg)](https://crates.io/crates/belt-mac) | [![Documentation](https://docs.rs/belt-mac/badge.svg)](https://docs.rs/belt-mac) | ![MSRV 1.85][msrv-1.85] | +| [CBC-MAC] | [`cbc-mac`] | [![crates.io](https://img.shields.io/crates/v/cbc-mac.svg)](https://crates.io/crates/cbc-mac) | [![Documentation](https://docs.rs/cbc-mac/badge.svg)](https://docs.rs/cbc-mac) | ![MSRV 1.85][msrv-1.85] | +| [CMAC] | [`cmac`] | [![crates.io](https://img.shields.io/crates/v/cmac.svg)](https://crates.io/crates/cmac) | [![Documentation](https://docs.rs/cmac/badge.svg)](https://docs.rs/cmac) | ![MSRV 1.85][msrv-1.85] | +| [HMAC] | [`hmac`] | [![crates.io](https://img.shields.io/crates/v/hmac.svg)](https://crates.io/crates/hmac) | [![Documentation](https://docs.rs/hmac/badge.svg)](https://docs.rs/hmac) | ![MSRV 1.85][msrv-1.85] | +| [PMAC] | [`pmac`] | [![crates.io](https://img.shields.io/crates/v/pmac.svg)](https://crates.io/crates/pmac) | [![Documentation](https://docs.rs/pmac/badge.svg)](https://docs.rs/pmac) | ![MSRV 1.85][msrv-1.85] | +| [Retail MAC] | [`retail-mac`] | [![crates.io](https://img.shields.io/crates/v/retail-mac.svg)](https://crates.io/crates/retail-mac) | [![Documentation](https://docs.rs/retail-mac/badge.svg)](https://docs.rs/retail-mac) | ![MSRV 1.85][msrv-1.85] | ## License @@ -41,9 +37,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [deps-image]: https://deps.rs/repo/github/RustCrypto/MACs/status.svg [deps-link]: https://deps.rs/repo/github/RustCrypto/MACs -[msrv-1.41]: https://img.shields.io/badge/rustc-1.41.0+-blue.svg -[msrv-1.81]: https://img.shields.io/badge/rustc-1.56.0+-blue.svg -[msrv-1.57]: https://img.shields.io/badge/rustc-1.57.0+-blue.svg +[msrv-1.85]: https://img.shields.io/badge/rustc-1.85.0+-blue.svg [//]: # (crates) diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index e52ac40..40d20cd 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -4,8 +4,8 @@ version = "0.2.0-pre" description = "MAC specified by the BelT standard" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -edition = "2021" -rust-version = "1.81" +edition = "2024" +rust-version = "1.85" readme = "README.md" documentation = "https://docs.rs/belt-mac" repository = "https://github.com/RustCrypto/MACs" @@ -14,12 +14,12 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-pre.2" -cipher = "=0.5.0-pre.7" -digest = { version = "=0.11.0-pre.9", features = ["mac"] } +cipher = "=0.5.0-pre.8" +digest = { version = "=0.11.0-pre.10", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" [features] std = ["digest/std"] diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index 90f909b..ae8a426 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -14,9 +14,10 @@ use belt_block::BeltBlock; use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; use core::fmt; use digest::{ + MacMarker, Output, OutputSizeUser, Reset, array::{ - typenum::{IsLess, Le, NonZero, U256}, Array, ArraySize, + typenum::{IsLess, Le, NonZero, U256}, }, block_buffer::Lazy, core_api::{ @@ -24,7 +25,6 @@ use digest::{ UpdateCore, }, crypto_common::{BlockSizes, InnerInit, InnerUser}, - MacMarker, Output, OutputSizeUser, Reset, }; #[cfg(feature = "zeroize")] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index ccf920b..9a9ebbe 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -4,20 +4,20 @@ version = "0.2.0-pre.2" description = "Implementation of Cipher Block Chaining Message Authentication Code (CBC-MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -edition = "2021" -rust-version = "1.81" +edition = "2024" +rust-version = "1.85" readme = "README.md" documentation = "https://docs.rs/cbc-mac" repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -cipher = "=0.5.0-pre.7" -digest = { version = "=0.11.0-pre.9", features = ["mac"] } +cipher = "=0.5.0-pre.8" +digest = { version = "=0.11.0-pre.10", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" aes = "0.9.0-pre.2" des = "0.9.0-pre.2" diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index 9fc5b12..15705bd 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -38,9 +38,10 @@ pub use digest::{self, KeyInit, Mac}; use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; use core::fmt; use digest::{ + MacMarker, Output, OutputSizeUser, Reset, array::{ - typenum::{IsLess, Le, NonZero, U256}, Array, ArraySize, + typenum::{IsLess, Le, NonZero, U256}, }, block_buffer::Eager, core_api::{ @@ -48,7 +49,6 @@ use digest::{ UpdateCore, }, crypto_common::{BlockSizes, InnerInit, InnerUser}, - MacMarker, Output, OutputSizeUser, Reset, }; #[cfg(feature = "zeroize")] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index cf9112a..e50ce7f 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -4,8 +4,8 @@ version = "0.8.0-pre.2" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -edition = "2021" -rust-version = "1.81" +edition = "2024" +rust-version = "1.85" readme = "README.md" documentation = "https://docs.rs/cmac" repository = "https://github.com/RustCrypto/MACs" @@ -14,13 +14,13 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -cipher = "=0.5.0-pre.7" -digest = { version = "=0.11.0-pre.9", features = ["mac"] } +cipher = "=0.5.0-pre.8" +digest = { version = "=0.11.0-pre.10", features = ["mac"] } dbl = "0.4.0-rc.0" [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" aes = "0.9.0-pre.2" des = "0.9.0-pre.2" diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index 8edc126..a8ba4ec 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -54,9 +54,10 @@ use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; use core::fmt; use dbl::Dbl; use digest::{ + MacMarker, Output, OutputSizeUser, Reset, array::{ - typenum::{IsLess, Le, NonZero, U256}, Array, ArraySize, + typenum::{IsLess, Le, NonZero, U256}, }, block_buffer::Lazy, core_api::{ @@ -64,7 +65,6 @@ use digest::{ UpdateCore, }, crypto_common::{BlockSizes, InnerInit, InnerUser}, - MacMarker, Output, OutputSizeUser, Reset, }; #[cfg(feature = "zeroize")] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index a16473b..58cff1d 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -4,24 +4,24 @@ version = "0.13.0-pre.4" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -edition = "2021" +edition = "2024" readme = "README.md" documentation = "https://docs.rs/hmac" repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "hmac", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.81" +rust-version = "1.85" [dependencies] -digest = { version = "=0.11.0-pre.9", features = ["mac"] } +digest = { version = "=0.11.0-pre.10", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } +digest = { version = "=0.11.0-pre.10", features = ["dev"] } md-5 = { version = "=0.11.0-pre.4", default-features = false } sha1 = { version = "=0.11.0-pre.4", default-features = false } sha2 = { version = "=0.11.0-pre.4", default-features = false } streebog = { version = "=0.11.0-pre.4", default-features = false } -hex-literal = "0.4" +hex-literal = "1" [features] std = ["digest/std"] diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index 885c42b..37efc49 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -96,8 +96,8 @@ extern crate std; pub use digest::{self, KeyInit, Mac}; use digest::{ - core_api::{Block, BlockSizeUser}, Digest, + core_api::{Block, BlockSizeUser}, }; mod optim; diff --git a/hmac/src/optim.rs b/hmac/src/optim.rs index 655f1f1..9d78731 100644 --- a/hmac/src/optim.rs +++ b/hmac/src/optim.rs @@ -1,13 +1,13 @@ -use super::{get_der_key, IPAD, OPAD}; +use super::{IPAD, OPAD, get_der_key}; use core::{fmt, slice}; use digest::{ + HashMarker, InvalidLength, KeyInit, MacMarker, Output, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, UpdateCore, }, crypto_common::{Key, KeySizeUser}, - HashMarker, InvalidLength, KeyInit, MacMarker, Output, }; /// Generic HMAC instance. diff --git a/hmac/src/simple.rs b/hmac/src/simple.rs index a2478a3..dc39be6 100644 --- a/hmac/src/simple.rs +++ b/hmac/src/simple.rs @@ -1,8 +1,8 @@ -use super::{get_der_key, IPAD, OPAD}; +use super::{IPAD, OPAD, get_der_key}; use core::fmt; use digest::{ - crypto_common::{Block, BlockSizeUser, InvalidLength, Key, KeySizeUser}, Digest, FixedOutput, KeyInit, MacMarker, Output, OutputSizeUser, Update, + crypto_common::{Block, BlockSizeUser, InvalidLength, Key, KeySizeUser}, }; #[cfg(feature = "reset")] use digest::{FixedOutputReset, Reset}; diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index c5b6bcf..132dba1 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -4,8 +4,8 @@ version = "0.8.0-pre.2" description = "Generic implementation of Parallelizable Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -edition = "2021" -rust-version = "1.81" +edition = "2024" +rust-version = "1.85" readme = "README.md" documentation = "https://docs.rs/pmac" repository = "https://github.com/RustCrypto/MACs" @@ -13,13 +13,13 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -cipher = "=0.5.0-pre.7" -digest = { version = "=0.11.0-pre.9", features = ["mac"] } +cipher = "=0.5.0-pre.8" +digest = { version = "=0.11.0-pre.10", features = ["mac"] } dbl = "0.4.0-rc.0" [dev-dependencies] aes = "0.9.0-pre.2" -digest = { version = "=0.11.0-pre.9", features = ["dev"] } +digest = { version = "=0.11.0-pre.10", features = ["dev"] } [features] std = ["digest/std"] diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index 050a746..936e70e 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -57,9 +57,10 @@ use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt, P use core::fmt; use dbl::Dbl; use digest::{ + MacMarker, Output, OutputSizeUser, Reset, array::{ - typenum::{IsLess, Le, NonZero, Unsigned, U256}, Array, ArraySize, + typenum::{IsLess, Le, NonZero, U256, Unsigned}, }, block_buffer::Lazy, core_api::{ @@ -67,7 +68,6 @@ use digest::{ UpdateCore, }, crypto_common::{BlockSizes, InnerInit, InnerUser}, - MacMarker, Output, OutputSizeUser, Reset, }; #[cfg(feature = "zeroize")] diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index 6648ddf..02ed7ba 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -4,20 +4,20 @@ version = "0.1.0-pre.0" description = "Implementation of Retail Message Authentication Code (Retail MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -edition = "2021" -rust-version = "1.81" +edition = "2024" +rust-version = "1.85" readme = "README.md" documentation = "https://docs.rs/retail-mac" repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac"] [dependencies] -cipher = "=0.5.0-pre.7" -digest = { version = "=0.11.0-pre.9", features = ["mac"] } +cipher = "=0.5.0-pre.8" +digest = { version = "=0.11.0-pre.10", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.9", features = ["dev"] } -hex-literal = "0.4" +digest = { version = "=0.11.0-pre.10", features = ["dev"] } +hex-literal = "1" aes = "0.9.0-pre.2" des = "0.9.0-pre.2" diff --git a/retail-mac/src/lib.rs b/retail-mac/src/lib.rs index 5f9689b..8c19121 100644 --- a/retail-mac/src/lib.rs +++ b/retail-mac/src/lib.rs @@ -48,9 +48,10 @@ use cipher::{ }; use core::fmt; use digest::{ + MacMarker, Output, OutputSizeUser, Reset, array::{ - typenum::{IsLess, Le, NonZero, U2, U256}, Array, ArraySize, + typenum::{IsLess, Le, NonZero, U2, U256}, }, block_buffer::Eager, core_api::{ @@ -58,7 +59,6 @@ use digest::{ UpdateCore, }, crypto_common::BlockSizes, - MacMarker, Output, OutputSizeUser, Reset, }; #[cfg(feature = "zeroize")] From f6eba0305f33445e404adbaa45483e0369f0bc51 Mon Sep 17 00:00:00 2001 From: Arthur Gautier Date: Fri, 28 Feb 2025 03:34:56 +0000 Subject: [PATCH 056/123] Move back git pin to master branch (#179) --- Cargo.lock | 10 +++++----- Cargo.toml | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bf7fb65..42e7437 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5,7 +5,7 @@ version = 4 [[package]] name = "aes" version = "0.9.0-pre.2" -source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo%2Fedition-2024#cc3c0c08f89d33935ea047faf0f501e50e0f89b0" +source = "git+https://github.com/RustCrypto/block-ciphers.git#0ab21fa42149e81ec34fefbc937ef8b2be8caa61" dependencies = [ "cfg-if", "cipher", @@ -15,7 +15,7 @@ dependencies = [ [[package]] name = "belt-block" version = "0.2.0-pre.2" -source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo%2Fedition-2024#cc3c0c08f89d33935ea047faf0f501e50e0f89b0" +source = "git+https://github.com/RustCrypto/block-ciphers.git#0ab21fa42149e81ec34fefbc937ef8b2be8caa61" dependencies = [ "cipher", ] @@ -117,7 +117,7 @@ dependencies = [ [[package]] name = "des" version = "0.9.0-pre.2" -source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo%2Fedition-2024#cc3c0c08f89d33935ea047faf0f501e50e0f89b0" +source = "git+https://github.com/RustCrypto/block-ciphers.git#0ab21fa42149e81ec34fefbc937ef8b2be8caa61" dependencies = [ "cipher", ] @@ -174,7 +174,7 @@ dependencies = [ [[package]] name = "kuznyechik" version = "0.9.0-pre.2" -source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo%2Fedition-2024#cc3c0c08f89d33935ea047faf0f501e50e0f89b0" +source = "git+https://github.com/RustCrypto/block-ciphers.git#0ab21fa42149e81ec34fefbc937ef8b2be8caa61" dependencies = [ "cfg-if", "cipher", @@ -189,7 +189,7 @@ checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "magma" version = "0.10.0-pre.2" -source = "git+https://github.com/baloo/block-ciphers.git?branch=baloo%2Fedition-2024#cc3c0c08f89d33935ea047faf0f501e50e0f89b0" +source = "git+https://github.com/RustCrypto/block-ciphers.git#0ab21fa42149e81ec34fefbc937ef8b2be8caa61" dependencies = [ "cipher", ] diff --git a/Cargo.toml b/Cargo.toml index e06bdb0..5962eee 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,8 +13,8 @@ sha2 = { git = "https://github.com/RustCrypto/hashes.git" } streebog = { git = "https://github.com/RustCrypto/hashes.git" } # https://github.com/RustCrypto/block-ciphers/pull/472 -aes = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/edition-2024" } -des = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/edition-2024" } -belt-block = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/edition-2024" } -kuznyechik = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/edition-2024" } -magma = { git = "https://github.com/baloo/block-ciphers.git", branch = "baloo/edition-2024" } +aes = { git = "https://github.com/RustCrypto/block-ciphers.git" } +des = { git = "https://github.com/RustCrypto/block-ciphers.git" } +belt-block = { git = "https://github.com/RustCrypto/block-ciphers.git" } +kuznyechik = { git = "https://github.com/RustCrypto/block-ciphers.git" } +magma = { git = "https://github.com/RustCrypto/block-ciphers.git" } From 48d909bc7c028df8ccbc4bd746e9315d2cb8757a Mon Sep 17 00:00:00 2001 From: Arthur Gautier Date: Thu, 6 Mar 2025 18:10:51 +0000 Subject: [PATCH 057/123] Use v0.11.0-pre.5 releases of hash crates (#180) --- Cargo.lock | 20 ++++++++++++-------- Cargo.toml | 6 ------ hmac/Cargo.toml | 8 ++++---- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 42e7437..60ff540 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -196,8 +196,9 @@ dependencies = [ [[package]] name = "md-5" -version = "0.11.0-pre.4" -source = "git+https://github.com/RustCrypto/hashes.git#0d0369ff7dab69e98acfb8a08f4724dbda285e04" +version = "0.11.0-pre.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f97ce75b16c61e8ffe9363ca30092ff9da9daed3c7312296eef978c4ecb2d28" dependencies = [ "cfg-if", "digest", @@ -226,8 +227,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-pre.4" -source = "git+https://github.com/RustCrypto/hashes.git#0d0369ff7dab69e98acfb8a08f4724dbda285e04" +version = "0.11.0-pre.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55f44e40722caefdd99383c25d3ae52a1094a1951215ae76f68837ece4e7f566" dependencies = [ "cfg-if", "cpufeatures", @@ -236,8 +238,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-pre.4" -source = "git+https://github.com/RustCrypto/hashes.git#0d0369ff7dab69e98acfb8a08f4724dbda285e04" +version = "0.11.0-pre.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b4241d1a56954dce82cecda5c8e9c794eef6f53abe5e5216bac0a0ea71ffa7" dependencies = [ "cfg-if", "cpufeatures", @@ -246,8 +249,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.11.0-pre.4" -source = "git+https://github.com/RustCrypto/hashes.git#0d0369ff7dab69e98acfb8a08f4724dbda285e04" +version = "0.11.0-pre.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a275f3837c892b08e1e992cf3ef597aa2aecea6d985a6db2035b367673cfe1" dependencies = [ "digest", ] diff --git a/Cargo.toml b/Cargo.toml index 5962eee..c9adbef 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,12 +6,6 @@ members = ["belt-mac", "cbc-mac", "cmac", "hmac", "pmac", "retail-mac"] opt-level = 2 [patch.crates-io] -# https://github.com/RustCrypto/hashes/pull/652 -md-5 = { git = "https://github.com/RustCrypto/hashes.git" } -sha1 = { git = "https://github.com/RustCrypto/hashes.git" } -sha2 = { git = "https://github.com/RustCrypto/hashes.git" } -streebog = { git = "https://github.com/RustCrypto/hashes.git" } - # https://github.com/RustCrypto/block-ciphers/pull/472 aes = { git = "https://github.com/RustCrypto/block-ciphers.git" } des = { git = "https://github.com/RustCrypto/block-ciphers.git" } diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 58cff1d..ee195ba 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -17,10 +17,10 @@ digest = { version = "=0.11.0-pre.10", features = ["mac"] } [dev-dependencies] digest = { version = "=0.11.0-pre.10", features = ["dev"] } -md-5 = { version = "=0.11.0-pre.4", default-features = false } -sha1 = { version = "=0.11.0-pre.4", default-features = false } -sha2 = { version = "=0.11.0-pre.4", default-features = false } -streebog = { version = "=0.11.0-pre.4", default-features = false } +md-5 = { version = "=0.11.0-pre.5", default-features = false } +sha1 = { version = "=0.11.0-pre.5", default-features = false } +sha2 = { version = "=0.11.0-pre.5", default-features = false } +streebog = { version = "=0.11.0-pre.5", default-features = false } hex-literal = "1" [features] From f2bcad467c06f16cc422e8b99edb6b90c622a76b Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 7 Mar 2025 16:57:21 +0300 Subject: [PATCH 058/123] Release hmac v0.13.0-pre.5 (#181) --- Cargo.lock | 20 ++++++++++---------- hmac/Cargo.toml | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 60ff540..f7b14a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5,7 +5,7 @@ version = 4 [[package]] name = "aes" version = "0.9.0-pre.2" -source = "git+https://github.com/RustCrypto/block-ciphers.git#0ab21fa42149e81ec34fefbc937ef8b2be8caa61" +source = "git+https://github.com/RustCrypto/block-ciphers.git#bb7623cf85b416c8c61d89dd11573e6e7f961720" dependencies = [ "cfg-if", "cipher", @@ -15,7 +15,7 @@ dependencies = [ [[package]] name = "belt-block" version = "0.2.0-pre.2" -source = "git+https://github.com/RustCrypto/block-ciphers.git#0ab21fa42149e81ec34fefbc937ef8b2be8caa61" +source = "git+https://github.com/RustCrypto/block-ciphers.git#bb7623cf85b416c8c61d89dd11573e6e7f961720" dependencies = [ "cipher", ] @@ -117,7 +117,7 @@ dependencies = [ [[package]] name = "des" version = "0.9.0-pre.2" -source = "git+https://github.com/RustCrypto/block-ciphers.git#0ab21fa42149e81ec34fefbc937ef8b2be8caa61" +source = "git+https://github.com/RustCrypto/block-ciphers.git#bb7623cf85b416c8c61d89dd11573e6e7f961720" dependencies = [ "cipher", ] @@ -142,7 +142,7 @@ checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" [[package]] name = "hmac" -version = "0.13.0-pre.4" +version = "0.13.0-pre.5" dependencies = [ "digest", "hex-literal", @@ -174,7 +174,7 @@ dependencies = [ [[package]] name = "kuznyechik" version = "0.9.0-pre.2" -source = "git+https://github.com/RustCrypto/block-ciphers.git#0ab21fa42149e81ec34fefbc937ef8b2be8caa61" +source = "git+https://github.com/RustCrypto/block-ciphers.git#bb7623cf85b416c8c61d89dd11573e6e7f961720" dependencies = [ "cfg-if", "cipher", @@ -182,14 +182,14 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.169" +version = "0.2.170" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" +checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" [[package]] name = "magma" version = "0.10.0-pre.2" -source = "git+https://github.com/RustCrypto/block-ciphers.git#0ab21fa42149e81ec34fefbc937ef8b2be8caa61" +source = "git+https://github.com/RustCrypto/block-ciphers.git#bb7623cf85b416c8c61d89dd11573e6e7f961720" dependencies = [ "cipher", ] @@ -264,9 +264,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "zeroize" diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index ee195ba..7c4239b 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-pre.4" +version = "0.13.0-pre.5" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 1654543b067c4db9adc71c50bc797bb581575524 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 7 Mar 2025 17:37:21 +0300 Subject: [PATCH 059/123] Use pre.3 releases of block cipher crates (#182) --- Cargo.lock | 25 +++++++++++++++---------- Cargo.toml | 19 +++++++++---------- belt-mac/Cargo.toml | 2 +- cbc-mac/Cargo.toml | 4 ++-- cmac/Cargo.toml | 8 ++++---- pmac/Cargo.toml | 2 +- 6 files changed, 32 insertions(+), 28 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f7b14a4..e5e72fe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,8 +4,9 @@ version = 4 [[package]] name = "aes" -version = "0.9.0-pre.2" -source = "git+https://github.com/RustCrypto/block-ciphers.git#bb7623cf85b416c8c61d89dd11573e6e7f961720" +version = "0.9.0-pre.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e4da00d9978020ddaa556c1747cfcafc3f375cfadb109acfe8b752cfc373bf" dependencies = [ "cfg-if", "cipher", @@ -14,8 +15,9 @@ dependencies = [ [[package]] name = "belt-block" -version = "0.2.0-pre.2" -source = "git+https://github.com/RustCrypto/block-ciphers.git#bb7623cf85b416c8c61d89dd11573e6e7f961720" +version = "0.2.0-pre.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cce8d102fb5accb008983fb54f0975834bc5f7789080e6564b0f7e13ffe37a" dependencies = [ "cipher", ] @@ -116,8 +118,9 @@ dependencies = [ [[package]] name = "des" -version = "0.9.0-pre.2" -source = "git+https://github.com/RustCrypto/block-ciphers.git#bb7623cf85b416c8c61d89dd11573e6e7f961720" +version = "0.9.0-pre.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fee752f2df22a55f0f703c8eabfeb36990559e1b836263e35580a4186e1cca0a" dependencies = [ "cipher", ] @@ -173,8 +176,9 @@ dependencies = [ [[package]] name = "kuznyechik" -version = "0.9.0-pre.2" -source = "git+https://github.com/RustCrypto/block-ciphers.git#bb7623cf85b416c8c61d89dd11573e6e7f961720" +version = "0.9.0-pre.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33cc36039d169faa75cbcb6b968251a878ec8431472d1688eb336cd1b459c0aa" dependencies = [ "cfg-if", "cipher", @@ -188,8 +192,9 @@ checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" [[package]] name = "magma" -version = "0.10.0-pre.2" -source = "git+https://github.com/RustCrypto/block-ciphers.git#bb7623cf85b416c8c61d89dd11573e6e7f961720" +version = "0.10.0-pre.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cbf0a1d2178f9ed8ebf27ef13364749622d01abebc3a39937f622b020776465" dependencies = [ "cipher", ] diff --git a/Cargo.toml b/Cargo.toml index c9adbef..b8c3abb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,14 +1,13 @@ [workspace] -resolver = "2" -members = ["belt-mac", "cbc-mac", "cmac", "hmac", "pmac", "retail-mac"] +resolver = "3" +members = [ + "belt-mac", + "cbc-mac", + "cmac", + "hmac", + "pmac", + "retail-mac", +] [profile.dev] opt-level = 2 - -[patch.crates-io] -# https://github.com/RustCrypto/block-ciphers/pull/472 -aes = { git = "https://github.com/RustCrypto/block-ciphers.git" } -des = { git = "https://github.com/RustCrypto/block-ciphers.git" } -belt-block = { git = "https://github.com/RustCrypto/block-ciphers.git" } -kuznyechik = { git = "https://github.com/RustCrypto/block-ciphers.git" } -magma = { git = "https://github.com/RustCrypto/block-ciphers.git" } diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 40d20cd..724efb1 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -13,7 +13,7 @@ keywords = ["crypto", "mac", "belt-mac"] categories = ["cryptography", "no-std"] [dependencies] -belt-block = "0.2.0-pre.2" +belt-block = "0.2.0-pre.3" cipher = "=0.5.0-pre.8" digest = { version = "=0.11.0-pre.10", features = ["mac"] } diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 9a9ebbe..99a21bc 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -19,8 +19,8 @@ digest = { version = "=0.11.0-pre.10", features = ["mac"] } digest = { version = "=0.11.0-pre.10", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-pre.2" -des = "0.9.0-pre.2" +aes = "0.9.0-pre.3" +des = "0.9.0-pre.3" [features] std = ["digest/std"] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index e50ce7f..5fba25a 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -22,10 +22,10 @@ dbl = "0.4.0-rc.0" digest = { version = "=0.11.0-pre.10", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-pre.2" -des = "0.9.0-pre.2" -kuznyechik = "0.9.0-pre.2" -magma = "0.10.0-pre.2" +aes = "0.9.0-pre.3" +des = "0.9.0-pre.3" +kuznyechik = "0.9.0-pre.3" +magma = "0.10.0-pre.3" [features] std = ["digest/std"] diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 132dba1..bdb0fed 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -18,7 +18,7 @@ digest = { version = "=0.11.0-pre.10", features = ["mac"] } dbl = "0.4.0-rc.0" [dev-dependencies] -aes = "0.9.0-pre.2" +aes = "0.9.0-pre.3" digest = { version = "=0.11.0-pre.10", features = ["dev"] } [features] From cf736659b45d82dc3d95e6240030a3326381ec96 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 7 Mar 2025 17:39:54 +0300 Subject: [PATCH 060/123] Release cmac v0.8.0-pre.3 (#183) --- Cargo.lock | 2 +- cmac/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e5e72fe..0d85193 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -77,7 +77,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.8.0-pre.2" +version = "0.8.0-pre.3" dependencies = [ "aes", "cipher", diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 5fba25a..ab63c2f 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cmac" -version = "0.8.0-pre.2" +version = "0.8.0-pre.3" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 678a63ea6023c3b636c01770141b85613b31c74e Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 26 May 2025 05:59:05 +0300 Subject: [PATCH 061/123] Migrate to the `buffer_fixed!` macro (#186) --- .github/workflows/belt-mac.yml | 1 + .github/workflows/cbc-mac.yml | 1 + .github/workflows/cmac.yml | 1 + .github/workflows/hmac.yml | 2 +- .github/workflows/pmac.yml | 1 + .github/workflows/retail-mac.yml | 1 + Cargo.lock | 28 ++- Cargo.toml | 12 ++ belt-mac/CHANGELOG.md | 13 ++ belt-mac/Cargo.toml | 4 +- belt-mac/benches/mod.rs | 3 +- belt-mac/src/block_api.rs | 184 +++++++++++++++++ belt-mac/src/lib.rs | 210 ++------------------ cbc-mac/CHANGELOG.md | 13 ++ cbc-mac/Cargo.toml | 4 +- cbc-mac/src/block_api.rs | 163 ++++++++++++++++ cbc-mac/src/lib.rs | 182 ++--------------- cmac/CHANGELOG.md | 13 ++ cmac/Cargo.toml | 4 +- cmac/src/block_api.rs | 155 +++++++++++++++ cmac/src/lib.rs | 218 ++------------------- hmac/CHANGELOG.md | 15 ++ hmac/Cargo.toml | 3 +- hmac/src/block_api.rs | 241 +++++++++++++++++++++++ hmac/src/lib.rs | 95 ++++----- hmac/src/optim.rs | 160 --------------- hmac/src/simple.rs | 53 +---- hmac/src/simple_reset.rs | 92 +++++++++ hmac/src/utils.rs | 32 +++ hmac/tests/mod.rs | 115 ++++------- pmac/CHANGELOG.md | 13 ++ pmac/Cargo.toml | 4 +- pmac/src/block_api.rs | 236 ++++++++++++++++++++++ pmac/src/lib.rs | 325 ++----------------------------- retail-mac/CHANGELOG.md | 6 +- retail-mac/Cargo.toml | 4 +- retail-mac/src/block_api.rs | 191 ++++++++++++++++++ retail-mac/src/lib.rs | 210 ++++---------------- 38 files changed, 1581 insertions(+), 1427 deletions(-) create mode 100644 belt-mac/src/block_api.rs create mode 100644 cbc-mac/src/block_api.rs create mode 100644 cmac/src/block_api.rs create mode 100644 hmac/src/block_api.rs delete mode 100644 hmac/src/optim.rs create mode 100644 hmac/src/simple_reset.rs create mode 100644 hmac/src/utils.rs create mode 100644 pmac/src/block_api.rs create mode 100644 retail-mac/src/block_api.rs diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index 9f02252..310d3cc 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -59,3 +59,4 @@ jobs: toolchain: ${{ matrix.rust }} - run: cargo test --release --no-default-features - run: cargo test --release + - run: cargo test --release --all-features diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 876cf30..88f1f67 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -60,3 +60,4 @@ jobs: toolchain: ${{ matrix.rust }} - run: cargo test --release --no-default-features - run: cargo test --release + - run: cargo test --release --all-features diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 2e26307..a50d606 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -59,3 +59,4 @@ jobs: toolchain: ${{ matrix.rust }} - run: cargo test --release --no-default-features - run: cargo test --release + - run: cargo test --release --all-features diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 45cd752..e887750 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -58,5 +58,5 @@ jobs: with: toolchain: ${{ matrix.rust }} - run: cargo test --release --no-default-features - - run: cargo test --release --features reset - run: cargo test --release + - run: cargo test --release --all-features diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 7c584b8..a4ef239 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -59,3 +59,4 @@ jobs: toolchain: ${{ matrix.rust }} - run: cargo test --release --no-default-features - run: cargo test --release + - run: cargo test --release --all-features diff --git a/.github/workflows/retail-mac.yml b/.github/workflows/retail-mac.yml index 3094bb3..87dd816 100644 --- a/.github/workflows/retail-mac.yml +++ b/.github/workflows/retail-mac.yml @@ -59,3 +59,4 @@ jobs: toolchain: ${{ matrix.rust }} - run: cargo test --release --no-default-features - run: cargo test --release + - run: cargo test --release --all-features diff --git a/Cargo.lock b/Cargo.lock index 0d85193..fc80ee1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -45,6 +45,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a229bfd78e4827c91b9b95784f69492c1b77c1ab75a45a8a037b139215086f94" dependencies = [ "hybrid-array", + "zeroize", ] [[package]] @@ -101,8 +102,7 @@ dependencies = [ [[package]] name = "crypto-common" version = "0.2.0-rc.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "170d71b5b14dec99db7739f6fc7d6ec2db80b78c3acb77db48392ccc3d8a9ea0" +source = "git+https://github.com/RustCrypto/traits#915474f1ed5be0a19fd102d5f75ef8e04c765416" dependencies = [ "hybrid-array", ] @@ -128,13 +128,13 @@ dependencies = [ [[package]] name = "digest" version = "0.11.0-pre.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c478574b20020306f98d61c8ca3322d762e1ff08117422ac6106438605ea516" +source = "git+https://github.com/RustCrypto/traits#915474f1ed5be0a19fd102d5f75ef8e04c765416" dependencies = [ "blobby", "block-buffer", "crypto-common", "subtle", + "zeroize", ] [[package]] @@ -157,9 +157,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dab50e193aebe510fe0e40230145820e02f48dae0cf339ea4204e6e708ff7bd" +checksum = "891d15931895091dea5c47afa5b3c9a01ba634b311919fd4d41388fa0e3d76af" dependencies = [ "typenum", "zeroize", @@ -186,9 +186,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.170" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "magma" @@ -202,8 +202,7 @@ dependencies = [ [[package]] name = "md-5" version = "0.11.0-pre.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f97ce75b16c61e8ffe9363ca30092ff9da9daed3c7312296eef978c4ecb2d28" +source = "git+https://github.com/RustCrypto/hashes#7d44caf065dbeb3f10a372a26a8b9f1c927f8433" dependencies = [ "cfg-if", "digest", @@ -233,8 +232,7 @@ dependencies = [ [[package]] name = "sha1" version = "0.11.0-pre.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55f44e40722caefdd99383c25d3ae52a1094a1951215ae76f68837ece4e7f566" +source = "git+https://github.com/RustCrypto/hashes#7d44caf065dbeb3f10a372a26a8b9f1c927f8433" dependencies = [ "cfg-if", "cpufeatures", @@ -244,8 +242,7 @@ dependencies = [ [[package]] name = "sha2" version = "0.11.0-pre.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b4241d1a56954dce82cecda5c8e9c794eef6f53abe5e5216bac0a0ea71ffa7" +source = "git+https://github.com/RustCrypto/hashes#7d44caf065dbeb3f10a372a26a8b9f1c927f8433" dependencies = [ "cfg-if", "cpufeatures", @@ -255,8 +252,7 @@ dependencies = [ [[package]] name = "streebog" version = "0.11.0-pre.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a275f3837c892b08e1e992cf3ef597aa2aecea6d985a6db2035b367673cfe1" +source = "git+https://github.com/RustCrypto/hashes#7d44caf065dbeb3f10a372a26a8b9f1c927f8433" dependencies = [ "digest", ] diff --git a/Cargo.toml b/Cargo.toml index b8c3abb..f4cd9f3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,3 +11,15 @@ members = [ [profile.dev] opt-level = 2 + +[patch.crates-io] +# https://github.com/RustCrypto/traits/pull/1787 +# https://github.com/RustCrypto/traits/pull/1799 +digest = { git = "https://github.com/RustCrypto/traits" } +crypto-common = { git = "https://github.com/RustCrypto/traits" } + +# https://github.com/RustCrypto/hashes/pull/678 +streebog = { git = "https://github.com/RustCrypto/hashes" } +sha1 = { git = "https://github.com/RustCrypto/hashes" } +sha2 = { git = "https://github.com/RustCrypto/hashes" } +md-5 = { git = "https://github.com/RustCrypto/hashes" } diff --git a/belt-mac/CHANGELOG.md b/belt-mac/CHANGELOG.md index afe586b..db46f89 100644 --- a/belt-mac/CHANGELOG.md +++ b/belt-mac/CHANGELOG.md @@ -5,5 +5,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.2.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 +- Update to `cipher` v0.5 +- Replace type aliases with newtypes ([#186]) + +### Removed +- `std` crate feature ([#186]) + +[#186]: https://github.com/RustCrypto/MACs/pull/186 + ## 0.1.0 (2023-04-03) Initial Release \ No newline at end of file diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 724efb1..67202db 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -22,9 +22,7 @@ digest = { version = "=0.11.0-pre.10", features = ["dev"] } hex-literal = "1" [features] -std = ["digest/std"] -zeroize = ["cipher/zeroize"] +zeroize = ["cipher/zeroize", "digest/zeroize"] [package.metadata.docs.rs] all-features = true -rustdoc-args = ["--cfg", "docsrs"] diff --git a/belt-mac/benches/mod.rs b/belt-mac/benches/mod.rs index 5061481..8433217 100644 --- a/belt-mac/benches/mod.rs +++ b/belt-mac/benches/mod.rs @@ -1,12 +1,11 @@ #![feature(test)] extern crate test; -use belt_block::BeltBlock; use belt_mac::{BeltMac, KeyInit}; use test::Bencher; digest::bench_update!( - BeltMac::::new(&Default::default()); + BeltMac::new(&Default::default()); belt_mac_10 10; belt_mac_100 100; belt_mac_1000 1000; diff --git a/belt-mac/src/block_api.rs b/belt-mac/src/block_api.rs new file mode 100644 index 0000000..6177a0c --- /dev/null +++ b/belt-mac/src/block_api.rs @@ -0,0 +1,184 @@ +use belt_block::BeltBlock; +use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; +use core::fmt; +use digest::{ + MacMarker, Output, OutputSizeUser, Reset, + array::{Array, ArraySize}, + block_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, Lazy, + UpdateCore, + }, + crypto_common::{BlockSizes, InnerInit, InnerUser}, +}; + +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + +/// Generic core BeltMac instance, which operates over blocks. +#[derive(Clone)] +pub struct BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + cipher: C, + state: Block, + r: Block, +} + +impl BlockSizeUser for BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + type BlockSize = C::BlockSize; +} + +impl OutputSizeUser for BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + type OutputSize = C::BlockSize; +} + +impl InnerUser for BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + type Inner = C; +} + +impl MacMarker for BeltMacCore where C: BlockCipherEncrypt + Clone {} + +impl InnerInit for BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + #[inline] + fn inner_init(cipher: C) -> Self { + let state = Default::default(); + let mut r = Default::default(); + cipher.encrypt_block(&mut r); + Self { cipher, state, r } + } +} + +impl BufferKindUser for BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + type BufferKind = Lazy; +} + +impl UpdateCore for BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + struct Closure<'a, N: BlockSizes> { + state: &'a mut Block, + blocks: &'a [Block], + } + + impl BlockSizeUser for Closure<'_, N> { + type BlockSize = N; + } + + impl BlockCipherEncClosure for Closure<'_, N> { + #[inline(always)] + fn call>(self, backend: &B) { + for block in self.blocks { + xor(self.state, block); + backend.encrypt_block((self.state).into()); + } + } + } + + let Self { cipher, state, .. } = self; + cipher.encrypt_with_backend(Closure { state, blocks }) + } +} + +impl Reset for BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + #[inline(always)] + fn reset(&mut self) { + self.state = Default::default(); + } +} + +impl FixedOutputCore for BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let pos = buffer.get_pos(); + let mut buf = buffer.pad_with_zeros(); + + let cipher = &mut self.cipher; + let r = &self.r; + let bs = r.len(); + let mut new_r = Block::::default(); + if pos == bs { + // phi1 + let (h1, h2) = new_r.split_at_mut(bs - 4); + h1.copy_from_slice(&r[4..]); + for i in 0..4 { + h2[i] = r[i] ^ r[4 + i]; + } + } else { + buf[pos] = 0x80; + // phi2 + let (h1, h2) = new_r.split_at_mut(4); + for i in 0..4 { + h1[i] = r[i] ^ r[bs - 4 + i]; + } + h2.copy_from_slice(&r[..bs - 4]); + } + + let mut state = self.state.clone(); + xor(&mut state, &buf); + xor(&mut state, &new_r); + cipher.encrypt_block_b2b(&state, out); + } +} + +impl AlgorithmName for BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("BeltMac") + } +} + +impl fmt::Debug for BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("BeltMacCore { ... }") + } +} + +#[cfg(feature = "zeroize")] +impl Drop for BeltMacCore +where + C: BlockCipherEncrypt + Clone, +{ + fn drop(&mut self) { + self.state.zeroize(); + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for BeltMacCore where C: BlockCipherEncrypt + Clone + ZeroizeOnDrop {} + +#[inline(always)] +fn xor(buf: &mut Array, data: &Array) { + for i in 0..N::USIZE { + buf[i] ^= data[i]; + } +} diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index ae8a426..9cfb035 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -5,207 +5,21 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![forbid(unsafe_code)] -#![cfg_attr(docsrs, feature(doc_cfg))] -#![warn(missing_docs, rust_2018_idioms)] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![warn(missing_docs)] pub use digest::{self, KeyInit, Mac}; -use belt_block::BeltBlock; -use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; -use core::fmt; -use digest::{ - MacMarker, Output, OutputSizeUser, Reset, - array::{ - Array, ArraySize, - typenum::{IsLess, Le, NonZero, U256}, - }, - block_buffer::Lazy, - core_api::{ - AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, - UpdateCore, - }, - crypto_common::{BlockSizes, InnerInit, InnerUser}, -}; +/// Block-level implementation. +pub mod block_api; -#[cfg(feature = "zeroize")] -use cipher::zeroize::{Zeroize, ZeroizeOnDrop}; +use cipher::BlockCipherEncrypt; -/// Generic BeltMac instance. -pub type BeltMac = CoreWrapper>; +digest::buffer_fixed!( + /// BeltMac instance generic over block cipher. + pub struct GenericBeltMac(block_api::BeltMacCore); + impl: ResetMacTraits AlgorithmName InnerInit; +); -#[derive(Clone)] -/// Generic core BeltMac instance, which operates over blocks. -pub struct BeltMacCore -where - C: BlockCipherEncrypt + Clone, -{ - cipher: C, - state: Block, - r: Block, -} - -impl BlockSizeUser for BeltMacCore -where - C: BlockCipherEncrypt + Clone, -{ - type BlockSize = C::BlockSize; -} - -impl OutputSizeUser for BeltMacCore -where - C: BlockCipherEncrypt + Clone, -{ - type OutputSize = C::BlockSize; -} - -impl InnerUser for BeltMacCore -where - C: BlockCipherEncrypt + Clone, -{ - type Inner = C; -} - -impl MacMarker for BeltMacCore where C: BlockCipherEncrypt + Clone {} - -impl InnerInit for BeltMacCore -where - C: BlockCipherEncrypt + Clone, -{ - #[inline] - fn inner_init(cipher: C) -> Self { - let state = Default::default(); - let mut r = Default::default(); - cipher.encrypt_block(&mut r); - Self { cipher, state, r } - } -} - -impl BufferKindUser for BeltMacCore -where - C: BlockCipherEncrypt + Clone, -{ - type BufferKind = Lazy; -} - -impl UpdateCore for BeltMacCore -where - C: BlockCipherEncrypt + Clone, -{ - #[inline] - fn update_blocks(&mut self, blocks: &[Block]) { - struct Closure<'a, N: BlockSizes> { - state: &'a mut Block, - blocks: &'a [Block], - } - - impl BlockSizeUser for Closure<'_, N> { - type BlockSize = N; - } - - impl BlockCipherEncClosure for Closure<'_, N> { - #[inline(always)] - fn call>(self, backend: &B) { - for block in self.blocks { - xor(self.state, block); - backend.encrypt_block((self.state).into()); - } - } - } - - let Self { cipher, state, .. } = self; - cipher.encrypt_with_backend(Closure { state, blocks }) - } -} - -impl Reset for BeltMacCore -where - C: BlockCipherEncrypt + Clone, -{ - #[inline(always)] - fn reset(&mut self) { - self.state = Default::default(); - } -} - -impl FixedOutputCore for BeltMacCore -where - C: BlockCipherEncrypt + Clone, - C::BlockSize: IsLess, - Le: NonZero, -{ - #[inline] - fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { - let pos = buffer.get_pos(); - let mut buf = buffer.pad_with_zeros(); - - let cipher = &mut self.cipher; - let r = &self.r; - let bs = r.len(); - let mut new_r = Block::::default(); - if pos == bs { - // phi1 - let (h1, h2) = new_r.split_at_mut(bs - 4); - h1.copy_from_slice(&r[4..]); - for i in 0..4 { - h2[i] = r[i] ^ r[4 + i]; - } - } else { - buf[pos] = 0x80; - // phi2 - let (h1, h2) = new_r.split_at_mut(4); - for i in 0..4 { - h1[i] = r[i] ^ r[bs - 4 + i]; - } - h2.copy_from_slice(&r[..bs - 4]); - } - - let mut state = self.state.clone(); - xor(&mut state, &buf); - xor(&mut state, &new_r); - cipher.encrypt_block_b2b(&state, out); - } -} - -impl AlgorithmName for BeltMacCore -where - C: BlockCipherEncrypt + Clone + AlgorithmName, -{ - fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("BeltMac<")?; - ::write_alg_name(f)?; - f.write_str(">") - } -} - -impl fmt::Debug for BeltMacCore -where - C: BlockCipherEncrypt + Clone + AlgorithmName, -{ - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("BeltMacCore<")?; - ::write_alg_name(f)?; - f.write_str("> { ... }") - } -} - -#[cfg(feature = "zeroize")] -#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] -impl Drop for BeltMacCore -where - C: BlockCipherEncrypt + Clone, -{ - fn drop(&mut self) { - self.state.zeroize(); - } -} - -#[cfg(feature = "zeroize")] -#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] -impl ZeroizeOnDrop for BeltMacCore where C: BlockCipherEncrypt + Clone + ZeroizeOnDrop {} - -#[inline(always)] -fn xor(buf: &mut Array, data: &Array) { - for i in 0..N::USIZE { - buf[i] ^= data[i]; - } -} +/// BeltMac instance. +pub type BeltMac = GenericBeltMac; diff --git a/cbc-mac/CHANGELOG.md b/cbc-mac/CHANGELOG.md index 58b335f..0400c81 100644 --- a/cbc-mac/CHANGELOG.md +++ b/cbc-mac/CHANGELOG.md @@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.2.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 +- Update to `cipher` v0.5 +- Replace type aliases with newtypes ([#186]) + +### Removed +- `std` crate feature ([#186]) + +[#186]: https://github.com/RustCrypto/MACs/pull/186 + ## 0.1.1 (2022-02-17) ### Fixed - Minimal versions build ([#108]) diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 99a21bc..e842b00 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -23,9 +23,7 @@ aes = "0.9.0-pre.3" des = "0.9.0-pre.3" [features] -std = ["digest/std"] -zeroize = ["cipher/zeroize"] +zeroize = ["cipher/zeroize", "digest/zeroize"] [package.metadata.docs.rs] all-features = true -rustdoc-args = ["--cfg", "docsrs"] diff --git a/cbc-mac/src/block_api.rs b/cbc-mac/src/block_api.rs new file mode 100644 index 0000000..aaa11fe --- /dev/null +++ b/cbc-mac/src/block_api.rs @@ -0,0 +1,163 @@ +use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; +use core::fmt; +use digest::{ + MacMarker, Output, OutputSizeUser, Reset, + array::{Array, ArraySize}, + block_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, Eager, FixedOutputCore, + UpdateCore, + }, + crypto_common::{BlockSizes, InnerInit, InnerUser}, +}; + +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + +/// Generic core CMAC instance, which operates over blocks. +#[derive(Clone)] +pub struct CbcMacCore +where + C: BlockCipherEncrypt + Clone, +{ + cipher: C, + state: Block, +} + +impl BlockSizeUser for CbcMacCore +where + C: BlockCipherEncrypt + Clone, +{ + type BlockSize = C::BlockSize; +} + +impl OutputSizeUser for CbcMacCore +where + C: BlockCipherEncrypt + Clone, +{ + type OutputSize = C::BlockSize; +} + +impl InnerUser for CbcMacCore +where + C: BlockCipherEncrypt + Clone, +{ + type Inner = C; +} + +impl MacMarker for CbcMacCore where C: BlockCipherEncrypt + Clone {} + +impl InnerInit for CbcMacCore +where + C: BlockCipherEncrypt + Clone, +{ + #[inline] + fn inner_init(cipher: C) -> Self { + let state = Default::default(); + Self { cipher, state } + } +} + +impl BufferKindUser for CbcMacCore +where + C: BlockCipherEncrypt + Clone, +{ + type BufferKind = Eager; +} + +impl UpdateCore for CbcMacCore +where + C: BlockCipherEncrypt + Clone, +{ + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + struct Closure<'a, N: BlockSizes> { + state: &'a mut Block, + blocks: &'a [Block], + } + + impl BlockSizeUser for Closure<'_, N> { + type BlockSize = N; + } + + impl BlockCipherEncClosure for Closure<'_, N> { + #[inline(always)] + fn call>(self, backend: &B) { + for block in self.blocks { + xor(self.state, block); + backend.encrypt_block((self.state).into()); + } + } + } + + let Self { cipher, state } = self; + cipher.encrypt_with_backend(Closure { state, blocks }) + } +} + +impl Reset for CbcMacCore +where + C: BlockCipherEncrypt + Clone, +{ + #[inline(always)] + fn reset(&mut self) { + self.state = Default::default(); + } +} + +impl FixedOutputCore for CbcMacCore +where + C: BlockCipherEncrypt + Clone, +{ + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let Self { state, cipher } = self; + let pos = buffer.get_pos(); + if pos != 0 { + xor(state, &buffer.pad_with_zeros()); + cipher.encrypt_block(state); + } + out.copy_from_slice(state); + } +} + +impl AlgorithmName for CbcMacCore +where + C: BlockCipherEncrypt + Clone + AlgorithmName, +{ + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("CbcMac<")?; + ::write_alg_name(f)?; + f.write_str(">") + } +} + +impl fmt::Debug for CbcMacCore +where + C: BlockCipherEncrypt + Clone + AlgorithmName, +{ + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("CbcMacCore<")?; + ::write_alg_name(f)?; + f.write_str("> { ... }") + } +} + +#[cfg(feature = "zeroize")] +impl Drop for CbcMacCore +where + C: BlockCipherEncrypt + Clone, +{ + fn drop(&mut self) { + self.state.zeroize(); + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for CbcMacCore where C: BlockCipherEncrypt + Clone + ZeroizeOnDrop {} + +#[inline(always)] +fn xor(buf: &mut Array, data: &Array) { + for i in 0..N::USIZE { + buf[i] ^= data[i]; + } +} diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index 15705bd..40a2ef5 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -22,190 +22,36 @@ //! mac.verify_slice(&correct).unwrap(); //! ``` //! -//! [CBC-MAC]: https://en.wikipedia.org/wiki/CBC-MAC#Security_with_fixed_and_variable-length_messages +//! [CBC-MAC]: https://en.wikipedia.org/wiki/CBC-MAC #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![deny(unsafe_code)] -#![cfg_attr(docsrs, feature(doc_cfg))] -#![warn(missing_docs, rust_2018_idioms)] +#![warn(missing_docs)] pub use digest::{self, KeyInit, Mac}; -use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; -use core::fmt; -use digest::{ - MacMarker, Output, OutputSizeUser, Reset, - array::{ - Array, ArraySize, - typenum::{IsLess, Le, NonZero, U256}, - }, - block_buffer::Eager, - core_api::{ - AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, - UpdateCore, - }, - crypto_common::{BlockSizes, InnerInit, InnerUser}, -}; - -#[cfg(feature = "zeroize")] -use cipher::zeroize::{Zeroize, ZeroizeOnDrop}; - -/// Generic CMAC instance. -pub type CbcMac = CoreWrapper>; - -/// Generic core CMAC instance, which operates over blocks. -#[derive(Clone)] -pub struct CbcMacCore -where - C: BlockCipherEncrypt + Clone, -{ - cipher: C, - state: Block, -} - -impl BlockSizeUser for CbcMacCore -where - C: BlockCipherEncrypt + Clone, -{ - type BlockSize = C::BlockSize; -} - -impl OutputSizeUser for CbcMacCore -where - C: BlockCipherEncrypt + Clone, -{ - type OutputSize = C::BlockSize; -} +mod block_api; -impl InnerUser for CbcMacCore -where - C: BlockCipherEncrypt + Clone, -{ - type Inner = C; -} - -impl MacMarker for CbcMacCore where C: BlockCipherEncrypt + Clone {} - -impl InnerInit for CbcMacCore -where - C: BlockCipherEncrypt + Clone, -{ - #[inline] - fn inner_init(cipher: C) -> Self { - let state = Default::default(); - Self { cipher, state } - } -} - -impl BufferKindUser for CbcMacCore -where - C: BlockCipherEncrypt + Clone, -{ - type BufferKind = Eager; -} - -impl UpdateCore for CbcMacCore -where - C: BlockCipherEncrypt + Clone, -{ - #[inline] - fn update_blocks(&mut self, blocks: &[Block]) { - struct Closure<'a, N: BlockSizes> { - state: &'a mut Block, - blocks: &'a [Block], - } - - impl BlockSizeUser for Closure<'_, N> { - type BlockSize = N; - } - - impl BlockCipherEncClosure for Closure<'_, N> { - #[inline(always)] - fn call>(self, backend: &B) { - for block in self.blocks { - xor(self.state, block); - backend.encrypt_block((self.state).into()); - } - } - } - - let Self { cipher, state } = self; - cipher.encrypt_with_backend(Closure { state, blocks }) - } -} - -impl Reset for CbcMacCore -where - C: BlockCipherEncrypt + Clone, -{ - #[inline(always)] - fn reset(&mut self) { - self.state = Default::default(); - } -} +use cipher::{AlgorithmName, BlockCipherEncrypt}; +use core::fmt; +use digest::block_api::CoreProxy; -impl FixedOutputCore for CbcMacCore -where - C: BlockCipherEncrypt + Clone, - C::BlockSize: IsLess, - Le: NonZero, -{ - #[inline] - fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { - let Self { state, cipher } = self; - let pos = buffer.get_pos(); - if pos != 0 { - xor(state, &buffer.pad_with_zeros()); - cipher.encrypt_block(state); - } - out.copy_from_slice(state); - } -} +digest::buffer_fixed!( + /// Generic CBC-MAC instance. + pub struct CbcMac(block_api::CbcMacCore); + impl: ResetMacTraits InnerInit; +); -impl AlgorithmName for CbcMacCore +impl AlgorithmName for CbcMac where C: BlockCipherEncrypt + Clone + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("CbcMac<")?; - ::write_alg_name(f)?; - f.write_str(">") - } -} - -impl fmt::Debug for CbcMacCore -where - C: BlockCipherEncrypt + Clone + AlgorithmName, -{ - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("CbcMacCore<")?; - ::write_alg_name(f)?; - f.write_str("> { ... }") - } -} - -#[cfg(feature = "zeroize")] -#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] -impl Drop for CbcMacCore -where - C: BlockCipherEncrypt + Clone, -{ - fn drop(&mut self) { - self.state.zeroize(); - } -} - -#[cfg(feature = "zeroize")] -#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] -impl ZeroizeOnDrop for CbcMacCore where C: BlockCipherEncrypt + Clone + ZeroizeOnDrop {} - -#[inline(always)] -fn xor(buf: &mut Array, data: &Array) { - for i in 0..N::USIZE { - buf[i] ^= data[i]; + ::Core::write_alg_name(f) } } diff --git a/cmac/CHANGELOG.md b/cmac/CHANGELOG.md index b9b493c..27be9fa 100644 --- a/cmac/CHANGELOG.md +++ b/cmac/CHANGELOG.md @@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.8.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 +- Update to `cipher` v0.5 +- Replace type aliases with newtypes ([#186]) + +### Removed +- `std` crate feature ([#186]) + +[#186]: https://github.com/RustCrypto/MACs/pull/186 + ## 0.7.2 (2022-03-14) ### Changed - Do not include large CAVP test vectors in published packages ([#128]) diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index ab63c2f..fde7bfc 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -28,9 +28,7 @@ kuznyechik = "0.9.0-pre.3" magma = "0.10.0-pre.3" [features] -std = ["digest/std"] -zeroize = ["cipher/zeroize"] +zeroize = ["cipher/zeroize", "digest/zeroize"] [package.metadata.docs.rs] all-features = true -rustdoc-args = ["--cfg", "docsrs"] diff --git a/cmac/src/block_api.rs b/cmac/src/block_api.rs new file mode 100644 index 0000000..7663734 --- /dev/null +++ b/cmac/src/block_api.rs @@ -0,0 +1,155 @@ +use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; +use core::fmt; +use dbl::Dbl; +use digest::{ + MacMarker, Output, OutputSizeUser, Reset, + array::{Array, ArraySize}, + block_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, Lazy, + UpdateCore, + }, + crypto_common::{BlockSizes, InnerInit, InnerUser}, +}; + +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + +/// Generic core CMAC instance, which operates over blocks. +#[derive(Clone)] +pub struct CmacCore { + cipher: C, + state: Block, +} + +impl BlockSizeUser for CmacCore { + type BlockSize = C::BlockSize; +} + +impl OutputSizeUser for CmacCore { + type OutputSize = C::BlockSize; +} + +impl InnerUser for CmacCore { + type Inner = C; +} + +impl MacMarker for CmacCore {} + +impl InnerInit for CmacCore { + #[inline] + fn inner_init(cipher: C) -> Self { + let state = Default::default(); + Self { cipher, state } + } +} + +impl BufferKindUser for CmacCore { + type BufferKind = Lazy; +} + +impl UpdateCore for CmacCore { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + struct Closure<'a, N: BlockSizes> { + state: &'a mut Block, + blocks: &'a [Block], + } + + impl BlockSizeUser for Closure<'_, N> { + type BlockSize = N; + } + + impl BlockCipherEncClosure for Closure<'_, N> { + #[inline(always)] + fn call>(self, backend: &B) { + for block in self.blocks { + xor(self.state, block); + backend.encrypt_block((self.state).into()); + } + } + } + + let Self { cipher, state } = self; + cipher.encrypt_with_backend(Closure { state, blocks }) + } +} + +impl Reset for CmacCore { + #[inline(always)] + fn reset(&mut self) { + self.state = Default::default(); + } +} + +impl FixedOutputCore for CmacCore { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let Self { state, cipher } = self; + let pos = buffer.get_pos(); + let buf = buffer.pad_with_zeros(); + + let mut subkey = Default::default(); + cipher.encrypt_block(&mut subkey); + let key1 = C::dbl(subkey); + + xor(state, &buf); + if pos == buf.len() { + xor(state, &key1); + } else { + state[pos] ^= 0x80; + let key2 = C::dbl(key1); + xor(state, &key2); + } + cipher.encrypt_block(state); + out.copy_from_slice(state); + } +} + +impl AlgorithmName for CmacCore { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Cmac<")?; + ::write_alg_name(f)?; + f.write_str(">") + } +} + +impl fmt::Debug for CmacCore { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("CmacCore { ... }") + } +} + +impl Drop for CmacCore { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for CmacCore {} + +#[inline(always)] +fn xor(buf: &mut Array, data: &Array) { + for i in 0..N::USIZE { + buf[i] ^= data[i]; + } +} + +/// Helper trait implemented for cipher supported by CMAC +pub trait CmacCipher: BlockSizeUser + BlockCipherEncrypt + Clone { + /// Double block. See the [`Dbl`] trait docs for more information. + fn dbl(block: Block) -> Block; +} + +impl CmacCipher for C +where + Self: BlockSizeUser + BlockCipherEncrypt + Clone, + Block: Dbl, +{ + fn dbl(block: Block) -> Block { + block.dbl() + } +} diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index a8ba4ec..e55bfbe 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -44,217 +44,27 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] -#![cfg_attr(docsrs, feature(doc_cfg))] -#![warn(missing_docs, rust_2018_idioms)] +#![warn(missing_docs)] pub use digest::{self, KeyInit, Mac}; -use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; -use core::fmt; -use dbl::Dbl; -use digest::{ - MacMarker, Output, OutputSizeUser, Reset, - array::{ - Array, ArraySize, - typenum::{IsLess, Le, NonZero, U256}, - }, - block_buffer::Lazy, - core_api::{ - AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, - UpdateCore, - }, - crypto_common::{BlockSizes, InnerInit, InnerUser}, -}; - -#[cfg(feature = "zeroize")] -use cipher::zeroize::{Zeroize, ZeroizeOnDrop}; - -/// Generic CMAC instance. -pub type Cmac = CoreWrapper>; - -/// Generic core CMAC instance, which operates over blocks. -#[derive(Clone)] -pub struct CmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - cipher: C, - state: Block, -} - -impl BlockSizeUser for CmacCore -where - C: BlockCipherEncrypt + BlockSizeUser + Clone, - Block: Dbl, -{ - type BlockSize = C::BlockSize; -} - -impl OutputSizeUser for CmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - type OutputSize = C::BlockSize; -} - -impl InnerUser for CmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - type Inner = C; -} - -impl MacMarker for CmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ -} - -impl InnerInit for CmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - #[inline] - fn inner_init(cipher: C) -> Self { - let state = Default::default(); - Self { cipher, state } - } -} - -impl BufferKindUser for CmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - type BufferKind = Lazy; -} - -impl UpdateCore for CmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - #[inline] - fn update_blocks(&mut self, blocks: &[Block]) { - struct Closure<'a, N: BlockSizes> { - state: &'a mut Block, - blocks: &'a [Block], - } - - impl BlockSizeUser for Closure<'_, N> { - type BlockSize = N; - } - - impl BlockCipherEncClosure for Closure<'_, N> { - #[inline(always)] - fn call>(self, backend: &B) { - for block in self.blocks { - xor(self.state, block); - backend.encrypt_block((self.state).into()); - } - } - } +/// Block-level implementation. +pub mod block_api; - let Self { cipher, state } = self; - cipher.encrypt_with_backend(Closure { state, blocks }) - } -} - -impl Reset for CmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - #[inline(always)] - fn reset(&mut self) { - self.state = Default::default(); - } -} - -impl FixedOutputCore for CmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, - C::BlockSize: IsLess, - Le: NonZero, -{ - #[inline] - fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { - let Self { state, cipher } = self; - let pos = buffer.get_pos(); - let buf = buffer.pad_with_zeros(); +use block_api::CmacCipher; +use core::fmt; +use digest::block_api::{AlgorithmName, CoreProxy}; - let mut subkey = Default::default(); - cipher.encrypt_block(&mut subkey); - let key1 = subkey.dbl(); +digest::buffer_fixed!( + /// Generic CMAC instance. + pub struct Cmac(block_api::CmacCore); + impl: ResetMacTraits InnerInit; +); - xor(state, &buf); - if pos == buf.len() { - xor(state, &key1); - } else { - state[pos] ^= 0x80; - let key2 = key1.dbl(); - xor(state, &key2); - } - cipher.encrypt_block(state); - out.copy_from_slice(state); - } -} - -impl AlgorithmName for CmacCore -where - C: BlockCipherEncrypt + Clone + AlgorithmName, - Block: Dbl, -{ +impl AlgorithmName for Cmac { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("Cmac<")?; - ::write_alg_name(f)?; - f.write_str(">") - } -} - -impl fmt::Debug for CmacCore -where - C: BlockCipherEncrypt + Clone + AlgorithmName, - Block: Dbl, -{ - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("CmacCore<")?; - ::write_alg_name(f)?; - f.write_str("> { ... }") - } -} - -#[cfg(feature = "zeroize")] -#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] -impl Drop for CmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - fn drop(&mut self) { - self.state.zeroize(); - } -} - -#[cfg(feature = "zeroize")] -#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] -impl ZeroizeOnDrop for CmacCore -where - C: BlockCipherEncrypt + Clone + ZeroizeOnDrop, - Block: Dbl, -{ -} - -#[inline(always)] -fn xor(buf: &mut Array, data: &Array) { - for i in 0..N::USIZE { - buf[i] ^= data[i]; + ::Core::write_alg_name(f) } } diff --git a/hmac/CHANGELOG.md b/hmac/CHANGELOG.md index cde26d6..003f27a 100644 --- a/hmac/CHANGELOG.md +++ b/hmac/CHANGELOG.md @@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.13.0 (UNRELEASED) +### Added +- `HmacReset` and `SimpleHmacReset` types [#186] + +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 +- Replace type aliases with newtypes ([#186]) + +### Removed +- `std` and `reset` crate features ([#186]) + +[#186]: https://github.com/RustCrypto/MACs/pull/186 + ## 0.12.1 (2022-02-17) ### Fixed - Minimal versions build ([#108]) diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 7c4239b..cc45a20 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -24,8 +24,7 @@ streebog = { version = "=0.11.0-pre.5", default-features = false } hex-literal = "1" [features] -std = ["digest/std"] -reset = [] # Enable ability to reset HMAC instances +zeroize = ["digest/zeroize"] [package.metadata.docs.rs] all-features = true diff --git a/hmac/src/block_api.rs b/hmac/src/block_api.rs new file mode 100644 index 0000000..bb69945 --- /dev/null +++ b/hmac/src/block_api.rs @@ -0,0 +1,241 @@ +use crate::utils::{IPAD, OPAD, get_der_key}; +use core::{fmt, slice}; +use digest::{ + Digest, HashMarker, InvalidLength, KeyInit, MacMarker, Output, Reset, + block_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreProxy, FixedOutputCore, + OutputSizeUser, UpdateCore, + }, + block_buffer::Eager, + crypto_common::{Key, KeySizeUser}, +}; + +/// Trait implemented by eager hashes which expose their block-level core. +pub trait EagerHash: BlockSizeUser + Digest { + /// Block-level core type of the hash. + type Core: HashMarker + + UpdateCore + + FixedOutputCore + + BlockSizeUser::BlockSize> + + BufferKindUser + + Default + + Clone; +} + +impl EagerHash for T +where + T: CoreProxy + BlockSizeUser + Digest, + ::Core: HashMarker + + UpdateCore + + FixedOutputCore + + BlockSizeUser::BlockSize> + + BufferKindUser + + Default + + Clone, +{ + type Core = T::Core; +} + +/// Generic core HMAC instance, which operates over blocks. +pub struct HmacCore { + digest: D::Core, + opad_digest: D::Core, +} + +impl Clone for HmacCore { + fn clone(&self) -> Self { + Self { + digest: self.digest.clone(), + opad_digest: self.opad_digest.clone(), + } + } +} + +impl MacMarker for HmacCore {} + +impl BufferKindUser for HmacCore { + type BufferKind = Eager; +} + +impl KeySizeUser for HmacCore { + type KeySize = <::Core as BlockSizeUser>::BlockSize; +} + +impl BlockSizeUser for HmacCore { + type BlockSize = <::Core as BlockSizeUser>::BlockSize; +} + +impl OutputSizeUser for HmacCore { + type OutputSize = <::Core as OutputSizeUser>::OutputSize; +} + +impl KeyInit for HmacCore { + #[inline(always)] + fn new(key: &Key) -> Self { + Self::new_from_slice(key.as_slice()).unwrap() + } + + #[inline(always)] + fn new_from_slice(key: &[u8]) -> Result { + let mut buf = get_der_key::(key); + buf.iter_mut().for_each(|b: &mut u8| *b ^= IPAD); + + let mut digest = D::Core::default(); + digest.update_blocks(slice::from_ref(&buf)); + + buf.iter_mut().for_each(|b: &mut u8| *b ^= IPAD ^ OPAD); + + let mut opad_digest = D::Core::default(); + opad_digest.update_blocks(slice::from_ref(&buf)); + + Ok(Self { + opad_digest, + digest, + }) + } +} + +impl UpdateCore for HmacCore { + #[inline(always)] + fn update_blocks(&mut self, blocks: &[Block]) { + self.digest.update_blocks(blocks); + } +} + +impl FixedOutputCore for HmacCore { + #[inline(always)] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let mut hash = Output::::default(); + self.digest.finalize_fixed_core(buffer, &mut hash); + // finalize_fixed_core should reset the buffer as well, but + // to be extra safe we reset it explicitly again. + buffer.reset(); + let h = &mut self.opad_digest; + buffer.digest_blocks(&hash, |b| h.update_blocks(b)); + h.finalize_fixed_core(buffer, out); + } +} + +impl AlgorithmName for HmacCore { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Hmac<")?; + ::write_alg_name(f)?; + f.write_str(">") + } +} + +impl fmt::Debug for HmacCore +where + D::Core: AlgorithmName, +{ + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("HmacCore { ... }") + } +} + +/// Generic core HMAC instance, which operates over blocks. +pub struct HmacResetCore { + digest: D::Core, + opad_digest: D::Core, + ipad_digest: D::Core, +} + +impl Clone for HmacResetCore { + fn clone(&self) -> Self { + Self { + digest: self.digest.clone(), + opad_digest: self.opad_digest.clone(), + ipad_digest: self.ipad_digest.clone(), + } + } +} + +impl MacMarker for HmacResetCore {} + +impl BufferKindUser for HmacResetCore { + type BufferKind = Eager; +} + +impl KeySizeUser for HmacResetCore { + type KeySize = <::Core as BlockSizeUser>::BlockSize; +} + +impl BlockSizeUser for HmacResetCore { + type BlockSize = <::Core as BlockSizeUser>::BlockSize; +} + +impl OutputSizeUser for HmacResetCore { + type OutputSize = <::Core as OutputSizeUser>::OutputSize; +} + +impl KeyInit for HmacResetCore { + #[inline(always)] + fn new(key: &Key) -> Self { + Self::new_from_slice(key.as_slice()).unwrap() + } + + #[inline(always)] + fn new_from_slice(key: &[u8]) -> Result { + let mut buf = get_der_key::(key); + buf.iter_mut().for_each(|b: &mut u8| *b ^= IPAD); + + let mut digest = D::Core::default(); + digest.update_blocks(slice::from_ref(&buf)); + + buf.iter_mut().for_each(|b: &mut u8| *b ^= IPAD ^ OPAD); + + let mut opad_digest = D::Core::default(); + opad_digest.update_blocks(slice::from_ref(&buf)); + + Ok(Self { + ipad_digest: digest.clone(), + opad_digest, + digest, + }) + } +} + +impl UpdateCore for HmacResetCore { + #[inline(always)] + fn update_blocks(&mut self, blocks: &[Block]) { + self.digest.update_blocks(blocks); + } +} + +impl FixedOutputCore for HmacResetCore { + #[inline(always)] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let mut hash = Output::::default(); + self.digest.finalize_fixed_core(buffer, &mut hash); + // finalize_fixed_core should reset the buffer as well, but + // to be extra safe we reset it explicitly again. + buffer.reset(); + let mut h = self.opad_digest.clone(); + buffer.digest_blocks(&hash, |b| h.update_blocks(b)); + h.finalize_fixed_core(buffer, out); + } +} + +impl Reset for HmacResetCore { + #[inline(always)] + fn reset(&mut self) { + self.digest = self.ipad_digest.clone(); + } +} + +impl AlgorithmName for HmacResetCore { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Hmac<")?; + ::write_alg_name(f)?; + f.write_str(">") + } +} + +impl fmt::Debug for HmacResetCore +where + D::Core: AlgorithmName, +{ + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("HmacResetCore { ... }") + } +} diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index 37efc49..3389646 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -4,13 +4,25 @@ //! implements the [`digest`] crate traits. You can find compatible crates //! (e.g. [`sha2`]) in the [`RustCrypto/hashes`] repository. //! -//! This crate provides two HMAC implementation [`Hmac`] and [`SimpleHmac`]. -//! The first one is a buffered wrapper around block-level [`HmacCore`]. -//! Internally it uses efficient state representation, but works only with +//! This crate provides four HMAC implementations: [`Hmac`], [`HmacReset`], +//! [`SimpleHmac`], and [`SimpleHmacReset`]. +//! +//! The first two types are buffered wrappers around block-level +//! [`block_api::HmacCore`] and [`block_api::HmacResetCore`] types respectively. +//! Internally they uses efficient state representation, but work only with //! hash functions which expose block-level API and consume blocks eagerly //! (e.g. it will not work with the BLAKE2 family of hash functions). -//! On the other hand, [`SimpleHmac`] is a bit less efficient memory-wise, -//! but works with all hash functions which implement the [`Digest`] trait. +//! +//! On the other hand, [`SimpleHmac`] and [`SimpleHmacReset`] are a bit less +//! efficient, but work with all hash functions which implement +//! the [`Digest`][digest::Digest] trait. +//! +//! [`Hmac`] and [`SimpleHmac`] do not support resetting MAC state (i.e. they +//! do not implement the [`Reset`] and [`FixedOutputReset`] traits). Use +//! [`HmacReset`] or [`SimpleHmacReset`] if you want to reuse MAC state. +//! +//! [`Reset`]: digest::Reset +//! [`FixedOutputReset`]: digest::FixedOutputReset //! //! # Examples //! Let us demonstrate how to use HMAC using the SHA-256 hash function. @@ -71,12 +83,6 @@ //! to remove potential panic. This is done by truncating hash output to the hash //! block size if needed. //! -//! # Crate features -//! - `std`: enables functionality dependent on `std` (e.g. implementation of -//! the [`Error`][std::error::Error] trait for error types) -//! - `reset`: enables implementation of the [`Reset`][digest::Reset] trait -//! (note that it makes HMAC states bigger) -//! //! [`digest`]: https://docs.rs/digest //! [`sha2`]: https://docs.rs/sha2 //! [`RustCrypto/hashes`]: https://github.com/RustCrypto/hashes @@ -86,50 +92,45 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] -#![cfg_attr(docsrs, feature(doc_cfg))] -#![warn(missing_docs, rust_2018_idioms)] - -#[cfg(feature = "std")] -extern crate std; +#![warn(missing_docs)] pub use digest::{self, KeyInit, Mac}; -use digest::{ - Digest, - core_api::{Block, BlockSizeUser}, -}; - -mod optim; +/// Block-level implementation. +pub mod block_api; mod simple; +mod simple_reset; +mod utils; -pub use optim::{EagerHash, Hmac, HmacCore}; pub use simple::SimpleHmac; +pub use simple_reset::SimpleHmacReset; + +use block_api::EagerHash; +use core::fmt; +use digest::block_api::{AlgorithmName, CoreProxy}; + +digest::buffer_fixed!( + /// Generic HMAC instance. + pub struct Hmac(block_api::HmacCore); + impl: MacTraits KeyInit; +); + +impl AlgorithmName for Hmac { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + ::Core::write_alg_name(f) + } +} -const IPAD: u8 = 0x36; -const OPAD: u8 = 0x5C; +digest::buffer_fixed!( + /// Generic HMAC instance with reset support. + pub struct HmacReset(block_api::HmacResetCore); + impl: ResetMacTraits KeyInit; +); -fn get_der_key(key: &[u8]) -> Block { - let mut der_key = Block::::default(); - // The key that HMAC processes must be the same as the block size of the - // underlying hash function. If the provided key is smaller than that, - // we just pad it with zeros. If its larger, we hash it and then pad it - // with zeros. - if key.len() <= der_key.len() { - der_key[..key.len()].copy_from_slice(key); - } else { - let hash = D::digest(key); - // All commonly used hash functions have block size bigger - // than output hash size, but to be extra rigorous we - // handle the potential uncommon cases as well. - // The condition is calculated at compile time, so this - // branch gets removed from the final binary. - if hash.len() <= der_key.len() { - der_key[..hash.len()].copy_from_slice(&hash); - } else { - let n = der_key.len(); - der_key.copy_from_slice(&hash[..n]); - } +impl AlgorithmName for HmacReset { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + ::Core::write_alg_name(f) } - der_key } diff --git a/hmac/src/optim.rs b/hmac/src/optim.rs deleted file mode 100644 index 9d78731..0000000 --- a/hmac/src/optim.rs +++ /dev/null @@ -1,160 +0,0 @@ -use super::{IPAD, OPAD, get_der_key}; -use core::{fmt, slice}; -use digest::{ - HashMarker, InvalidLength, KeyInit, MacMarker, Output, - block_buffer::Eager, - core_api::{ - AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, - OutputSizeUser, UpdateCore, - }, - crypto_common::{Key, KeySizeUser}, -}; - -/// Generic HMAC instance. -pub type Hmac = CoreWrapper>; - -/// Trait implemented by eager hashes which expose their block-level core. -pub trait EagerHash { - /// Block-level core type of the hash. - type Core: HashMarker - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone; -} - -impl EagerHash for CoreWrapper -where - C: HashMarker - + UpdateCore - + FixedOutputCore - + BufferKindUser - + Default - + Clone, -{ - type Core = C; -} - -/// Generic core HMAC instance, which operates over blocks. -pub struct HmacCore { - digest: D::Core, - opad_digest: D::Core, - #[cfg(feature = "reset")] - ipad_digest: D::Core, -} - -impl Clone for HmacCore { - fn clone(&self) -> Self { - Self { - digest: self.digest.clone(), - opad_digest: self.opad_digest.clone(), - #[cfg(feature = "reset")] - ipad_digest: self.ipad_digest.clone(), - } - } -} - -impl MacMarker for HmacCore {} - -impl BufferKindUser for HmacCore { - type BufferKind = Eager; -} - -impl KeySizeUser for HmacCore { - type KeySize = <::Core as BlockSizeUser>::BlockSize; -} - -impl BlockSizeUser for HmacCore { - type BlockSize = <::Core as BlockSizeUser>::BlockSize; -} - -impl OutputSizeUser for HmacCore { - type OutputSize = <::Core as OutputSizeUser>::OutputSize; -} - -impl KeyInit for HmacCore { - #[inline(always)] - fn new(key: &Key) -> Self { - Self::new_from_slice(key.as_slice()).unwrap() - } - - #[inline(always)] - fn new_from_slice(key: &[u8]) -> Result { - let mut buf = get_der_key::>(key); - for b in buf.iter_mut() { - *b ^= IPAD; - } - let mut digest = D::Core::default(); - digest.update_blocks(slice::from_ref(&buf)); - - for b in buf.iter_mut() { - *b ^= IPAD ^ OPAD; - } - - let mut opad_digest = D::Core::default(); - opad_digest.update_blocks(slice::from_ref(&buf)); - - Ok(Self { - #[cfg(feature = "reset")] - ipad_digest: digest.clone(), - opad_digest, - digest, - }) - } -} - -impl UpdateCore for HmacCore { - #[inline(always)] - fn update_blocks(&mut self, blocks: &[Block]) { - self.digest.update_blocks(blocks); - } -} - -impl FixedOutputCore for HmacCore { - #[inline(always)] - fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { - let mut hash = Output::::default(); - self.digest.finalize_fixed_core(buffer, &mut hash); - // finalize_fixed_core should reset the buffer as well, but - // to be extra safe we reset it explicitly again. - buffer.reset(); - #[cfg(not(feature = "reset"))] - let h = &mut self.opad_digest; - #[cfg(feature = "reset")] - let mut h = self.opad_digest.clone(); - buffer.digest_blocks(&hash, |b| h.update_blocks(b)); - h.finalize_fixed_core(buffer, out); - } -} - -#[cfg(feature = "reset")] -#[cfg_attr(docsrs, doc(cfg(feature = "reset")))] -impl digest::Reset for HmacCore { - #[inline(always)] - fn reset(&mut self) { - self.digest = self.ipad_digest.clone(); - } -} - -impl AlgorithmName for HmacCore -where - D::Core: AlgorithmName, -{ - fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("Hmac<")?; - ::write_alg_name(f)?; - f.write_str(">") - } -} - -impl fmt::Debug for HmacCore -where - D::Core: AlgorithmName, -{ - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("HmacCore<")?; - ::write_alg_name(f)?; - f.write_str("> { ... }") - } -} diff --git a/hmac/src/simple.rs b/hmac/src/simple.rs index dc39be6..f81d045 100644 --- a/hmac/src/simple.rs +++ b/hmac/src/simple.rs @@ -1,11 +1,9 @@ -use super::{IPAD, OPAD, get_der_key}; +use crate::utils::{IPAD, OPAD, get_der_key}; use core::fmt; use digest::{ Digest, FixedOutput, KeyInit, MacMarker, Output, OutputSizeUser, Update, crypto_common::{Block, BlockSizeUser, InvalidLength, Key, KeySizeUser}, }; -#[cfg(feature = "reset")] -use digest::{FixedOutputReset, Reset}; /// Simplified HMAC instance able to operate over hash functions /// which do not expose block-level API and hash functions which @@ -14,8 +12,6 @@ use digest::{FixedOutputReset, Reset}; pub struct SimpleHmac { digest: D, opad_key: Block, - #[cfg(feature = "reset")] - ipad_key: Block, } impl KeySizeUser for SimpleHmac { @@ -31,24 +27,17 @@ impl KeyInit for SimpleHmac { #[inline] fn new_from_slice(key: &[u8]) -> Result { - let der_key = get_der_key::(key); - let mut ipad_key = der_key.clone(); - for b in ipad_key.iter_mut() { - *b ^= IPAD; - } + let mut buf = get_der_key::(key); + buf.iter_mut().for_each(|b: &mut u8| *b ^= IPAD); + let mut digest = D::new(); - digest.update(&ipad_key); + digest.update(&buf); - let mut opad_key = der_key; - for b in opad_key.iter_mut() { - *b ^= OPAD; - } + buf.iter_mut().for_each(|b: &mut u8| *b ^= OPAD ^ IPAD); Ok(Self { digest, - opad_key, - #[cfg(feature = "reset")] - ipad_key, + opad_key: buf, }) } } @@ -75,32 +64,6 @@ impl FixedOutput for SimpleHmac { impl fmt::Debug for SimpleHmac { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.debug_struct("SimpleHmac") - .field("digest", &self.digest) - // TODO: replace with `finish_non_exhaustive` on MSRV - // bump to 1.53 - .field("..", &"..") - .finish() - } -} - -#[cfg(feature = "reset")] -#[cfg_attr(docsrs, doc(cfg(feature = "reset")))] -impl Reset for SimpleHmac { - fn reset(&mut self) { - Reset::reset(&mut self.digest); - self.digest.update(&self.ipad_key); - } -} - -#[cfg(feature = "reset")] -#[cfg_attr(docsrs, doc(cfg(feature = "reset")))] -impl FixedOutputReset for SimpleHmac { - fn finalize_into_reset(&mut self, out: &mut Output) { - let mut h = D::new(); - Update::update(&mut h, &self.opad_key); - Update::update(&mut h, &self.digest.finalize_reset()); - Update::update(&mut self.digest, &self.ipad_key); - Digest::finalize_into(h, out); + f.write_str("SimpleHmac { ... }") } } diff --git a/hmac/src/simple_reset.rs b/hmac/src/simple_reset.rs new file mode 100644 index 0000000..dd72f45 --- /dev/null +++ b/hmac/src/simple_reset.rs @@ -0,0 +1,92 @@ +use crate::utils::{IPAD, OPAD, get_der_key}; +use core::fmt; +use digest::{ + Digest, FixedOutput, KeyInit, MacMarker, Output, OutputSizeUser, Update, + crypto_common::{Block, BlockSizeUser, InvalidLength, Key, KeySizeUser}, +}; +use digest::{FixedOutputReset, Reset}; + +/// Simplified HMAC instance with reset support able to operate +/// over hash functions which do not expose block-level API and +/// hash functions which process blocks lazily (e.g. BLAKE2). +#[derive(Clone)] +pub struct SimpleHmacReset { + digest: D, + opad_key: Block, + ipad_key: Block, +} + +impl KeySizeUser for SimpleHmacReset { + type KeySize = D::BlockSize; +} + +impl MacMarker for SimpleHmacReset {} + +impl KeyInit for SimpleHmacReset { + fn new(key: &Key) -> Self { + Self::new_from_slice(key.as_slice()).unwrap() + } + + #[inline] + fn new_from_slice(key: &[u8]) -> Result { + let der_key = get_der_key::(key); + + let mut ipad_key = der_key.clone(); + ipad_key.iter_mut().for_each(|b: &mut u8| *b ^= IPAD); + + let mut digest = D::new(); + digest.update(&ipad_key); + + let mut opad_key = der_key; + opad_key.iter_mut().for_each(|b: &mut u8| *b ^= OPAD); + + Ok(Self { + digest, + opad_key, + ipad_key, + }) + } +} + +impl Update for SimpleHmacReset { + #[inline(always)] + fn update(&mut self, data: &[u8]) { + self.digest.update(data); + } +} + +impl OutputSizeUser for SimpleHmacReset { + type OutputSize = D::OutputSize; +} + +impl FixedOutput for SimpleHmacReset { + fn finalize_into(self, out: &mut Output) { + let mut h = D::new(); + h.update(&self.opad_key); + h.update(self.digest.finalize()); + h.finalize_into(out); + } +} + +impl fmt::Debug for SimpleHmacReset { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("SimpleResetHmac") + } +} + +impl Reset for SimpleHmacReset { + fn reset(&mut self) { + Reset::reset(&mut self.digest); + self.digest.update(&self.ipad_key); + } +} + +impl FixedOutputReset for SimpleHmacReset { + fn finalize_into_reset(&mut self, out: &mut Output) { + let mut h = D::new(); + Update::update(&mut h, &self.opad_key); + Update::update(&mut h, &self.digest.finalize_reset()); + Update::update(&mut self.digest, &self.ipad_key); + Digest::finalize_into(h, out); + } +} diff --git a/hmac/src/utils.rs b/hmac/src/utils.rs new file mode 100644 index 0000000..833108c --- /dev/null +++ b/hmac/src/utils.rs @@ -0,0 +1,32 @@ +use digest::{ + Digest, + block_api::{Block, BlockSizeUser}, +}; + +pub(crate) const IPAD: u8 = 0x36; +pub(crate) const OPAD: u8 = 0x5C; + +pub(crate) fn get_der_key(key: &[u8]) -> Block { + let mut der_key = Block::::default(); + // The key that HMAC processes must be the same as the block size of the + // underlying hash function. If the provided key is smaller than that, + // we just pad it with zeros. If its larger, we hash it and then pad it + // with zeros. + if key.len() <= der_key.len() { + der_key[..key.len()].copy_from_slice(key); + } else { + let hash = D::digest(key); + // All commonly used hash functions have block size bigger + // than output hash size, but to be extra rigorous we + // handle the potential uncommon cases as well. + // The condition is calculated at compile time, so this + // branch gets removed from the final binary. + if hash.len() <= der_key.len() { + der_key[..hash.len()].copy_from_slice(&hash); + } else { + let n = der_key.len(); + der_key.copy_from_slice(&hash[..n]); + } + } + der_key +} diff --git a/hmac/tests/mod.rs b/hmac/tests/mod.rs index 7057384..82f39cc 100644 --- a/hmac/tests/mod.rs +++ b/hmac/tests/mod.rs @@ -1,97 +1,56 @@ -#[cfg(not(feature = "reset"))] -use digest::new_mac_test as test; -#[cfg(feature = "reset")] -use digest::new_resettable_mac_test as test; -use hmac::{Hmac, HmacCore, SimpleHmac}; -use sha1::Sha1; -use sha2::{Sha224, Sha256, Sha384, Sha512}; -use streebog::{Streebog256, Streebog512}; - -#[test] -fn test_debug_impls() { - fn needs_debug() {} - - needs_debug::>(); - needs_debug::>(); - needs_debug::>(); +macro_rules! test { + ($mod_name:ident, $test_name:expr, $hash:ty $(, $t:ident)?) => { + mod $mod_name { + digest::new_mac_test!(hmac, $test_name, hmac::Hmac<$hash> $(, $t)?); + digest::new_mac_test!(simple_hmac, $test_name, hmac::SimpleHmac<$hash> $(, $t)?); + digest::new_resettable_mac_test!( + hmac_reset, + $test_name, + hmac::HmacReset<$hash> + $(, $t)? + ); + digest::new_resettable_mac_test!( + simple_reset_hmac, + $test_name, + hmac::SimpleHmacReset<$hash> + $(, $t)? + ); + } + }; } // Test vectors from RFC 2104, plus wiki test -test!(hmac_md5_rfc2104, "md5", Hmac); -test!(hmac_md5_rfc2104_simple, "md5", SimpleHmac); +test!(md5_rfc2104, "md5", md5::Md5); // Test vectors from RFC 4231 -test!(hmac_sha224_rfc4231, "sha224", Hmac); -test!(hmac_sha256_rfc4231, "sha256", Hmac); -test!(hmac_sha384_rfc4231, "sha384", Hmac); -test!(hmac_sha512_rfc4231, "sha512", Hmac); -test!(hmac_sha224_rfc4231_simple, "sha224", SimpleHmac); -test!(hmac_sha256_rfc4231_simple, "sha256", SimpleHmac); -test!(hmac_sha384_rfc4231_simple, "sha384", SimpleHmac); -test!(hmac_sha512_rfc4231_simple, "sha512", SimpleHmac); +test!(sha224_rfc4231, "sha224", sha2::Sha224); +test!(sha256_rfc4231, "sha256", sha2::Sha256); +test!(sha384_rfc4231, "sha384", sha2::Sha384); +test!(sha512_rfc4231, "sha512", sha2::Sha512); // Test vectors from R 50.1.113-2016: -// https://tc26.ru/standard/rs/Р 50.1.113-2016.pdf -test!(hmac_streebog256, "streebog256", Hmac); -test!(hmac_streebog512, "streebog512", Hmac); -test!( - hmac_streebog256_simple, - "streebog256", - SimpleHmac -); -test!( - hmac_streebog512_simple, - "streebog512", - SimpleHmac -); +// https://tc26.ru/standard/rs/Р%2050.1.113-2016.pdf +test!(treebog256, "streebog256", streebog::Streebog256); +test!(streebog512, "streebog512", streebog::Streebog512); // Tests from Project Wycheproof: // https://github.com/google/wycheproof +test!(sha1_wycheproof, "wycheproof-sha1", sha1::Sha1, trunc_left); test!( - hmac_sha1_wycheproof, - "wycheproof-sha1", - Hmac, - trunc_left, -); -test!( - hmac_sha256_wycheproof, - "wycheproof-sha256", - Hmac, - trunc_left, -); -test!( - hmac_sha384_wycheproof, - "wycheproof-sha384", - Hmac, - trunc_left, -); -test!( - hmac_sha512_wycheproof, - "wycheproof-sha512", - Hmac, - trunc_left, -); -test!( - hmac_sha1_wycheproof_simple, - "wycheproof-sha1", - SimpleHmac, - trunc_left, -); -test!( - hmac_sha256_wycheproof_simple, + sha256_wycheproof, "wycheproof-sha256", - SimpleHmac, - trunc_left, + sha2::Sha256, + trunc_left ); test!( - hmac_sha384_wycheproof_simple, + sha384_wycheproof, "wycheproof-sha384", - SimpleHmac, - trunc_left, + sha2::Sha384, + trunc_left ); test!( - hmac_sha512_wycheproof_simple, + sha512_wycheproof, "wycheproof-sha512", - SimpleHmac, - trunc_left, + sha2::Sha512, + trunc_left ); diff --git a/pmac/CHANGELOG.md b/pmac/CHANGELOG.md index 2cee94a..c4a7a3e 100644 --- a/pmac/CHANGELOG.md +++ b/pmac/CHANGELOG.md @@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.8.0 (UNRELEASED) +### Changed +- Edition changed to 2024 and MSRV bumped to 1.85 +- Relax MSRV policy and allow MSRV bumps in patch releases +- Update to `digest` v0.11 +- Update to `cipher` v0.5 +- Replace type aliases with newtypes ([#186]) + +### Removed +- `std` crate feature ([#186]) + +[#186]: https://github.com/RustCrypto/MACs/pull/186 + ## 0.7.1 (2022-02-17) ### Fixed - Minimal versions build ([#108]) diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index bdb0fed..2a65d3b 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -22,9 +22,7 @@ aes = "0.9.0-pre.3" digest = { version = "=0.11.0-pre.10", features = ["dev"] } [features] -std = ["digest/std"] -zeroize = ["cipher/zeroize"] +zeroize = ["cipher/zeroize", "digest/zeroize"] [package.metadata.docs.rs] all-features = true -rustdoc-args = ["--cfg", "docsrs"] diff --git a/pmac/src/block_api.rs b/pmac/src/block_api.rs new file mode 100644 index 0000000..6b1faea --- /dev/null +++ b/pmac/src/block_api.rs @@ -0,0 +1,236 @@ +use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt, ParBlocks}; +use core::fmt; +use dbl::Dbl; +use digest::{ + MacMarker, Output, OutputSizeUser, Reset, + array::{Array, ArraySize}, + block_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, Lazy, + UpdateCore, + }, + crypto_common::{InnerInit, InnerUser}, + typenum::Unsigned, +}; + +#[cfg(feature = "zeroize")] +use cipher::zeroize::{Zeroize, ZeroizeOnDrop}; + +/// Generic PMAC instance +/// +/// `LC_SIZE` regulates size of pre-computed table used in PMAC computation. +/// With `LC_SIZE = 20` and for 128-bit block cipher the table is sufficient +/// for 16*2^20 = 16 MiB of input data. For longer messages the `l` value will +/// be computed on the fly from the last table value, which will be a bit less +/// efficient. +#[derive(Clone)] +pub struct PmacCore { + state: PmacState, + cipher: C, +} + +#[derive(Clone)] +struct PmacState { + counter: usize, + l_inv: Block, + l_cache: [Block; LC_SIZE], + tag: Block, + offset: Block, +} + +impl PmacState { + #[inline(always)] + fn next_offset(&mut self) -> &Block { + let ntz = self.counter.trailing_zeros() as usize; + self.counter += 1; + let l = if ntz < LC_SIZE { + self.l_cache[ntz].clone() + } else { + let mut block = self.l_cache[LC_SIZE - 1].clone(); + for _ in LC_SIZE - 1..ntz { + block = C::dbl(block); + } + block + }; + xor(&mut self.offset, &l); + &self.offset + } +} + +impl Drop for PmacState { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.counter.zeroize(); + self.l_inv.zeroize(); + self.l_cache.iter_mut().for_each(|c| c.zeroize()); + self.tag.zeroize(); + self.offset.zeroize(); + } + } +} + +impl BlockSizeUser for PmacCore { + type BlockSize = C::BlockSize; +} + +impl OutputSizeUser for PmacCore { + type OutputSize = C::BlockSize; +} + +impl InnerUser for PmacCore { + type Inner = C; +} + +impl MacMarker for PmacCore {} + +impl Reset for PmacCore { + #[inline(always)] + fn reset(&mut self) { + self.state.tag = Default::default(); + self.state.offset = Default::default(); + self.state.counter = 1; + } +} + +impl BufferKindUser for PmacCore { + type BufferKind = Lazy; +} + +impl AlgorithmName for PmacCore { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Pmac<")?; + ::write_alg_name(f)?; + f.write_str(">") + } +} + +impl fmt::Debug for PmacCore { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("PmacCore { ... }") + } +} + +impl InnerInit for PmacCore { + #[inline] + fn inner_init(cipher: C) -> Self { + let mut l = Default::default(); + cipher.encrypt_block(&mut l); + let l_inv = C::inv_dbl(l.clone()); + + let l_cache = [(); LC_SIZE].map(|_| { + let next_l = C::dbl(l.clone()); + core::mem::replace(&mut l, next_l) + }); + + let state = PmacState { + l_cache, + l_inv, + tag: Default::default(), + offset: Default::default(), + counter: 1, + }; + Self { cipher, state } + } +} + +impl UpdateCore for PmacCore { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + struct Closure<'a, C: PmacCipher, const LC_SIZE: usize> { + state: &'a mut PmacState, + blocks: &'a [Block], + } + + impl BlockSizeUser for Closure<'_, C, LC_SIZE> { + type BlockSize = C::BlockSize; + } + + impl BlockCipherEncClosure for Closure<'_, C, LC_SIZE> { + #[inline(always)] + fn call>(self, backend: &B) { + let Self { mut blocks, state } = self; + if B::ParBlocksSize::USIZE > 1 { + // TODO: replace with `slice::as_chunks` on stabilization + // and migration to const generics + let mut iter = blocks.chunks_exact(B::ParBlocksSize::USIZE); + for chunk in &mut iter { + let mut tmp = ParBlocks::::try_from(chunk).expect("size mismatch"); + + for block in tmp.iter_mut() { + xor(block, state.next_offset()); + } + + backend.encrypt_par_blocks((&mut tmp).into()); + + for t in tmp.iter() { + xor(&mut state.tag, t); + } + } + blocks = iter.remainder(); + } + + for block in blocks { + let mut block = block.clone(); + xor(&mut block, state.next_offset()); + backend.encrypt_block((&mut block).into()); + xor(&mut state.tag, &block); + } + } + } + + let Self { cipher, state } = self; + cipher.encrypt_with_backend(Closure { blocks, state }) + } +} + +impl FixedOutputCore for PmacCore { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let Self { + cipher, + state: PmacState { tag, l_inv, .. }, + } = self; + let pos = buffer.get_pos(); + let buf = buffer.pad_with_zeros(); + if pos == buf.len() { + xor(tag, &buf); + xor(tag, l_inv); + } else { + tag[pos] ^= 0x80; + xor(tag, &buf); + } + cipher.encrypt_block_b2b(tag, out); + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for PmacCore {} + +#[inline(always)] +fn xor(buf: &mut Array, data: &Array) { + for i in 0..N::USIZE { + buf[i] ^= data[i]; + } +} + +/// Helper trait implemented for cipher supported by CMAC +pub trait PmacCipher: BlockSizeUser + BlockCipherEncrypt + Clone { + /// Double block. See the [`Dbl`] trait docs for more information. + fn dbl(block: Block) -> Block; + /// Reverse double block.. See the [`Dbl`] trait docs for more information. + fn inv_dbl(block: Block) -> Block; +} + +impl PmacCipher for C +where + Self: BlockSizeUser + BlockCipherEncrypt + Clone, + Block: Dbl, +{ + fn dbl(block: Block) -> Block { + block.dbl() + } + + fn inv_dbl(block: Block) -> Block { + block.inv_dbl() + } +} diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index 936e70e..a3fb675 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -44,324 +44,27 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] -#![cfg_attr(docsrs, feature(doc_cfg))] -#![warn(missing_docs, rust_2018_idioms)] - -#[cfg(feature = "std")] -extern crate std; +#![warn(missing_docs)] pub use digest::{self, KeyInit, Mac}; -use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt, ParBlocks}; -use core::fmt; -use dbl::Dbl; -use digest::{ - MacMarker, Output, OutputSizeUser, Reset, - array::{ - Array, ArraySize, - typenum::{IsLess, Le, NonZero, U256, Unsigned}, - }, - block_buffer::Lazy, - core_api::{ - AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, - UpdateCore, - }, - crypto_common::{BlockSizes, InnerInit, InnerUser}, -}; - -#[cfg(feature = "zeroize")] -use cipher::zeroize::{Zeroize, ZeroizeOnDrop}; - -/// Generic CMAC instance. -pub type Pmac = CoreWrapper>; - -/// Generic PMAC instance -/// -/// `LC_SIZE` regulates size of pre-computed table used in PMAC computation. -/// With `LC_SIZE = 20` and for 128-bit block cipher the table is sufficient -/// for 16*2^20 = 16 MiB of input data. For longer messages the `l` value will -/// be computed on the fly from the last table value, which will be a bit less -/// efficient. -// TODO: make LC_SIZE default to 20 on stabilization of -// https://github.com/rust-lang/rust/issues/44580 -#[derive(Clone)] -pub struct PmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - state: PmacState, - cipher: C, -} - -#[derive(Clone)] -struct PmacState -where - N: BlockSizes, - Array: Dbl, -{ - counter: usize, - l_inv: Block, - l_cache: [Block; LC_SIZE], - tag: Block, - offset: Block, -} - -impl BlockSizeUser for PmacState -where - N: BlockSizes, - Array: Dbl, -{ - type BlockSize = N; -} +/// Block-level implementation. +pub mod block_api; -impl PmacState -where - N: BlockSizes, - Array: Dbl, -{ - #[inline(always)] - fn next_offset(&mut self) -> &Block { - let ntz = self.counter.trailing_zeros() as usize; - self.counter += 1; - let l = if ntz < LC_SIZE { - self.l_cache[ntz].clone() - } else { - let mut block = self.l_cache[LC_SIZE - 1].clone(); - for _ in LC_SIZE - 1..ntz { - block = block.dbl(); - } - block - }; - xor(&mut self.offset, &l); - &self.offset - } -} - -#[cfg(feature = "zeroize")] -impl Drop for PmacState -where - N: BlockSizes, - Array: Dbl, -{ - fn drop(&mut self) { - self.counter.zeroize(); - self.l_inv.zeroize(); - self.l_cache.iter_mut().for_each(|c| c.zeroize()); - self.tag.zeroize(); - self.offset.zeroize(); - } -} - -impl BlockSizeUser for PmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - type BlockSize = C::BlockSize; -} - -impl OutputSizeUser for PmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - type OutputSize = C::BlockSize; -} - -impl InnerUser for PmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - type Inner = C; -} - -impl MacMarker for PmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ -} - -impl Reset for PmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - #[inline(always)] - fn reset(&mut self) { - self.state.tag = Default::default(); - self.state.offset = Default::default(); - self.state.counter = 1; - } -} +use block_api::PmacCipher; +use core::fmt; +use digest::block_api::{AlgorithmName, CoreProxy}; -impl BufferKindUser for PmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - type BufferKind = Lazy; -} +digest::buffer_fixed!( + /// Generic PMAC instance with `LC_SIZE` = 20. + pub struct Pmac(block_api::PmacCore); + impl: ResetMacTraits InnerInit; +); -impl AlgorithmName for PmacCore -where - C: BlockCipherEncrypt + Clone + AlgorithmName, - Block: Dbl, -{ +impl AlgorithmName for Pmac { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("Pmac<")?; - ::write_alg_name(f)?; - f.write_str(">") - } -} - -impl fmt::Debug for PmacCore -where - C: BlockCipherEncrypt + Clone + AlgorithmName, - Block: Dbl, -{ - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("PmacCore<")?; - ::write_alg_name(f)?; - f.write_str("> { ... }") - } -} - -impl InnerInit for PmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - #[inline] - fn inner_init(cipher: C) -> Self { - let mut l = Default::default(); - cipher.encrypt_block(&mut l); - let l_inv = l.clone().inv_dbl(); - - let l_cache = [(); LC_SIZE].map(|_| { - let next_l = l.clone().dbl(); - core::mem::replace(&mut l, next_l) - }); - - let state = PmacState { - l_cache, - l_inv, - tag: Default::default(), - offset: Default::default(), - counter: 1, - }; - Self { cipher, state } - } -} - -impl UpdateCore for PmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, -{ - #[inline] - fn update_blocks(&mut self, blocks: &[Block]) { - struct Closure<'a, N, const LC_SIZE: usize> - where - N: BlockSizes, - Array: Dbl, - { - state: &'a mut PmacState, - blocks: &'a [Block], - } - - impl BlockSizeUser for Closure<'_, N, LC_SIZE> - where - N: BlockSizes, - Array: Dbl, - { - type BlockSize = N; - } - - impl BlockCipherEncClosure for Closure<'_, N, LC_SIZE> - where - N: BlockSizes, - Array: Dbl, - { - #[inline(always)] - fn call>(self, backend: &B) { - let Self { mut blocks, state } = self; - if B::ParBlocksSize::USIZE > 1 { - // TODO: replace with `slice::as_chunks` on stabilization - // and migration to const generics - let mut iter = blocks.chunks_exact(B::ParBlocksSize::USIZE); - for chunk in &mut iter { - let mut tmp = ParBlocks::::try_from(chunk).expect("size mismatch"); - - for block in tmp.iter_mut() { - xor(block, state.next_offset()); - } - - backend.encrypt_par_blocks((&mut tmp).into()); - - for t in tmp.iter() { - xor(&mut state.tag, t); - } - } - blocks = iter.remainder(); - } - - for block in blocks { - let mut block = block.clone(); - xor(&mut block, state.next_offset()); - backend.encrypt_block((&mut block).into()); - xor(&mut state.tag, &block); - } - } - } - - let Self { cipher, state } = self; - cipher.encrypt_with_backend(Closure { blocks, state }) - } -} - -impl FixedOutputCore for PmacCore -where - C: BlockCipherEncrypt + Clone, - Block: Dbl, - C::BlockSize: IsLess, - Le: NonZero, -{ - #[inline] - fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { - let Self { - cipher, - state: PmacState { tag, l_inv, .. }, - } = self; - let pos = buffer.get_pos(); - let buf = buffer.pad_with_zeros(); - if pos == buf.len() { - xor(tag, &buf); - xor(tag, l_inv); - } else { - tag[pos] ^= 0x80; - xor(tag, &buf); - } - cipher.encrypt_block_b2b(tag, out); - } -} - -#[cfg(feature = "zeroize")] -impl ZeroizeOnDrop for PmacCore -where - C: BlockCipherEncrypt + Clone + ZeroizeOnDrop, - Block: Dbl, - C::BlockSize: IsLess, - Le: NonZero, -{ -} - -#[inline(always)] -fn xor(buf: &mut Array, data: &Array) { - for i in 0..N::USIZE { - buf[i] ^= data[i]; + ::Core::write_alg_name(f) } } diff --git a/retail-mac/CHANGELOG.md b/retail-mac/CHANGELOG.md index dae238b..956a57d 100644 --- a/retail-mac/CHANGELOG.md +++ b/retail-mac/CHANGELOG.md @@ -5,7 +5,5 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.1.0 (2024-??-??) -- Initial release ([#170]) - -[#170]: https://github.com/RustCrypto/MACs/pull/170 +## 0.1.0 (UNRELEASED) +- Initial release diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index 02ed7ba..3cc7ad9 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -23,9 +23,7 @@ aes = "0.9.0-pre.2" des = "0.9.0-pre.2" [features] -std = ["digest/std"] -zeroize = ["cipher/zeroize"] +zeroize = ["cipher/zeroize", "digest/zeroize"] [package.metadata.docs.rs] all-features = true -rustdoc-args = ["--cfg", "docsrs"] diff --git a/retail-mac/src/block_api.rs b/retail-mac/src/block_api.rs new file mode 100644 index 0000000..287d209 --- /dev/null +++ b/retail-mac/src/block_api.rs @@ -0,0 +1,191 @@ +use cipher::{ + BlockCipherDecrypt, BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt, + InvalidLength, KeySizeUser, +}; +use core::{fmt, ops::Mul}; +use digest::{ + Key, KeyInit, MacMarker, Output, OutputSizeUser, Reset, + array::{Array, ArraySize}, + block_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, Eager, FixedOutputCore, + UpdateCore, + }, + crypto_common::BlockSizes, + typenum::{Prod, U2}, +}; + +#[cfg(feature = "zeroize")] +use cipher::zeroize::{Zeroize, ZeroizeOnDrop}; + +/// Generic core Retail MAC instance, which operates over blocks. +#[derive(Clone)] +pub struct RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + cipher: C, + cipher_prime: C, + state: Block, +} + +impl BlockSizeUser for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + type BlockSize = C::BlockSize; +} + +impl OutputSizeUser for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + type OutputSize = C::BlockSize; +} + +impl KeySizeUser for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + ::BlockSize: Mul, + Prod<::BlockSize, U2>: ArraySize, +{ + type KeySize = Prod<::BlockSize, U2>; +} + +impl MacMarker for RetailMacCore where C: BlockCipherEncrypt + BlockCipherDecrypt + Clone {} + +impl BufferKindUser for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + type BufferKind = Eager; +} + +impl KeyInit for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + KeyInit, + ::BlockSize: Mul, + Prod<::BlockSize, U2>: ArraySize, +{ + #[inline(always)] + fn new(key: &Key) -> Self { + Self::new_from_slice(key.as_slice()).unwrap() + } + + #[inline(always)] + fn new_from_slice(key: &[u8]) -> Result { + let cipher = C::new_from_slice(&key[..key.len() / 2])?; + let cipher_prime = C::new_from_slice(&key[key.len() / 2..])?; + Ok(Self { + cipher, + cipher_prime, + state: Block::::default(), + }) + } +} + +impl UpdateCore for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + struct Closure<'a, N: BlockSizes> { + state: &'a mut Block, + blocks: &'a [Block], + } + + impl BlockSizeUser for Closure<'_, N> { + type BlockSize = N; + } + + impl BlockCipherEncClosure for Closure<'_, N> { + #[inline(always)] + fn call>(self, backend: &B) { + for block in self.blocks { + xor(self.state, block); + backend.encrypt_block((self.state).into()); + } + } + } + + let Self { cipher, state, .. } = self; + cipher.encrypt_with_backend(Closure { state, blocks }) + } +} + +impl Reset for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + #[inline(always)] + fn reset(&mut self) { + self.state = Default::default(); + } +} + +impl FixedOutputCore for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let Self { + state, + cipher, + cipher_prime, + } = self; + let pos = buffer.get_pos(); + if pos != 0 { + xor(state, &buffer.pad_with_zeros()); + cipher.encrypt_block(state); + } + cipher_prime.decrypt_block(state); + cipher.encrypt_block(state); + out.copy_from_slice(state); + } +} + +impl AlgorithmName for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + AlgorithmName, +{ + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("RetailMac<")?; + ::write_alg_name(f)?; + f.write_str(">") + } +} + +impl fmt::Debug for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + AlgorithmName, +{ + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("RetailMacCore<")?; + ::write_alg_name(f)?; + f.write_str("> { ... }") + } +} + +#[cfg(feature = "zeroize")] +impl Drop for RetailMacCore +where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, +{ + fn drop(&mut self) { + self.state.zeroize(); + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for RetailMacCore where + C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + ZeroizeOnDrop +{ +} + +#[inline(always)] +fn xor(buf: &mut Array, data: &Array) { + for i in 0..N::USIZE { + buf[i] ^= data[i]; + } +} diff --git a/retail-mac/src/lib.rs b/retail-mac/src/lib.rs index 8c19121..4cf1cb0 100644 --- a/retail-mac/src/lib.rs +++ b/retail-mac/src/lib.rs @@ -2,7 +2,7 @@ //! implemented in pure Rust and generic over block cipher. //! //! **WARNING!** The algorithm has known weaknesses in case of variable-length -//! messages. See the Wikipedia article for (CBC-MAC)[CBC-MAC] for more information. +//! messages. See the Wikipedia article for [CBC-MAC] for more information. //! //! # Examples //! @@ -36,210 +36,68 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![deny(unsafe_code)] -#![cfg_attr(docsrs, feature(doc_cfg))] -#![warn(missing_docs, rust_2018_idioms)] +#![warn(missing_docs)] pub use digest::{self, Key, KeyInit, Mac}; -use cipher::{ - BlockCipherDecrypt, BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt, - InvalidLength, KeySizeUser, -}; -use core::fmt; +/// Block-level implementation. +pub mod block_api; + +use block_api::RetailMacCore; +use cipher::{AlgorithmName, BlockCipherDecrypt, BlockCipherEncrypt, BlockSizeUser, KeySizeUser}; +use core::{fmt, ops::Mul}; use digest::{ - MacMarker, Output, OutputSizeUser, Reset, - array::{ - Array, ArraySize, - typenum::{IsLess, Le, NonZero, U2, U256}, - }, - block_buffer::Eager, - core_api::{ - AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, - UpdateCore, - }, - crypto_common::BlockSizes, + InvalidLength, + array::ArraySize, + block_api::CoreProxy, + typenum::{Prod, U2}, }; -#[cfg(feature = "zeroize")] -use cipher::zeroize::{Zeroize, ZeroizeOnDrop}; - -/// Generic Retail MAC instance. -pub type RetailMac = CoreWrapper>; - -/// Generic core Retail MAC instance, which operates over blocks. -#[derive(Clone)] -pub struct RetailMacCore -where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, -{ - cipher: C, - cipher_prime: C, - state: Block, -} - -impl BlockSizeUser for RetailMacCore -where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, -{ - type BlockSize = C::BlockSize; -} +digest::buffer_fixed!( + /// Generic Retail MAC instance. + pub struct RetailMac(RetailMacCore); + impl: ResetMacTraits; +); -impl OutputSizeUser for RetailMacCore +impl KeySizeUser for RetailMac where C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + ::BlockSize: Mul, + Prod<::BlockSize, U2>: ArraySize, { - type OutputSize = C::BlockSize; + type KeySize = Prod<::BlockSize, U2>; } -impl KeySizeUser for RetailMacCore -where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, - ::BlockSize: core::ops::Mul, - <::BlockSize as core::ops::Mul>::Output: ArraySize, -{ - type KeySize = <::BlockSize as core::ops::Mul>::Output; -} - -impl MacMarker for RetailMacCore where C: BlockCipherEncrypt + BlockCipherDecrypt + Clone {} - -impl BufferKindUser for RetailMacCore -where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, -{ - type BufferKind = Eager; -} - -impl KeyInit for RetailMacCore +impl KeyInit for RetailMac where C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + KeyInit, - ::BlockSize: core::ops::Mul, - <::BlockSize as core::ops::Mul>::Output: ArraySize, + ::BlockSize: Mul, + Prod<::BlockSize, U2>: ArraySize, { #[inline(always)] fn new(key: &Key) -> Self { - Self::new_from_slice(key.as_slice()).unwrap() + Self { + core: KeyInit::new(key), + buffer: Default::default(), + } } #[inline(always)] fn new_from_slice(key: &[u8]) -> Result { - let cipher = C::new_from_slice(&key[..key.len() / 2])?; - let cipher_prime = C::new_from_slice(&key[key.len() / 2..])?; - Ok(Self { - cipher, - cipher_prime, - state: Block::::default(), + KeyInit::new_from_slice(key).map(|core| Self { + core, + buffer: Default::default(), }) } } -impl UpdateCore for RetailMacCore -where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, -{ - #[inline] - fn update_blocks(&mut self, blocks: &[Block]) { - struct Closure<'a, N: BlockSizes> { - state: &'a mut Block, - blocks: &'a [Block], - } - - impl BlockSizeUser for Closure<'_, N> { - type BlockSize = N; - } - - impl BlockCipherEncClosure for Closure<'_, N> { - #[inline(always)] - fn call>(self, backend: &B) { - for block in self.blocks { - xor(self.state, block); - backend.encrypt_block((self.state).into()); - } - } - } - - let Self { cipher, state, .. } = self; - cipher.encrypt_with_backend(Closure { state, blocks }) - } -} - -impl Reset for RetailMacCore -where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, -{ - #[inline(always)] - fn reset(&mut self) { - self.state = Default::default(); - } -} - -impl FixedOutputCore for RetailMacCore -where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, - C::BlockSize: IsLess, - Le: NonZero, -{ - #[inline] - fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { - let Self { - state, - cipher, - cipher_prime, - } = self; - let pos = buffer.get_pos(); - if pos != 0 { - xor(state, &buffer.pad_with_zeros()); - cipher.encrypt_block(state); - } - cipher_prime.decrypt_block(state); - cipher.encrypt_block(state); - out.copy_from_slice(state); - } -} - -impl AlgorithmName for RetailMacCore +impl AlgorithmName for RetailMac where C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("RetailMac<")?; - ::write_alg_name(f)?; - f.write_str(">") - } -} - -impl fmt::Debug for RetailMacCore -where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + AlgorithmName, -{ - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("RetailMacCore<")?; - ::write_alg_name(f)?; - f.write_str("> { ... }") - } -} - -#[cfg(feature = "zeroize")] -#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] -impl Drop for RetailMacCore -where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, -{ - fn drop(&mut self) { - self.state.zeroize(); - } -} - -#[cfg(feature = "zeroize")] -#[cfg_attr(docsrs, doc(cfg(feature = "zeroize")))] -impl ZeroizeOnDrop for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + ZeroizeOnDrop -{ -} - -#[inline(always)] -fn xor(buf: &mut Array, data: &Array) { - for i in 0..N::USIZE { - buf[i] ^= data[i]; + ::Core::write_alg_name(f) } } From 437be17a313dc7f7ef41ef91506afccc16169a0e Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 26 May 2025 13:28:07 +0300 Subject: [PATCH 062/123] ci: remove `--release` flags (#187) --- .github/workflows/belt-mac.yml | 8 ++++---- .github/workflows/cbc-mac.yml | 8 ++++---- .github/workflows/cmac.yml | 8 ++++---- .github/workflows/hmac.yml | 8 ++++---- .github/workflows/pmac.yml | 8 ++++---- .github/workflows/retail-mac.yml | 8 ++++---- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index 310d3cc..b48c8f7 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -35,7 +35,7 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: # disabled until belt-block gets published @@ -57,6 +57,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --release --no-default-features - - run: cargo test --release - - run: cargo test --release --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index 88f1f67..df4d10a 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -36,7 +36,7 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: # disabled until belt-block gets published @@ -58,6 +58,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --release --no-default-features - - run: cargo test --release - - run: cargo test --release --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index a50d606..9312240 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -35,7 +35,7 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: # disabled until belt-block gets published @@ -57,6 +57,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --release --no-default-features - - run: cargo test --release - - run: cargo test --release --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index e887750..9d8a0c9 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -36,7 +36,7 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: if: false # TODO: temp disabled due to unpublished prerelease dependencies @@ -57,6 +57,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --release --no-default-features - - run: cargo test --release - - run: cargo test --release --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index a4ef239..58ae382 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -35,7 +35,7 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: # disabled until belt-block gets published @@ -57,6 +57,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --release --no-default-features - - run: cargo test --release - - run: cargo test --release --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/retail-mac.yml b/.github/workflows/retail-mac.yml index 87dd816..f1a703e 100644 --- a/.github/workflows/retail-mac.yml +++ b/.github/workflows/retail-mac.yml @@ -35,7 +35,7 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: # disabled until belt-block gets published @@ -57,6 +57,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --release --no-default-features - - run: cargo test --release - - run: cargo test --release --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features From 64d671d5c375838173d18e30bc14dffc80c13e51 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 26 May 2025 16:41:51 +0300 Subject: [PATCH 063/123] ci: use cargo-hack and add `--release` tests (#188) --- .github/workflows/belt-mac.yml | 6 +++--- .github/workflows/cbc-mac.yml | 6 +++--- .github/workflows/cmac.yml | 6 +++--- .github/workflows/hmac.yml | 6 +++--- .github/workflows/pmac.yml | 6 +++--- .github/workflows/retail-mac.yml | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index b48c8f7..605ed0a 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -57,6 +57,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + - run: cargo test --release --all-features diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index df4d10a..afe5ccd 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -58,6 +58,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + - run: cargo test --release --all-features diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 9312240..085400b 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -57,6 +57,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + - run: cargo test --release --all-features diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 9d8a0c9..7ad917d 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -57,6 +57,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + - run: cargo test --release --all-features diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 58ae382..09f3c39 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -57,6 +57,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + - run: cargo test --release --all-features diff --git a/.github/workflows/retail-mac.yml b/.github/workflows/retail-mac.yml index f1a703e..8e6e96d 100644 --- a/.github/workflows/retail-mac.yml +++ b/.github/workflows/retail-mac.yml @@ -57,6 +57,6 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + - run: cargo test --release --all-features From 55327cab3a3aea0cfb3b7fafde6649bbd425beb7 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 28 May 2025 14:44:54 +0300 Subject: [PATCH 064/123] hmac: move `EagerHash` to the crate root (#189) The trait was unintentionally moved to the `block_api` module. Since it's used in generic code with non-block `Hmac` and `HmacReset` types, it's worth to expose it in the crate root. --- hmac/src/block_api.rs | 32 +++----------------------------- hmac/src/lib.rs | 2 +- hmac/src/utils.rs | 32 ++++++++++++++++++++++++++++++-- 3 files changed, 34 insertions(+), 32 deletions(-) diff --git a/hmac/src/block_api.rs b/hmac/src/block_api.rs index bb69945..a9177ce 100644 --- a/hmac/src/block_api.rs +++ b/hmac/src/block_api.rs @@ -1,41 +1,15 @@ -use crate::utils::{IPAD, OPAD, get_der_key}; +use crate::utils::{EagerHash, IPAD, OPAD, get_der_key}; use core::{fmt, slice}; use digest::{ - Digest, HashMarker, InvalidLength, KeyInit, MacMarker, Output, Reset, + InvalidLength, KeyInit, MacMarker, Output, Reset, block_api::{ - AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreProxy, FixedOutputCore, + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, OutputSizeUser, UpdateCore, }, block_buffer::Eager, crypto_common::{Key, KeySizeUser}, }; -/// Trait implemented by eager hashes which expose their block-level core. -pub trait EagerHash: BlockSizeUser + Digest { - /// Block-level core type of the hash. - type Core: HashMarker - + UpdateCore - + FixedOutputCore - + BlockSizeUser::BlockSize> - + BufferKindUser - + Default - + Clone; -} - -impl EagerHash for T -where - T: CoreProxy + BlockSizeUser + Digest, - ::Core: HashMarker - + UpdateCore - + FixedOutputCore - + BlockSizeUser::BlockSize> - + BufferKindUser - + Default - + Clone, -{ - type Core = T::Core; -} - /// Generic core HMAC instance, which operates over blocks. pub struct HmacCore { digest: D::Core, diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index 3389646..430945c 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -106,8 +106,8 @@ mod utils; pub use simple::SimpleHmac; pub use simple_reset::SimpleHmacReset; +pub use utils::EagerHash; -use block_api::EagerHash; use core::fmt; use digest::block_api::{AlgorithmName, CoreProxy}; diff --git a/hmac/src/utils.rs b/hmac/src/utils.rs index 833108c..bffb77f 100644 --- a/hmac/src/utils.rs +++ b/hmac/src/utils.rs @@ -1,6 +1,8 @@ use digest::{ - Digest, - block_api::{Block, BlockSizeUser}, + Digest, HashMarker, + block_api::{ + Block, BlockSizeUser, BufferKindUser, CoreProxy, Eager, FixedOutputCore, UpdateCore, + }, }; pub(crate) const IPAD: u8 = 0x36; @@ -30,3 +32,29 @@ pub(crate) fn get_der_key(key: &[u8]) -> Block { } der_key } + +/// Trait implemented by eager hashes which expose their block-level core. +pub trait EagerHash: BlockSizeUser + Digest { + /// Block-level core type of the hash. + type Core: HashMarker + + UpdateCore + + FixedOutputCore + + BlockSizeUser::BlockSize> + + BufferKindUser + + Default + + Clone; +} + +impl EagerHash for T +where + T: CoreProxy + BlockSizeUser + Digest, + ::Core: HashMarker + + UpdateCore + + FixedOutputCore + + BlockSizeUser::BlockSize> + + BufferKindUser + + Default + + Clone, +{ + type Core = T::Core; +} From 05c5bebefeee38973acfa661e8c5caa4600a275a Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 28 May 2025 15:19:59 +0300 Subject: [PATCH 065/123] hmac: remove explicit `--cfg docsrs` (#190) The flag is passed automatically by docs.rs. --- hmac/Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index cc45a20..97512c9 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -28,4 +28,3 @@ zeroize = ["digest/zeroize"] [package.metadata.docs.rs] all-features = true -rustdoc-args = ["--cfg", "docsrs"] From 9225ab415cd1c58e644fe6fb2c0b7e30aa688abc Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 28 May 2025 16:17:31 +0300 Subject: [PATCH 066/123] Use `#![doc = include_str!("../README.md")]` in all crates (#191) --- README.md | 2 +- belt-mac/README.md | 18 ++------ belt-mac/src/lib.rs | 2 +- cbc-mac/README.md | 29 +++++++----- cbc-mac/src/lib.rs | 29 +----------- cmac/README.md | 45 ++++++++++++++---- cmac/src/lib.rs | 42 +---------------- hmac/README.md | 105 ++++++++++++++++++++++++++++++++++++++---- hmac/src/lib.rs | 95 ++++---------------------------------- pmac/README.md | 43 +++++++++++++---- pmac/src/lib.rs | 42 +---------------- retail-mac/README.md | 32 +++++++++---- retail-mac/src/lib.rs | 36 +-------------- 13 files changed, 224 insertions(+), 296 deletions(-) diff --git a/README.md b/README.md index 31a6a0e..7a86a01 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [deps-image]: https://deps.rs/repo/github/RustCrypto/MACs/status.svg [deps-link]: https://deps.rs/repo/github/RustCrypto/MACs -[msrv-1.85]: https://img.shields.io/badge/rustc-1.85.0+-blue.svg +[msrv-1.85]: https://img.shields.io/badge/rustc-1.85+-blue.svg [//]: # (crates) diff --git a/belt-mac/README.md b/belt-mac/README.md index c7d9649..141650b 100644 --- a/belt-mac/README.md +++ b/belt-mac/README.md @@ -7,7 +7,7 @@ ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -Pure Rust implementation of [`belt-mac`]. +Pure Rust implementation of [`belt-mac`][1]. # Example ```rust @@ -31,18 +31,6 @@ mac.update(b"input message"); mac.verify(&tag_bytes).unwrap(); ``` -## Minimum Supported Rust Version - -Rust **1.81** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - ## License Licensed under either of: @@ -65,7 +53,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/belt-mac/badge.svg [docs-link]: https://docs.rs/belt-mac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs [build-image]: https://github.com/RustCrypto/MACs/workflows/belt-mac/badge.svg?branch=master&event=push @@ -73,4 +61,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[belt-mac]: https://apmi.bsu.by/assets/files/std/belt-spec371.pdf +[1]: https://apmi.bsu.by/assets/files/std/belt-spec371.pdf diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index 9cfb035..df7e98b 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -4,8 +4,8 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] -#![forbid(unsafe_code)] #![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![forbid(unsafe_code)] #![warn(missing_docs)] pub use digest::{self, KeyInit, Mac}; diff --git a/cbc-mac/README.md b/cbc-mac/README.md index 80ca418..5942e13 100644 --- a/cbc-mac/README.md +++ b/cbc-mac/README.md @@ -7,21 +7,28 @@ ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -Pure Rust implementation of the [Cipher Block Chaining Message Authentication Code (CBC-MAC)][CBC-MAC]. +Generic implementation of [Cipher Block Chaining Message Authentication Code (CBC-MAC)][CBC-MAC]. -[Documentation][docs-link] +**WARNING!** The algorithm has known weaknesses in case of variable-length +messages. See the linked Wikipedia article for more information. -## Minimum Supported Rust Version +## Examples -Rust **1.81** or higher. +```rust +use cbc_mac::{digest::KeyInit, CbcMac, Mac}; +use des::Des; +use hex_literal::hex; -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. +// CBC-MAC with the DES block cipher is equivalent to DAA +type Daa = CbcMac; -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above +// test from FIPS 113 +let key = hex!("0123456789ABCDEF"); +let mut mac = Daa::new_from_slice(&key).unwrap(); +mac.update(b"7654321 Now is the time for "); +let correct = hex!("F1D30F6849312CA4"); +mac.verify_slice(&correct).unwrap(); +``` ## License @@ -45,7 +52,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/cbc-mac/badge.svg [docs-link]: https://docs.rs/cbc-mac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs [build-image]: https://github.com/RustCrypto/MACs/workflows/cbc-mac/badge.svg?branch=master&event=push diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index 40a2ef5..0d189fd 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -1,36 +1,11 @@ -//! [Cipher Block Chaining Message Authentication Code (CBC-MAC)][CBC-MAC] -//! implemented in pure Rust and generic over block cipher. -//! -//! **WARNING!** The algorithm has known weaknesses in case of variable-length -//! messages. See the linked Wikipedia article for more information. -//! -//! # Examples -//! -//! ``` -//! use cbc_mac::{digest::KeyInit, CbcMac, Mac}; -//! use des::Des; -//! use hex_literal::hex; -//! -//! // CBC-MAC with the DES block cipher is equivalent to DAA -//! type Daa = CbcMac; -//! -//! // test from FIPS 113 -//! let key = hex!("0123456789ABCDEF"); -//! let mut mac = Daa::new_from_slice(&key).unwrap(); -//! mac.update(b"7654321 Now is the time for "); -//! let correct = hex!("F1D30F6849312CA4"); -//! mac.verify_slice(&correct).unwrap(); -//! ``` -//! -//! [CBC-MAC]: https://en.wikipedia.org/wiki/CBC-MAC - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![cfg_attr(docsrs, feature(doc_auto_cfg))] -#![deny(unsafe_code)] +#![forbid(unsafe_code)] #![warn(missing_docs)] pub use digest::{self, KeyInit, Mac}; diff --git a/cmac/README.md b/cmac/README.md index 5101e25..f99f34a 100644 --- a/cmac/README.md +++ b/cmac/README.md @@ -7,21 +7,45 @@ ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -Pure Rust implementation of the [Cipher-based Message Authentication Code (CMAC)][1]. +Generic implementation of [Cipher-based Message Authentication Code (CMAC)][1], +otherwise known as OMAC1. -[Documentation][docs-link] +## Examples +We will use AES-128 block cipher from the [`aes`] crate. -## Minimum Supported Rust Version +To get the authentication code: -Rust **1.81** or higher. +```rust +use aes::Aes128; +use cmac::{digest::KeyInit, Cmac, Mac}; -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. +// Create `Mac` trait implementation, namely CMAC-AES128 +let mut mac = Cmac::::new_from_slice(b"very secret key.").unwrap(); +mac.update(b"input message"); -## SemVer Policy +// `result` has type `Output` which is a thin wrapper around array of +// bytes for providing constant time equality check +let result = mac.finalize(); +// To get underlying array use the `into_bytes` method, but be careful, +// since incorrect use of the tag value may permit timing attacks which +// defeat the security provided by the `Output` wrapper +let tag_bytes = result.into_bytes(); +``` -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above +To verify the message: + +```rust +use aes::Aes128; +use cmac::{digest::KeyInit, Cmac, Mac}; + +let mut mac = Cmac::::new_from_slice(b"very secret key.").unwrap(); + +mac.update(b"input message"); + +# let tag_bytes = mac.clone().finalize().into_bytes(); +// `verify` will return `Ok(())` if tag is correct, `Err(MacError)` otherwise +mac.verify(&tag_bytes).unwrap(); +``` ## License @@ -45,7 +69,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/cmac/badge.svg [docs-link]: https://docs.rs/cmac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs [build-image]: https://github.com/RustCrypto/MACs/workflows/cmac/badge.svg?branch=master&event=push @@ -54,3 +78,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) [1]: https://en.wikipedia.org/wiki/One-key_MAC +[`aes`]: https://docs.rs/aes diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index e55bfbe..635f5ff 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -1,45 +1,5 @@ -//! Generic implementation of [Cipher-based Message Authentication Code (CMAC)][1], -//! otherwise known as OMAC1. -//! -//! # Examples -//! We will use AES-128 block cipher from [aes](https://docs.rs/aes) crate. -//! -//! To get the authentication code: -//! -//! ```rust -//! use aes::Aes128; -//! use cmac::{digest::KeyInit, Cmac, Mac}; -//! -//! // Create `Mac` trait implementation, namely CMAC-AES128 -//! let mut mac = Cmac::::new_from_slice(b"very secret key.").unwrap(); -//! mac.update(b"input message"); -//! -//! // `result` has type `Output` which is a thin wrapper around array of -//! // bytes for providing constant time equality check -//! let result = mac.finalize(); -//! // To get underlying array use the `into_bytes` method, but be careful, -//! // since incorrect use of the tag value may permit timing attacks which -//! // defeat the security provided by the `Output` wrapper -//! let tag_bytes = result.into_bytes(); -//! ``` -//! -//! To verify the message: -//! -//! ```rust -//! # use aes::Aes128; -//! # use cmac::{digest::KeyInit, Cmac, Mac}; -//! let mut mac = Cmac::::new_from_slice(b"very secret key.").unwrap(); -//! -//! mac.update(b"input message"); -//! -//! # let tag_bytes = mac.clone().finalize().into_bytes(); -//! // `verify` will return `Ok(())` if tag is correct, `Err(MacError)` otherwise -//! mac.verify(&tag_bytes).unwrap(); -//! ``` -//! -//! [1]: https://en.wikipedia.org/wiki/One-key_MAC - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" diff --git a/hmac/README.md b/hmac/README.md index 855b062..c0f1168 100644 --- a/hmac/README.md +++ b/hmac/README.md @@ -7,21 +7,92 @@ ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -Pure Rust implementation of the [Hash-based Message Authentication Code (HMAC)][1]. +Generic implementation of [Hash-based Message Authentication Code (HMAC)][1]. -[Documentation][docs-link] +To use it you will need a cryptographic hash function implementation which +implements the [`digest`] crate traits. You can find compatible crates +(e.g. [`sha2`]) in the [`RustCrypto/hashes`] repository. -## Minimum Supported Rust Version +This crate provides four HMAC implementations: [`Hmac`], [`HmacReset`], +[`SimpleHmac`], and [`SimpleHmacReset`]. -Rust **1.81** or higher. +The first two types are buffered wrappers around block-level +[`block_api::HmacCore`] and [`block_api::HmacResetCore`] types respectively. +Internally they uses efficient state representation, but work only with +hash functions which expose block-level API and consume blocks eagerly +(e.g. they will not work with the BLAKE2 family of hash functions). -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. +On the other hand, [`SimpleHmac`] and [`SimpleHmacReset`] are a bit less +efficient, but work with all hash functions which implement +the [`Digest`] trait. -## SemVer Policy +[`Hmac`] and [`SimpleHmac`] do not support resetting MAC state (i.e. they +do not implement the [`Reset`] and [`FixedOutputReset`] traits). Use +[`HmacReset`] or [`SimpleHmacReset`] if you want to reuse MAC state. -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above +## Examples + +Let us demonstrate how to use HMAC using the SHA-256 hash function +implemented in the [`sha2`] crate. + +In the following examples [`Hmac`] is interchangeable with [`SimpleHmac`]. + +To get authentication code: + +```rust +use sha2::Sha256; +use hmac::{Hmac, KeyInit, Mac}; +use hex_literal::hex; + +// Create alias for HMAC-SHA256 +type HmacSha256 = Hmac; + +let mut mac = HmacSha256::new_from_slice(b"my secret and secure key") + .expect("HMAC can take key of any size"); +mac.update(b"input message"); + +// `result` has type `CtOutput` which is a thin wrapper around array of +// bytes for providing constant time equality check +let result = mac.finalize(); +// To get underlying array use `into_bytes`, but be careful, since +// incorrect use of the code value may permit timing attacks which defeats +// the security provided by the `CtOutput` +let code_bytes = result.into_bytes(); +let expected = hex!(" + 97d2a569059bbcd8ead4444ff99071f4 + c01d005bcefe0d3567e1be628e5fdcd9 +"); +assert_eq!(code_bytes[..], expected[..]); +``` + +To verify the message: + +```rust +use sha2::Sha256; +use hmac::{Hmac, KeyInit, Mac}; +use hex_literal::hex; + +type HmacSha256 = Hmac; + +let mut mac = HmacSha256::new_from_slice(b"my secret and secure key") + .expect("HMAC can take key of any size"); + +mac.update(b"input message"); + +let code_bytes = hex!(" + 97d2a569059bbcd8ead4444ff99071f4 + c01d005bcefe0d3567e1be628e5fdcd9 +"); +// `verify_slice` will return `Ok(())` if code is correct, `Err(MacError)` otherwise +mac.verify_slice(&code_bytes[..]).unwrap(); +``` + +## Block and input sizes + +Usually it is assumed that block size is larger than output size. Due to the +generic nature of the implementation, we must handle cases when this assumption +does not hold. This is done by truncating hash output to the hash +block size if needed. ## License @@ -47,10 +118,24 @@ dual licensed as above, without any additional terms or conditions. [build-image]: https://github.com/RustCrypto/MACs/actions/workflows/hmac.yml/badge.svg [build-link]: https://github.com/RustCrypto/MACs/actions/workflows/hmac.yml [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs [//]: # (general links) [1]: https://en.wikipedia.org/wiki/HMAC +[`digest`]: https://docs.rs/digest +[`sha2`]: https://docs.rs/sha2 +[`RustCrypto/hashes`]: https://github.com/RustCrypto/hashes + +[//]: # (intra-crate links) +[`Reset`]: https://docs.rs/digest/latest/digest/trait.Reset.html +[`Digest`]: https://docs.rs/digest/latest/digest/trait.Digest.html +[`FixedOutputReset`]: https://docs.rs/digest/latest/digest/trait.FixedOutputReset.html +[`Hmac`]: https://docs.rs/hmac/latest/hmac/struct.Hmac.html +[`HmacReset`]: https://docs.rs/hmac/latest/hmac/struct.HmacReset.html +[`SimpleHmac`]: https://docs.rs/hmac/latest/hmac/struct.SimpleHmac.html +[`SimpleHmacReset`]: https://docs.rs/hmac/latest/hmac/struct.SimpleHmacReset.html +[`block_api::HmacCore`]: https://docs.rs/hmac/latest/hmac/block_api/struct.HmacCore.html +[`block_api::HmacResetCore`]: https://docs.rs/hmac/latest/hmac/block_api/struct.HmacResetCore.html diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index 430945c..0fba87d 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -1,93 +1,16 @@ -//! Generic implementation of Hash-based Message Authentication Code (HMAC). -//! -//! To use it you will need a cryptographic hash function implementation which -//! implements the [`digest`] crate traits. You can find compatible crates -//! (e.g. [`sha2`]) in the [`RustCrypto/hashes`] repository. -//! -//! This crate provides four HMAC implementations: [`Hmac`], [`HmacReset`], -//! [`SimpleHmac`], and [`SimpleHmacReset`]. -//! -//! The first two types are buffered wrappers around block-level -//! [`block_api::HmacCore`] and [`block_api::HmacResetCore`] types respectively. -//! Internally they uses efficient state representation, but work only with -//! hash functions which expose block-level API and consume blocks eagerly -//! (e.g. it will not work with the BLAKE2 family of hash functions). -//! -//! On the other hand, [`SimpleHmac`] and [`SimpleHmacReset`] are a bit less -//! efficient, but work with all hash functions which implement -//! the [`Digest`][digest::Digest] trait. -//! -//! [`Hmac`] and [`SimpleHmac`] do not support resetting MAC state (i.e. they -//! do not implement the [`Reset`] and [`FixedOutputReset`] traits). Use -//! [`HmacReset`] or [`SimpleHmacReset`] if you want to reuse MAC state. -//! +// Overwrite intra-crate links //! [`Reset`]: digest::Reset +//! [`Digest`]: digest::Digest //! [`FixedOutputReset`]: digest::FixedOutputReset -//! -//! # Examples -//! Let us demonstrate how to use HMAC using the SHA-256 hash function. -//! -//! In the following examples [`Hmac`] is interchangeable with [`SimpleHmac`]. -//! -//! To get authentication code: -//! -//! ```rust -//! use sha2::Sha256; -//! use hmac::{Hmac, KeyInit, Mac}; -//! use hex_literal::hex; -//! -//! // Create alias for HMAC-SHA256 -//! type HmacSha256 = Hmac; -//! -//! let mut mac = HmacSha256::new_from_slice(b"my secret and secure key") -//! .expect("HMAC can take key of any size"); -//! mac.update(b"input message"); -//! -//! // `result` has type `CtOutput` which is a thin wrapper around array of -//! // bytes for providing constant time equality check -//! let result = mac.finalize(); -//! // To get underlying array use `into_bytes`, but be careful, since -//! // incorrect use of the code value may permit timing attacks which defeats -//! // the security provided by the `CtOutput` -//! let code_bytes = result.into_bytes(); -//! let expected = hex!(" -//! 97d2a569059bbcd8ead4444ff99071f4 -//! c01d005bcefe0d3567e1be628e5fdcd9 -//! "); -//! assert_eq!(code_bytes[..], expected[..]); -//! ``` -//! -//! To verify the message: -//! -//! ```rust -//! # use sha2::Sha256; -//! # use hmac::{Hmac, KeyInit, Mac}; -//! # use hex_literal::hex; -//! # type HmacSha256 = Hmac; -//! let mut mac = HmacSha256::new_from_slice(b"my secret and secure key") -//! .expect("HMAC can take key of any size"); -//! -//! mac.update(b"input message"); -//! -//! let code_bytes = hex!(" -//! 97d2a569059bbcd8ead4444ff99071f4 -//! c01d005bcefe0d3567e1be628e5fdcd9 -//! "); -//! // `verify_slice` will return `Ok(())` if code is correct, `Err(MacError)` otherwise -//! mac.verify_slice(&code_bytes[..]).unwrap(); -//! ``` -//! -//! # Block and input sizes -//! Usually it is assumed that block size is larger than output size. Due to the -//! generic nature of the implementation, this edge case must be handled as well -//! to remove potential panic. This is done by truncating hash output to the hash -//! block size if needed. -//! -//! [`digest`]: https://docs.rs/digest -//! [`sha2`]: https://docs.rs/sha2 -//! [`RustCrypto/hashes`]: https://github.com/RustCrypto/hashes +//! [`Hmac`]: Hmac +//! [`HmacReset`]: HmacReset +//! [`SimpleHmac`]: SimpleHmac +//! [`SimpleHmacReset`]: SimpleHmacReset +//! [`block_api::HmacCore`]: block_api::HmacCore +//! [`block_api::HmacResetCore`]: block_api::HmacResetCore #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" diff --git a/pmac/README.md b/pmac/README.md index 85a78ce..dcb617b 100644 --- a/pmac/README.md +++ b/pmac/README.md @@ -7,21 +7,43 @@ ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -Pure Rust implementation of the [Parallel Message Authentication Code (PMAC)][1]. +Generic implementation of [Parallelizable Message Authentication Code (PMAC)][1]. -[Documentation][docs-link] +## Examples +We will use AES-128 block cipher from the [`aes`] crate. -## Minimum Supported Rust Version +To get authentication code: -Rust **1.81** or higher. +```rust +use aes::Aes128; +use pmac::{digest::KeyInit, Pmac, Mac}; -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. +// Create `Mac` trait implementation, namely PMAC-AES128 +let mut mac = Pmac::::new_from_slice(b"very secret key.").unwrap(); +mac.update(b"input message"); -## SemVer Policy +// `result` has type `Output` which is a thin wrapper around array of +// bytes for providing constant time equality check +let result = mac.finalize(); +// To get underlying array use `into_bytes` method, but be careful, since +// incorrect use of the tag value may permit timing attacks which defeat +// the security provided by the `Output` wrapper +let tag_bytes = result.into_bytes(); +``` -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above +To verify the message: + +```rust +# use aes::Aes128; +# use pmac::{digest::KeyInit, Pmac, Mac}; +let mut mac = Pmac::::new_from_slice(b"very secret key.").unwrap(); + +mac.update(b"input message"); + +# let tag_bytes = mac.clone().finalize().into_bytes(); +// `verify` will return `Ok(())` if tag is correct, `Err(MacError)` otherwise +mac.verify(&tag_bytes).unwrap(); +``` ## License @@ -45,7 +67,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/pmac/badge.svg [docs-link]: https://docs.rs/pmac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs [build-image]: https://github.com/RustCrypto/MACs/workflows/pmac/badge.svg?branch=master&event=push @@ -54,3 +76,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) [1]: https://en.wikipedia.org/wiki/PMAC_(cryptography) +[`aes`]: https://docs.rs/aes diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index a3fb675..535bbdb 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -1,45 +1,5 @@ -//! Generic implementation of [Parallelizable Message Authentication Code (PMAC)][1], -//! otherwise known as OMAC1. -//! -//! # Examples -//! We will use AES-128 block cipher from the [aes](https://docs.rs/aes) crate. -//! -//! To get authentication code: -//! -//! ```rust -//! use aes::Aes128; -//! use pmac::{digest::KeyInit, Pmac, Mac}; -//! -//! // Create `Mac` trait implementation, namely PMAC-AES128 -//! let mut mac = Pmac::::new_from_slice(b"very secret key.").unwrap(); -//! mac.update(b"input message"); -//! -//! // `result` has type `Output` which is a thin wrapper around array of -//! // bytes for providing constant time equality check -//! let result = mac.finalize(); -//! // To get underlying array use `into_bytes` method, but be careful, since -//! // incorrect use of the tag value may permit timing attacks which defeat -//! // the security provided by the `Output` wrapper -//! let tag_bytes = result.into_bytes(); -//! ``` -//! -//! To verify the message: -//! -//! ```rust -//! # use aes::Aes128; -//! # use pmac::{digest::KeyInit, Pmac, Mac}; -//! let mut mac = Pmac::::new_from_slice(b"very secret key.").unwrap(); -//! -//! mac.update(b"input message"); -//! -//! # let tag_bytes = mac.clone().finalize().into_bytes(); -//! // `verify` will return `Ok(())` if tag is correct, `Err(MacError)` otherwise -//! mac.verify(&tag_bytes).unwrap(); -//! ``` -//! -//! [1]: https://en.wikipedia.org/wiki/PMAC_(cryptography) - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" diff --git a/retail-mac/README.md b/retail-mac/README.md index fcb28c4..9944e66 100644 --- a/retail-mac/README.md +++ b/retail-mac/README.md @@ -10,19 +10,32 @@ Pure Rust implementation of the [Retail Message Authentication Code][Retail MAC], also known as ISO/IEC 9797-1 MAC algorithm 3. -[Documentation][docs-link] +**WARNING!** The algorithm has known weaknesses in case of variable-length +messages. See the Wikipedia article for [CBC-MAC] for more information. -## Minimum Supported Rust Version +## Examples -Rust **1.81** or higher. +```rust +use retail_mac::{digest::KeyInit, RetailMac, Mac}; +use des::Des; +use hex_literal::hex; -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. +type RetailMacDes = RetailMac; -## SemVer Policy +// test from ISO/IEC 9797-1:2011 section B.4 +// K and K' are concatenated: +let key = hex!("0123456789ABCDEFFEDCBA9876543210"); -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above +let mut mac = RetailMacDes::new_from_slice(&key).unwrap(); +mac.update(b"Now is the time for all "); +let correct = hex!("A1C72E74EA3FA9B6"); +mac.verify_slice(&correct).unwrap(); + +let mut mac2 = RetailMacDes::new_from_slice(&key).unwrap(); +mac2.update(b"Now is the time for it"); +let correct2 = hex!("2E2B1428CC78254F"); +mac2.verify_slice(&correct2).unwrap(); +``` ## License @@ -46,7 +59,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/retail-mac/badge.svg [docs-link]: https://docs.rs/retail-mac/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.81+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs [build-image]: https://github.com/RustCrypto/MACs/actions/workflows/retail-mac.yml/badge.svg @@ -55,3 +68,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) [Retail MAC]: https://en.wikipedia.org/wiki/ISO/IEC_9797-1#MAC_algorithm_3 +[CBC-MAC]: https://en.wikipedia.org/wiki/CBC-MAC#Security_with_fixed_and_variable-length_messages diff --git a/retail-mac/src/lib.rs b/retail-mac/src/lib.rs index 4cf1cb0..7a45791 100644 --- a/retail-mac/src/lib.rs +++ b/retail-mac/src/lib.rs @@ -1,43 +1,11 @@ -//! [Retail Message Authentication Code (Retail MAC)][Retail MAC] -//! implemented in pure Rust and generic over block cipher. -//! -//! **WARNING!** The algorithm has known weaknesses in case of variable-length -//! messages. See the Wikipedia article for [CBC-MAC] for more information. -//! -//! # Examples -//! -//! ``` -//! use retail_mac::{digest::KeyInit, RetailMac, Mac}; -//! use des::Des; -//! use hex_literal::hex; -//! -//! type RetailMacDes = RetailMac; -//! -//! // test from ISO/IEC 9797-1:2011 section B.4 -//! // K and K' are concatenated: -//! let key = hex!("0123456789ABCDEFFEDCBA9876543210"); -//! -//! let mut mac = RetailMacDes::new_from_slice(&key).unwrap(); -//! mac.update(b"Now is the time for all "); -//! let correct = hex!("A1C72E74EA3FA9B6"); -//! mac.verify_slice(&correct).unwrap(); -//! -//! let mut mac2 = RetailMacDes::new_from_slice(&key).unwrap(); -//! mac2.update(b"Now is the time for it"); -//! let correct2 = hex!("2E2B1428CC78254F"); -//! mac2.verify_slice(&correct2).unwrap(); -//! ``` -//! -//! [Retail MAC]: https://en.wikipedia.org/wiki/ISO/IEC_9797-1#MAC_algorithm_3 -//! [CBC-MAC]: https://en.wikipedia.org/wiki/CBC-MAC#Security_with_fixed_and_variable-length_messages - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![cfg_attr(docsrs, feature(doc_auto_cfg))] -#![deny(unsafe_code)] +#![forbid(unsafe_code)] #![warn(missing_docs)] pub use digest::{self, Key, KeyInit, Mac}; From cd490bc27c02c941f8d1f019a31f5d722cfc2440 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 28 May 2025 16:31:02 +0300 Subject: [PATCH 067/123] ci: use Dependabot to update Cargo.lock (#192) --- .github/dependabot.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 397bdaa..e621f15 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,9 +1,16 @@ version: 2 updates: - package-ecosystem: cargo + versioning-strategy: lockfile-only directory: "/" + allow: + - dependency-type: "all" + groups: + all-deps: + patterns: + - "*" schedule: - interval: daily + interval: weekly open-pull-requests-limit: 10 - package-ecosystem: github-actions directory: "/" From 22dff974b3f921e6aa09c6067d96659cf1cb9753 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 28 May 2025 16:36:15 +0300 Subject: [PATCH 068/123] ci: add typos job (#193) --- .github/workflows/workspace.yml | 6 ++++++ .typos.toml | 9 +++++++++ 2 files changed, 15 insertions(+) create mode 100644 .typos.toml diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 6b2d7f8..7430967 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -35,3 +35,9 @@ jobs: - name: Run cargo fmt run: cargo fmt --all -- --check + + typos: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: crate-ci/typos@v1 diff --git a/.typos.toml b/.typos.toml new file mode 100644 index 0000000..45626b3 --- /dev/null +++ b/.typos.toml @@ -0,0 +1,9 @@ +[files] +extend-exclude = [ + ".git/" +] + +[default.extend-words] +"GOST" = "GOST" +"DAA" = "DAA" +"EDE" = "EDE" From b1ac17b67d07f1dac7f07603504fa992da69b034 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 29 May 2025 08:16:26 -0600 Subject: [PATCH 069/123] Bump `digest` dependency to v0.11.0-rc.0 (#194) NOTE: no releases with this PR. I'll open a separate one for `hmac`, but for the others we should probably cut another `cipher` release first --- Cargo.lock | 30 ++++++++++++++++++------------ Cargo.toml | 12 ------------ belt-mac/Cargo.toml | 4 ++-- cbc-mac/Cargo.toml | 4 ++-- cmac/Cargo.toml | 4 ++-- hmac/Cargo.toml | 12 ++++++------ pmac/Cargo.toml | 4 ++-- retail-mac/Cargo.toml | 4 ++-- 8 files changed, 34 insertions(+), 40 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fc80ee1..00b45c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -101,8 +101,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-rc.2" -source = "git+https://github.com/RustCrypto/traits#915474f1ed5be0a19fd102d5f75ef8e04c765416" +version = "0.2.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a23fa214dea9efd4dacee5a5614646b30216ae0f05d4bb51bafb50e9da1c5be" dependencies = [ "hybrid-array", ] @@ -127,8 +128,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-pre.10" -source = "git+https://github.com/RustCrypto/traits#915474f1ed5be0a19fd102d5f75ef8e04c765416" +version = "0.11.0-rc.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460dd7f37e4950526b54a5a6b1f41b6c8e763c58eb9a8fc8fc05ba5c2f44ca7b" dependencies = [ "blobby", "block-buffer", @@ -201,8 +203,9 @@ dependencies = [ [[package]] name = "md-5" -version = "0.11.0-pre.5" -source = "git+https://github.com/RustCrypto/hashes#7d44caf065dbeb3f10a372a26a8b9f1c927f8433" +version = "0.11.0-rc.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da1788e007bfe04177a520c827ef99f436b1ea79719d5c5f049279dfe85a7b28" dependencies = [ "cfg-if", "digest", @@ -231,8 +234,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-pre.5" -source = "git+https://github.com/RustCrypto/hashes#7d44caf065dbeb3f10a372a26a8b9f1c927f8433" +version = "0.11.0-rc.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f9318facddf9ac32a33527066936837e189b3f23ced6edc1603720ead5e2b3d" dependencies = [ "cfg-if", "cpufeatures", @@ -241,8 +245,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-pre.5" -source = "git+https://github.com/RustCrypto/hashes#7d44caf065dbeb3f10a372a26a8b9f1c927f8433" +version = "0.11.0-rc.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa1d2e6b3cc4e43a8258a9a3b17aa5dfd2cc5186c7024bba8a64aa65b2c71a59" dependencies = [ "cfg-if", "cpufeatures", @@ -251,8 +256,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.11.0-pre.5" -source = "git+https://github.com/RustCrypto/hashes#7d44caf065dbeb3f10a372a26a8b9f1c927f8433" +version = "0.11.0-rc.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd1781d17a54baf1c29e23aee9d49ad89accf4551c80ed1b7edd1659a2c6dbb" dependencies = [ "digest", ] diff --git a/Cargo.toml b/Cargo.toml index f4cd9f3..b8c3abb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,15 +11,3 @@ members = [ [profile.dev] opt-level = 2 - -[patch.crates-io] -# https://github.com/RustCrypto/traits/pull/1787 -# https://github.com/RustCrypto/traits/pull/1799 -digest = { git = "https://github.com/RustCrypto/traits" } -crypto-common = { git = "https://github.com/RustCrypto/traits" } - -# https://github.com/RustCrypto/hashes/pull/678 -streebog = { git = "https://github.com/RustCrypto/hashes" } -sha1 = { git = "https://github.com/RustCrypto/hashes" } -sha2 = { git = "https://github.com/RustCrypto/hashes" } -md-5 = { git = "https://github.com/RustCrypto/hashes" } diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 67202db..523a3e8 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -15,10 +15,10 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-pre.3" cipher = "=0.5.0-pre.8" -digest = { version = "=0.11.0-pre.10", features = ["mac"] } +digest = { version = "0.11.0-rc.0", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.10", features = ["dev"] } +digest = { version = "0.11.0-rc.0", features = ["dev"] } hex-literal = "1" [features] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index e842b00..6b3319b 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -13,10 +13,10 @@ keywords = ["crypto", "mac", "daa"] [dependencies] cipher = "=0.5.0-pre.8" -digest = { version = "=0.11.0-pre.10", features = ["mac"] } +digest = { version = "0.11.0-rc.0", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.10", features = ["dev"] } +digest = { version = "0.11.0-rc.0", features = ["dev"] } hex-literal = "1" aes = "0.9.0-pre.3" diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index fde7bfc..8b44951 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -15,11 +15,11 @@ exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] cipher = "=0.5.0-pre.8" -digest = { version = "=0.11.0-pre.10", features = ["mac"] } +digest = { version = "0.11.0-rc.0", features = ["mac"] } dbl = "0.4.0-rc.0" [dev-dependencies] -digest = { version = "=0.11.0-pre.10", features = ["dev"] } +digest = { version = "0.11.0-rc.0", features = ["dev"] } hex-literal = "1" aes = "0.9.0-pre.3" diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 97512c9..cb2adf3 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -13,14 +13,14 @@ categories = ["cryptography", "no-std"] rust-version = "1.85" [dependencies] -digest = { version = "=0.11.0-pre.10", features = ["mac"] } +digest = { version = "0.11.0-rc.0", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.10", features = ["dev"] } -md-5 = { version = "=0.11.0-pre.5", default-features = false } -sha1 = { version = "=0.11.0-pre.5", default-features = false } -sha2 = { version = "=0.11.0-pre.5", default-features = false } -streebog = { version = "=0.11.0-pre.5", default-features = false } +digest = { version = "0.11.0-rc.0", features = ["dev"] } +md-5 = { version = "0.11.0-rc.0", default-features = false } +sha1 = { version = "0.11.0-rc.0", default-features = false } +sha2 = { version = "0.11.0-rc.0", default-features = false } +streebog = { version = "0.11.0-rc.0", default-features = false } hex-literal = "1" [features] diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 2a65d3b..c1173e9 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -14,12 +14,12 @@ categories = ["cryptography", "no-std"] [dependencies] cipher = "=0.5.0-pre.8" -digest = { version = "=0.11.0-pre.10", features = ["mac"] } +digest = { version = "0.11.0-rc.0", features = ["mac"] } dbl = "0.4.0-rc.0" [dev-dependencies] aes = "0.9.0-pre.3" -digest = { version = "=0.11.0-pre.10", features = ["dev"] } +digest = { version = "0.11.0-rc.0", features = ["dev"] } [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index 3cc7ad9..d962d4a 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -13,10 +13,10 @@ keywords = ["crypto", "mac"] [dependencies] cipher = "=0.5.0-pre.8" -digest = { version = "=0.11.0-pre.10", features = ["mac"] } +digest = { version = "0.11.0-rc.0", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.10", features = ["dev"] } +digest = { version = "0.11.0-rc.0", features = ["dev"] } hex-literal = "1" aes = "0.9.0-pre.2" From ef646372019e0fcab46f22c8aa6e54e641e839db Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 29 May 2025 08:28:27 -0600 Subject: [PATCH 070/123] hmac v0.13.0-rc.0 (#195) --- Cargo.lock | 2 +- hmac/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 00b45c9..84ad214 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -147,7 +147,7 @@ checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" [[package]] name = "hmac" -version = "0.13.0-pre.5" +version = "0.13.0-rc.0" dependencies = [ "digest", "hex-literal", diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index cb2adf3..f8886a0 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-pre.5" +version = "0.13.0-rc.0" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 672441609144cc74a2c73fadd550358b2cc30dff Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 29 May 2025 08:42:31 -0600 Subject: [PATCH 071/123] cmac v0.8.0-pre.4 (#196) Needed to upgrade KDFs repo --- Cargo.lock | 2 +- cmac/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 84ad214..2072299 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.8.0-pre.3" +version = "0.8.0-pre.4" dependencies = [ "aes", "cipher", diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 8b44951..7cd4860 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cmac" -version = "0.8.0-pre.3" +version = "0.8.0-pre.4" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 7c7c3d7bade967820ae5c938d1f5d33e15c84c7b Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 30 May 2025 09:28:07 -0600 Subject: [PATCH 072/123] Bump `cipher` dependency to v0.5.0-rc.0 (#197) Also cuts `rc.0` prereleases of `cbc-mac`, `cmac`, and `pmac` --- Cargo.lock | 30 +++++++++++++++--------------- belt-mac/Cargo.toml | 2 +- cbc-mac/Cargo.toml | 8 ++++---- cmac/Cargo.toml | 12 ++++++------ pmac/Cargo.toml | 6 +++--- retail-mac/Cargo.toml | 6 +++--- 6 files changed, 32 insertions(+), 32 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2072299..6e32a30 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 4 [[package]] name = "aes" -version = "0.9.0-pre.3" +version = "0.9.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e4da00d9978020ddaa556c1747cfcafc3f375cfadb109acfe8b752cfc373bf" +checksum = "cd4838e4ad37bb032dea137f441d5f71c16c26c068af512e64c5bc13a88cdfc7" dependencies = [ "cfg-if", "cipher", @@ -15,9 +15,9 @@ dependencies = [ [[package]] name = "belt-block" -version = "0.2.0-pre.3" +version = "0.2.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cce8d102fb5accb008983fb54f0975834bc5f7789080e6564b0f7e13ffe37a" +checksum = "b9aa0cd4ec3b89021a53caa73cefc5a458cf33b338498e1191916153877bd794" dependencies = [ "cipher", ] @@ -50,7 +50,7 @@ dependencies = [ [[package]] name = "cbc-mac" -version = "0.2.0-pre.2" +version = "0.2.0-rc.0" dependencies = [ "aes", "cipher", @@ -67,9 +67,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cipher" -version = "0.5.0-pre.8" +version = "0.5.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276974d2acb7cf592603150941fc1ff6442acdeb1dc653ac2825928f4703c131" +checksum = "bd4ef774202f1749465fc7cf88d70fc30620e8cacd5429268f4bff7d003bd976" dependencies = [ "crypto-common", "inout", @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.8.0-pre.4" +version = "0.8.0-rc.0" dependencies = [ "aes", "cipher", @@ -119,9 +119,9 @@ dependencies = [ [[package]] name = "des" -version = "0.9.0-pre.3" +version = "0.9.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee752f2df22a55f0f703c8eabfeb36990559e1b836263e35580a4186e1cca0a" +checksum = "8025983b9f9f242e94d459a57b81c571e92e4e1717ca57d092d8a69fc539efa1" dependencies = [ "cipher", ] @@ -178,9 +178,9 @@ dependencies = [ [[package]] name = "kuznyechik" -version = "0.9.0-pre.3" +version = "0.9.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33cc36039d169faa75cbcb6b968251a878ec8431472d1688eb336cd1b459c0aa" +checksum = "074a7089016bcddb3b8da42f663296a885f8a31ec57a7b795a92b711999ff5aa" dependencies = [ "cfg-if", "cipher", @@ -194,9 +194,9 @@ checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "magma" -version = "0.10.0-pre.3" +version = "0.10.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cbf0a1d2178f9ed8ebf27ef13364749622d01abebc3a39937f622b020776465" +checksum = "9d6704a51253dc03b397da9121342836759922371190e5755ccfb21c4db9cef4" dependencies = [ "cipher", ] @@ -213,7 +213,7 @@ dependencies = [ [[package]] name = "pmac" -version = "0.8.0-pre.2" +version = "0.8.0-rc.0" dependencies = [ "aes", "cipher", diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 523a3e8..0174b45 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-pre.3" -cipher = "=0.5.0-pre.8" +cipher = "0.5.0-rc.0" digest = { version = "0.11.0-rc.0", features = ["mac"] } [dev-dependencies] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 6b3319b..0402e3b 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cbc-mac" -version = "0.2.0-pre.2" +version = "0.2.0-rc.0" description = "Implementation of Cipher Block Chaining Message Authentication Code (CBC-MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,15 +12,15 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -cipher = "=0.5.0-pre.8" +cipher = "0.5.0-rc.0" digest = { version = "0.11.0-rc.0", features = ["mac"] } [dev-dependencies] digest = { version = "0.11.0-rc.0", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-pre.3" -des = "0.9.0-pre.3" +aes = "0.9.0-rc.0" +des = "0.9.0-rc.0" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 7cd4860..907ad0d 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cmac" -version = "0.8.0-pre.4" +version = "0.8.0-rc.0" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -cipher = "=0.5.0-pre.8" +cipher = "0.5.0-rc.0" digest = { version = "0.11.0-rc.0", features = ["mac"] } dbl = "0.4.0-rc.0" @@ -22,10 +22,10 @@ dbl = "0.4.0-rc.0" digest = { version = "0.11.0-rc.0", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-pre.3" -des = "0.9.0-pre.3" -kuznyechik = "0.9.0-pre.3" -magma = "0.10.0-pre.3" +aes = "0.9.0-rc.0" +des = "0.9.0-rc.0" +kuznyechik = "0.9.0-rc.0" +magma = "0.10.0-rc.0" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index c1173e9..e5256ed 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pmac" -version = "0.8.0-pre.2" +version = "0.8.0-rc.0" description = "Generic implementation of Parallelizable Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -13,12 +13,12 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -cipher = "=0.5.0-pre.8" +cipher = "0.5.0-rc.0" digest = { version = "0.11.0-rc.0", features = ["mac"] } dbl = "0.4.0-rc.0" [dev-dependencies] -aes = "0.9.0-pre.3" +aes = "0.9.0-rc.0" digest = { version = "0.11.0-rc.0", features = ["dev"] } [features] diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index d962d4a..fcd22fb 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -12,15 +12,15 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac"] [dependencies] -cipher = "=0.5.0-pre.8" +cipher = "0.5.0-rc.0" digest = { version = "0.11.0-rc.0", features = ["mac"] } [dev-dependencies] digest = { version = "0.11.0-rc.0", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-pre.2" -des = "0.9.0-pre.2" +aes = "0.9.0-rc.0" +des = "0.9.0-rc.0" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] From 33afc7a7547afba90c4cd9a0f9bcc4326fa37487 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 30 May 2025 09:33:22 -0600 Subject: [PATCH 073/123] README.md(s): fix build badges (#198) --- belt-mac/README.md | 4 ++-- cbc-mac/README.md | 4 ++-- cmac/README.md | 4 ++-- pmac/README.md | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/belt-mac/README.md b/belt-mac/README.md index 141650b..198c7a3 100644 --- a/belt-mac/README.md +++ b/belt-mac/README.md @@ -56,8 +56,8 @@ dual licensed as above, without any additional terms or conditions. [rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs -[build-image]: https://github.com/RustCrypto/MACs/workflows/belt-mac/badge.svg?branch=master&event=push -[build-link]: https://github.com/RustCrypto/MACs/actions?query=workflow%3Abelt-mac +[build-image]: https://github.com/RustCrypto/MACs/actions/workflows/belt-mac.yml/badge.svg +[build-link]: https://github.com/RustCrypto/MACs/actions/workflows/belt-mac.yml [//]: # (general links) diff --git a/cbc-mac/README.md b/cbc-mac/README.md index 5942e13..c145668 100644 --- a/cbc-mac/README.md +++ b/cbc-mac/README.md @@ -55,8 +55,8 @@ dual licensed as above, without any additional terms or conditions. [rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs -[build-image]: https://github.com/RustCrypto/MACs/workflows/cbc-mac/badge.svg?branch=master&event=push -[build-link]: https://github.com/RustCrypto/MACs/actions?query=workflow%3Acbc-mac +[build-image]: https://github.com/RustCrypto/MACs/actions/workflows/cbc-mac.yml/badge.svg +[build-link]: https://github.com/RustCrypto/MACs/actions/workflows/cbc-mac.yml [//]: # (general links) diff --git a/cmac/README.md b/cmac/README.md index f99f34a..2239bc7 100644 --- a/cmac/README.md +++ b/cmac/README.md @@ -72,8 +72,8 @@ dual licensed as above, without any additional terms or conditions. [rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs -[build-image]: https://github.com/RustCrypto/MACs/workflows/cmac/badge.svg?branch=master&event=push -[build-link]: https://github.com/RustCrypto/MACs/actions?query=workflow%3Acmac +[build-image]: https://github.com/RustCrypto/MACs/actions/workflows/cmac.yml/badge.svg +[build-link]: https://github.com/RustCrypto/MACs/actions/workflows/cmac.yml [//]: # (general links) diff --git a/pmac/README.md b/pmac/README.md index dcb617b..7d8b89f 100644 --- a/pmac/README.md +++ b/pmac/README.md @@ -70,8 +70,8 @@ dual licensed as above, without any additional terms or conditions. [rustc-image]: https://img.shields.io/badge/rustc-1.85+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260044-MACs -[build-image]: https://github.com/RustCrypto/MACs/workflows/pmac/badge.svg?branch=master&event=push -[build-link]: https://github.com/RustCrypto/MACs/actions?query=workflow%3Apmac +[build-image]: https://github.com/RustCrypto/MACs/actions/workflows/pmac.yml/badge.svg +[build-link]: https://github.com/RustCrypto/MACs/actions/workflows/pmac.yml [//]: # (general links) From 9867dc58ebb676f8a473e611889dd23cb2c6190e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Jun 2025 21:03:12 +0300 Subject: [PATCH 074/123] Update Cargo.lock (#199) --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6e32a30..9cd76a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -169,9 +169,9 @@ dependencies = [ [[package]] name = "inout" -version = "0.2.0-rc.4" +version = "0.2.0-rc.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac5e145e8ade9f74c0a5efc60ccb4e714b0144f7e2220b7ca64254feee71c57f" +checksum = "c774c86bce20ea04abe1c37cf0051c5690079a3a28ef5fdac2a5a0412b3d7d74" dependencies = [ "hybrid-array", ] From d59f706869f46457dd5f2ad82dd89a4aaf9c5103 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Jun 2025 00:35:53 +0300 Subject: [PATCH 075/123] Update Cargo.lock (#200) --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9cd76a6..843d34b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -61,9 +61,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "cipher" @@ -188,9 +188,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.172" +version = "0.2.173" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "d8cfeafaffdbc32176b64fb251369d52ea9f0a8fbc6f8759edffef7b525d64bb" [[package]] name = "magma" From 854026df7d94495f09cb335eef07ebe7317bd64e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 22:37:58 +0300 Subject: [PATCH 076/123] Update Cargo.lock (#201) --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 843d34b..e5aaf9a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -188,9 +188,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.173" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8cfeafaffdbc32176b64fb251369d52ea9f0a8fbc6f8759edffef7b525d64bb" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "magma" From 3e977555fdb173829574e5a819fa42c7c4cbe1ab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 03:55:22 +0300 Subject: [PATCH 077/123] Bump actions/checkout from 4 to 5 (#203) --- .github/workflows/belt-mac.yml | 4 ++-- .github/workflows/cbc-mac.yml | 4 ++-- .github/workflows/cmac.yml | 4 ++-- .github/workflows/hmac.yml | 4 ++-- .github/workflows/pmac.yml | 4 ++-- .github/workflows/retail-mac.yml | 4 ++-- .github/workflows/workspace.yml | 6 +++--- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index 605ed0a..0088d74 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -52,7 +52,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index afe5ccd..ffeacbd 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -30,7 +30,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 085400b..f107f70 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -52,7 +52,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 7ad917d..923390b 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -30,7 +30,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -52,7 +52,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 09f3c39..58da9b4 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -52,7 +52,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/retail-mac.yml b/.github/workflows/retail-mac.yml index 8e6e96d..843b4d5 100644 --- a/.github/workflows/retail-mac.yml +++ b/.github/workflows/retail-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -52,7 +52,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 7430967..563a958 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install stable toolchain uses: dtolnay/rust-toolchain@master @@ -39,5 +39,5 @@ jobs: typos: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: crate-ci/typos@v1 From 0b7112e1a3c2513344f1593df6f5f6af4bd43b52 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 03:56:05 +0300 Subject: [PATCH 078/123] Update Cargo.lock (#202) --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e5aaf9a..8c254f6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -110,9 +110,9 @@ dependencies = [ [[package]] name = "dbl" -version = "0.4.0-rc.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb24c766034b76390c67f3d9c44e63019febeb4cc39e4ba40b5fc79e20c898e1" +checksum = "0cc736abf8a9eaf02a19b5b6a52c80560677d75e461e50e34d33b5e851f923ca" dependencies = [ "hybrid-array", ] @@ -188,9 +188,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.174" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "magma" From 9cd49c82041f5ab8716f795ec4717742181dffc3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Aug 2025 14:21:44 +0300 Subject: [PATCH 079/123] Update Cargo.lock (#205) --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8c254f6..59b764d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -61,9 +61,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "cipher" From d1736a3f38a7c0fbbdb82e3b3ab171e526a63c57 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 1 Sep 2025 18:58:57 -0600 Subject: [PATCH 080/123] Bump `hybrid-array` to v0.4 (#206) Also temporarily disables tests until they can be updated to the new blobby format --- Cargo.lock | 25 ++++++++++-------------- Cargo.toml | 14 ++++++++++++++ belt-mac/tests/mod.rs | 6 +++--- cmac/Cargo.toml | 2 +- cmac/tests/cavp_large.rs | 18 ++++++++--------- cmac/tests/mod.rs | 42 ++++++++++++++++++++++------------------ hmac/tests/mod.rs | 29 +++++++++++++-------------- pmac/Cargo.toml | 2 +- pmac/tests/mod.rs | 13 +++++++------ 9 files changed, 83 insertions(+), 68 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 59b764d..7d9305f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -41,8 +41,7 @@ checksum = "4a859067dcb257cb2ae028cb821399b55140b76fb8b2a360e052fe109019db43" [[package]] name = "block-buffer" version = "0.11.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a229bfd78e4827c91b9b95784f69492c1b77c1ab75a45a8a037b139215086f94" +source = "git+https://github.com/RustCrypto/utils#adfccfea2686ef191b607f653cc3587753b6ec66" dependencies = [ "hybrid-array", "zeroize", @@ -68,9 +67,9 @@ checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "cipher" version = "0.5.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd4ef774202f1749465fc7cf88d70fc30620e8cacd5429268f4bff7d003bd976" +source = "git+https://github.com/RustCrypto/traits#b91704f633a83798c1ba89f908cff067ddc7d843" dependencies = [ + "block-buffer", "crypto-common", "inout", "zeroize", @@ -102,17 +101,15 @@ dependencies = [ [[package]] name = "crypto-common" version = "0.2.0-rc.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a23fa214dea9efd4dacee5a5614646b30216ae0f05d4bb51bafb50e9da1c5be" +source = "git+https://github.com/RustCrypto/traits#b91704f633a83798c1ba89f908cff067ddc7d843" dependencies = [ "hybrid-array", ] [[package]] name = "dbl" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc736abf8a9eaf02a19b5b6a52c80560677d75e461e50e34d33b5e851f923ca" +version = "0.5.0-pre" +source = "git+https://github.com/RustCrypto/utils#adfccfea2686ef191b607f653cc3587753b6ec66" dependencies = [ "hybrid-array", ] @@ -129,8 +126,7 @@ dependencies = [ [[package]] name = "digest" version = "0.11.0-rc.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460dd7f37e4950526b54a5a6b1f41b6c8e763c58eb9a8fc8fc05ba5c2f44ca7b" +source = "git+https://github.com/RustCrypto/traits#b91704f633a83798c1ba89f908cff067ddc7d843" dependencies = [ "blobby", "block-buffer", @@ -159,9 +155,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891d15931895091dea5c47afa5b3c9a01ba634b311919fd4d41388fa0e3d76af" +checksum = "6fe39a812f039072707ce38020acbab2f769087952eddd9e2b890f37654b2349" dependencies = [ "typenum", "zeroize", @@ -170,8 +166,7 @@ dependencies = [ [[package]] name = "inout" version = "0.2.0-rc.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c774c86bce20ea04abe1c37cf0051c5690079a3a28ef5fdac2a5a0412b3d7d74" +source = "git+https://github.com/RustCrypto/utils#adfccfea2686ef191b607f653cc3587753b6ec66" dependencies = [ "hybrid-array", ] diff --git a/Cargo.toml b/Cargo.toml index b8c3abb..3be0acf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,3 +11,17 @@ members = [ [profile.dev] opt-level = 2 + +[patch.crates-io] +# https://github.com/RustCrypto/utils/pull/1208 +block-buffer = { git = "https://github.com/RustCrypto/utils" } +# https://github.com/RustCrypto/traits/pull/1976 +cipher = { git = "https://github.com/RustCrypto/traits" } +# https://github.com/RustCrypto/traits/pull/1976 +crypto-common = { git = "https://github.com/RustCrypto/traits" } +# https://github.com/RustCrypto/utils/pull/1208 +dbl = { git = "https://github.com/RustCrypto/utils" } +# https://github.com/RustCrypto/traits/pull/1976 +digest = { git = "https://github.com/RustCrypto/traits" } +# https://github.com/RustCrypto/utils/pull/1208 +inout = { git = "https://github.com/RustCrypto/utils" } diff --git a/belt-mac/tests/mod.rs b/belt-mac/tests/mod.rs index 49628a7..a7c27f7 100644 --- a/belt-mac/tests/mod.rs +++ b/belt-mac/tests/mod.rs @@ -1,4 +1,4 @@ -use belt_mac::BeltMac; -use digest::new_resettable_mac_test; +//use belt_mac::BeltMac; -new_resettable_mac_test!(belt_mac_stb, "belt-mac", BeltMac, "left"); +// TODO(tarcieri): update tests to support RustCrypto/traits#1916 +// digest::new_resettable_mac_test!(belt_mac_stb, "belt-mac", BeltMac, "left"); diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 907ad0d..cf8523d 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -16,7 +16,7 @@ exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] cipher = "0.5.0-rc.0" digest = { version = "0.11.0-rc.0", features = ["mac"] } -dbl = "0.4.0-rc.0" +dbl = "0.5.0-pre" [dev-dependencies] digest = { version = "0.11.0-rc.0", features = ["dev"] } diff --git a/cmac/tests/cavp_large.rs b/cmac/tests/cavp_large.rs index bda760a..a936c8c 100644 --- a/cmac/tests/cavp_large.rs +++ b/cmac/tests/cavp_large.rs @@ -1,14 +1,14 @@ -use aes::Aes128; -use cmac::Cmac; -use digest::new_resettable_mac_test; +// use aes::Aes128; +// use cmac::Cmac; // Tests from CAVP (excluding all 64 KiB vectors for AES-128 except the first one): // https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/CAVP-TESTING-BLOCK-CIPHER-MODES // // Test vectors in this file use 64 KiB of data, so they are excluded from published packages. -new_resettable_mac_test!( - cmac_aes128_cavp, - "cavp_aes128_large", - Cmac, - trunc_left -); +// TODO(tarcieri): update tests to support RustCrypto/traits#1916 +// digest::new_resettable_mac_test!( +// cmac_aes128_cavp, +// "cavp_aes128_large", +// Cmac, +// trunc_left +// ); diff --git a/cmac/tests/mod.rs b/cmac/tests/mod.rs index 1efc2dc..b4ffdec 100644 --- a/cmac/tests/mod.rs +++ b/cmac/tests/mod.rs @@ -1,31 +1,35 @@ -use aes::{Aes128, Aes192, Aes256}; -use cmac::Cmac; -use des::{TdesEde2, TdesEde3}; -use digest::new_resettable_mac_test; -use kuznyechik::Kuznyechik; -use magma::Magma; +// use aes::{Aes128, Aes192, Aes256}; +// use cmac::Cmac; +// use des::{TdesEde2, TdesEde3}; +// use digest::new_resettable_mac_test; +// use kuznyechik::Kuznyechik; +// use magma::Magma; // Tests from NIST SP 800-38B: // https://csrc.nist.gov/projects/cryptographic-standards-and-guidelines/ -new_resettable_mac_test!(cmac_aes128_nist, "aes128", Cmac); -new_resettable_mac_test!(cmac_aes192_nist, "aes192", Cmac); -new_resettable_mac_test!(cmac_aes256_nist, "aes256", Cmac); +// TODO(tarcieri): update tests to support RustCrypto/traits#1916 +// new_resettable_mac_test!(cmac_aes128_nist, "aes128", Cmac); +// new_resettable_mac_test!(cmac_aes192_nist, "aes192", Cmac); +// new_resettable_mac_test!(cmac_aes256_nist, "aes256", Cmac); // Tests from CAVP (excluding all 64 KiB vectors for AES-128 except the first one): // https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/CAVP-TESTING-BLOCK-CIPHER-MODES -new_resettable_mac_test!(cmac_aes128_cavp, "cavp_aes128", Cmac, trunc_left); -new_resettable_mac_test!(cmac_aes192_cavp, "cavp_aes192", Cmac, trunc_left); -new_resettable_mac_test!(cmac_aes256_cavp, "cavp_aes256", Cmac, trunc_left); -new_resettable_mac_test!(cmac_tdes2_cavp, "cavp_tdes2", Cmac, trunc_left); -new_resettable_mac_test!(cmac_tdes3_cavp, "cavp_tdes3", Cmac, trunc_left); +// TODO(tarcieri): update tests to support RustCrypto/traits#1916 +// new_resettable_mac_test!(cmac_aes128_cavp, "cavp_aes128", Cmac, trunc_left); +// new_resettable_mac_test!(cmac_aes192_cavp, "cavp_aes192", Cmac, trunc_left); +// new_resettable_mac_test!(cmac_aes256_cavp, "cavp_aes256", Cmac, trunc_left); +// new_resettable_mac_test!(cmac_tdes2_cavp, "cavp_tdes2", Cmac, trunc_left); +// new_resettable_mac_test!(cmac_tdes3_cavp, "cavp_tdes3", Cmac, trunc_left); // Tests from Project Wycheproof: // https://github.com/google/wycheproof -new_resettable_mac_test!(cmac_aes128_wycheproof, "wycheproof-aes128", Cmac); -new_resettable_mac_test!(cmac_aes192_wycheproof, "wycheproof-aes192", Cmac); -new_resettable_mac_test!(cmac_aes256_wycheproof, "wycheproof-aes256", Cmac); +// TODO(tarcieri): update tests to support RustCrypto/traits#1916 +// new_resettable_mac_test!(cmac_aes128_wycheproof, "wycheproof-aes128", Cmac); +// new_resettable_mac_test!(cmac_aes192_wycheproof, "wycheproof-aes192", Cmac); +// new_resettable_mac_test!(cmac_aes256_wycheproof, "wycheproof-aes256", Cmac); // Test from GOST R 34.13-2015: // https://tc26.ru/standard/gost/GOST_R_3413-2015.pdf -new_resettable_mac_test!(cmac_kuznyechik_gost, "kuznyechik", Cmac); -new_resettable_mac_test!(cmac_magma_gost, "magma", Cmac); +// TODO(tarcieri): update tests to support RustCrypto/traits#1916 +// new_resettable_mac_test!(cmac_kuznyechik_gost, "kuznyechik", Cmac); +// new_resettable_mac_test!(cmac_magma_gost, "magma", Cmac); diff --git a/hmac/tests/mod.rs b/hmac/tests/mod.rs index 82f39cc..b43eb44 100644 --- a/hmac/tests/mod.rs +++ b/hmac/tests/mod.rs @@ -1,20 +1,21 @@ macro_rules! test { ($mod_name:ident, $test_name:expr, $hash:ty $(, $t:ident)?) => { mod $mod_name { - digest::new_mac_test!(hmac, $test_name, hmac::Hmac<$hash> $(, $t)?); - digest::new_mac_test!(simple_hmac, $test_name, hmac::SimpleHmac<$hash> $(, $t)?); - digest::new_resettable_mac_test!( - hmac_reset, - $test_name, - hmac::HmacReset<$hash> - $(, $t)? - ); - digest::new_resettable_mac_test!( - simple_reset_hmac, - $test_name, - hmac::SimpleHmacReset<$hash> - $(, $t)? - ); + // TODO(tarcieri): update tests to support RustCrypto/traits#1916 + // digest::new_mac_test!(hmac, $test_name, hmac::Hmac<$hash> $(, $t)?); + // digest::new_mac_test!(simple_hmac, $test_name, hmac::SimpleHmac<$hash> $(, $t)?); + // digest::new_resettable_mac_test!( + // hmac_reset, + // $test_name, + // hmac::HmacReset<$hash> + // $(, $t)? + // ); + // digest::new_resettable_mac_test!( + // simple_reset_hmac, + // $test_name, + // hmac::SimpleHmacReset<$hash> + // $(, $t)? + // ); } }; } diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index e5256ed..4e979db 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -15,7 +15,7 @@ categories = ["cryptography", "no-std"] [dependencies] cipher = "0.5.0-rc.0" digest = { version = "0.11.0-rc.0", features = ["mac"] } -dbl = "0.4.0-rc.0" +dbl = "0.5.0-pre" [dev-dependencies] aes = "0.9.0-rc.0" diff --git a/pmac/tests/mod.rs b/pmac/tests/mod.rs index 30d017a..da52782 100644 --- a/pmac/tests/mod.rs +++ b/pmac/tests/mod.rs @@ -1,8 +1,9 @@ -use aes::{Aes128, Aes192, Aes256}; -use digest::new_resettable_mac_test; -use pmac::Pmac; +// use aes::{Aes128, Aes192, Aes256}; +// use digest::new_resettable_mac_test; +// use pmac::Pmac; // Test vectors from: http://web.cs.ucdavis.edu/~rogaway/ocb/pmac-test.htm -new_resettable_mac_test!(pmac_aes128, "aes128", Pmac); -new_resettable_mac_test!(pmac_aes192, "aes192", Pmac); -new_resettable_mac_test!(pmac_aes256, "aes256", Pmac); +// TODO(tarcieri): update tests to support RustCrypto/traits#1916 +// new_resettable_mac_test!(pmac_aes128, "aes128", Pmac); +// new_resettable_mac_test!(pmac_aes192, "aes192", Pmac); +// new_resettable_mac_test!(pmac_aes256, "aes256", Pmac); From 0bbfa4c3227b5c8f76e597e832420fbe34802eae Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 2 Sep 2025 14:19:08 -0600 Subject: [PATCH 081/123] Bump `cipher` v0.5.0-rc.1; `digest` v0.11.0-rc.1 (#207) These notably support `hybrid-array` v0.4 --- Cargo.lock | 25 +++++++++++++++---------- Cargo.toml | 10 ---------- belt-mac/Cargo.toml | 6 +++--- cbc-mac/Cargo.toml | 6 +++--- cmac/Cargo.toml | 6 +++--- hmac/Cargo.toml | 4 ++-- pmac/Cargo.toml | 6 +++--- retail-mac/Cargo.toml | 6 +++--- 8 files changed, 32 insertions(+), 37 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7d9305f..4347be0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -40,8 +40,9 @@ checksum = "4a859067dcb257cb2ae028cb821399b55140b76fb8b2a360e052fe109019db43" [[package]] name = "block-buffer" -version = "0.11.0-rc.4" -source = "git+https://github.com/RustCrypto/utils#adfccfea2686ef191b607f653cc3587753b6ec66" +version = "0.11.0-rc.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9ef36a6fcdb072aa548f3da057640ec10859eb4e91ddf526ee648d50c76a949" dependencies = [ "hybrid-array", "zeroize", @@ -66,8 +67,9 @@ checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "cipher" -version = "0.5.0-rc.0" -source = "git+https://github.com/RustCrypto/traits#b91704f633a83798c1ba89f908cff067ddc7d843" +version = "0.5.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e12a13eb01ded5d32ee9658d94f553a19e804204f2dc811df69ab4d9e0cb8c7" dependencies = [ "block-buffer", "crypto-common", @@ -100,8 +102,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-rc.3" -source = "git+https://github.com/RustCrypto/traits#b91704f633a83798c1ba89f908cff067ddc7d843" +version = "0.2.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8235645834fbc6832939736ce2f2d08192652269e11010a6240f61b908a1c6" dependencies = [ "hybrid-array", ] @@ -125,8 +128,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-rc.0" -source = "git+https://github.com/RustCrypto/traits#b91704f633a83798c1ba89f908cff067ddc7d843" +version = "0.11.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a4aae35a0fcbe22ff1be50fe96df72002d5a4a6fb4aae9193cf2da0daa36da2" dependencies = [ "blobby", "block-buffer", @@ -165,8 +169,9 @@ dependencies = [ [[package]] name = "inout" -version = "0.2.0-rc.5" -source = "git+https://github.com/RustCrypto/utils#adfccfea2686ef191b607f653cc3587753b6ec66" +version = "0.2.0-rc.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1603f76010ff924b616c8f44815a42eb10fb0b93d308b41deaa8da6d4251fd4b" dependencies = [ "hybrid-array", ] diff --git a/Cargo.toml b/Cargo.toml index 3be0acf..45f5deb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,14 +14,4 @@ opt-level = 2 [patch.crates-io] # https://github.com/RustCrypto/utils/pull/1208 -block-buffer = { git = "https://github.com/RustCrypto/utils" } -# https://github.com/RustCrypto/traits/pull/1976 -cipher = { git = "https://github.com/RustCrypto/traits" } -# https://github.com/RustCrypto/traits/pull/1976 -crypto-common = { git = "https://github.com/RustCrypto/traits" } -# https://github.com/RustCrypto/utils/pull/1208 dbl = { git = "https://github.com/RustCrypto/utils" } -# https://github.com/RustCrypto/traits/pull/1976 -digest = { git = "https://github.com/RustCrypto/traits" } -# https://github.com/RustCrypto/utils/pull/1208 -inout = { git = "https://github.com/RustCrypto/utils" } diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 0174b45..9795eaa 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -14,11 +14,11 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-pre.3" -cipher = "0.5.0-rc.0" -digest = { version = "0.11.0-rc.0", features = ["mac"] } +cipher = "0.5.0-rc.1" +digest = { version = "0.11.0-rc.1", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.0", features = ["dev"] } +digest = { version = "0.11.0-rc.1", features = ["dev"] } hex-literal = "1" [features] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 0402e3b..a29f01e 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -12,11 +12,11 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -cipher = "0.5.0-rc.0" -digest = { version = "0.11.0-rc.0", features = ["mac"] } +cipher = "0.5.0-rc.1" +digest = { version = "0.11.0-rc.1", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.0", features = ["dev"] } +digest = { version = "0.11.0-rc.1", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.0" diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index cf8523d..e57d458 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -14,12 +14,12 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -cipher = "0.5.0-rc.0" -digest = { version = "0.11.0-rc.0", features = ["mac"] } +cipher = "0.5.0-rc.1" +digest = { version = "0.11.0-rc.1", features = ["mac"] } dbl = "0.5.0-pre" [dev-dependencies] -digest = { version = "0.11.0-rc.0", features = ["dev"] } +digest = { version = "0.11.0-rc.1", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.0" diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index f8886a0..a37c15c 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.85" [dependencies] -digest = { version = "0.11.0-rc.0", features = ["mac"] } +digest = { version = "0.11.0-rc.1", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.0", features = ["dev"] } +digest = { version = "0.11.0-rc.1", features = ["dev"] } md-5 = { version = "0.11.0-rc.0", default-features = false } sha1 = { version = "0.11.0-rc.0", default-features = false } sha2 = { version = "0.11.0-rc.0", default-features = false } diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 4e979db..f36c8c2 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -13,13 +13,13 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -cipher = "0.5.0-rc.0" -digest = { version = "0.11.0-rc.0", features = ["mac"] } +cipher = "0.5.0-rc.1" +digest = { version = "0.11.0-rc.1", features = ["mac"] } dbl = "0.5.0-pre" [dev-dependencies] aes = "0.9.0-rc.0" -digest = { version = "0.11.0-rc.0", features = ["dev"] } +digest = { version = "0.11.0-rc.1", features = ["dev"] } [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index fcd22fb..43c23b6 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -12,11 +12,11 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac"] [dependencies] -cipher = "0.5.0-rc.0" -digest = { version = "0.11.0-rc.0", features = ["mac"] } +cipher = "0.5.0-rc.1" +digest = { version = "0.11.0-rc.1", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.0", features = ["dev"] } +digest = { version = "0.11.0-rc.1", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.0" From a142fd2e76c820e6cbe90c6e1633a7147e118edb Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 2 Sep 2025 20:11:33 -0600 Subject: [PATCH 082/123] Bump cipher and hash dependencies (#208) Uses `hybrid-array` v0.4 compatible versions --- Cargo.lock | 32 ++++++++++++++++---------------- belt-mac/Cargo.toml | 2 +- cbc-mac/Cargo.toml | 4 ++-- cmac/Cargo.toml | 8 ++++---- hmac/Cargo.toml | 8 ++++---- pmac/Cargo.toml | 2 +- retail-mac/Cargo.toml | 4 ++-- 7 files changed, 30 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4347be0..9432b7c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 4 [[package]] name = "aes" -version = "0.9.0-rc.0" +version = "0.9.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd4838e4ad37bb032dea137f441d5f71c16c26c068af512e64c5bc13a88cdfc7" +checksum = "7e713c57c2a2b19159e7be83b9194600d7e8eb3b7c2cd67e671adf47ce189a05" dependencies = [ "cfg-if", "cipher", @@ -119,9 +119,9 @@ dependencies = [ [[package]] name = "des" -version = "0.9.0-rc.0" +version = "0.9.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8025983b9f9f242e94d459a57b81c571e92e4e1717ca57d092d8a69fc539efa1" +checksum = "3f51594a70805988feb1c85495ddec0c2052e4fbe59d9c0bb7f94bfc164f4f90" dependencies = [ "cipher", ] @@ -178,9 +178,9 @@ dependencies = [ [[package]] name = "kuznyechik" -version = "0.9.0-rc.0" +version = "0.9.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "074a7089016bcddb3b8da42f663296a885f8a31ec57a7b795a92b711999ff5aa" +checksum = "e39eb5f1f53d41c9341e559c72a732db17619643679116d56ca0af8b34cb8b26" dependencies = [ "cfg-if", "cipher", @@ -194,18 +194,18 @@ checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "magma" -version = "0.10.0-rc.0" +version = "0.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6704a51253dc03b397da9121342836759922371190e5755ccfb21c4db9cef4" +checksum = "47c60b0343c651857c53e0072315831622d550efeb663a589bbd3fdd83073da0" dependencies = [ "cipher", ] [[package]] name = "md-5" -version = "0.11.0-rc.0" +version = "0.11.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da1788e007bfe04177a520c827ef99f436b1ea79719d5c5f049279dfe85a7b28" +checksum = "f9ec86664728010f574d67ef01aec964e6f1299241a3402857c1a8a390a62478" dependencies = [ "cfg-if", "digest", @@ -234,9 +234,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-rc.0" +version = "0.11.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f9318facddf9ac32a33527066936837e189b3f23ced6edc1603720ead5e2b3d" +checksum = "c5e046edf639aa2e7afb285589e5405de2ef7e61d4b0ac1e30256e3eab911af9" dependencies = [ "cfg-if", "cpufeatures", @@ -245,9 +245,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-rc.0" +version = "0.11.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa1d2e6b3cc4e43a8258a9a3b17aa5dfd2cc5186c7024bba8a64aa65b2c71a59" +checksum = "d1e3878ab0f98e35b2df35fe53201d088299b41a6bb63e3e34dada2ac4abd924" dependencies = [ "cfg-if", "cpufeatures", @@ -256,9 +256,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.11.0-rc.0" +version = "0.11.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd1781d17a54baf1c29e23aee9d49ad89accf4551c80ed1b7edd1659a2c6dbb" +checksum = "7032930cdbb2ca75cafb6b91674728bd923d9a47941ac95183337c53445399ff" dependencies = [ "digest", ] diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 9795eaa..ff40330 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -13,7 +13,7 @@ keywords = ["crypto", "mac", "belt-mac"] categories = ["cryptography", "no-std"] [dependencies] -belt-block = "0.2.0-pre.3" +belt-block = "0.2.0-pre.4" cipher = "0.5.0-rc.1" digest = { version = "0.11.0-rc.1", features = ["mac"] } diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index a29f01e..f01b1c6 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -19,8 +19,8 @@ digest = { version = "0.11.0-rc.1", features = ["mac"] } digest = { version = "0.11.0-rc.1", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-rc.0" -des = "0.9.0-rc.0" +aes = "0.9.0-rc.1" +des = "0.9.0-rc.1" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index e57d458..46f29a7 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -22,10 +22,10 @@ dbl = "0.5.0-pre" digest = { version = "0.11.0-rc.1", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-rc.0" -des = "0.9.0-rc.0" -kuznyechik = "0.9.0-rc.0" -magma = "0.10.0-rc.0" +aes = "0.9.0-rc.1" +des = "0.9.0-rc.1" +kuznyechik = "0.9.0-rc.1" +magma = "0.10.0-rc.1" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index a37c15c..cf82c46 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -17,10 +17,10 @@ digest = { version = "0.11.0-rc.1", features = ["mac"] } [dev-dependencies] digest = { version = "0.11.0-rc.1", features = ["dev"] } -md-5 = { version = "0.11.0-rc.0", default-features = false } -sha1 = { version = "0.11.0-rc.0", default-features = false } -sha2 = { version = "0.11.0-rc.0", default-features = false } -streebog = { version = "0.11.0-rc.0", default-features = false } +md-5 = { version = "0.11.0-rc.2", default-features = false } +sha1 = { version = "0.11.0-rc.2", default-features = false } +sha2 = { version = "0.11.0-rc.2", default-features = false } +streebog = { version = "0.11.0-rc.2", default-features = false } hex-literal = "1" [features] diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index f36c8c2..d58de4c 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -18,7 +18,7 @@ digest = { version = "0.11.0-rc.1", features = ["mac"] } dbl = "0.5.0-pre" [dev-dependencies] -aes = "0.9.0-rc.0" +aes = "0.9.0-rc.1" digest = { version = "0.11.0-rc.1", features = ["dev"] } [features] diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index 43c23b6..9fc95f1 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -19,8 +19,8 @@ digest = { version = "0.11.0-rc.1", features = ["mac"] } digest = { version = "0.11.0-rc.1", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-rc.0" -des = "0.9.0-rc.0" +aes = "0.9.0-rc.1" +des = "0.9.0-rc.1" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] From a24de6b1b6ce139f9245de25268b51f25b95cb47 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 2 Sep 2025 20:19:07 -0600 Subject: [PATCH 083/123] Bump `dbl` to v0.5 (#209) --- Cargo.lock | 5 +++-- Cargo.toml | 4 ---- cmac/Cargo.toml | 2 +- pmac/Cargo.toml | 2 +- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9432b7c..756e053 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -111,8 +111,9 @@ dependencies = [ [[package]] name = "dbl" -version = "0.5.0-pre" -source = "git+https://github.com/RustCrypto/utils#adfccfea2686ef191b607f653cc3587753b6ec66" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d7a944e61df464668c5f51f56cc667396a8821434273112948ea0b66e405d7" dependencies = [ "hybrid-array", ] diff --git a/Cargo.toml b/Cargo.toml index 45f5deb..b8c3abb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,3 @@ members = [ [profile.dev] opt-level = 2 - -[patch.crates-io] -# https://github.com/RustCrypto/utils/pull/1208 -dbl = { git = "https://github.com/RustCrypto/utils" } diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 46f29a7..17d9e06 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -16,7 +16,7 @@ exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] cipher = "0.5.0-rc.1" digest = { version = "0.11.0-rc.1", features = ["mac"] } -dbl = "0.5.0-pre" +dbl = "0.5" [dev-dependencies] digest = { version = "0.11.0-rc.1", features = ["dev"] } diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index d58de4c..362d24f 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -15,7 +15,7 @@ categories = ["cryptography", "no-std"] [dependencies] cipher = "0.5.0-rc.1" digest = { version = "0.11.0-rc.1", features = ["mac"] } -dbl = "0.5.0-pre" +dbl = "0.5" [dev-dependencies] aes = "0.9.0-rc.1" From d34a204fb30eb2eb99ff292fce481c2b6cf5c3b0 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 2 Sep 2025 20:28:00 -0600 Subject: [PATCH 084/123] Cut prereleases with `hybrid-array` v0.4 support (#210) Releases the following: - `cbc-mac` v0.2.0-rc.1 - `cmac` v0.8.0-rc.1 - `hmac` v0.13.0-rc.1 - `pmac` v0.8.0-rc.1 --- Cargo.lock | 8 ++++---- cbc-mac/Cargo.toml | 2 +- cmac/Cargo.toml | 2 +- hmac/Cargo.toml | 2 +- pmac/Cargo.toml | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 756e053..3cf8432 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -50,7 +50,7 @@ dependencies = [ [[package]] name = "cbc-mac" -version = "0.2.0-rc.0" +version = "0.2.0-rc.1" dependencies = [ "aes", "cipher", @@ -79,7 +79,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.8.0-rc.0" +version = "0.8.0-rc.1" dependencies = [ "aes", "cipher", @@ -148,7 +148,7 @@ checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" [[package]] name = "hmac" -version = "0.13.0-rc.0" +version = "0.13.0-rc.1" dependencies = [ "digest", "hex-literal", @@ -214,7 +214,7 @@ dependencies = [ [[package]] name = "pmac" -version = "0.8.0-rc.0" +version = "0.8.0-rc.1" dependencies = [ "aes", "cipher", diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index f01b1c6..c6c1de6 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cbc-mac" -version = "0.2.0-rc.0" +version = "0.2.0-rc.1" description = "Implementation of Cipher Block Chaining Message Authentication Code (CBC-MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 17d9e06..e1f8922 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cmac" -version = "0.8.0-rc.0" +version = "0.8.0-rc.1" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index cf82c46..9fb3d10 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-rc.0" +version = "0.13.0-rc.1" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 362d24f..8277ce4 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pmac" -version = "0.8.0-rc.0" +version = "0.8.0-rc.1" description = "Generic implementation of Parallelizable Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From f8cad317ddad6d7f0ab309902f06ce555e96541a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 11:27:05 -0600 Subject: [PATCH 085/123] Bump the all-deps group with 2 updates (#211) --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3cf8432..2014a5f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -15,9 +15,9 @@ dependencies = [ [[package]] name = "belt-block" -version = "0.2.0-rc.0" +version = "0.2.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9aa0cd4ec3b89021a53caa73cefc5a458cf33b338498e1191916153877bd794" +checksum = "c4bbddee901eea0f5448cfcc94ea6390d0ee0f3ca8d0308fe34e37553f856640" dependencies = [ "cipher", ] @@ -160,9 +160,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe39a812f039072707ce38020acbab2f769087952eddd9e2b890f37654b2349" +checksum = "c7116c472cf19838450b1d421b4e842569f52b519d640aee9ace1ebcf5b21051" dependencies = [ "typenum", "zeroize", From 6e7db7b1d45d60208fe52df7fc29ecb39f97ae2a Mon Sep 17 00:00:00 2001 From: daxpedda Date: Wed, 17 Sep 2025 00:43:37 +0200 Subject: [PATCH 086/123] hmac: use `digest::EagerHash` (#212) Follow-up to RustCrypto/traits#2014 --- Cargo.lock | 4 ++-- belt-mac/Cargo.toml | 4 ++-- cbc-mac/Cargo.toml | 4 ++-- cmac/Cargo.toml | 4 ++-- hmac/Cargo.toml | 4 ++-- hmac/src/block_api.rs | 4 ++-- hmac/src/lib.rs | 3 +-- hmac/src/utils.rs | 32 ++------------------------------ pmac/Cargo.toml | 4 ++-- retail-mac/Cargo.toml | 4 ++-- 10 files changed, 19 insertions(+), 48 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2014a5f..e7f89aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -129,9 +129,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-rc.1" +version = "0.11.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a4aae35a0fcbe22ff1be50fe96df72002d5a4a6fb4aae9193cf2da0daa36da2" +checksum = "6749b668519cd7149ee3d11286a442a8a8bdc3a9d529605f579777bfccc5a4bc" dependencies = [ "blobby", "block-buffer", diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index ff40330..cd3dd47 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -15,10 +15,10 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-pre.4" cipher = "0.5.0-rc.1" -digest = { version = "0.11.0-rc.1", features = ["mac"] } +digest = { version = "0.11.0-rc.2", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.1", features = ["dev"] } +digest = { version = "0.11.0-rc.2", features = ["dev"] } hex-literal = "1" [features] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index c6c1de6..892f52f 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -13,10 +13,10 @@ keywords = ["crypto", "mac", "daa"] [dependencies] cipher = "0.5.0-rc.1" -digest = { version = "0.11.0-rc.1", features = ["mac"] } +digest = { version = "0.11.0-rc.2", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.1", features = ["dev"] } +digest = { version = "0.11.0-rc.2", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.1" diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index e1f8922..3518e79 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -15,11 +15,11 @@ exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] cipher = "0.5.0-rc.1" -digest = { version = "0.11.0-rc.1", features = ["mac"] } +digest = { version = "0.11.0-rc.2", features = ["mac"] } dbl = "0.5" [dev-dependencies] -digest = { version = "0.11.0-rc.1", features = ["dev"] } +digest = { version = "0.11.0-rc.2", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.1" diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 9fb3d10..5491616 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.85" [dependencies] -digest = { version = "0.11.0-rc.1", features = ["mac"] } +digest = { version = "0.11.0-rc.2", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.1", features = ["dev"] } +digest = { version = "0.11.0-rc.2", features = ["dev"] } md-5 = { version = "0.11.0-rc.2", default-features = false } sha1 = { version = "0.11.0-rc.2", default-features = false } sha2 = { version = "0.11.0-rc.2", default-features = false } diff --git a/hmac/src/block_api.rs b/hmac/src/block_api.rs index a9177ce..0ef56d2 100644 --- a/hmac/src/block_api.rs +++ b/hmac/src/block_api.rs @@ -1,9 +1,9 @@ -use crate::utils::{EagerHash, IPAD, OPAD, get_der_key}; +use crate::utils::{IPAD, OPAD, get_der_key}; use core::{fmt, slice}; use digest::{ InvalidLength, KeyInit, MacMarker, Output, Reset, block_api::{ - AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, EagerHash, FixedOutputCore, OutputSizeUser, UpdateCore, }, block_buffer::Eager, diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index 0fba87d..8b6b37a 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -19,7 +19,7 @@ #![forbid(unsafe_code)] #![warn(missing_docs)] -pub use digest::{self, KeyInit, Mac}; +pub use digest::{self, KeyInit, Mac, block_api::EagerHash}; /// Block-level implementation. pub mod block_api; @@ -29,7 +29,6 @@ mod utils; pub use simple::SimpleHmac; pub use simple_reset::SimpleHmacReset; -pub use utils::EagerHash; use core::fmt; use digest::block_api::{AlgorithmName, CoreProxy}; diff --git a/hmac/src/utils.rs b/hmac/src/utils.rs index bffb77f..833108c 100644 --- a/hmac/src/utils.rs +++ b/hmac/src/utils.rs @@ -1,8 +1,6 @@ use digest::{ - Digest, HashMarker, - block_api::{ - Block, BlockSizeUser, BufferKindUser, CoreProxy, Eager, FixedOutputCore, UpdateCore, - }, + Digest, + block_api::{Block, BlockSizeUser}, }; pub(crate) const IPAD: u8 = 0x36; @@ -32,29 +30,3 @@ pub(crate) fn get_der_key(key: &[u8]) -> Block { } der_key } - -/// Trait implemented by eager hashes which expose their block-level core. -pub trait EagerHash: BlockSizeUser + Digest { - /// Block-level core type of the hash. - type Core: HashMarker - + UpdateCore - + FixedOutputCore - + BlockSizeUser::BlockSize> - + BufferKindUser - + Default - + Clone; -} - -impl EagerHash for T -where - T: CoreProxy + BlockSizeUser + Digest, - ::Core: HashMarker - + UpdateCore - + FixedOutputCore - + BlockSizeUser::BlockSize> - + BufferKindUser - + Default - + Clone, -{ - type Core = T::Core; -} diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 8277ce4..35df127 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -14,12 +14,12 @@ categories = ["cryptography", "no-std"] [dependencies] cipher = "0.5.0-rc.1" -digest = { version = "0.11.0-rc.1", features = ["mac"] } +digest = { version = "0.11.0-rc.2", features = ["mac"] } dbl = "0.5" [dev-dependencies] aes = "0.9.0-rc.1" -digest = { version = "0.11.0-rc.1", features = ["dev"] } +digest = { version = "0.11.0-rc.2", features = ["dev"] } [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index 9fc95f1..ad119bb 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -13,10 +13,10 @@ keywords = ["crypto", "mac"] [dependencies] cipher = "0.5.0-rc.1" -digest = { version = "0.11.0-rc.1", features = ["mac"] } +digest = { version = "0.11.0-rc.2", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.1", features = ["dev"] } +digest = { version = "0.11.0-rc.2", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.1" From 38c07015af4bc8066cb0fad99611cec367594b1c Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 16 Sep 2025 16:58:34 -0600 Subject: [PATCH 087/123] hmac v0.13.0-rc.2 (#213) --- Cargo.lock | 2 +- hmac/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e7f89aa..56fcd72 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -148,7 +148,7 @@ checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" [[package]] name = "hmac" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "digest", "hex-literal", diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 5491616..548e9a4 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From e66e32a79f47c94dc40accef08de5ac1408f6bb0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 13:20:59 -0600 Subject: [PATCH 088/123] Bump the all-deps group with 2 updates (#214) --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 56fcd72..43e9664 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -34,9 +34,9 @@ dependencies = [ [[package]] name = "blobby" -version = "0.4.0-pre.0" +version = "0.4.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a859067dcb257cb2ae028cb821399b55140b76fb8b2a360e052fe109019db43" +checksum = "e4db6eec520c1f3d3b060c5b67527c3d1d4122d9f0ff47edf0149a7ffa34cebb" [[package]] name = "block-buffer" @@ -160,9 +160,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7116c472cf19838450b1d421b4e842569f52b519d640aee9ace1ebcf5b21051" +checksum = "4a09fa0190457fce307a699c050054974f81b6975b7a017f1e784eb7d9c2d4bc" dependencies = [ "typenum", "zeroize", From 7c7919b4d8e046e27363701995581a1b18ee3124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Tue, 30 Sep 2025 15:53:55 +0300 Subject: [PATCH 089/123] Update Cargo.lock --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 43e9664..bf7b7eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -129,9 +129,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-rc.2" +version = "0.11.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6749b668519cd7149ee3d11286a442a8a8bdc3a9d529605f579777bfccc5a4bc" +checksum = "dac89f8a64533a9b0eaa73a68e424db0fb1fd6271c74cc0125336a05f090568d" dependencies = [ "blobby", "block-buffer", @@ -160,9 +160,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.4.2" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a09fa0190457fce307a699c050054974f81b6975b7a017f1e784eb7d9c2d4bc" +checksum = "f471e0a81b2f90ffc0cb2f951ae04da57de8baa46fa99112b062a5173a5088d0" dependencies = [ "typenum", "zeroize", @@ -189,9 +189,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.175" +version = "0.2.176" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" +checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" [[package]] name = "magma" @@ -278,6 +278,6 @@ checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "zeroize" -version = "1.8.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" From 4f7a519f4b6a5f350523edd2ce7f2cd7d7c3db77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Mon, 13 Oct 2025 07:11:49 +0300 Subject: [PATCH 090/123] Update Cargo.lock --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bf7b7eb..a95a586 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -34,9 +34,9 @@ dependencies = [ [[package]] name = "blobby" -version = "0.4.0-pre.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4db6eec520c1f3d3b060c5b67527c3d1d4122d9f0ff47edf0149a7ffa34cebb" +checksum = "89af0b093cc13baa4e51e64e65ec2422f7e73aea0e612e5ad3872986671622f1" [[package]] name = "block-buffer" @@ -170,9 +170,9 @@ dependencies = [ [[package]] name = "inout" -version = "0.2.0-rc.6" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1603f76010ff924b616c8f44815a42eb10fb0b93d308b41deaa8da6d4251fd4b" +checksum = "c7357b6e7aa75618c7864ebd0634b115a7218b0615f4cb1df33ac3eca23943d4" dependencies = [ "hybrid-array", ] @@ -189,9 +189,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.176" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "magma" @@ -272,9 +272,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "typenum" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "zeroize" From f36e7876c6e6609b245978c97483a9e7fba71a56 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 13 Oct 2025 07:16:43 +0300 Subject: [PATCH 091/123] Switch from `doc_auto_cfg` to `doc_cfg` (#217) See https://github.com/RustCrypto/traits/issues/2028 --- belt-mac/src/lib.rs | 2 +- cbc-mac/src/lib.rs | 2 +- cmac/src/lib.rs | 2 +- hmac/src/lib.rs | 2 +- pmac/src/lib.rs | 2 +- retail-mac/src/lib.rs | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index df7e98b..53bec4e 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -4,7 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] -#![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![cfg_attr(docsrs, feature(doc_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs)] diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index 0d189fd..16f7e07 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -4,7 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] -#![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![cfg_attr(docsrs, feature(doc_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs)] diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index 635f5ff..826114c 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -4,7 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] -#![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![cfg_attr(docsrs, feature(doc_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs)] diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index 8b6b37a..4dbc201 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -15,7 +15,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] -#![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![cfg_attr(docsrs, feature(doc_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs)] diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index 535bbdb..46c17bb 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -4,7 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] -#![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![cfg_attr(docsrs, feature(doc_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs)] diff --git a/retail-mac/src/lib.rs b/retail-mac/src/lib.rs index 7a45791..5d3eca8 100644 --- a/retail-mac/src/lib.rs +++ b/retail-mac/src/lib.rs @@ -4,7 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] -#![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![cfg_attr(docsrs, feature(doc_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs)] From 968f6320a8b0336507b527729baba201eba94d92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Oct 2025 20:23:14 +0300 Subject: [PATCH 092/123] Update Cargo.lock (#218) --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a95a586..4463bca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -61,9 +61,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cipher" From 711f5c66e46202ab74f7c43296a83b990a705fdc Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 21 Oct 2025 13:28:39 +0300 Subject: [PATCH 093/123] pmac: tweak `PmacCipher` docs (#220) --- pmac/src/block_api.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pmac/src/block_api.rs b/pmac/src/block_api.rs index 6b1faea..f56b535 100644 --- a/pmac/src/block_api.rs +++ b/pmac/src/block_api.rs @@ -213,7 +213,10 @@ fn xor(buf: &mut Array, data: &Array) { } } -/// Helper trait implemented for cipher supported by CMAC +/// Helper trait implemented for block ciphers supported by PMAC. +/// +/// Currently this trait is implemented for all block cipher encryptors +/// with block size equal to 64 and 128 bits. pub trait PmacCipher: BlockSizeUser + BlockCipherEncrypt + Clone { /// Double block. See the [`Dbl`] trait docs for more information. fn dbl(block: Block) -> Block; From de770476b8d410ad09d37959a67c7fe9a49cef76 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 5 Nov 2025 09:52:13 -0700 Subject: [PATCH 094/123] Bump `digest` dependency to v0.11.0-rc.4 (#223) --- Cargo.lock | 8 ++++---- belt-mac/Cargo.toml | 4 ++-- cbc-mac/Cargo.toml | 4 ++-- cmac/Cargo.toml | 4 ++-- hmac/Cargo.toml | 4 ++-- pmac/Cargo.toml | 4 ++-- retail-mac/Cargo.toml | 4 ++-- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4463bca..e3c31cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-rc.4" +version = "0.2.0-rc.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8235645834fbc6832939736ce2f2d08192652269e11010a6240f61b908a1c6" +checksum = "919bd05924682a5480aec713596b9e2aabed3a0a6022fab6847f85a99e5f190a" dependencies = [ "hybrid-array", ] @@ -129,9 +129,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-rc.3" +version = "0.11.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac89f8a64533a9b0eaa73a68e424db0fb1fd6271c74cc0125336a05f090568d" +checksum = "ea390c940e465846d64775e55e3115d5dc934acb953de6f6e6360bc232fe2bf7" dependencies = [ "blobby", "block-buffer", diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index cd3dd47..99cd400 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -15,10 +15,10 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-pre.4" cipher = "0.5.0-rc.1" -digest = { version = "0.11.0-rc.2", features = ["mac"] } +digest = { version = "0.11.0-rc.4", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.2", features = ["dev"] } +digest = { version = "0.11.0-rc.4", features = ["dev"] } hex-literal = "1" [features] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 892f52f..51ae32f 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -13,10 +13,10 @@ keywords = ["crypto", "mac", "daa"] [dependencies] cipher = "0.5.0-rc.1" -digest = { version = "0.11.0-rc.2", features = ["mac"] } +digest = { version = "0.11.0-rc.4", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.2", features = ["dev"] } +digest = { version = "0.11.0-rc.4", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.1" diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 3518e79..3559ddc 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -15,11 +15,11 @@ exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] cipher = "0.5.0-rc.1" -digest = { version = "0.11.0-rc.2", features = ["mac"] } +digest = { version = "0.11.0-rc.4", features = ["mac"] } dbl = "0.5" [dev-dependencies] -digest = { version = "0.11.0-rc.2", features = ["dev"] } +digest = { version = "0.11.0-rc.4", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.1" diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 548e9a4..0ea0288 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.85" [dependencies] -digest = { version = "0.11.0-rc.2", features = ["mac"] } +digest = { version = "0.11.0-rc.4", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.2", features = ["dev"] } +digest = { version = "0.11.0-rc.4", features = ["dev"] } md-5 = { version = "0.11.0-rc.2", default-features = false } sha1 = { version = "0.11.0-rc.2", default-features = false } sha2 = { version = "0.11.0-rc.2", default-features = false } diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 35df127..6996916 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -14,12 +14,12 @@ categories = ["cryptography", "no-std"] [dependencies] cipher = "0.5.0-rc.1" -digest = { version = "0.11.0-rc.2", features = ["mac"] } +digest = { version = "0.11.0-rc.4", features = ["mac"] } dbl = "0.5" [dev-dependencies] aes = "0.9.0-rc.1" -digest = { version = "0.11.0-rc.2", features = ["dev"] } +digest = { version = "0.11.0-rc.4", features = ["dev"] } [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index ad119bb..44531a6 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -13,10 +13,10 @@ keywords = ["crypto", "mac"] [dependencies] cipher = "0.5.0-rc.1" -digest = { version = "0.11.0-rc.2", features = ["mac"] } +digest = { version = "0.11.0-rc.4", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.2", features = ["dev"] } +digest = { version = "0.11.0-rc.4", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.1" From 972fc540fb6290014d2d41577de0ae7c7beaeac9 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 5 Nov 2025 10:30:20 -0700 Subject: [PATCH 095/123] Bump `cipher` dependency to v0.5.0-rc.2 (#225) --- Cargo.lock | 4 ++-- belt-mac/Cargo.toml | 2 +- cbc-mac/Cargo.toml | 2 +- cmac/Cargo.toml | 2 +- pmac/Cargo.toml | 2 +- retail-mac/Cargo.toml | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e3c31cf..5e50d3d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -67,9 +67,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cipher" -version = "0.5.0-rc.1" +version = "0.5.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e12a13eb01ded5d32ee9658d94f553a19e804204f2dc811df69ab4d9e0cb8c7" +checksum = "155e4a260750fa4f7754649f049748aacc31db238a358d85fd721002f230f92f" dependencies = [ "block-buffer", "crypto-common", diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 99cd400..8caeb73 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-pre.4" -cipher = "0.5.0-rc.1" +cipher = "0.5.0-rc.2" digest = { version = "0.11.0-rc.4", features = ["mac"] } [dev-dependencies] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 51ae32f..5393971 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -cipher = "0.5.0-rc.1" +cipher = "0.5.0-rc.2" digest = { version = "0.11.0-rc.4", features = ["mac"] } [dev-dependencies] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 3559ddc..99fa096 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -cipher = "0.5.0-rc.1" +cipher = "0.5.0-rc.2" digest = { version = "0.11.0-rc.4", features = ["mac"] } dbl = "0.5" diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 6996916..ec09a5d 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -13,7 +13,7 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -cipher = "0.5.0-rc.1" +cipher = "0.5.0-rc.2" digest = { version = "0.11.0-rc.4", features = ["mac"] } dbl = "0.5" diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index 44531a6..2421e6b 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac"] [dependencies] -cipher = "0.5.0-rc.1" +cipher = "0.5.0-rc.2" digest = { version = "0.11.0-rc.4", features = ["mac"] } [dev-dependencies] From 3fc62af6ac8d71e0c8ac4eca6023ea117aced768 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Nov 2025 10:37:30 -0700 Subject: [PATCH 096/123] Bump `hex-literal` to v1.1.0 --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5e50d3d..5259fa0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -142,9 +142,9 @@ dependencies = [ [[package]] name = "hex-literal" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" +checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" [[package]] name = "hmac" From 4b9ef64c777165e5d88a1921c2b64547f6191450 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 5 Nov 2025 11:09:59 -0700 Subject: [PATCH 097/123] Cut rc.3 prereleases (#226) Releases the following: - `cbc-mac` v0.2.0-rc.3 - `cmac` v0.8.0-rc.3 - `hmac` v0.13.0-rc.3 - `pmac` v0.8.0-rc.3 --- Cargo.lock | 40 ++++++++++++++++++++-------------------- belt-mac/Cargo.toml | 2 +- cbc-mac/Cargo.toml | 6 +++--- cmac/Cargo.toml | 10 +++++----- hmac/Cargo.toml | 10 +++++----- pmac/Cargo.toml | 4 ++-- 6 files changed, 36 insertions(+), 36 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5259fa0..1d7319a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 4 [[package]] name = "aes" -version = "0.9.0-rc.1" +version = "0.9.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e713c57c2a2b19159e7be83b9194600d7e8eb3b7c2cd67e671adf47ce189a05" +checksum = "fd9e1c818b25efb32214df89b0ec22f01aa397aaeb718d1022bf0635a3bfd1a8" dependencies = [ "cfg-if", "cipher", @@ -50,7 +50,7 @@ dependencies = [ [[package]] name = "cbc-mac" -version = "0.2.0-rc.1" +version = "0.2.0-rc.3" dependencies = [ "aes", "cipher", @@ -79,7 +79,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.8.0-rc.1" +version = "0.8.0-rc.3" dependencies = [ "aes", "cipher", @@ -120,9 +120,9 @@ dependencies = [ [[package]] name = "des" -version = "0.9.0-rc.1" +version = "0.9.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f51594a70805988feb1c85495ddec0c2052e4fbe59d9c0bb7f94bfc164f4f90" +checksum = "512ca722eff02fa73c43e5136f440c46f861d41f9dd7761c1f2817a5ca5d9ad7" dependencies = [ "cipher", ] @@ -148,7 +148,7 @@ checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" [[package]] name = "hmac" -version = "0.13.0-rc.2" +version = "0.13.0-rc.3" dependencies = [ "digest", "hex-literal", @@ -179,9 +179,9 @@ dependencies = [ [[package]] name = "kuznyechik" -version = "0.9.0-rc.1" +version = "0.9.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e39eb5f1f53d41c9341e559c72a732db17619643679116d56ca0af8b34cb8b26" +checksum = "f692f9023c6a17c2646c2751b169c9136d517718505531f2af18bd2b69780f13" dependencies = [ "cfg-if", "cipher", @@ -195,18 +195,18 @@ checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "magma" -version = "0.10.0-rc.1" +version = "0.10.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c60b0343c651857c53e0072315831622d550efeb663a589bbd3fdd83073da0" +checksum = "0a050323412d2adf0ad86903bc188640b1abba7da0ab6450e035437fce7596d7" dependencies = [ "cipher", ] [[package]] name = "md-5" -version = "0.11.0-rc.2" +version = "0.11.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9ec86664728010f574d67ef01aec964e6f1299241a3402857c1a8a390a62478" +checksum = "64dd2c9099caf8e29b629305199dddb1c6d981562b62c089afea54b0b4b5c333" dependencies = [ "cfg-if", "digest", @@ -214,7 +214,7 @@ dependencies = [ [[package]] name = "pmac" -version = "0.8.0-rc.1" +version = "0.8.0-rc.3" dependencies = [ "aes", "cipher", @@ -235,9 +235,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-rc.2" +version = "0.11.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e046edf639aa2e7afb285589e5405de2ef7e61d4b0ac1e30256e3eab911af9" +checksum = "aa1ae819b9870cadc959a052363de870944a1646932d274a4e270f64bf79e5ef" dependencies = [ "cfg-if", "cpufeatures", @@ -246,9 +246,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-rc.2" +version = "0.11.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1e3878ab0f98e35b2df35fe53201d088299b41a6bb63e3e34dada2ac4abd924" +checksum = "19d43dc0354d88b791216bb5c1bfbb60c0814460cc653ae0ebd71f286d0bd927" dependencies = [ "cfg-if", "cpufeatures", @@ -257,9 +257,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.11.0-rc.2" +version = "0.11.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7032930cdbb2ca75cafb6b91674728bd923d9a47941ac95183337c53445399ff" +checksum = "4b24f3259853f4857159f8dfefc4e3500b37cf91e497944b99d9434371d4db05" dependencies = [ "digest", ] diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 8caeb73..aceec4a 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -13,7 +13,7 @@ keywords = ["crypto", "mac", "belt-mac"] categories = ["cryptography", "no-std"] [dependencies] -belt-block = "0.2.0-pre.4" +belt-block = "0.2.0-rc.1" cipher = "0.5.0-rc.2" digest = { version = "0.11.0-rc.4", features = ["mac"] } diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 5393971..c35b289 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cbc-mac" -version = "0.2.0-rc.1" +version = "0.2.0-rc.3" description = "Implementation of Cipher Block Chaining Message Authentication Code (CBC-MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -19,8 +19,8 @@ digest = { version = "0.11.0-rc.4", features = ["mac"] } digest = { version = "0.11.0-rc.4", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-rc.1" -des = "0.9.0-rc.1" +aes = "0.9.0-rc.2" +des = "0.9.0-rc.2" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 99fa096..4033231 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cmac" -version = "0.8.0-rc.1" +version = "0.8.0-rc.3" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -22,10 +22,10 @@ dbl = "0.5" digest = { version = "0.11.0-rc.4", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-rc.1" -des = "0.9.0-rc.1" -kuznyechik = "0.9.0-rc.1" -magma = "0.10.0-rc.1" +aes = "0.9.0-rc.2" +des = "0.9.0-rc.2" +kuznyechik = "0.9.0-rc.2" +magma = "0.10.0-rc.2" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 0ea0288..dac0fac 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-rc.2" +version = "0.13.0-rc.3" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -17,10 +17,10 @@ digest = { version = "0.11.0-rc.4", features = ["mac"] } [dev-dependencies] digest = { version = "0.11.0-rc.4", features = ["dev"] } -md-5 = { version = "0.11.0-rc.2", default-features = false } -sha1 = { version = "0.11.0-rc.2", default-features = false } -sha2 = { version = "0.11.0-rc.2", default-features = false } -streebog = { version = "0.11.0-rc.2", default-features = false } +md-5 = { version = "0.11.0-rc.3", default-features = false } +sha1 = { version = "0.11.0-rc.3", default-features = false } +sha2 = { version = "0.11.0-rc.3", default-features = false } +streebog = { version = "0.11.0-rc.3", default-features = false } hex-literal = "1" [features] diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index ec09a5d..2cb38e6 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pmac" -version = "0.8.0-rc.1" +version = "0.8.0-rc.3" description = "Generic implementation of Parallelizable Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -18,7 +18,7 @@ digest = { version = "0.11.0-rc.4", features = ["mac"] } dbl = "0.5" [dev-dependencies] -aes = "0.9.0-rc.1" +aes = "0.9.0-rc.2" digest = { version = "0.11.0-rc.4", features = ["dev"] } [features] From 898223c45e45171636e75b805769acea8f3f3262 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Nov 2025 20:55:45 +0300 Subject: [PATCH 098/123] Update Cargo.lock (#229) --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1d7319a..c4229de 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -15,9 +15,9 @@ dependencies = [ [[package]] name = "belt-block" -version = "0.2.0-rc.1" +version = "0.2.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4bbddee901eea0f5448cfcc94ea6390d0ee0f3ca8d0308fe34e37553f856640" +checksum = "e34d9cc93a6506887eed92e4e9459c13469eee4ef2b2af305a182ebf53e4d6a3" dependencies = [ "cipher", ] @@ -40,9 +40,9 @@ checksum = "89af0b093cc13baa4e51e64e65ec2422f7e73aea0e612e5ad3872986671622f1" [[package]] name = "block-buffer" -version = "0.11.0-rc.5" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ef36a6fcdb072aa548f3da057640ec10859eb4e91ddf526ee648d50c76a949" +checksum = "96eb4cdd6cf1b31d671e9efe75c5d1ec614776856cefbe109ca373554a6d514f" dependencies = [ "hybrid-array", "zeroize", From 209ac3c0b72dfad8ac8f0ed138ca25800e0c00e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Nov 2025 20:51:11 +0300 Subject: [PATCH 099/123] ci: bump actions/checkout from 5 to 6 (#230) --- .github/workflows/belt-mac.yml | 4 ++-- .github/workflows/cbc-mac.yml | 4 ++-- .github/workflows/cmac.yml | 4 ++-- .github/workflows/hmac.yml | 4 ++-- .github/workflows/pmac.yml | 4 ++-- .github/workflows/retail-mac.yml | 4 ++-- .github/workflows/workspace.yml | 6 +++--- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index 0088d74..f1d9d3a 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -52,7 +52,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index ffeacbd..bfc8c96 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -30,7 +30,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index f107f70..05451d6 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -52,7 +52,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 923390b..1ac52cb 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -30,7 +30,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -52,7 +52,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index 58da9b4..fc3f0e2 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -52,7 +52,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/retail-mac.yml b/.github/workflows/retail-mac.yml index 843b4d5..9300d4f 100644 --- a/.github/workflows/retail-mac.yml +++ b/.github/workflows/retail-mac.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -52,7 +52,7 @@ jobs: - 1.85.0 # MSRV - stable steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 563a958..1fdf855 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install stable toolchain uses: dtolnay/rust-toolchain@master @@ -39,5 +39,5 @@ jobs: typos: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: crate-ci/typos@v1 From c4ef40bc2f3c2f836a063c323c59a9dddba60d7d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Dec 2025 20:06:04 +0300 Subject: [PATCH 100/123] Update Cargo.lock (#231) --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c4229de..8a60828 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -189,9 +189,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.177" +version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" [[package]] name = "magma" From aebb5a05eeb6f020154c245d6ba58b7b4d7170b9 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 27 Dec 2025 14:40:24 -0700 Subject: [PATCH 101/123] Bump `cipher` and `digest` dependencies (#232) Bumps these dependencies to the following versions: - `cipher` v0.5.0-rc.3 - `digest` v0.11.0-rc.5 --- Cargo.lock | 12 ++++++------ belt-mac/Cargo.toml | 6 +++--- cbc-mac/Cargo.toml | 6 +++--- cmac/Cargo.toml | 6 +++--- hmac/Cargo.toml | 4 ++-- pmac/Cargo.toml | 6 +++--- retail-mac/Cargo.toml | 6 +++--- 7 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8a60828..7b60b26 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -67,9 +67,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cipher" -version = "0.5.0-rc.2" +version = "0.5.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "155e4a260750fa4f7754649f049748aacc31db238a358d85fd721002f230f92f" +checksum = "98d708bac5451350d56398433b19a7889022fa9187df1a769c0edbc3b2c03167" dependencies = [ "block-buffer", "crypto-common", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-rc.5" +version = "0.2.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919bd05924682a5480aec713596b9e2aabed3a0a6022fab6847f85a99e5f190a" +checksum = "e6165b8029cdc3e765b74d3548f85999ee799d5124877ce45c2c85ca78e4d4aa" dependencies = [ "hybrid-array", ] @@ -129,9 +129,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-rc.4" +version = "0.11.0-rc.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea390c940e465846d64775e55e3115d5dc934acb953de6f6e6360bc232fe2bf7" +checksum = "ebf9423bafb058e4142194330c52273c343f8a5beb7176d052f0e73b17dd35b9" dependencies = [ "blobby", "block-buffer", diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index aceec4a..1ed959d 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -14,11 +14,11 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-rc.1" -cipher = "0.5.0-rc.2" -digest = { version = "0.11.0-rc.4", features = ["mac"] } +cipher = "0.5.0-rc.3" +digest = { version = "0.11.0-rc.5", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.4", features = ["dev"] } +digest = { version = "0.11.0-rc.5", features = ["dev"] } hex-literal = "1" [features] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index c35b289..d519433 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -12,11 +12,11 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -cipher = "0.5.0-rc.2" -digest = { version = "0.11.0-rc.4", features = ["mac"] } +cipher = "0.5.0-rc.3" +digest = { version = "0.11.0-rc.5", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.4", features = ["dev"] } +digest = { version = "0.11.0-rc.5", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.2" diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 4033231..750225c 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -14,12 +14,12 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -cipher = "0.5.0-rc.2" -digest = { version = "0.11.0-rc.4", features = ["mac"] } +cipher = "0.5.0-rc.3" +digest = { version = "0.11.0-rc.5", features = ["mac"] } dbl = "0.5" [dev-dependencies] -digest = { version = "0.11.0-rc.4", features = ["dev"] } +digest = { version = "0.11.0-rc.5", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.2" diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index dac0fac..0abf378 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.85" [dependencies] -digest = { version = "0.11.0-rc.4", features = ["mac"] } +digest = { version = "0.11.0-rc.5", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.4", features = ["dev"] } +digest = { version = "0.11.0-rc.5", features = ["dev"] } md-5 = { version = "0.11.0-rc.3", default-features = false } sha1 = { version = "0.11.0-rc.3", default-features = false } sha2 = { version = "0.11.0-rc.3", default-features = false } diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 2cb38e6..202c8cb 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -13,13 +13,13 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -cipher = "0.5.0-rc.2" -digest = { version = "0.11.0-rc.4", features = ["mac"] } +cipher = "0.5.0-rc.3" +digest = { version = "0.11.0-rc.5", features = ["mac"] } dbl = "0.5" [dev-dependencies] aes = "0.9.0-rc.2" -digest = { version = "0.11.0-rc.4", features = ["dev"] } +digest = { version = "0.11.0-rc.5", features = ["dev"] } [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index 2421e6b..63e0bb6 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -12,11 +12,11 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac"] [dependencies] -cipher = "0.5.0-rc.2" -digest = { version = "0.11.0-rc.4", features = ["mac"] } +cipher = "0.5.0-rc.3" +digest = { version = "0.11.0-rc.5", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.4", features = ["dev"] } +digest = { version = "0.11.0-rc.5", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.1" From ff8902d0d2b2e490cf017ef684f01ced21d0825d Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 21 Jan 2026 19:42:34 +0300 Subject: [PATCH 102/123] ci: re-enable minimal-versions jobs (#235) --- .github/workflows/belt-mac.yml | 2 -- .github/workflows/cbc-mac.yml | 2 -- .github/workflows/cmac.yml | 2 -- .github/workflows/hmac.yml | 1 - .github/workflows/pmac.yml | 2 -- .github/workflows/retail-mac.yml | 2 -- 6 files changed, 11 deletions(-) diff --git a/.github/workflows/belt-mac.yml b/.github/workflows/belt-mac.yml index f1d9d3a..12418a5 100644 --- a/.github/workflows/belt-mac.yml +++ b/.github/workflows/belt-mac.yml @@ -38,8 +38,6 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - # disabled until belt-block gets published - if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} diff --git a/.github/workflows/cbc-mac.yml b/.github/workflows/cbc-mac.yml index bfc8c96..f164c32 100644 --- a/.github/workflows/cbc-mac.yml +++ b/.github/workflows/cbc-mac.yml @@ -39,8 +39,6 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - # disabled until belt-block gets published - if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} diff --git a/.github/workflows/cmac.yml b/.github/workflows/cmac.yml index 05451d6..0ab57e5 100644 --- a/.github/workflows/cmac.yml +++ b/.github/workflows/cmac.yml @@ -38,8 +38,6 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - # disabled until belt-block gets published - if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} diff --git a/.github/workflows/hmac.yml b/.github/workflows/hmac.yml index 1ac52cb..c0cbd20 100644 --- a/.github/workflows/hmac.yml +++ b/.github/workflows/hmac.yml @@ -39,7 +39,6 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - if: false # TODO: temp disabled due to unpublished prerelease dependencies uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} diff --git a/.github/workflows/pmac.yml b/.github/workflows/pmac.yml index fc3f0e2..7bc4a0a 100644 --- a/.github/workflows/pmac.yml +++ b/.github/workflows/pmac.yml @@ -38,8 +38,6 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - # disabled until belt-block gets published - if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} diff --git a/.github/workflows/retail-mac.yml b/.github/workflows/retail-mac.yml index 9300d4f..38d9c7f 100644 --- a/.github/workflows/retail-mac.yml +++ b/.github/workflows/retail-mac.yml @@ -38,8 +38,6 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - # disabled until belt-block gets published - if: false uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} From 547e12f060555d6b06ac60a561c1ed072cc9ed8f Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 24 Jan 2026 09:33:39 -0700 Subject: [PATCH 103/123] Bump `cipher` to v0.5.0-rc.6; `digest` to v0.11.0-rc.8 (#236) --- Cargo.lock | 16 ++++++++-------- belt-mac/Cargo.toml | 6 +++--- cbc-mac/Cargo.toml | 6 +++--- cmac/Cargo.toml | 6 +++--- hmac/Cargo.toml | 4 ++-- pmac/Cargo.toml | 6 +++--- retail-mac/Cargo.toml | 6 +++--- 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7b60b26..05ac64d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -67,9 +67,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cipher" -version = "0.5.0-rc.3" +version = "0.5.0-rc.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98d708bac5451350d56398433b19a7889022fa9187df1a769c0edbc3b2c03167" +checksum = "eba4d87abf4032a6d927f84b71af5086128a3349b929b4501c51a0fe0981a937" dependencies = [ "block-buffer", "crypto-common", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-rc.8" +version = "0.2.0-rc.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6165b8029cdc3e765b74d3548f85999ee799d5124877ce45c2c85ca78e4d4aa" +checksum = "c7722afd27468475c9b6063dc03a57ef2ca833816981619f8ebe64d38d207eef" dependencies = [ "hybrid-array", ] @@ -129,9 +129,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-rc.5" +version = "0.11.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebf9423bafb058e4142194330c52273c343f8a5beb7176d052f0e73b17dd35b9" +checksum = "2fc1408b7a9f59a7b933faff3e9e7fc15a05a524effd3b3d1601156944c8077f" dependencies = [ "blobby", "block-buffer", @@ -170,9 +170,9 @@ dependencies = [ [[package]] name = "inout" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7357b6e7aa75618c7864ebd0634b115a7218b0615f4cb1df33ac3eca23943d4" +checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" dependencies = [ "hybrid-array", ] diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 1ed959d..f777657 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -14,11 +14,11 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-rc.1" -cipher = "0.5.0-rc.3" -digest = { version = "0.11.0-rc.5", features = ["mac"] } +cipher = "0.5.0-rc.6" +digest = { version = "0.11.0-rc.8", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.5", features = ["dev"] } +digest = { version = "0.11.0-rc.8", features = ["dev"] } hex-literal = "1" [features] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index d519433..2dfe8ce 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -12,11 +12,11 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -cipher = "0.5.0-rc.3" -digest = { version = "0.11.0-rc.5", features = ["mac"] } +cipher = "0.5.0-rc.6" +digest = { version = "0.11.0-rc.8", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.5", features = ["dev"] } +digest = { version = "0.11.0-rc.8", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.2" diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 750225c..58c7cd0 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -14,12 +14,12 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -cipher = "0.5.0-rc.3" -digest = { version = "0.11.0-rc.5", features = ["mac"] } +cipher = "0.5.0-rc.6" +digest = { version = "0.11.0-rc.8", features = ["mac"] } dbl = "0.5" [dev-dependencies] -digest = { version = "0.11.0-rc.5", features = ["dev"] } +digest = { version = "0.11.0-rc.8", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.2" diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 0abf378..492ada6 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.85" [dependencies] -digest = { version = "0.11.0-rc.5", features = ["mac"] } +digest = { version = "0.11.0-rc.8", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.5", features = ["dev"] } +digest = { version = "0.11.0-rc.8", features = ["dev"] } md-5 = { version = "0.11.0-rc.3", default-features = false } sha1 = { version = "0.11.0-rc.3", default-features = false } sha2 = { version = "0.11.0-rc.3", default-features = false } diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 202c8cb..bb38f34 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -13,13 +13,13 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -cipher = "0.5.0-rc.3" -digest = { version = "0.11.0-rc.5", features = ["mac"] } +cipher = "0.5.0-rc.6" +digest = { version = "0.11.0-rc.8", features = ["mac"] } dbl = "0.5" [dev-dependencies] aes = "0.9.0-rc.2" -digest = { version = "0.11.0-rc.5", features = ["dev"] } +digest = { version = "0.11.0-rc.8", features = ["dev"] } [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index 63e0bb6..c294c17 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -12,11 +12,11 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac"] [dependencies] -cipher = "0.5.0-rc.3" -digest = { version = "0.11.0-rc.5", features = ["mac"] } +cipher = "0.5.0-rc.6" +digest = { version = "0.11.0-rc.8", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.5", features = ["dev"] } +digest = { version = "0.11.0-rc.8", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.1" From 9de35c5a9134cb3b2e637330fb23c08141ddf140 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Jan 2026 10:00:57 -0700 Subject: [PATCH 104/123] Bump the all-deps group across 1 directory with 2 updates (#237) --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 05ac64d..b157012 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -160,9 +160,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f471e0a81b2f90ffc0cb2f951ae04da57de8baa46fa99112b062a5173a5088d0" +checksum = "b41fb3dc24fe72c2e3a4685eed55917c2fb228851257f4a8f2d985da9443c3e5" dependencies = [ "typenum", "zeroize", @@ -189,9 +189,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.178" +version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "magma" From f2f0ea5df75d9f210e03b427a49731429c7e0265 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 24 Jan 2026 21:16:32 -0700 Subject: [PATCH 105/123] Bump `digest` to v0.11.0-rc.9 (#238) Uses the new `digest::common` re-export of `crypto-common` --- Cargo.lock | 4 ++-- belt-mac/Cargo.toml | 4 ++-- belt-mac/src/block_api.rs | 2 +- cbc-mac/Cargo.toml | 4 ++-- cbc-mac/src/block_api.rs | 2 +- cmac/Cargo.toml | 4 ++-- cmac/src/block_api.rs | 2 +- hmac/Cargo.toml | 4 ++-- hmac/src/block_api.rs | 2 +- hmac/src/simple.rs | 2 +- hmac/src/simple_reset.rs | 2 +- pmac/Cargo.toml | 4 ++-- pmac/src/block_api.rs | 2 +- retail-mac/Cargo.toml | 4 ++-- retail-mac/src/block_api.rs | 2 +- 15 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b157012..8f1fa74 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -129,9 +129,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-rc.8" +version = "0.11.0-rc.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fc1408b7a9f59a7b933faff3e9e7fc15a05a524effd3b3d1601156944c8077f" +checksum = "bff8de092798697546237a3a701e4174fe021579faec9b854379af9bf1e31962" dependencies = [ "blobby", "block-buffer", diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index f777657..60de1d2 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -15,10 +15,10 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-rc.1" cipher = "0.5.0-rc.6" -digest = { version = "0.11.0-rc.8", features = ["mac"] } +digest = { version = "0.11.0-rc.9", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.8", features = ["dev"] } +digest = { version = "0.11.0-rc.9", features = ["dev"] } hex-literal = "1" [features] diff --git a/belt-mac/src/block_api.rs b/belt-mac/src/block_api.rs index 6177a0c..3974f11 100644 --- a/belt-mac/src/block_api.rs +++ b/belt-mac/src/block_api.rs @@ -8,7 +8,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, Lazy, UpdateCore, }, - crypto_common::{BlockSizes, InnerInit, InnerUser}, + common::{BlockSizes, InnerInit, InnerUser}, }; #[cfg(feature = "zeroize")] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 2dfe8ce..d089b96 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -13,10 +13,10 @@ keywords = ["crypto", "mac", "daa"] [dependencies] cipher = "0.5.0-rc.6" -digest = { version = "0.11.0-rc.8", features = ["mac"] } +digest = { version = "0.11.0-rc.9", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.8", features = ["dev"] } +digest = { version = "0.11.0-rc.9", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.2" diff --git a/cbc-mac/src/block_api.rs b/cbc-mac/src/block_api.rs index aaa11fe..ffbdca7 100644 --- a/cbc-mac/src/block_api.rs +++ b/cbc-mac/src/block_api.rs @@ -7,7 +7,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, Eager, FixedOutputCore, UpdateCore, }, - crypto_common::{BlockSizes, InnerInit, InnerUser}, + common::{BlockSizes, InnerInit, InnerUser}, }; #[cfg(feature = "zeroize")] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 58c7cd0..aa4dc90 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -15,11 +15,11 @@ exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] cipher = "0.5.0-rc.6" -digest = { version = "0.11.0-rc.8", features = ["mac"] } +digest = { version = "0.11.0-rc.9", features = ["mac"] } dbl = "0.5" [dev-dependencies] -digest = { version = "0.11.0-rc.8", features = ["dev"] } +digest = { version = "0.11.0-rc.9", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.2" diff --git a/cmac/src/block_api.rs b/cmac/src/block_api.rs index 7663734..6719766 100644 --- a/cmac/src/block_api.rs +++ b/cmac/src/block_api.rs @@ -8,7 +8,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, Lazy, UpdateCore, }, - crypto_common::{BlockSizes, InnerInit, InnerUser}, + common::{BlockSizes, InnerInit, InnerUser}, }; #[cfg(feature = "zeroize")] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 492ada6..0bedd78 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.85" [dependencies] -digest = { version = "0.11.0-rc.8", features = ["mac"] } +digest = { version = "0.11.0-rc.9", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.8", features = ["dev"] } +digest = { version = "0.11.0-rc.9", features = ["dev"] } md-5 = { version = "0.11.0-rc.3", default-features = false } sha1 = { version = "0.11.0-rc.3", default-features = false } sha2 = { version = "0.11.0-rc.3", default-features = false } diff --git a/hmac/src/block_api.rs b/hmac/src/block_api.rs index 0ef56d2..06b939b 100644 --- a/hmac/src/block_api.rs +++ b/hmac/src/block_api.rs @@ -7,7 +7,7 @@ use digest::{ OutputSizeUser, UpdateCore, }, block_buffer::Eager, - crypto_common::{Key, KeySizeUser}, + common::{Key, KeySizeUser}, }; /// Generic core HMAC instance, which operates over blocks. diff --git a/hmac/src/simple.rs b/hmac/src/simple.rs index f81d045..5d7586f 100644 --- a/hmac/src/simple.rs +++ b/hmac/src/simple.rs @@ -2,7 +2,7 @@ use crate::utils::{IPAD, OPAD, get_der_key}; use core::fmt; use digest::{ Digest, FixedOutput, KeyInit, MacMarker, Output, OutputSizeUser, Update, - crypto_common::{Block, BlockSizeUser, InvalidLength, Key, KeySizeUser}, + common::{Block, BlockSizeUser, InvalidLength, Key, KeySizeUser}, }; /// Simplified HMAC instance able to operate over hash functions diff --git a/hmac/src/simple_reset.rs b/hmac/src/simple_reset.rs index dd72f45..9299827 100644 --- a/hmac/src/simple_reset.rs +++ b/hmac/src/simple_reset.rs @@ -2,7 +2,7 @@ use crate::utils::{IPAD, OPAD, get_der_key}; use core::fmt; use digest::{ Digest, FixedOutput, KeyInit, MacMarker, Output, OutputSizeUser, Update, - crypto_common::{Block, BlockSizeUser, InvalidLength, Key, KeySizeUser}, + common::{Block, BlockSizeUser, InvalidLength, Key, KeySizeUser}, }; use digest::{FixedOutputReset, Reset}; diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index bb38f34..603f80c 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -14,12 +14,12 @@ categories = ["cryptography", "no-std"] [dependencies] cipher = "0.5.0-rc.6" -digest = { version = "0.11.0-rc.8", features = ["mac"] } +digest = { version = "0.11.0-rc.9", features = ["mac"] } dbl = "0.5" [dev-dependencies] aes = "0.9.0-rc.2" -digest = { version = "0.11.0-rc.8", features = ["dev"] } +digest = { version = "0.11.0-rc.9", features = ["dev"] } [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/pmac/src/block_api.rs b/pmac/src/block_api.rs index f56b535..0f46fc0 100644 --- a/pmac/src/block_api.rs +++ b/pmac/src/block_api.rs @@ -8,7 +8,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, Lazy, UpdateCore, }, - crypto_common::{InnerInit, InnerUser}, + common::{InnerInit, InnerUser}, typenum::Unsigned, }; diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index c294c17..b15888f 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -13,10 +13,10 @@ keywords = ["crypto", "mac"] [dependencies] cipher = "0.5.0-rc.6" -digest = { version = "0.11.0-rc.8", features = ["mac"] } +digest = { version = "0.11.0-rc.9", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.8", features = ["dev"] } +digest = { version = "0.11.0-rc.9", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.1" diff --git a/retail-mac/src/block_api.rs b/retail-mac/src/block_api.rs index 287d209..1320387 100644 --- a/retail-mac/src/block_api.rs +++ b/retail-mac/src/block_api.rs @@ -10,7 +10,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, Eager, FixedOutputCore, UpdateCore, }, - crypto_common::BlockSizes, + common::BlockSizes, typenum::{Prod, U2}, }; From dc1d0cdfe0b7be4fb5da82ae95b1806352d36799 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 24 Jan 2026 21:20:08 -0700 Subject: [PATCH 106/123] hmac v0.13.0-rc.4 (#239) --- Cargo.lock | 18 +++++++++--------- hmac/Cargo.toml | 10 +++++----- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8f1fa74..6bda201 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -148,7 +148,7 @@ checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" [[package]] name = "hmac" -version = "0.13.0-rc.3" +version = "0.13.0-rc.4" dependencies = [ "digest", "hex-literal", @@ -204,9 +204,9 @@ dependencies = [ [[package]] name = "md-5" -version = "0.11.0-rc.3" +version = "0.11.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64dd2c9099caf8e29b629305199dddb1c6d981562b62c089afea54b0b4b5c333" +checksum = "340c5c3970c137330f5289dc52a6f6c24db6d6839b6121efdeeb120061c30313" dependencies = [ "cfg-if", "digest", @@ -235,9 +235,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-rc.3" +version = "0.11.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa1ae819b9870cadc959a052363de870944a1646932d274a4e270f64bf79e5ef" +checksum = "9c777f0a122a53fddb0beb6e706771197000b8eb5c9f42b5b850f450ef48c788" dependencies = [ "cfg-if", "cpufeatures", @@ -246,9 +246,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-rc.3" +version = "0.11.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d43dc0354d88b791216bb5c1bfbb60c0814460cc653ae0ebd71f286d0bd927" +checksum = "7535f94fa3339fe9e5e9be6260a909e62af97f6e14b32345ccf79b92b8b81233" dependencies = [ "cfg-if", "cpufeatures", @@ -257,9 +257,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.11.0-rc.3" +version = "0.11.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b24f3259853f4857159f8dfefc4e3500b37cf91e497944b99d9434371d4db05" +checksum = "69a06ec57c92c6db98fc783bf712353fce33bf13f93104eb8bc9b2700e90526b" dependencies = [ "digest", ] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 0bedd78..2e10cf5 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-rc.3" +version = "0.13.0-rc.4" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -17,10 +17,10 @@ digest = { version = "0.11.0-rc.9", features = ["mac"] } [dev-dependencies] digest = { version = "0.11.0-rc.9", features = ["dev"] } -md-5 = { version = "0.11.0-rc.3", default-features = false } -sha1 = { version = "0.11.0-rc.3", default-features = false } -sha2 = { version = "0.11.0-rc.3", default-features = false } -streebog = { version = "0.11.0-rc.3", default-features = false } +md-5 = { version = "0.11.0-rc.4", default-features = false } +sha1 = { version = "0.11.0-rc.4", default-features = false } +sha2 = { version = "0.11.0-rc.4", default-features = false } +streebog = { version = "0.11.0-rc.4", default-features = false } hex-literal = "1" [features] From 522771230101cbe45bdf27c707406f4df6441efb Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 2 Feb 2026 10:59:25 -0700 Subject: [PATCH 107/123] Bump `cipher` to v0.5.0-rc.8; `digest` to v0.11.0-rc.11 (#240) Also cuts the following releases: - `cbc-mac` v0.2.0-rc.4 - `cmac` v0.8.0-rc.4 - `hmac` v0.13.0-rc.5 - `pmac` v0.8.0-rc.4 - `retail-mac` v0.1.0-pre.1 --- Cargo.lock | 66 +++++++++++++++++++++++-------------------- belt-mac/Cargo.toml | 8 +++--- cbc-mac/Cargo.toml | 12 ++++---- cmac/Cargo.toml | 16 +++++------ hmac/Cargo.toml | 14 ++++----- pmac/Cargo.toml | 10 +++---- retail-mac/Cargo.toml | 12 ++++---- 7 files changed, 72 insertions(+), 66 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6bda201..58103c7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,20 +4,20 @@ version = 4 [[package]] name = "aes" -version = "0.9.0-rc.2" +version = "0.9.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd9e1c818b25efb32214df89b0ec22f01aa397aaeb718d1022bf0635a3bfd1a8" +checksum = "04097e08a47d9ad181c2e1f4a5fabc9ae06ce8839a333ba9a949bcb0d31fd2a3" dependencies = [ - "cfg-if", "cipher", + "cpubits", "cpufeatures", ] [[package]] name = "belt-block" -version = "0.2.0-rc.2" +version = "0.2.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e34d9cc93a6506887eed92e4e9459c13469eee4ef2b2af305a182ebf53e4d6a3" +checksum = "0e3b1e9d1ad19c345095575076767febd525013fc5782276a21069901815ea45" dependencies = [ "cipher", ] @@ -50,7 +50,7 @@ dependencies = [ [[package]] name = "cbc-mac" -version = "0.2.0-rc.3" +version = "0.2.0-rc.4" dependencies = [ "aes", "cipher", @@ -67,9 +67,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cipher" -version = "0.5.0-rc.6" +version = "0.5.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eba4d87abf4032a6d927f84b71af5086128a3349b929b4501c51a0fe0981a937" +checksum = "9002c8edb9b1e21938663da3489c9c4403bba2393997fb2ecbd401386c0e71dc" dependencies = [ "block-buffer", "crypto-common", @@ -79,7 +79,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.8.0-rc.3" +version = "0.8.0-rc.4" dependencies = [ "aes", "cipher", @@ -91,6 +91,12 @@ dependencies = [ "magma", ] +[[package]] +name = "cpubits" +version = "0.1.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11a8c0210fa48ba3ea04ac1e9c6e72ae66009db3b1f1745635d4ff2e58eaadd0" + [[package]] name = "cpufeatures" version = "0.2.17" @@ -102,9 +108,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-rc.13" +version = "0.2.0-rc.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7722afd27468475c9b6063dc03a57ef2ca833816981619f8ebe64d38d207eef" +checksum = "6f8441110cea75afde0b89a8d796e2bc67b23432f5a9566cb15d9d365d91a2b0" dependencies = [ "hybrid-array", ] @@ -120,18 +126,18 @@ dependencies = [ [[package]] name = "des" -version = "0.9.0-rc.2" +version = "0.9.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512ca722eff02fa73c43e5136f440c46f861d41f9dd7761c1f2817a5ca5d9ad7" +checksum = "3214053e68a813b9c06ef61075c844f3a1cdeb307d8998ea8555c063caa52fa9" dependencies = [ "cipher", ] [[package]] name = "digest" -version = "0.11.0-rc.9" +version = "0.11.0-rc.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff8de092798697546237a3a701e4174fe021579faec9b854379af9bf1e31962" +checksum = "02b42f1d9edf5207c137646b568a0168ca0ec25b7f9eaf7f9961da51a3d91cea" dependencies = [ "blobby", "block-buffer", @@ -148,7 +154,7 @@ checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" [[package]] name = "hmac" -version = "0.13.0-rc.4" +version = "0.13.0-rc.5" dependencies = [ "digest", "hex-literal", @@ -179,9 +185,9 @@ dependencies = [ [[package]] name = "kuznyechik" -version = "0.9.0-rc.2" +version = "0.9.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f692f9023c6a17c2646c2751b169c9136d517718505531f2af18bd2b69780f13" +checksum = "1845d0271ee188d9eddbb2b027738da1e492fe5622d6f5353aea2e1bd40a62ff" dependencies = [ "cfg-if", "cipher", @@ -195,18 +201,18 @@ checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "magma" -version = "0.10.0-rc.2" +version = "0.10.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a050323412d2adf0ad86903bc188640b1abba7da0ab6450e035437fce7596d7" +checksum = "287314ef5d338202e7be522fbbae35cad5d1dff1b8cb079a395eec3a9e31104a" dependencies = [ "cipher", ] [[package]] name = "md-5" -version = "0.11.0-rc.4" +version = "0.11.0-rc.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "340c5c3970c137330f5289dc52a6f6c24db6d6839b6121efdeeb120061c30313" +checksum = "59e715bb6f273068fc89403d6c4f5eeb83708c62b74c8d43e3e8772ca73a6288" dependencies = [ "cfg-if", "digest", @@ -214,7 +220,7 @@ dependencies = [ [[package]] name = "pmac" -version = "0.8.0-rc.3" +version = "0.8.0-rc.4" dependencies = [ "aes", "cipher", @@ -224,7 +230,7 @@ dependencies = [ [[package]] name = "retail-mac" -version = "0.1.0-pre.0" +version = "0.1.0-pre.1" dependencies = [ "aes", "cipher", @@ -235,9 +241,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-rc.4" +version = "0.11.0-rc.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c777f0a122a53fddb0beb6e706771197000b8eb5c9f42b5b850f450ef48c788" +checksum = "3b167252f3c126be0d8926639c4c4706950f01445900c4b3db0fd7e89fcb750a" dependencies = [ "cfg-if", "cpufeatures", @@ -246,9 +252,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-rc.4" +version = "0.11.0-rc.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7535f94fa3339fe9e5e9be6260a909e62af97f6e14b32345ccf79b92b8b81233" +checksum = "7c5f3b1e2dc8aad28310d8410bd4d7e180eca65fca176c52ab00d364475d0024" dependencies = [ "cfg-if", "cpufeatures", @@ -257,9 +263,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.11.0-rc.4" +version = "0.11.0-rc.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a06ec57c92c6db98fc783bf712353fce33bf13f93104eb8bc9b2700e90526b" +checksum = "8f02c29e9fbd46b3493c2d1b8038d738480a56d25edc0ec0acc27f796a125a89" dependencies = [ "digest", ] diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 60de1d2..1ce7152 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -13,12 +13,12 @@ keywords = ["crypto", "mac", "belt-mac"] categories = ["cryptography", "no-std"] [dependencies] -belt-block = "0.2.0-rc.1" -cipher = "0.5.0-rc.6" -digest = { version = "0.11.0-rc.9", features = ["mac"] } +belt-block = "0.2.0-rc.3" +cipher = "0.5.0-rc.8" +digest = { version = "0.11.0-rc.11", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.9", features = ["dev"] } +digest = { version = "0.11.0-rc.11", features = ["dev"] } hex-literal = "1" [features] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index d089b96..57a5868 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cbc-mac" -version = "0.2.0-rc.3" +version = "0.2.0-rc.4" description = "Implementation of Cipher Block Chaining Message Authentication Code (CBC-MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,15 +12,15 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -cipher = "0.5.0-rc.6" -digest = { version = "0.11.0-rc.9", features = ["mac"] } +cipher = "0.5.0-rc.8" +digest = { version = "0.11.0-rc.11", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.9", features = ["dev"] } +digest = { version = "0.11.0-rc.11", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-rc.2" -des = "0.9.0-rc.2" +aes = "0.9.0-rc.4" +des = "0.9.0-rc.3" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index aa4dc90..ff46a44 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cmac" -version = "0.8.0-rc.3" +version = "0.8.0-rc.4" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -14,18 +14,18 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -cipher = "0.5.0-rc.6" -digest = { version = "0.11.0-rc.9", features = ["mac"] } +cipher = "0.5.0-rc.8" +digest = { version = "0.11.0-rc.11", features = ["mac"] } dbl = "0.5" [dev-dependencies] -digest = { version = "0.11.0-rc.9", features = ["dev"] } +digest = { version = "0.11.0-rc.11", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-rc.2" -des = "0.9.0-rc.2" -kuznyechik = "0.9.0-rc.2" -magma = "0.10.0-rc.2" +aes = "0.9.0-rc.4" +des = "0.9.0-rc.3" +kuznyechik = "0.9.0-rc.3" +magma = "0.10.0-rc.3" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 2e10cf5..50dfe2a 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-rc.4" +version = "0.13.0-rc.5" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -13,14 +13,14 @@ categories = ["cryptography", "no-std"] rust-version = "1.85" [dependencies] -digest = { version = "0.11.0-rc.9", features = ["mac"] } +digest = { version = "0.11.0-rc.11", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.9", features = ["dev"] } -md-5 = { version = "0.11.0-rc.4", default-features = false } -sha1 = { version = "0.11.0-rc.4", default-features = false } -sha2 = { version = "0.11.0-rc.4", default-features = false } -streebog = { version = "0.11.0-rc.4", default-features = false } +digest = { version = "0.11.0-rc.11", features = ["dev"] } +md-5 = { version = "0.11.0-rc.5", default-features = false } +sha1 = { version = "0.11.0-rc.5", default-features = false } +sha2 = { version = "0.11.0-rc.5", default-features = false } +streebog = { version = "0.11.0-rc.5", default-features = false } hex-literal = "1" [features] diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 603f80c..7003700 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pmac" -version = "0.8.0-rc.3" +version = "0.8.0-rc.4" description = "Generic implementation of Parallelizable Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -13,13 +13,13 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -cipher = "0.5.0-rc.6" -digest = { version = "0.11.0-rc.9", features = ["mac"] } +cipher = "0.5.0-rc.8" +digest = { version = "0.11.0-rc.11", features = ["mac"] } dbl = "0.5" [dev-dependencies] -aes = "0.9.0-rc.2" -digest = { version = "0.11.0-rc.9", features = ["dev"] } +aes = "0.9.0-rc.4" +digest = { version = "0.11.0-rc.11", features = ["dev"] } [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index b15888f..5d25ad6 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "retail-mac" -version = "0.1.0-pre.0" +version = "0.1.0-pre.1" description = "Implementation of Retail Message Authentication Code (Retail MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,15 +12,15 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac"] [dependencies] -cipher = "0.5.0-rc.6" -digest = { version = "0.11.0-rc.9", features = ["mac"] } +cipher = "0.5.0-rc.8" +digest = { version = "0.11.0-rc.11", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.9", features = ["dev"] } +digest = { version = "0.11.0-rc.11", features = ["dev"] } hex-literal = "1" -aes = "0.9.0-rc.1" -des = "0.9.0-rc.1" +aes = "0.9.0-rc.4" +des = "0.9.0-rc.3" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] From 3c38276970fd8933a7e94dfa4d0e606944b5b0ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:30:07 -0700 Subject: [PATCH 108/123] Bump the all-deps group with 4 updates (#241) --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 58103c7..06f8ab5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -67,9 +67,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cipher" -version = "0.5.0-rc.8" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9002c8edb9b1e21938663da3489c9c4403bba2393997fb2ecbd401386c0e71dc" +checksum = "64727038c8c5e2bb503a15b9f5b9df50a1da9a33e83e1f93067d914f2c6604a5" dependencies = [ "block-buffer", "crypto-common", @@ -93,9 +93,9 @@ dependencies = [ [[package]] name = "cpubits" -version = "0.1.0-rc.3" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11a8c0210fa48ba3ea04ac1e9c6e72ae66009db3b1f1745635d4ff2e58eaadd0" +checksum = "5ef0c543070d296ea414df2dd7625d1b24866ce206709d8a4a424f28377f5861" [[package]] name = "cpufeatures" @@ -108,9 +108,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-rc.15" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f8441110cea75afde0b89a8d796e2bc67b23432f5a9566cb15d9d365d91a2b0" +checksum = "211f05e03c7d03754740fd9e585de910a095d6b99f8bcfffdef8319fa02a8331" dependencies = [ "hybrid-array", ] @@ -166,9 +166,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b41fb3dc24fe72c2e3a4685eed55917c2fb228851257f4a8f2d985da9443c3e5" +checksum = "e1b229d73f5803b562cc26e4da0396c8610a4ee209f4fac8fa4f8d709166dc45" dependencies = [ "typenum", "zeroize", From e56667e8e1b0bfc704f39447af268cc6511b7d9a Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 14 Feb 2026 09:06:47 -0700 Subject: [PATCH 109/123] Bump `cipher` to v0.5 (#242) Release PR: RustCrypto/traits#2281 --- belt-mac/Cargo.toml | 2 +- cbc-mac/Cargo.toml | 2 +- cmac/Cargo.toml | 2 +- pmac/Cargo.toml | 2 +- retail-mac/Cargo.toml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 1ce7152..54bd723 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-rc.3" -cipher = "0.5.0-rc.8" +cipher = "0.5" digest = { version = "0.11.0-rc.11", features = ["mac"] } [dev-dependencies] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 57a5868..6528698 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac", "daa"] [dependencies] -cipher = "0.5.0-rc.8" +cipher = "0.5" digest = { version = "0.11.0-rc.11", features = ["mac"] } [dev-dependencies] diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index ff46a44..020907f 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] -cipher = "0.5.0-rc.8" +cipher = "0.5" digest = { version = "0.11.0-rc.11", features = ["mac"] } dbl = "0.5" diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 7003700..9baf69b 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -13,7 +13,7 @@ keywords = ["crypto", "mac", "pmac"] categories = ["cryptography", "no-std"] [dependencies] -cipher = "0.5.0-rc.8" +cipher = "0.5" digest = { version = "0.11.0-rc.11", features = ["mac"] } dbl = "0.5" diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index 5d25ad6..5e65e24 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/RustCrypto/MACs" keywords = ["crypto", "mac"] [dependencies] -cipher = "0.5.0-rc.8" +cipher = "0.5" digest = { version = "0.11.0-rc.11", features = ["mac"] } [dev-dependencies] From a8dc8e827de52fbb5ae573ca5fab980e82cbc29c Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 14 Feb 2026 09:14:32 -0700 Subject: [PATCH 110/123] Bump `digest` to v0.11 (#243) Release PR: RustCrypto/traits#2300 --- Cargo.lock | 27 ++++++++++++++++++--------- belt-mac/Cargo.toml | 4 ++-- cbc-mac/Cargo.toml | 4 ++-- cmac/Cargo.toml | 4 ++-- hmac/Cargo.toml | 4 ++-- pmac/Cargo.toml | 4 ++-- retail-mac/Cargo.toml | 4 ++-- 7 files changed, 30 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 06f8ab5..71ba591 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -91,6 +91,12 @@ dependencies = [ "magma", ] +[[package]] +name = "cmov" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de0758edba32d61d1fd9f4d69491b47604b91ee2f7e6b33de7e54ca4ebe55dc3" + [[package]] name = "cpubits" version = "0.1.0" @@ -115,6 +121,15 @@ dependencies = [ "hybrid-array", ] +[[package]] +name = "ctutils" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1005a6d4446f5120ef475ad3d2af2b30c49c2c9c6904258e3bb30219bebed5e4" +dependencies = [ + "cmov", +] + [[package]] name = "dbl" version = "0.5.0" @@ -135,14 +150,14 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-rc.11" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b42f1d9edf5207c137646b568a0168ca0ec25b7f9eaf7f9961da51a3d91cea" +checksum = "f8bf3682cdec91817be507e4aa104314898b95b84d74f3d43882210101a545b6" dependencies = [ "blobby", "block-buffer", "crypto-common", - "subtle", + "ctutils", "zeroize", ] @@ -270,12 +285,6 @@ dependencies = [ "digest", ] -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - [[package]] name = "typenum" version = "1.19.0" diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 54bd723..885712c 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -15,10 +15,10 @@ categories = ["cryptography", "no-std"] [dependencies] belt-block = "0.2.0-rc.3" cipher = "0.5" -digest = { version = "0.11.0-rc.11", features = ["mac"] } +digest = { version = "0.11", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.11", features = ["dev"] } +digest = { version = "0.11", features = ["dev"] } hex-literal = "1" [features] diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 6528698..736883c 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -13,10 +13,10 @@ keywords = ["crypto", "mac", "daa"] [dependencies] cipher = "0.5" -digest = { version = "0.11.0-rc.11", features = ["mac"] } +digest = { version = "0.11", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.11", features = ["dev"] } +digest = { version = "0.11", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.4" diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 020907f..6378560 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -15,11 +15,11 @@ exclude = ["tests/cavp_large.rs", "tests/data/cavp_aes128_large.blb"] [dependencies] cipher = "0.5" -digest = { version = "0.11.0-rc.11", features = ["mac"] } +digest = { version = "0.11", features = ["mac"] } dbl = "0.5" [dev-dependencies] -digest = { version = "0.11.0-rc.11", features = ["dev"] } +digest = { version = "0.11", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.4" diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 50dfe2a..e29e88d 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.85" [dependencies] -digest = { version = "0.11.0-rc.11", features = ["mac"] } +digest = { version = "0.11", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.11", features = ["dev"] } +digest = { version = "0.11", features = ["dev"] } md-5 = { version = "0.11.0-rc.5", default-features = false } sha1 = { version = "0.11.0-rc.5", default-features = false } sha2 = { version = "0.11.0-rc.5", default-features = false } diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 9baf69b..d0f39b2 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -14,12 +14,12 @@ categories = ["cryptography", "no-std"] [dependencies] cipher = "0.5" -digest = { version = "0.11.0-rc.11", features = ["mac"] } +digest = { version = "0.11", features = ["mac"] } dbl = "0.5" [dev-dependencies] aes = "0.9.0-rc.4" -digest = { version = "0.11.0-rc.11", features = ["dev"] } +digest = { version = "0.11", features = ["dev"] } [features] zeroize = ["cipher/zeroize", "digest/zeroize"] diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index 5e65e24..be4eca4 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -13,10 +13,10 @@ keywords = ["crypto", "mac"] [dependencies] cipher = "0.5" -digest = { version = "0.11.0-rc.11", features = ["mac"] } +digest = { version = "0.11", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11.0-rc.11", features = ["dev"] } +digest = { version = "0.11", features = ["dev"] } hex-literal = "1" aes = "0.9.0-rc.4" From 8e45e73fd0dcf77787d0a7296e08f71715bcdc17 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 16 Feb 2026 16:00:48 +0300 Subject: [PATCH 111/123] Adopt Trusted Publishing (#244) --- .github/workflows/publish.yml | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..34a19fc --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,44 @@ +name: Publish to crates.io +on: + push: + tags: [ + 'belt-mac-v*', + 'cbc-mac-v*', + 'cmac-v*', + 'hmac-v*', + 'pmac-v*', + 'retail-mac-v*', + ] + +jobs: + publish: + runs-on: ubuntu-latest + environment: publish + permissions: + id-token: write + steps: + - uses: actions/checkout@v6 + - uses: rust-lang/crates-io-auth-action@v1 + id: auth + + - name: Extract Crate Name and Version + run: | + TAG_NAME="${{ github.ref_name }}" + CRATE_NAME=${TAG_NAME%-v*} + CRATE_VERSION=${TAG_NAME##*-v} + echo $CRATE_NAME $CRATE_VERSION + echo "CRATE_NAME=${CRATE_NAME}" >> $GITHUB_ENV + echo "CRATE_VERSION=${CRATE_VERSION}" >> $GITHUB_ENV + + - name: Check crate version + working-directory: ${{ env.CRATE_NAME }} + run: | + CRATE_TOML_VERSION=$(grep "^version =" Cargo.toml | cut -d'"' -f2) + echo $CRATE_TOML_VERSION + [[ $CRATE_TOML_VERSION == $CRATE_VERSION ]] + + - name: Publish + working-directory: ${{ env.CRATE_NAME }} + env: + CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }} + run: cargo publish From 551f89d40976e7d44f1034f3be3ce1b4e5900d06 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 16 Feb 2026 16:13:24 +0300 Subject: [PATCH 112/123] ci: update workspace config (#245) --- .github/workflows/workspace.yml | 36 ++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 1fdf855..17a9222 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -6,8 +6,6 @@ on: - README.md push: branches: master - paths-ignore: - - README.md jobs: clippy: @@ -17,27 +15,41 @@ jobs: - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.85.0 + toolchain: 1.93.0 components: clippy - - run: cargo clippy --all -- -D warnings + - run: cargo clippy --workspace --all-features --lib --bins --tests -- -D warnings - rustfmt: + doc: runs-on: ubuntu-latest steps: - - name: Checkout sources - uses: actions/checkout@v6 + - uses: actions/checkout@v6 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + - env: + RUSTDOCFLAGS: "-Dwarnings" + run: cargo doc --workspace --all-features - - name: Install stable toolchain - uses: dtolnay/rust-toolchain@master + rustfmt: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: dtolnay/rust-toolchain@master with: toolchain: stable components: rustfmt - - - name: Run cargo fmt - run: cargo fmt --all -- --check + - run: cargo fmt --all -- --check typos: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: crate-ci/typos@v1 + + lock: + name: Check Cargo.lock + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: dtolnay/rust-toolchain@stable + - run: cargo check --workspace --locked From 945339b6c98fb3b1a3aff8034cc0b4da4e9f093c Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 3 Mar 2026 02:27:20 +0300 Subject: [PATCH 113/123] Migrate to digest v0.11.1 (#249) --- Cargo.lock | 20 ++++++++--------- belt-mac/src/block_api.rs | 36 ++++++++++++++++------------- belt-mac/src/lib.rs | 3 ++- cbc-mac/src/block_api.rs | 36 ++++++++++++++++------------- cbc-mac/src/lib.rs | 6 ++--- cmac/src/block_api.rs | 9 ++++---- pmac/src/block_api.rs | 6 ++--- retail-mac/src/block_api.rs | 45 ++++++++++++++++++++----------------- retail-mac/src/lib.rs | 21 ++++++++--------- 9 files changed, 98 insertions(+), 84 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 71ba591..f6d7cd4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -40,9 +40,9 @@ checksum = "89af0b093cc13baa4e51e64e65ec2422f7e73aea0e612e5ad3872986671622f1" [[package]] name = "block-buffer" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96eb4cdd6cf1b31d671e9efe75c5d1ec614776856cefbe109ca373554a6d514f" +checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" dependencies = [ "hybrid-array", "zeroize", @@ -67,9 +67,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cipher" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64727038c8c5e2bb503a15b9f5b9df50a1da9a33e83e1f93067d914f2c6604a5" +checksum = "e34d8227fe1ba289043aeb13792056ff80fd6de1a9f49137a5f499de8e8c78ea" dependencies = [ "block-buffer", "crypto-common", @@ -114,9 +114,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "211f05e03c7d03754740fd9e585de910a095d6b99f8bcfffdef8319fa02a8331" +checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" dependencies = [ "hybrid-array", ] @@ -150,9 +150,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8bf3682cdec91817be507e4aa104314898b95b84d74f3d43882210101a545b6" +checksum = "285743a676ccb6b3e116bc14cc69319b957867930ae9c4822f8e0f54509d7243" dependencies = [ "blobby", "block-buffer", @@ -210,9 +210,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.180" +version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" +checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "magma" diff --git a/belt-mac/src/block_api.rs b/belt-mac/src/block_api.rs index 3974f11..f090593 100644 --- a/belt-mac/src/block_api.rs +++ b/belt-mac/src/block_api.rs @@ -6,9 +6,10 @@ use digest::{ array::{Array, ArraySize}, block_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, Lazy, - UpdateCore, + SmallBlockSizeUser, UpdateCore, }, - common::{BlockSizes, InnerInit, InnerUser}, + block_buffer::BlockSizes, + common::{InnerInit, InnerUser}, }; #[cfg(feature = "zeroize")] @@ -18,7 +19,7 @@ use digest::zeroize::{Zeroize, ZeroizeOnDrop}; #[derive(Clone)] pub struct BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { cipher: C, state: Block, @@ -27,30 +28,30 @@ where impl BlockSizeUser for BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { type BlockSize = C::BlockSize; } impl OutputSizeUser for BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { type OutputSize = C::BlockSize; } impl InnerUser for BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { type Inner = C; } -impl MacMarker for BeltMacCore where C: BlockCipherEncrypt + Clone {} +impl MacMarker for BeltMacCore where C: BlockCipherEncrypt + SmallBlockSizeUser + Clone {} impl InnerInit for BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { #[inline] fn inner_init(cipher: C) -> Self { @@ -63,14 +64,14 @@ where impl BufferKindUser for BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { type BufferKind = Lazy; } impl UpdateCore for BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { @@ -100,7 +101,7 @@ where impl Reset for BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { #[inline(always)] fn reset(&mut self) { @@ -110,7 +111,7 @@ where impl FixedOutputCore for BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { @@ -147,7 +148,7 @@ where impl AlgorithmName for BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("BeltMac") @@ -156,7 +157,7 @@ where impl fmt::Debug for BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("BeltMacCore { ... }") @@ -166,7 +167,7 @@ where #[cfg(feature = "zeroize")] impl Drop for BeltMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { fn drop(&mut self) { self.state.zeroize(); @@ -174,7 +175,10 @@ where } #[cfg(feature = "zeroize")] -impl ZeroizeOnDrop for BeltMacCore where C: BlockCipherEncrypt + Clone + ZeroizeOnDrop {} +impl ZeroizeOnDrop for BeltMacCore where + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone + ZeroizeOnDrop +{ +} #[inline(always)] fn xor(buf: &mut Array, data: &Array) { diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index 53bec4e..0077725 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -14,10 +14,11 @@ pub use digest::{self, KeyInit, Mac}; pub mod block_api; use cipher::BlockCipherEncrypt; +use digest::block_api::SmallBlockSizeUser; digest::buffer_fixed!( /// BeltMac instance generic over block cipher. - pub struct GenericBeltMac(block_api::BeltMacCore); + pub struct GenericBeltMac(block_api::BeltMacCore); impl: ResetMacTraits AlgorithmName InnerInit; ); diff --git a/cbc-mac/src/block_api.rs b/cbc-mac/src/block_api.rs index ffbdca7..e16a11d 100644 --- a/cbc-mac/src/block_api.rs +++ b/cbc-mac/src/block_api.rs @@ -5,9 +5,10 @@ use digest::{ array::{Array, ArraySize}, block_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, Eager, FixedOutputCore, - UpdateCore, + SmallBlockSizeUser, UpdateCore, }, - common::{BlockSizes, InnerInit, InnerUser}, + block_buffer::BlockSizes, + common::{InnerInit, InnerUser}, }; #[cfg(feature = "zeroize")] @@ -17,7 +18,7 @@ use digest::zeroize::{Zeroize, ZeroizeOnDrop}; #[derive(Clone)] pub struct CbcMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { cipher: C, state: Block, @@ -25,30 +26,30 @@ where impl BlockSizeUser for CbcMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { type BlockSize = C::BlockSize; } impl OutputSizeUser for CbcMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { type OutputSize = C::BlockSize; } impl InnerUser for CbcMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { type Inner = C; } -impl MacMarker for CbcMacCore where C: BlockCipherEncrypt + Clone {} +impl MacMarker for CbcMacCore where C: BlockCipherEncrypt + SmallBlockSizeUser + Clone {} impl InnerInit for CbcMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { #[inline] fn inner_init(cipher: C) -> Self { @@ -59,14 +60,14 @@ where impl BufferKindUser for CbcMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { type BufferKind = Eager; } impl UpdateCore for CbcMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { @@ -96,7 +97,7 @@ where impl Reset for CbcMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { #[inline(always)] fn reset(&mut self) { @@ -106,7 +107,7 @@ where impl FixedOutputCore for CbcMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { @@ -122,7 +123,7 @@ where impl AlgorithmName for CbcMacCore where - C: BlockCipherEncrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("CbcMac<")?; @@ -133,7 +134,7 @@ where impl fmt::Debug for CbcMacCore where - C: BlockCipherEncrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone + AlgorithmName, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("CbcMacCore<")?; @@ -145,7 +146,7 @@ where #[cfg(feature = "zeroize")] impl Drop for CbcMacCore where - C: BlockCipherEncrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, { fn drop(&mut self) { self.state.zeroize(); @@ -153,7 +154,10 @@ where } #[cfg(feature = "zeroize")] -impl ZeroizeOnDrop for CbcMacCore where C: BlockCipherEncrypt + Clone + ZeroizeOnDrop {} +impl ZeroizeOnDrop for CbcMacCore where + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone + ZeroizeOnDrop +{ +} #[inline(always)] fn xor(buf: &mut Array, data: &Array) { diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index 16f7e07..3607d6d 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -8,7 +8,7 @@ #![forbid(unsafe_code)] #![warn(missing_docs)] -pub use digest::{self, KeyInit, Mac}; +pub use digest::{self, KeyInit, Mac, block_api::SmallBlockSizeUser}; mod block_api; @@ -18,13 +18,13 @@ use digest::block_api::CoreProxy; digest::buffer_fixed!( /// Generic CBC-MAC instance. - pub struct CbcMac(block_api::CbcMacCore); + pub struct CbcMac(block_api::CbcMacCore); impl: ResetMacTraits InnerInit; ); impl AlgorithmName for CbcMac where - C: BlockCipherEncrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + SmallBlockSizeUser + Clone + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { ::Core::write_alg_name(f) diff --git a/cmac/src/block_api.rs b/cmac/src/block_api.rs index 6719766..bb54652 100644 --- a/cmac/src/block_api.rs +++ b/cmac/src/block_api.rs @@ -6,9 +6,10 @@ use digest::{ array::{Array, ArraySize}, block_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, Lazy, - UpdateCore, + SmallBlockSizeUser, UpdateCore, }, - common::{BlockSizes, InnerInit, InnerUser}, + block_buffer::BlockSizes, + common::{InnerInit, InnerUser}, }; #[cfg(feature = "zeroize")] @@ -139,14 +140,14 @@ fn xor(buf: &mut Array, data: &Array) { } /// Helper trait implemented for cipher supported by CMAC -pub trait CmacCipher: BlockSizeUser + BlockCipherEncrypt + Clone { +pub trait CmacCipher: SmallBlockSizeUser + BlockCipherEncrypt + Clone { /// Double block. See the [`Dbl`] trait docs for more information. fn dbl(block: Block) -> Block; } impl CmacCipher for C where - Self: BlockSizeUser + BlockCipherEncrypt + Clone, + Self: SmallBlockSizeUser + BlockCipherEncrypt + Clone, Block: Dbl, { fn dbl(block: Block) -> Block { diff --git a/pmac/src/block_api.rs b/pmac/src/block_api.rs index 0f46fc0..0978492 100644 --- a/pmac/src/block_api.rs +++ b/pmac/src/block_api.rs @@ -6,7 +6,7 @@ use digest::{ array::{Array, ArraySize}, block_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, Lazy, - UpdateCore, + SmallBlockSizeUser, UpdateCore, }, common::{InnerInit, InnerUser}, typenum::Unsigned, @@ -217,7 +217,7 @@ fn xor(buf: &mut Array, data: &Array) { /// /// Currently this trait is implemented for all block cipher encryptors /// with block size equal to 64 and 128 bits. -pub trait PmacCipher: BlockSizeUser + BlockCipherEncrypt + Clone { +pub trait PmacCipher: SmallBlockSizeUser + BlockCipherEncrypt + Clone { /// Double block. See the [`Dbl`] trait docs for more information. fn dbl(block: Block) -> Block; /// Reverse double block.. See the [`Dbl`] trait docs for more information. @@ -226,7 +226,7 @@ pub trait PmacCipher: BlockSizeUser + BlockCipherEncrypt + Clone { impl PmacCipher for C where - Self: BlockSizeUser + BlockCipherEncrypt + Clone, + Self: SmallBlockSizeUser + BlockCipherEncrypt + Clone, Block: Dbl, { fn dbl(block: Block) -> Block { diff --git a/retail-mac/src/block_api.rs b/retail-mac/src/block_api.rs index 1320387..9a8f4ca 100644 --- a/retail-mac/src/block_api.rs +++ b/retail-mac/src/block_api.rs @@ -8,9 +8,9 @@ use digest::{ array::{Array, ArraySize}, block_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, Eager, FixedOutputCore, - UpdateCore, + SmallBlockSizeUser, UpdateCore, }, - common::BlockSizes, + block_buffer::BlockSizes, typenum::{Prod, U2}, }; @@ -21,7 +21,7 @@ use cipher::zeroize::{Zeroize, ZeroizeOnDrop}; #[derive(Clone)] pub struct RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, { cipher: C, cipher_prime: C, @@ -30,41 +30,44 @@ where impl BlockSizeUser for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, { type BlockSize = C::BlockSize; } impl OutputSizeUser for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, { type OutputSize = C::BlockSize; } impl KeySizeUser for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, - ::BlockSize: Mul, - Prod<::BlockSize, U2>: ArraySize, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, + ::_BlockSize: Mul, + Prod<::_BlockSize, U2>: ArraySize, { - type KeySize = Prod<::BlockSize, U2>; + type KeySize = Prod<::_BlockSize, U2>; } -impl MacMarker for RetailMacCore where C: BlockCipherEncrypt + BlockCipherDecrypt + Clone {} +impl MacMarker for RetailMacCore where + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone +{ +} impl BufferKindUser for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, { type BufferKind = Eager; } impl KeyInit for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + KeyInit, - ::BlockSize: Mul, - Prod<::BlockSize, U2>: ArraySize, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone + KeyInit, + ::_BlockSize: Mul, + Prod<::_BlockSize, U2>: ArraySize, { #[inline(always)] fn new(key: &Key) -> Self { @@ -85,7 +88,7 @@ where impl UpdateCore for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { @@ -115,7 +118,7 @@ where impl Reset for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, { #[inline(always)] fn reset(&mut self) { @@ -125,7 +128,7 @@ where impl FixedOutputCore for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { @@ -147,7 +150,7 @@ where impl AlgorithmName for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("RetailMac<")?; @@ -158,7 +161,7 @@ where impl fmt::Debug for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone + AlgorithmName, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("RetailMacCore<")?; @@ -170,7 +173,7 @@ where #[cfg(feature = "zeroize")] impl Drop for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, { fn drop(&mut self) { self.state.zeroize(); @@ -179,7 +182,7 @@ where #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for RetailMacCore where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + ZeroizeOnDrop + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone + ZeroizeOnDrop { } diff --git a/retail-mac/src/lib.rs b/retail-mac/src/lib.rs index 5d3eca8..a445bfb 100644 --- a/retail-mac/src/lib.rs +++ b/retail-mac/src/lib.rs @@ -14,35 +14,36 @@ pub use digest::{self, Key, KeyInit, Mac}; pub mod block_api; use block_api::RetailMacCore; -use cipher::{AlgorithmName, BlockCipherDecrypt, BlockCipherEncrypt, BlockSizeUser, KeySizeUser}; +use cipher::{AlgorithmName, BlockCipherDecrypt, BlockCipherEncrypt, KeySizeUser}; use core::{fmt, ops::Mul}; use digest::{ InvalidLength, array::ArraySize, block_api::CoreProxy, + block_api::SmallBlockSizeUser, typenum::{Prod, U2}, }; digest::buffer_fixed!( /// Generic Retail MAC instance. - pub struct RetailMac(RetailMacCore); + pub struct RetailMac(RetailMacCore); impl: ResetMacTraits; ); impl KeySizeUser for RetailMac where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone, - ::BlockSize: Mul, - Prod<::BlockSize, U2>: ArraySize, + C: BlockCipherEncrypt + BlockCipherDecrypt + SmallBlockSizeUser + Clone, + ::_BlockSize: Mul, + Prod<::_BlockSize, U2>: ArraySize, { - type KeySize = Prod<::BlockSize, U2>; + type KeySize = Prod<::_BlockSize, U2>; } impl KeyInit for RetailMac where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + KeyInit, - ::BlockSize: Mul, - Prod<::BlockSize, U2>: ArraySize, + C: BlockCipherEncrypt + BlockCipherDecrypt + SmallBlockSizeUser + Clone + KeyInit, + ::_BlockSize: Mul, + Prod<::_BlockSize, U2>: ArraySize, { #[inline(always)] fn new(key: &Key) -> Self { @@ -63,7 +64,7 @@ where impl AlgorithmName for RetailMac where - C: BlockCipherEncrypt + BlockCipherDecrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + BlockCipherDecrypt + SmallBlockSizeUser + Clone + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { ::Core::write_alg_name(f) From 669d805394f5f4d0dc07ded010c0df9a3ab01629 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 3 Mar 2026 03:03:07 +0300 Subject: [PATCH 114/123] Relax `Clone` bounds (#250) The bounds are necessary only for implementation of `Clone` for buffered types and it can be handled with a simple `#[derive(Clone)]`. Unfortunately, `Clone` is part of `(Reset)MacTraits`, so we have to use a more granular listing of traits. --- belt-mac/src/block_api.rs | 31 +++++++++++++++---------------- belt-mac/src/lib.rs | 5 +++-- cbc-mac/src/block_api.rs | 28 ++++++++++++++-------------- cbc-mac/src/lib.rs | 7 ++++--- cmac/src/block_api.rs | 4 ++-- cmac/src/lib.rs | 3 ++- pmac/src/block_api.rs | 4 ++-- pmac/src/lib.rs | 3 ++- retail-mac/src/block_api.rs | 28 ++++++++++++++-------------- retail-mac/src/lib.rs | 10 +++++----- 10 files changed, 63 insertions(+), 60 deletions(-) diff --git a/belt-mac/src/block_api.rs b/belt-mac/src/block_api.rs index f090593..1e36a94 100644 --- a/belt-mac/src/block_api.rs +++ b/belt-mac/src/block_api.rs @@ -1,4 +1,3 @@ -use belt_block::BeltBlock; use cipher::{BlockCipherEncBackend, BlockCipherEncClosure, BlockCipherEncrypt}; use core::fmt; use digest::{ @@ -17,9 +16,9 @@ use digest::zeroize::{Zeroize, ZeroizeOnDrop}; /// Generic core BeltMac instance, which operates over blocks. #[derive(Clone)] -pub struct BeltMacCore +pub struct BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { cipher: C, state: Block, @@ -28,30 +27,30 @@ where impl BlockSizeUser for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { type BlockSize = C::BlockSize; } impl OutputSizeUser for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { type OutputSize = C::BlockSize; } impl InnerUser for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { type Inner = C; } -impl MacMarker for BeltMacCore where C: BlockCipherEncrypt + SmallBlockSizeUser + Clone {} +impl MacMarker for BeltMacCore where C: BlockCipherEncrypt + SmallBlockSizeUser {} impl InnerInit for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { #[inline] fn inner_init(cipher: C) -> Self { @@ -64,14 +63,14 @@ where impl BufferKindUser for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { type BufferKind = Lazy; } impl UpdateCore for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { @@ -101,7 +100,7 @@ where impl Reset for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { #[inline(always)] fn reset(&mut self) { @@ -111,7 +110,7 @@ where impl FixedOutputCore for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { @@ -148,7 +147,7 @@ where impl AlgorithmName for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("BeltMac") @@ -157,7 +156,7 @@ where impl fmt::Debug for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("BeltMacCore { ... }") @@ -167,7 +166,7 @@ where #[cfg(feature = "zeroize")] impl Drop for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { fn drop(&mut self) { self.state.zeroize(); @@ -176,7 +175,7 @@ where #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for BeltMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone + ZeroizeOnDrop + C: BlockCipherEncrypt + SmallBlockSizeUser + ZeroizeOnDrop { } diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index 0077725..12002e5 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -18,8 +18,9 @@ use digest::block_api::SmallBlockSizeUser; digest::buffer_fixed!( /// BeltMac instance generic over block cipher. - pub struct GenericBeltMac(block_api::BeltMacCore); - impl: ResetMacTraits AlgorithmName InnerInit; + #[derive(Clone)] + pub struct GenericBeltMac(block_api::BeltMacCore); + impl: BaseFixedTraits MacMarker Reset FixedOutputReset AlgorithmName InnerInit; ); /// BeltMac instance. diff --git a/cbc-mac/src/block_api.rs b/cbc-mac/src/block_api.rs index e16a11d..b3ccaf2 100644 --- a/cbc-mac/src/block_api.rs +++ b/cbc-mac/src/block_api.rs @@ -18,7 +18,7 @@ use digest::zeroize::{Zeroize, ZeroizeOnDrop}; #[derive(Clone)] pub struct CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { cipher: C, state: Block, @@ -26,30 +26,30 @@ where impl BlockSizeUser for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { type BlockSize = C::BlockSize; } impl OutputSizeUser for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { type OutputSize = C::BlockSize; } impl InnerUser for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { type Inner = C; } -impl MacMarker for CbcMacCore where C: BlockCipherEncrypt + SmallBlockSizeUser + Clone {} +impl MacMarker for CbcMacCore where C: BlockCipherEncrypt + SmallBlockSizeUser {} impl InnerInit for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { #[inline] fn inner_init(cipher: C) -> Self { @@ -60,14 +60,14 @@ where impl BufferKindUser for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { type BufferKind = Eager; } impl UpdateCore for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { @@ -97,7 +97,7 @@ where impl Reset for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { #[inline(always)] fn reset(&mut self) { @@ -107,7 +107,7 @@ where impl FixedOutputCore for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { @@ -123,7 +123,7 @@ where impl AlgorithmName for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone + AlgorithmName, + C: BlockCipherEncrypt + SmallBlockSizeUser + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("CbcMac<")?; @@ -134,7 +134,7 @@ where impl fmt::Debug for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone + AlgorithmName, + C: BlockCipherEncrypt + SmallBlockSizeUser + AlgorithmName, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("CbcMacCore<")?; @@ -146,7 +146,7 @@ where #[cfg(feature = "zeroize")] impl Drop for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser, { fn drop(&mut self) { self.state.zeroize(); @@ -155,7 +155,7 @@ where #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for CbcMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone + ZeroizeOnDrop + C: BlockCipherEncrypt + SmallBlockSizeUser + ZeroizeOnDrop { } diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index 3607d6d..6bf2ff5 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -18,13 +18,14 @@ use digest::block_api::CoreProxy; digest::buffer_fixed!( /// Generic CBC-MAC instance. - pub struct CbcMac(block_api::CbcMacCore); - impl: ResetMacTraits InnerInit; + #[derive(Clone)] + pub struct CbcMac(block_api::CbcMacCore); + impl: BaseFixedTraits MacMarker Reset FixedOutputReset InnerInit; ); impl AlgorithmName for CbcMac where - C: BlockCipherEncrypt + SmallBlockSizeUser + Clone + AlgorithmName, + C: BlockCipherEncrypt + SmallBlockSizeUser + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { ::Core::write_alg_name(f) diff --git a/cmac/src/block_api.rs b/cmac/src/block_api.rs index bb54652..ef3b151 100644 --- a/cmac/src/block_api.rs +++ b/cmac/src/block_api.rs @@ -140,14 +140,14 @@ fn xor(buf: &mut Array, data: &Array) { } /// Helper trait implemented for cipher supported by CMAC -pub trait CmacCipher: SmallBlockSizeUser + BlockCipherEncrypt + Clone { +pub trait CmacCipher: SmallBlockSizeUser + BlockCipherEncrypt { /// Double block. See the [`Dbl`] trait docs for more information. fn dbl(block: Block) -> Block; } impl CmacCipher for C where - Self: SmallBlockSizeUser + BlockCipherEncrypt + Clone, + Self: SmallBlockSizeUser + BlockCipherEncrypt, Block: Dbl, { fn dbl(block: Block) -> Block { diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index 826114c..8897e5a 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -19,8 +19,9 @@ use digest::block_api::{AlgorithmName, CoreProxy}; digest::buffer_fixed!( /// Generic CMAC instance. + #[derive(Clone)] pub struct Cmac(block_api::CmacCore); - impl: ResetMacTraits InnerInit; + impl: BaseFixedTraits MacMarker Reset FixedOutputReset InnerInit; ); impl AlgorithmName for Cmac { diff --git a/pmac/src/block_api.rs b/pmac/src/block_api.rs index 0978492..cd75965 100644 --- a/pmac/src/block_api.rs +++ b/pmac/src/block_api.rs @@ -217,7 +217,7 @@ fn xor(buf: &mut Array, data: &Array) { /// /// Currently this trait is implemented for all block cipher encryptors /// with block size equal to 64 and 128 bits. -pub trait PmacCipher: SmallBlockSizeUser + BlockCipherEncrypt + Clone { +pub trait PmacCipher: SmallBlockSizeUser + BlockCipherEncrypt { /// Double block. See the [`Dbl`] trait docs for more information. fn dbl(block: Block) -> Block; /// Reverse double block.. See the [`Dbl`] trait docs for more information. @@ -226,7 +226,7 @@ pub trait PmacCipher: SmallBlockSizeUser + BlockCipherEncrypt + Clone { impl PmacCipher for C where - Self: SmallBlockSizeUser + BlockCipherEncrypt + Clone, + Self: SmallBlockSizeUser + BlockCipherEncrypt, Block: Dbl, { fn dbl(block: Block) -> Block { diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index 46c17bb..c67f6d0 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -19,8 +19,9 @@ use digest::block_api::{AlgorithmName, CoreProxy}; digest::buffer_fixed!( /// Generic PMAC instance with `LC_SIZE` = 20. + #[derive(Clone)] pub struct Pmac(block_api::PmacCore); - impl: ResetMacTraits InnerInit; + impl: BaseFixedTraits MacMarker Reset FixedOutputReset InnerInit; ); impl AlgorithmName for Pmac { diff --git a/retail-mac/src/block_api.rs b/retail-mac/src/block_api.rs index 9a8f4ca..0adde13 100644 --- a/retail-mac/src/block_api.rs +++ b/retail-mac/src/block_api.rs @@ -21,7 +21,7 @@ use cipher::zeroize::{Zeroize, ZeroizeOnDrop}; #[derive(Clone)] pub struct RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt, { cipher: C, cipher_prime: C, @@ -30,21 +30,21 @@ where impl BlockSizeUser for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt, { type BlockSize = C::BlockSize; } impl OutputSizeUser for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt, { type OutputSize = C::BlockSize; } impl KeySizeUser for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt, ::_BlockSize: Mul, Prod<::_BlockSize, U2>: ArraySize, { @@ -52,20 +52,20 @@ where } impl MacMarker for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt { } impl BufferKindUser for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt, { type BufferKind = Eager; } impl KeyInit for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone + KeyInit, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + KeyInit, ::_BlockSize: Mul, Prod<::_BlockSize, U2>: ArraySize, { @@ -88,7 +88,7 @@ where impl UpdateCore for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt, { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { @@ -118,7 +118,7 @@ where impl Reset for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt, { #[inline(always)] fn reset(&mut self) { @@ -128,7 +128,7 @@ where impl FixedOutputCore for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt, { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { @@ -150,7 +150,7 @@ where impl AlgorithmName for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("RetailMac<")?; @@ -161,7 +161,7 @@ where impl fmt::Debug for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone + AlgorithmName, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + AlgorithmName, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("RetailMacCore<")?; @@ -173,7 +173,7 @@ where #[cfg(feature = "zeroize")] impl Drop for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone, + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt, { fn drop(&mut self) { self.state.zeroize(); @@ -182,7 +182,7 @@ where #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for RetailMacCore where - C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + Clone + ZeroizeOnDrop + C: BlockCipherEncrypt + SmallBlockSizeUser + BlockCipherDecrypt + ZeroizeOnDrop { } diff --git a/retail-mac/src/lib.rs b/retail-mac/src/lib.rs index a445bfb..22da357 100644 --- a/retail-mac/src/lib.rs +++ b/retail-mac/src/lib.rs @@ -26,13 +26,13 @@ use digest::{ digest::buffer_fixed!( /// Generic Retail MAC instance. - pub struct RetailMac(RetailMacCore); - impl: ResetMacTraits; + pub struct RetailMac(RetailMacCore); + impl: BaseFixedTraits MacMarker Reset FixedOutputReset; ); impl KeySizeUser for RetailMac where - C: BlockCipherEncrypt + BlockCipherDecrypt + SmallBlockSizeUser + Clone, + C: BlockCipherEncrypt + BlockCipherDecrypt + SmallBlockSizeUser, ::_BlockSize: Mul, Prod<::_BlockSize, U2>: ArraySize, { @@ -41,7 +41,7 @@ where impl KeyInit for RetailMac where - C: BlockCipherEncrypt + BlockCipherDecrypt + SmallBlockSizeUser + Clone + KeyInit, + C: BlockCipherEncrypt + BlockCipherDecrypt + SmallBlockSizeUser + KeyInit, ::_BlockSize: Mul, Prod<::_BlockSize, U2>: ArraySize, { @@ -64,7 +64,7 @@ where impl AlgorithmName for RetailMac where - C: BlockCipherEncrypt + BlockCipherDecrypt + SmallBlockSizeUser + Clone + AlgorithmName, + C: BlockCipherEncrypt + BlockCipherDecrypt + SmallBlockSizeUser + AlgorithmName, { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { ::Core::write_alg_name(f) From 2c51e3b76e6f50c13d85577c3faac7df66e24306 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 12 Mar 2026 04:02:28 +0300 Subject: [PATCH 115/123] hmac: derive `Clone` instead of relying on `(Reset)MacTraits` (#253) See https://github.com/RustCrypto/traits/pull/2341 --- hmac/src/lib.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index 4dbc201..c06748d 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -35,8 +35,9 @@ use digest::block_api::{AlgorithmName, CoreProxy}; digest::buffer_fixed!( /// Generic HMAC instance. + #[derive(Clone)] pub struct Hmac(block_api::HmacCore); - impl: MacTraits KeyInit; + impl: BaseFixedTraits MacMarker KeyInit; ); impl AlgorithmName for Hmac { @@ -47,8 +48,9 @@ impl AlgorithmName for Hmac { digest::buffer_fixed!( /// Generic HMAC instance with reset support. + #[derive(Clone)] pub struct HmacReset(block_api::HmacResetCore); - impl: ResetMacTraits KeyInit; + impl: BaseFixedTraits MacMarker Reset FixedOutputReset KeyInit; ); impl AlgorithmName for HmacReset { From da485cd7baf0b7f5e501f5b42644bf9ddd428c6b Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 13 Mar 2026 19:49:39 +0300 Subject: [PATCH 116/123] Use `(Reset)MacTraits` (#254) This PR reverts #250 and #253 since the relevant fix was added to `digest` (see https://github.com/RustCrypto/traits/pull/2341). --- Cargo.lock | 12 ++++++------ belt-mac/src/lib.rs | 2 +- cbc-mac/src/lib.rs | 2 +- cmac/src/lib.rs | 2 +- hmac/src/lib.rs | 4 ++-- pmac/src/lib.rs | 2 +- retail-mac/src/lib.rs | 5 +++-- 7 files changed, 15 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f6d7cd4..21dff8a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -150,9 +150,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "285743a676ccb6b3e116bc14cc69319b957867930ae9c4822f8e0f54509d7243" +checksum = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" dependencies = [ "blobby", "block-buffer", @@ -181,9 +181,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b229d73f5803b562cc26e4da0396c8610a4ee209f4fac8fa4f8d709166dc45" +checksum = "8655f91cd07f2b9d0c24137bd650fe69617773435ee5ec83022377777ce65ef1" dependencies = [ "typenum", "zeroize", @@ -210,9 +210,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.182" +version = "0.2.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" +checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" [[package]] name = "magma" diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index 12002e5..3c44212 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -20,7 +20,7 @@ digest::buffer_fixed!( /// BeltMac instance generic over block cipher. #[derive(Clone)] pub struct GenericBeltMac(block_api::BeltMacCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset AlgorithmName InnerInit; + impl: ResetMacTraits AlgorithmName InnerInit; ); /// BeltMac instance. diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index 6bf2ff5..193cc88 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -20,7 +20,7 @@ digest::buffer_fixed!( /// Generic CBC-MAC instance. #[derive(Clone)] pub struct CbcMac(block_api::CbcMacCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset InnerInit; + impl: ResetMacTraits InnerInit; ); impl AlgorithmName for CbcMac diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index 8897e5a..13a7fa6 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -21,7 +21,7 @@ digest::buffer_fixed!( /// Generic CMAC instance. #[derive(Clone)] pub struct Cmac(block_api::CmacCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset InnerInit; + impl: ResetMacTraits InnerInit; ); impl AlgorithmName for Cmac { diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index c06748d..e26c57a 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -37,7 +37,7 @@ digest::buffer_fixed!( /// Generic HMAC instance. #[derive(Clone)] pub struct Hmac(block_api::HmacCore); - impl: BaseFixedTraits MacMarker KeyInit; + impl: MacTraits KeyInit; ); impl AlgorithmName for Hmac { @@ -50,7 +50,7 @@ digest::buffer_fixed!( /// Generic HMAC instance with reset support. #[derive(Clone)] pub struct HmacReset(block_api::HmacResetCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset KeyInit; + impl: ResetMacTraits KeyInit; ); impl AlgorithmName for HmacReset { diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index c67f6d0..c70c18a 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -21,7 +21,7 @@ digest::buffer_fixed!( /// Generic PMAC instance with `LC_SIZE` = 20. #[derive(Clone)] pub struct Pmac(block_api::PmacCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset InnerInit; + impl: ResetMacTraits InnerInit; ); impl AlgorithmName for Pmac { diff --git a/retail-mac/src/lib.rs b/retail-mac/src/lib.rs index 22da357..9d3d235 100644 --- a/retail-mac/src/lib.rs +++ b/retail-mac/src/lib.rs @@ -26,8 +26,9 @@ use digest::{ digest::buffer_fixed!( /// Generic Retail MAC instance. - pub struct RetailMac(RetailMacCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset; + #[derive(Clone)] + pub struct RetailMac(RetailMacCore); + impl: ResetMacTraits; ); impl KeySizeUser for RetailMac From a0082655c09ffe682a10640cbaefb67c8175010e Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 20 Mar 2026 09:42:29 -0600 Subject: [PATCH 117/123] hmac v0.13.0-rc.6 (#256) --- Cargo.lock | 2 +- hmac/Cargo.toml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 21dff8a..f19fd87 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -169,7 +169,7 @@ checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" [[package]] name = "hmac" -version = "0.13.0-rc.5" +version = "0.13.0-rc.6" dependencies = [ "digest", "hex-literal", diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index e29e88d..b6752e0 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-rc.5" +version = "0.13.0-rc.6" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.85" [dependencies] -digest = { version = "0.11", features = ["mac"] } +digest = { version = "0.11.2", features = ["mac"] } [dev-dependencies] -digest = { version = "0.11", features = ["dev"] } +digest = { version = "0.11.2", features = ["dev"] } md-5 = { version = "0.11.0-rc.5", default-features = false } sha1 = { version = "0.11.0-rc.5", default-features = false } sha2 = { version = "0.11.0-rc.5", default-features = false } From 1fa0781413e3d07d18a9bb622f096754640dee53 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 25 Mar 2026 10:13:36 -0600 Subject: [PATCH 118/123] Cut rc.5 prereleases (#258) Fixes compatibility with the `digest` crate. Note: `hmac` already received a v0.13.0-rc.6 release in #256 which includes fixes for the same issue. Releases the following: - `cbc-mac` v0.2.0-rc.5 - `cmac` v0.8.0-rc.5 - `pmac` v0.8.0-rc.5 Closes #257 --- Cargo.lock | 6 +++--- cbc-mac/Cargo.toml | 2 +- cmac/Cargo.toml | 2 +- pmac/Cargo.toml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f19fd87..f9a20cd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -50,7 +50,7 @@ dependencies = [ [[package]] name = "cbc-mac" -version = "0.2.0-rc.4" +version = "0.2.0-rc.5" dependencies = [ "aes", "cipher", @@ -79,7 +79,7 @@ dependencies = [ [[package]] name = "cmac" -version = "0.8.0-rc.4" +version = "0.8.0-rc.5" dependencies = [ "aes", "cipher", @@ -235,7 +235,7 @@ dependencies = [ [[package]] name = "pmac" -version = "0.8.0-rc.4" +version = "0.8.0-rc.5" dependencies = [ "aes", "cipher", diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 736883c..3e2ef5d 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cbc-mac" -version = "0.2.0-rc.4" +version = "0.2.0-rc.5" description = "Implementation of Cipher Block Chaining Message Authentication Code (CBC-MAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 6378560..254d242 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cmac" -version = "0.8.0-rc.4" +version = "0.8.0-rc.5" description = "Generic implementation of Cipher-based Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index d0f39b2..90a11ac 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pmac" -version = "0.8.0-rc.4" +version = "0.8.0-rc.5" description = "Generic implementation of Parallelizable Message Authentication Code" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From c40b82b2ac40bc0260d0c35d6a518f97e72411e5 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 25 Mar 2026 13:45:15 -0600 Subject: [PATCH 119/123] hmac: bump `sha2` dev-dependency to v0.11 (#259) --- Cargo.lock | 19 ++++++++++++++----- hmac/Cargo.toml | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f9a20cd..22ef2ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,7 +10,7 @@ checksum = "04097e08a47d9ad181c2e1f4a5fabc9ae06ce8839a333ba9a949bcb0d31fd2a3" dependencies = [ "cipher", "cpubits", - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -112,6 +112,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "crypto-common" version = "0.2.1" @@ -261,18 +270,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b167252f3c126be0d8926639c4c4706950f01445900c4b3db0fd7e89fcb750a" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest", ] [[package]] name = "sha2" -version = "0.11.0-rc.5" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5f3b1e2dc8aad28310d8410bd4d7e180eca65fca176c52ab00d364475d0024" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.3.0", "digest", ] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index b6752e0..442cba8 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -19,7 +19,7 @@ digest = { version = "0.11.2", features = ["mac"] } digest = { version = "0.11.2", features = ["dev"] } md-5 = { version = "0.11.0-rc.5", default-features = false } sha1 = { version = "0.11.0-rc.5", default-features = false } -sha2 = { version = "0.11.0-rc.5", default-features = false } +sha2 = { version = "0.11", default-features = false } streebog = { version = "0.11.0-rc.5", default-features = false } hex-literal = "1" From 11d4f3624f3dfe95d57cfb8a3173d7071eb5a1b3 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 27 Mar 2026 10:51:40 -0600 Subject: [PATCH 120/123] hmac: use release versions of `dev-dependencies` (#260) Release PRs: - `sha1`: RustCrypto/hashes#810 - others: RustCrypto/hashes#812 --- Cargo.lock | 14 +++++++------- hmac/Cargo.toml | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 22ef2ba..7b047e8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -234,9 +234,9 @@ dependencies = [ [[package]] name = "md-5" -version = "0.11.0-rc.5" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e715bb6f273068fc89403d6c4f5eeb83708c62b74c8d43e3e8772ca73a6288" +checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98" dependencies = [ "cfg-if", "digest", @@ -265,12 +265,12 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-rc.5" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b167252f3c126be0d8926639c4c4706950f01445900c4b3db0fd7e89fcb750a" +checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" dependencies = [ "cfg-if", - "cpufeatures 0.2.17", + "cpufeatures 0.3.0", "digest", ] @@ -287,9 +287,9 @@ dependencies = [ [[package]] name = "streebog" -version = "0.11.0-rc.5" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f02c29e9fbd46b3493c2d1b8038d738480a56d25edc0ec0acc27f796a125a89" +checksum = "942b8aca83a17a387b90643abe15430abd0aabc91d6db511e85827e7060746ef" dependencies = [ "digest", ] diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 442cba8..0347d57 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -17,10 +17,10 @@ digest = { version = "0.11.2", features = ["mac"] } [dev-dependencies] digest = { version = "0.11.2", features = ["dev"] } -md-5 = { version = "0.11.0-rc.5", default-features = false } -sha1 = { version = "0.11.0-rc.5", default-features = false } +md-5 = { version = "0.11", default-features = false } +sha1 = { version = "0.11", default-features = false } sha2 = { version = "0.11", default-features = false } -streebog = { version = "0.11.0-rc.5", default-features = false } +streebog = { version = "0.11", default-features = false } hex-literal = "1" [features] From 3d1440b379457f680c58bc1ec0e2f8714a72df7e Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 27 Mar 2026 11:48:23 -0600 Subject: [PATCH 121/123] Workspace-level lint configuration (#261) Enables and fixes the same workspace-level lint configuration we originally implemented in RustCrypto/utils#1411, but for this repo. This primarily includes `clippy` lints, which have replaced the ones configured in individual lib.rs files. Since every crate in this repo previously declared `forbid(unsafe_code)` this has also been moved to the workspace-level. --- .clippy.toml | 2 ++ Cargo.toml | 41 +++++++++++++++++++++++++++++++++++++ belt-mac/Cargo.toml | 3 +++ belt-mac/README.md | 3 ++- belt-mac/src/block_api.rs | 4 ++-- belt-mac/src/lib.rs | 6 ++---- belt-mac/tests/mod.rs | 2 ++ cbc-mac/Cargo.toml | 3 +++ cbc-mac/README.md | 3 ++- cbc-mac/src/block_api.rs | 2 +- cbc-mac/src/lib.rs | 2 -- cmac/Cargo.toml | 3 +++ cmac/README.md | 7 ++++--- cmac/src/block_api.rs | 2 +- cmac/src/lib.rs | 2 -- cmac/tests/cavp_large.rs | 5 +++-- cmac/tests/mod.rs | 2 ++ hmac/Cargo.toml | 3 +++ hmac/README.md | 7 ++++--- hmac/src/block_api.rs | 4 ++-- hmac/src/lib.rs | 2 -- hmac/src/simple.rs | 2 +- hmac/src/simple_reset.rs | 2 +- hmac/tests/mod.rs | 2 ++ pmac/Cargo.toml | 3 +++ pmac/README.md | 7 ++++--- pmac/src/block_api.rs | 4 ++-- pmac/src/lib.rs | 2 -- pmac/tests/mod.rs | 2 ++ retail-mac/Cargo.toml | 3 +++ retail-mac/README.md | 3 ++- retail-mac/src/block_api.rs | 4 ++-- retail-mac/src/lib.rs | 2 -- 33 files changed, 104 insertions(+), 40 deletions(-) create mode 100644 .clippy.toml diff --git a/.clippy.toml b/.clippy.toml new file mode 100644 index 0000000..2e06d15 --- /dev/null +++ b/.clippy.toml @@ -0,0 +1,2 @@ +allow-unwrap-in-consts = true +allow-unwrap-in-tests = true diff --git a/Cargo.toml b/Cargo.toml index b8c3abb..e6b334a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,3 +11,44 @@ members = [ [profile.dev] opt-level = 2 + +[workspace.lints.clippy] +borrow_as_ptr = "warn" +cast_lossless = "warn" +cast_possible_truncation = "warn" +cast_possible_wrap = "warn" +cast_precision_loss = "warn" +cast_sign_loss = "warn" +checked_conversions = "warn" +doc_markdown = "warn" +from_iter_instead_of_collect = "warn" +implicit_saturating_sub = "warn" +manual_assert = "warn" +map_unwrap_or = "warn" +missing_errors_doc = "warn" +missing_panics_doc = "warn" +mod_module_files = "warn" +must_use_candidate = "warn" +needless_range_loop = "allow" +ptr_as_ptr = "warn" +redundant_closure_for_method_calls = "warn" +ref_as_ptr = "warn" +return_self_not_must_use = "warn" +semicolon_if_nothing_returned = "warn" +trivially_copy_pass_by_ref = "warn" +std_instead_of_alloc = "warn" +std_instead_of_core = "warn" +undocumented_unsafe_blocks = "warn" +unnecessary_safety_comment = "warn" +unwrap_in_result = "warn" +unwrap_used = "warn" + +[workspace.lints.rust] +missing_copy_implementations = "warn" +missing_debug_implementations = "warn" +missing_docs = "warn" +trivial_casts = "warn" +trivial_numeric_casts = "warn" +unsafe_code = "forbid" +unused_lifetimes = "warn" +unused_qualifications = "warn" diff --git a/belt-mac/Cargo.toml b/belt-mac/Cargo.toml index 885712c..dc05494 100644 --- a/belt-mac/Cargo.toml +++ b/belt-mac/Cargo.toml @@ -24,5 +24,8 @@ hex-literal = "1" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] +[lints] +workspace = true + [package.metadata.docs.rs] all-features = true diff --git a/belt-mac/README.md b/belt-mac/README.md index 198c7a3..7315f91 100644 --- a/belt-mac/README.md +++ b/belt-mac/README.md @@ -1,4 +1,4 @@ -# RustCrypto: belt-mac +# [RustCrypto]: belt-mac [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] @@ -61,4 +61,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) +[RustCrypto]: https://github.com/RustCrypto [1]: https://apmi.bsu.by/assets/files/std/belt-spec371.pdf diff --git a/belt-mac/src/block_api.rs b/belt-mac/src/block_api.rs index 1e36a94..2c01c58 100644 --- a/belt-mac/src/block_api.rs +++ b/belt-mac/src/block_api.rs @@ -14,7 +14,7 @@ use digest::{ #[cfg(feature = "zeroize")] use digest::zeroize::{Zeroize, ZeroizeOnDrop}; -/// Generic core BeltMac instance, which operates over blocks. +/// Generic core Belt MAC instance, which operates over blocks. #[derive(Clone)] pub struct BeltMacCore where @@ -94,7 +94,7 @@ where } let Self { cipher, state, .. } = self; - cipher.encrypt_with_backend(Closure { state, blocks }) + cipher.encrypt_with_backend(Closure { state, blocks }); } } diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index 3c44212..3d6644c 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -5,8 +5,6 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![cfg_attr(docsrs, feature(doc_cfg))] -#![forbid(unsafe_code)] -#![warn(missing_docs)] pub use digest::{self, KeyInit, Mac}; @@ -17,11 +15,11 @@ use cipher::BlockCipherEncrypt; use digest::block_api::SmallBlockSizeUser; digest::buffer_fixed!( - /// BeltMac instance generic over block cipher. + /// Belt MAC instance generic over block cipher. #[derive(Clone)] pub struct GenericBeltMac(block_api::BeltMacCore); impl: ResetMacTraits AlgorithmName InnerInit; ); -/// BeltMac instance. +/// Belt MAC instance. pub type BeltMac = GenericBeltMac; diff --git a/belt-mac/tests/mod.rs b/belt-mac/tests/mod.rs index a7c27f7..3fa317d 100644 --- a/belt-mac/tests/mod.rs +++ b/belt-mac/tests/mod.rs @@ -1,3 +1,5 @@ +//! Test vectors. + //use belt_mac::BeltMac; // TODO(tarcieri): update tests to support RustCrypto/traits#1916 diff --git a/cbc-mac/Cargo.toml b/cbc-mac/Cargo.toml index 3e2ef5d..6c4c18a 100644 --- a/cbc-mac/Cargo.toml +++ b/cbc-mac/Cargo.toml @@ -25,5 +25,8 @@ des = "0.9.0-rc.3" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] +[lints] +workspace = true + [package.metadata.docs.rs] all-features = true diff --git a/cbc-mac/README.md b/cbc-mac/README.md index c145668..2b177ce 100644 --- a/cbc-mac/README.md +++ b/cbc-mac/README.md @@ -1,4 +1,4 @@ -# RustCrypto: CBC-MAC +# [RustCrypto]: CBC-MAC [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] @@ -60,4 +60,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) +[RustCrypto]: https://github.com/RustCrypto [CBC-MAC]: https://en.wikipedia.org/wiki/CBC-MAC diff --git a/cbc-mac/src/block_api.rs b/cbc-mac/src/block_api.rs index b3ccaf2..61e5450 100644 --- a/cbc-mac/src/block_api.rs +++ b/cbc-mac/src/block_api.rs @@ -91,7 +91,7 @@ where } let Self { cipher, state } = self; - cipher.encrypt_with_backend(Closure { state, blocks }) + cipher.encrypt_with_backend(Closure { state, blocks }); } } diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index 193cc88..41ee94a 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -5,8 +5,6 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![cfg_attr(docsrs, feature(doc_cfg))] -#![forbid(unsafe_code)] -#![warn(missing_docs)] pub use digest::{self, KeyInit, Mac, block_api::SmallBlockSizeUser}; diff --git a/cmac/Cargo.toml b/cmac/Cargo.toml index 254d242..675380a 100644 --- a/cmac/Cargo.toml +++ b/cmac/Cargo.toml @@ -30,5 +30,8 @@ magma = "0.10.0-rc.3" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] +[lints] +workspace = true + [package.metadata.docs.rs] all-features = true diff --git a/cmac/README.md b/cmac/README.md index 2239bc7..8404775 100644 --- a/cmac/README.md +++ b/cmac/README.md @@ -1,4 +1,4 @@ -# RustCrypto: CMAC +# [RustCrypto]: CMAC [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] @@ -7,7 +7,7 @@ ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -Generic implementation of [Cipher-based Message Authentication Code (CMAC)][1], +Generic implementation of [Cipher-based Message Authentication Code (CMAC)][CMAC], otherwise known as OMAC1. ## Examples @@ -77,5 +77,6 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/One-key_MAC +[RustCrypto]: https://github.com/RustCrypto +[CMAC]: https://en.wikipedia.org/wiki/One-key_MAC [`aes`]: https://docs.rs/aes diff --git a/cmac/src/block_api.rs b/cmac/src/block_api.rs index ef3b151..0aadb21 100644 --- a/cmac/src/block_api.rs +++ b/cmac/src/block_api.rs @@ -71,7 +71,7 @@ impl UpdateCore for CmacCore { } let Self { cipher, state } = self; - cipher.encrypt_with_backend(Closure { state, blocks }) + cipher.encrypt_with_backend(Closure { state, blocks }); } } diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index 13a7fa6..ca7062b 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -5,8 +5,6 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![cfg_attr(docsrs, feature(doc_cfg))] -#![forbid(unsafe_code)] -#![warn(missing_docs)] pub use digest::{self, KeyInit, Mac}; diff --git a/cmac/tests/cavp_large.rs b/cmac/tests/cavp_large.rs index a936c8c..6b0e990 100644 --- a/cmac/tests/cavp_large.rs +++ b/cmac/tests/cavp_large.rs @@ -1,8 +1,9 @@ +//! Tests from CAVP (excluding all 64 KiB vectors for AES-128 except the first one): +//! + // use aes::Aes128; // use cmac::Cmac; -// Tests from CAVP (excluding all 64 KiB vectors for AES-128 except the first one): -// https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/CAVP-TESTING-BLOCK-CIPHER-MODES // // Test vectors in this file use 64 KiB of data, so they are excluded from published packages. // TODO(tarcieri): update tests to support RustCrypto/traits#1916 diff --git a/cmac/tests/mod.rs b/cmac/tests/mod.rs index b4ffdec..bfc9021 100644 --- a/cmac/tests/mod.rs +++ b/cmac/tests/mod.rs @@ -1,3 +1,5 @@ +//! Test vectors. + // use aes::{Aes128, Aes192, Aes256}; // use cmac::Cmac; // use des::{TdesEde2, TdesEde3}; diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 0347d57..02e82c6 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -26,5 +26,8 @@ hex-literal = "1" [features] zeroize = ["digest/zeroize"] +[lints] +workspace = true + [package.metadata.docs.rs] all-features = true diff --git a/hmac/README.md b/hmac/README.md index c0f1168..dc3de4f 100644 --- a/hmac/README.md +++ b/hmac/README.md @@ -1,4 +1,4 @@ -# RustCrypto: HMAC +# [RustCrypto]: HMAC [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] @@ -7,7 +7,7 @@ ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -Generic implementation of [Hash-based Message Authentication Code (HMAC)][1]. +Generic implementation of [Hash-based Message Authentication Code (HMAC)][HMAC]. To use it you will need a cryptographic hash function implementation which implements the [`digest`] crate traits. You can find compatible crates @@ -124,7 +124,8 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/HMAC +[RustCrypto]: https://github.com/RustCrypto +[HMAC]: https://en.wikipedia.org/wiki/HMAC [`digest`]: https://docs.rs/digest [`sha2`]: https://docs.rs/sha2 [`RustCrypto/hashes`]: https://github.com/RustCrypto/hashes diff --git a/hmac/src/block_api.rs b/hmac/src/block_api.rs index 06b939b..3071f68 100644 --- a/hmac/src/block_api.rs +++ b/hmac/src/block_api.rs @@ -46,7 +46,7 @@ impl OutputSizeUser for HmacCore { impl KeyInit for HmacCore { #[inline(always)] fn new(key: &Key) -> Self { - Self::new_from_slice(key.as_slice()).unwrap() + Self::new_from_slice(key.as_slice()).expect("HMAC accepts keys of any length") } #[inline(always)] @@ -145,7 +145,7 @@ impl OutputSizeUser for HmacResetCore { impl KeyInit for HmacResetCore { #[inline(always)] fn new(key: &Key) -> Self { - Self::new_from_slice(key.as_slice()).unwrap() + Self::new_from_slice(key.as_slice()).expect("HMAC accepts keys of any length") } #[inline(always)] diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index e26c57a..d21153b 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -16,8 +16,6 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![cfg_attr(docsrs, feature(doc_cfg))] -#![forbid(unsafe_code)] -#![warn(missing_docs)] pub use digest::{self, KeyInit, Mac, block_api::EagerHash}; diff --git a/hmac/src/simple.rs b/hmac/src/simple.rs index 5d7586f..7c8de58 100644 --- a/hmac/src/simple.rs +++ b/hmac/src/simple.rs @@ -22,7 +22,7 @@ impl MacMarker for SimpleHmac {} impl KeyInit for SimpleHmac { fn new(key: &Key) -> Self { - Self::new_from_slice(key.as_slice()).unwrap() + Self::new_from_slice(key.as_slice()).expect("HMAC accepts keys of any length") } #[inline] diff --git a/hmac/src/simple_reset.rs b/hmac/src/simple_reset.rs index 9299827..c676aed 100644 --- a/hmac/src/simple_reset.rs +++ b/hmac/src/simple_reset.rs @@ -24,7 +24,7 @@ impl MacMarker for SimpleHmacReset {} impl KeyInit for SimpleHmacReset { fn new(key: &Key) -> Self { - Self::new_from_slice(key.as_slice()).unwrap() + Self::new_from_slice(key.as_slice()).expect("HMAC accepts keys of any length") } #[inline] diff --git a/hmac/tests/mod.rs b/hmac/tests/mod.rs index b43eb44..58f1b51 100644 --- a/hmac/tests/mod.rs +++ b/hmac/tests/mod.rs @@ -1,3 +1,5 @@ +//! Test vectors. + macro_rules! test { ($mod_name:ident, $test_name:expr, $hash:ty $(, $t:ident)?) => { mod $mod_name { diff --git a/pmac/Cargo.toml b/pmac/Cargo.toml index 90a11ac..a7ceec0 100644 --- a/pmac/Cargo.toml +++ b/pmac/Cargo.toml @@ -24,5 +24,8 @@ digest = { version = "0.11", features = ["dev"] } [features] zeroize = ["cipher/zeroize", "digest/zeroize"] +[lints] +workspace = true + [package.metadata.docs.rs] all-features = true diff --git a/pmac/README.md b/pmac/README.md index 7d8b89f..bccef2c 100644 --- a/pmac/README.md +++ b/pmac/README.md @@ -1,4 +1,4 @@ -# RustCrypto: PMAC +# [RustCrypto]: PMAC [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] @@ -7,7 +7,7 @@ ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -Generic implementation of [Parallelizable Message Authentication Code (PMAC)][1]. +Generic implementation of [Parallelizable Message Authentication Code (PMAC)][PMAC]. ## Examples We will use AES-128 block cipher from the [`aes`] crate. @@ -75,5 +75,6 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/PMAC_(cryptography) +[RustCrypto]: https://github.com/RustCrypto +[PMAC]: https://en.wikipedia.org/wiki/PMAC_(cryptography) [`aes`]: https://docs.rs/aes diff --git a/pmac/src/block_api.rs b/pmac/src/block_api.rs index cd75965..1df4f1e 100644 --- a/pmac/src/block_api.rs +++ b/pmac/src/block_api.rs @@ -62,7 +62,7 @@ impl Drop for PmacState { { self.counter.zeroize(); self.l_inv.zeroize(); - self.l_cache.iter_mut().for_each(|c| c.zeroize()); + self.l_cache.iter_mut().for_each(Zeroize::zeroize); self.tag.zeroize(); self.offset.zeroize(); } @@ -179,7 +179,7 @@ impl UpdateCore for PmacCore { } let Self { cipher, state } = self; - cipher.encrypt_with_backend(Closure { blocks, state }) + cipher.encrypt_with_backend(Closure { blocks, state }); } } diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index c70c18a..df9a282 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -5,8 +5,6 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![cfg_attr(docsrs, feature(doc_cfg))] -#![forbid(unsafe_code)] -#![warn(missing_docs)] pub use digest::{self, KeyInit, Mac}; diff --git a/pmac/tests/mod.rs b/pmac/tests/mod.rs index da52782..e2f25c4 100644 --- a/pmac/tests/mod.rs +++ b/pmac/tests/mod.rs @@ -1,3 +1,5 @@ +//! Test vectors. + // use aes::{Aes128, Aes192, Aes256}; // use digest::new_resettable_mac_test; // use pmac::Pmac; diff --git a/retail-mac/Cargo.toml b/retail-mac/Cargo.toml index be4eca4..e03775d 100644 --- a/retail-mac/Cargo.toml +++ b/retail-mac/Cargo.toml @@ -25,5 +25,8 @@ des = "0.9.0-rc.3" [features] zeroize = ["cipher/zeroize", "digest/zeroize"] +[lints] +workspace = true + [package.metadata.docs.rs] all-features = true diff --git a/retail-mac/README.md b/retail-mac/README.md index 9944e66..b0f2ace 100644 --- a/retail-mac/README.md +++ b/retail-mac/README.md @@ -1,4 +1,4 @@ -# RustCrypto: Retail MAC +# [RustCrypto]: Retail MAC [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] @@ -67,5 +67,6 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) +[RustCrypto]: https://github.com/RustCrypto [Retail MAC]: https://en.wikipedia.org/wiki/ISO/IEC_9797-1#MAC_algorithm_3 [CBC-MAC]: https://en.wikipedia.org/wiki/CBC-MAC#Security_with_fixed_and_variable-length_messages diff --git a/retail-mac/src/block_api.rs b/retail-mac/src/block_api.rs index 0adde13..bc27d19 100644 --- a/retail-mac/src/block_api.rs +++ b/retail-mac/src/block_api.rs @@ -71,7 +71,7 @@ where { #[inline(always)] fn new(key: &Key) -> Self { - Self::new_from_slice(key.as_slice()).unwrap() + Self::new_from_slice(key.as_slice()).expect("HMAC accepts keys of any length") } #[inline(always)] @@ -112,7 +112,7 @@ where } let Self { cipher, state, .. } = self; - cipher.encrypt_with_backend(Closure { state, blocks }) + cipher.encrypt_with_backend(Closure { state, blocks }); } } diff --git a/retail-mac/src/lib.rs b/retail-mac/src/lib.rs index 9d3d235..2d2ac88 100644 --- a/retail-mac/src/lib.rs +++ b/retail-mac/src/lib.rs @@ -5,8 +5,6 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg" )] #![cfg_attr(docsrs, feature(doc_cfg))] -#![forbid(unsafe_code)] -#![warn(missing_docs)] pub use digest::{self, Key, KeyInit, Mac}; From b895e50c852f58727b2fa6a480c4ec68cf99025f Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 30 Mar 2026 02:04:27 +0300 Subject: [PATCH 122/123] Migrate tests to the new blobby format (#264) --- .../data/{belt-mac.blb => belt_mac_stb.blb} | Bin 117 -> 118 bytes belt-mac/tests/mod.rs | 9 +- cmac/tests/cavp_large.rs | 22 ++-- cmac/tests/data/aes192.blb | Bin 203 -> 0 bytes cmac/tests/data/aes256.blb | Bin 211 -> 0 bytes .../{cavp_aes128.blb => cmac_aes128_cavp.blb} | Bin 4169 -> 4171 bytes ...8_large.blb => cmac_aes128_cavp_large.blb} | Bin 1049065 -> 1049066 bytes .../data/{aes128.blb => cmac_aes128_nist.blb} | Bin 195 -> 196 bytes ...-aes128.blb => cmac_aes128_wycheproof.blb} | Bin 910 -> 911 bytes .../{cavp_aes192.blb => cmac_aes192_cavp.blb} | Bin 11475 -> 11477 bytes cmac/tests/data/cmac_aes192_nist.blb | Bin 0 -> 204 bytes ...-aes192.blb => cmac_aes192_wycheproof.blb} | Bin 1070 -> 1071 bytes .../{cavp_aes256.blb => cmac_aes256_cavp.blb} | Bin 6273 -> 6275 bytes cmac/tests/data/cmac_aes256_nist.blb | Bin 0 -> 212 bytes ...-aes256.blb => cmac_aes256_wycheproof.blb} | Bin 1230 -> 1231 bytes cmac/tests/data/cmac_kuznyechik_gost.blb | Bin 0 -> 118 bytes cmac/tests/data/cmac_magma_gost.blb | Bin 0 -> 77 bytes .../{cavp_tdes2.blb => cmac_tdes2_cavp.blb} | Bin 3393 -> 3395 bytes .../{cavp_tdes3.blb => cmac_tdes3_cavp.blb} | Bin 4913 -> 4915 bytes cmac/tests/data/kuznyechik.blb | Bin 117 -> 0 bytes cmac/tests/data/magma.blb | Bin 76 -> 0 bytes cmac/tests/mod.rs | 42 +++---- .../data/{md5.blb => hmac_md5_rfc2104.blb} | Bin 245 -> 246 bytes ...roof-sha1.blb => hmac_sha1_wycheproof.blb} | Bin 4875 -> 4877 bytes .../{sha224.blb => hmac_sha224_rfc4231.blb} | Bin 803 -> 804 bytes .../{sha256.blb => hmac_sha256_rfc4231.blb} | Bin 831 -> 832 bytes ...-sha256.blb => hmac_sha256_wycheproof.blb} | Bin 6153 -> 6155 bytes .../{sha384.blb => hmac_sha384_rfc4231.blb} | Bin 943 -> 944 bytes ...-sha384.blb => hmac_sha384_wycheproof.blb} | Bin 7857 -> 7859 bytes .../{sha512.blb => hmac_sha512_rfc4231.blb} | Bin 1062 -> 1063 bytes ...-sha512.blb => hmac_sha512_wycheproof.blb} | Bin 9648 -> 9650 bytes ...eebog256.blb => hmac_streebog256_gost.blb} | Bin 84 -> 85 bytes ...eebog512.blb => hmac_streebog512_gost.blb} | Bin 117 -> 118 bytes hmac/tests/mod.rs | 113 +++++++++++------- .../data/{aes128.blb => pmac_aes128.blb} | Bin 1241 -> 1242 bytes .../data/{aes192.blb => pmac_aes192.blb} | Bin 1265 -> 1266 bytes .../data/{aes256.blb => pmac_aes256.blb} | Bin 1241 -> 1242 bytes pmac/tests/mod.rs | 16 ++- 38 files changed, 110 insertions(+), 92 deletions(-) rename belt-mac/tests/data/{belt-mac.blb => belt_mac_stb.blb} (64%) delete mode 100644 cmac/tests/data/aes192.blb delete mode 100644 cmac/tests/data/aes256.blb rename cmac/tests/data/{cavp_aes128.blb => cmac_aes128_cavp.blb} (98%) rename cmac/tests/data/{cavp_aes128_large.blb => cmac_aes128_cavp_large.blb} (99%) rename cmac/tests/data/{aes128.blb => cmac_aes128_nist.blb} (69%) rename cmac/tests/data/{wycheproof-aes128.blb => cmac_aes128_wycheproof.blb} (77%) rename cmac/tests/data/{cavp_aes192.blb => cmac_aes192_cavp.blb} (97%) create mode 100644 cmac/tests/data/cmac_aes192_nist.blb rename cmac/tests/data/{wycheproof-aes192.blb => cmac_aes192_wycheproof.blb} (86%) rename cmac/tests/data/{cavp_aes256.blb => cmac_aes256_cavp.blb} (99%) create mode 100644 cmac/tests/data/cmac_aes256_nist.blb rename cmac/tests/data/{wycheproof-aes256.blb => cmac_aes256_wycheproof.blb} (75%) create mode 100644 cmac/tests/data/cmac_kuznyechik_gost.blb create mode 100644 cmac/tests/data/cmac_magma_gost.blb rename cmac/tests/data/{cavp_tdes2.blb => cmac_tdes2_cavp.blb} (99%) rename cmac/tests/data/{cavp_tdes3.blb => cmac_tdes3_cavp.blb} (99%) delete mode 100644 cmac/tests/data/kuznyechik.blb delete mode 100644 cmac/tests/data/magma.blb rename hmac/tests/data/{md5.blb => hmac_md5_rfc2104.blb} (62%) rename hmac/tests/data/{wycheproof-sha1.blb => hmac_sha1_wycheproof.blb} (94%) rename hmac/tests/data/{sha224.blb => hmac_sha224_rfc4231.blb} (62%) rename hmac/tests/data/{sha256.blb => hmac_sha256_rfc4231.blb} (61%) rename hmac/tests/data/{wycheproof-sha256.blb => hmac_sha256_wycheproof.blb} (93%) rename hmac/tests/data/{sha384.blb => hmac_sha384_rfc4231.blb} (66%) rename hmac/tests/data/{wycheproof-sha384.blb => hmac_sha384_wycheproof.blb} (97%) rename hmac/tests/data/{sha512.blb => hmac_sha512_rfc4231.blb} (75%) rename hmac/tests/data/{wycheproof-sha512.blb => hmac_sha512_wycheproof.blb} (99%) rename hmac/tests/data/{streebog256.blb => hmac_streebog256_gost.blb} (83%) rename hmac/tests/data/{streebog512.blb => hmac_streebog512_gost.blb} (88%) rename pmac/tests/data/{aes128.blb => pmac_aes128.blb} (98%) rename pmac/tests/data/{aes192.blb => pmac_aes192.blb} (98%) rename pmac/tests/data/{aes256.blb => pmac_aes256.blb} (98%) diff --git a/belt-mac/tests/data/belt-mac.blb b/belt-mac/tests/data/belt_mac_stb.blb similarity index 64% rename from belt-mac/tests/data/belt-mac.blb rename to belt-mac/tests/data/belt_mac_stb.blb index 7544b305b126aa27886c9f1a9ccd620c4abe5d40..05933302554aac8d4fc16836eee438917ebb6e26 100644 GIT binary patch delta 6 NcmXRdV`Q693IGPZ0r&s_ delta 5 McmXRboyb@U00vP3^8f$< diff --git a/belt-mac/tests/mod.rs b/belt-mac/tests/mod.rs index 3fa317d..45fd9bb 100644 --- a/belt-mac/tests/mod.rs +++ b/belt-mac/tests/mod.rs @@ -1,6 +1,7 @@ -//! Test vectors. +//! Test vectors from STB 34.101.31-2020: +//! -//use belt_mac::BeltMac; +use belt_mac::BeltMac; +use digest::dev::reset_mac_test; -// TODO(tarcieri): update tests to support RustCrypto/traits#1916 -// digest::new_resettable_mac_test!(belt_mac_stb, "belt-mac", BeltMac, "left"); +digest::new_mac_test!(belt_mac_stb, BeltMac, reset_mac_test, trunc_left); diff --git a/cmac/tests/cavp_large.rs b/cmac/tests/cavp_large.rs index 6b0e990..f151bdb 100644 --- a/cmac/tests/cavp_large.rs +++ b/cmac/tests/cavp_large.rs @@ -1,15 +1,15 @@ //! Tests from CAVP (excluding all 64 KiB vectors for AES-128 except the first one): //! +//! +//! Test vectors in this file use 64 KiB of data, so they are excluded from published packages. -// use aes::Aes128; -// use cmac::Cmac; +use aes::Aes128; +use cmac::Cmac; +use digest::dev::reset_mac_test; -// -// Test vectors in this file use 64 KiB of data, so they are excluded from published packages. -// TODO(tarcieri): update tests to support RustCrypto/traits#1916 -// digest::new_resettable_mac_test!( -// cmac_aes128_cavp, -// "cavp_aes128_large", -// Cmac, -// trunc_left -// ); +digest::new_mac_test!( + cmac_aes128_cavp_large, + Cmac, + reset_mac_test, + trunc_left, +); diff --git a/cmac/tests/data/aes192.blb b/cmac/tests/data/aes192.blb deleted file mode 100644 index 09ee9d48bcdd24432ad449f98954c9cbd0d07a0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmZRS=qujv{T5$J& zboDzN6;r&JY~&wUug#sz*ua2IogDL;IrFyXuW?=97ie%o#%*!T6Tzpy4@ydL1-<_^ lU&Zyl|7`KK+K$!Fa?Ax39?n#p5HdgSYG#%WYmQ-v008gQSLpx% diff --git a/cmac/tests/data/cavp_aes128.blb b/cmac/tests/data/cmac_aes128_cavp.blb similarity index 98% rename from cmac/tests/data/cavp_aes128.blb rename to cmac/tests/data/cmac_aes128_cavp.blb index 07b511d57b56b3e958d1fb4e855d346388203140..2e1c2d8fb0422f88dcd2874e2c15b5dddf7b9664 100644 GIT binary patch delta 10 RcmX@9a9V+>p diff --git a/cmac/tests/data/cavp_aes128_large.blb b/cmac/tests/data/cmac_aes128_cavp_large.blb similarity index 99% rename from cmac/tests/data/cavp_aes128_large.blb rename to cmac/tests/data/cmac_aes128_cavp_large.blb index 669606f91905b259e4da83dfbcab42ab17d56c98..78f6d50eb3d9cdf92b2353d2ecca4fb7cd799161 100644 GIT binary patch delta 43 ycmaFa?C`4DfzhC$g|UUHg}H^Lg|&sPg}sHNg|mgLg}a5Pg|~&Tg@22{OGW@kzzyvH delta 58 zcmWN`&)N+WDxW6(cy%dAC%c-FLE&QUeYdr%&OS9fb)@-T)#P+W zh3td-9_cyEpZ3zWPOx~gxR%1analSZJ{Oq4mh>$yu_myEQ3GAcI^C{t1>4etQ{GNv zXK`8itM0hNn;(n~4A|7kF|V03Z+re4*Y$mY1}9|P7RNjheER#Kq!d@s`)~7AT<`nO g7GJCFSp6)=TtH#r)%$#JEBPyZ%Oj>mex4-=0Em!ZB>(^b literal 0 HcmV?d00001 diff --git a/cmac/tests/data/wycheproof-aes192.blb b/cmac/tests/data/cmac_aes192_wycheproof.blb similarity index 86% rename from cmac/tests/data/wycheproof-aes192.blb rename to cmac/tests/data/cmac_aes192_wycheproof.blb index cb216246ec49d71ea3de12aa4e9c59d090ab5704..e61a5ba7f41ff87d0d41273a1b969f7df63e01d1 100644 GIT binary patch delta 9 QcmZ3-v7Up`W`iCJ01m|hjQ{`u delta 8 PcmZ3_v5sRSqaF(Y4I2Vd diff --git a/cmac/tests/data/cavp_aes256.blb b/cmac/tests/data/cmac_aes256_cavp.blb similarity index 99% rename from cmac/tests/data/cavp_aes256.blb rename to cmac/tests/data/cmac_aes256_cavp.blb index bd51d829280aaac645ffaae2656de1b1725d76ae..f7d92c48b598fd74d8c6d9fd9deb9da5e1f11d3c 100644 GIT binary patch delta 10 RcmZoPY&K+SRM^lc0RR$r15*G1 delta 8 PcmZoRY&6`+)F=S}4ORlP diff --git a/cmac/tests/data/cmac_aes256_nist.blb b/cmac/tests/data/cmac_aes256_nist.blb new file mode 100644 index 0000000000000000000000000000000000000000..6c69080f0170f1698f6015f8bf85cbf88273a47f GIT binary patch literal 212 zcmd;KR7kLWEg*WTaG!SZx(}_j<&E;DI_%bo9M^Sc2rT9lx&MWcL4m0=>6>)*k9mKx zL*?DlZ#FY3WFOr3NY7#Zw3oJZg2j`?wG=d#GugZ9^*8PH{?yxJemI6v16|2F-L7y2 z(RB4Y92HZ%m~7-9Sg*~U%-FzyO`RO`nmO~f=dW>H-xp|bLdI=z%oD+-xJvTJ(h>a*_~U=j@f-`zd4d)3Si nm;hMkyZ>BJjW8|)#2h$RP{BCgS2H2<_ha9Co1@K3=A;7vUU)Up literal 0 HcmV?d00001 diff --git a/cmac/tests/data/cmac_magma_gost.blb b/cmac/tests/data/cmac_magma_gost.blb new file mode 100644 index 0000000000000000000000000000000000000000..7bdb6ac81f294b3e15badb93f7be08b82cd331bc GIT binary patch literal 77 zcmV-T0J8rB06_ol-ORhHnTU60RYWr)5diS<^7Hid_V@Vt`uqI-{{KLd-tcQY6AD?| jRL2DP7@Z(WnENhgr~*uh5oby$k2QDK84F8~z$16lw8 delta 8 PcmX>sbx>*}lOrzx4>tn3 diff --git a/cmac/tests/data/cavp_tdes3.blb b/cmac/tests/data/cmac_tdes3_cavp.blb similarity index 99% rename from cmac/tests/data/cavp_tdes3.blb rename to cmac/tests/data/cmac_tdes3_cavp.blb index 5f4430506d0a74dbad050e77460ec48178df28a1..60deaa6c77987f197095ba5829d3afe64e6559ff 100644 GIT binary patch delta 10 Rcmdm}wpop-QDK9jFaQ*S14sY> delta 8 Pcmdn2woz>(lc6vG4$T6n diff --git a/cmac/tests/data/kuznyechik.blb b/cmac/tests/data/kuznyechik.blb deleted file mode 100644 index 660fba2841716fd9468822beefa58f594eb48a09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117 zcmZQ@=$N@`_nEuz{xb+F8M}n0mH)f5Yerd!kpQEzYkKGEv+o;V5)A*}-958=)yxi< m09fa{|6EXwFfIec95`1{!8qSnGa>T#W8Zt5qs>d^qyqq56*bNP diff --git a/cmac/tests/data/magma.blb b/cmac/tests/data/magma.blb deleted file mode 100644 index c787d909b6f7ac7e8bdd24c99aa040376dbb1bca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76 zcmV-S0JHx9K>zOD%)6?Yh<9dHL^C200Pykh^Yr!h_xSnx`~3a>|3H%7@M}C13R&A! i#{~Eooghk>`z~jw0!)b#K${n}enAiwPI3?+FvYva;wWPP diff --git a/cmac/tests/mod.rs b/cmac/tests/mod.rs index bfc9021..11e0e66 100644 --- a/cmac/tests/mod.rs +++ b/cmac/tests/mod.rs @@ -1,37 +1,33 @@ //! Test vectors. -// use aes::{Aes128, Aes192, Aes256}; -// use cmac::Cmac; -// use des::{TdesEde2, TdesEde3}; -// use digest::new_resettable_mac_test; -// use kuznyechik::Kuznyechik; -// use magma::Magma; +use aes::{Aes128, Aes192, Aes256}; +use cmac::Cmac; +use des::{TdesEde2, TdesEde3}; +use digest::{dev::reset_mac_test, new_mac_test}; +use kuznyechik::Kuznyechik; +use magma::Magma; // Tests from NIST SP 800-38B: // https://csrc.nist.gov/projects/cryptographic-standards-and-guidelines/ -// TODO(tarcieri): update tests to support RustCrypto/traits#1916 -// new_resettable_mac_test!(cmac_aes128_nist, "aes128", Cmac); -// new_resettable_mac_test!(cmac_aes192_nist, "aes192", Cmac); -// new_resettable_mac_test!(cmac_aes256_nist, "aes256", Cmac); +new_mac_test!(cmac_aes128_nist, Cmac, reset_mac_test); +new_mac_test!(cmac_aes192_nist, Cmac, reset_mac_test); +new_mac_test!(cmac_aes256_nist, Cmac, reset_mac_test); // Tests from CAVP (excluding all 64 KiB vectors for AES-128 except the first one): // https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/CAVP-TESTING-BLOCK-CIPHER-MODES -// TODO(tarcieri): update tests to support RustCrypto/traits#1916 -// new_resettable_mac_test!(cmac_aes128_cavp, "cavp_aes128", Cmac, trunc_left); -// new_resettable_mac_test!(cmac_aes192_cavp, "cavp_aes192", Cmac, trunc_left); -// new_resettable_mac_test!(cmac_aes256_cavp, "cavp_aes256", Cmac, trunc_left); -// new_resettable_mac_test!(cmac_tdes2_cavp, "cavp_tdes2", Cmac, trunc_left); -// new_resettable_mac_test!(cmac_tdes3_cavp, "cavp_tdes3", Cmac, trunc_left); +new_mac_test!(cmac_aes128_cavp, Cmac, reset_mac_test, trunc_left); +new_mac_test!(cmac_aes192_cavp, Cmac, reset_mac_test, trunc_left); +new_mac_test!(cmac_aes256_cavp, Cmac, reset_mac_test, trunc_left); +new_mac_test!(cmac_tdes2_cavp, Cmac, reset_mac_test, trunc_left); +new_mac_test!(cmac_tdes3_cavp, Cmac, reset_mac_test, trunc_left); // Tests from Project Wycheproof: // https://github.com/google/wycheproof -// TODO(tarcieri): update tests to support RustCrypto/traits#1916 -// new_resettable_mac_test!(cmac_aes128_wycheproof, "wycheproof-aes128", Cmac); -// new_resettable_mac_test!(cmac_aes192_wycheproof, "wycheproof-aes192", Cmac); -// new_resettable_mac_test!(cmac_aes256_wycheproof, "wycheproof-aes256", Cmac); +new_mac_test!(cmac_aes128_wycheproof, Cmac, reset_mac_test); +new_mac_test!(cmac_aes192_wycheproof, Cmac, reset_mac_test); +new_mac_test!(cmac_aes256_wycheproof, Cmac, reset_mac_test); // Test from GOST R 34.13-2015: // https://tc26.ru/standard/gost/GOST_R_3413-2015.pdf -// TODO(tarcieri): update tests to support RustCrypto/traits#1916 -// new_resettable_mac_test!(cmac_kuznyechik_gost, "kuznyechik", Cmac); -// new_resettable_mac_test!(cmac_magma_gost, "magma", Cmac); +new_mac_test!(cmac_kuznyechik_gost, Cmac, reset_mac_test); +new_mac_test!(cmac_magma_gost, Cmac, reset_mac_test); diff --git a/hmac/tests/data/md5.blb b/hmac/tests/data/hmac_md5_rfc2104.blb similarity index 62% rename from hmac/tests/data/md5.blb rename to hmac/tests/data/hmac_md5_rfc2104.blb index 731a0ae4dd9795d4f216caea146d157ee0b30cc2..967b59f938d194425ea041b10827031069407315 100644 GIT binary patch delta 8 Pcmey$_>GZ~XTnzi54{6` delta 7 Ocmeyy_?2-Y<5vIs4cFaNEEw3;+@x0{Z{} delta 8 PcmeBG>sH&y#4QW}3~d57 diff --git a/hmac/tests/data/sha224.blb b/hmac/tests/data/hmac_sha224_rfc4231.blb similarity index 62% rename from hmac/tests/data/sha224.blb rename to hmac/tests/data/hmac_sha224_rfc4231.blb index dabb20b3d4a772516517f0b3899844d8c48fa060..1bfa421af10f42a2310f2dcd964dd0482ad0abbf 100644 GIT binary patch delta 9 QcmZ3?wuFsQbb~T801ZY0KmY&$ delta 18 ZcmZ3&wwR5Xv4MG_VA(_k-i_^ZnE)|j1&9Cu diff --git a/hmac/tests/data/sha256.blb b/hmac/tests/data/hmac_sha256_rfc4231.blb similarity index 61% rename from hmac/tests/data/sha256.blb rename to hmac/tests/data/hmac_sha256_rfc4231.blb index 6b5b288e1b310da7c0b1f9f5c57c5ce1ea02b887..66e18163580052018e9df966d81cce7bca406b04 100644 GIT binary patch delta 9 Qcmdnbc7Tmhbb~!J01rL_lmGw# delta 18 ZcmX@Wwx5lev4MG_VA(_k-i_@$nE*9X1>67t diff --git a/hmac/tests/data/wycheproof-sha256.blb b/hmac/tests/data/hmac_sha256_wycheproof.blb similarity index 93% rename from hmac/tests/data/wycheproof-sha256.blb rename to hmac/tests/data/hmac_sha256_wycheproof.blb index 62f1d3570d4f3ae76580e79070534a08575f8275..591b8fd2dee5d07e9a7ede6b5c2242449ad9251f 100644 GIT binary patch delta 10 RcmeA)=r&+#aNEEs0RR%30}cQH delta 8 PcmeA+=rq{K#3=y)49WsY diff --git a/hmac/tests/data/sha384.blb b/hmac/tests/data/hmac_sha384_rfc4231.blb similarity index 66% rename from hmac/tests/data/sha384.blb rename to hmac/tests/data/hmac_sha384_rfc4231.blb index d5cddb3124a3f8c872e6e098c0697f08a4b45078..868b89236c5b390b1f9ca3c6faaeed233f0c50cd 100644 GIT binary patch delta 9 QcmZ3_zJZ-lbi;aP01qqz<^TWy delta 18 ZcmdnMzMh?#v4MG_VA(_k-i_^=%m6Yo1up;q diff --git a/hmac/tests/data/wycheproof-sha384.blb b/hmac/tests/data/hmac_sha384_wycheproof.blb similarity index 97% rename from hmac/tests/data/wycheproof-sha384.blb rename to hmac/tests/data/hmac_sha384_wycheproof.blb index 69a787437553300cf439bce35bc32175172fd0d1..1b24e76242084db5ab7f9a8a8dd382fadc0355a9 100644 GIT binary patch delta 10 RcmdmJyV;hh!EM7vIRF=s1SS9g delta 8 PcmdmNyU}(d(?&S}5bOhC diff --git a/hmac/tests/data/sha512.blb b/hmac/tests/data/hmac_sha512_rfc4231.blb similarity index 75% rename from hmac/tests/data/sha512.blb rename to hmac/tests/data/hmac_sha512_rfc4231.blb index b79ae49feec002ba0156285b15ee69c30d2cfb80..c278f9e3cb6cbadff4ce9f345cfeaf28ca665978 100644 GIT binary patch delta 9 QcmZ3+v7CcZbb}fT01cS}P5=M^ delta 18 ZcmZ3^v5bS6v4MG_VA(_k-i_@Gm;o{m1(pB+ diff --git a/hmac/tests/data/wycheproof-sha512.blb b/hmac/tests/data/hmac_sha512_wycheproof.blb similarity index 99% rename from hmac/tests/data/wycheproof-sha512.blb rename to hmac/tests/data/hmac_sha512_wycheproof.blb index e061fd554b2d1498f59912cfbe7b86b16af051d1..f2e3790b71e484cb152ee5774b07a461e81cd5cb 100644 GIT binary patch delta 10 Rcmdnsy~&%Y!EM6^RR9=c1V#V= delta 8 Pcmdnwy}^4U(*{)l5sL$X diff --git a/hmac/tests/data/streebog256.blb b/hmac/tests/data/hmac_streebog256_gost.blb similarity index 83% rename from hmac/tests/data/streebog256.blb rename to hmac/tests/data/hmac_streebog256_gost.blb index 99d972294164965bf9419fc56433218b5de26b1f..4cec3d551757dccb06bd20144c2bc8f269fa5502 100644 GIT binary patch delta 6 NcmWFuWn`WZ0ssXl0g?a! delta 5 McmWFynaCId00jpDkN^Mx diff --git a/hmac/tests/data/streebog512.blb b/hmac/tests/data/hmac_streebog512_gost.blb similarity index 88% rename from hmac/tests/data/streebog512.blb rename to hmac/tests/data/hmac_streebog512_gost.blb index 8f0f151fca255a5a7e2657727aa043a7b5835f21..ef212f08b96c456ea590a08a62bc37c209afbefd 100644 GIT binary patch delta 6 NcmXRdV`QFC3IGPQ0rda? delta 5 McmXRboyb@U00vP3^8f$< diff --git a/hmac/tests/mod.rs b/hmac/tests/mod.rs index 58f1b51..d81bc7e 100644 --- a/hmac/tests/mod.rs +++ b/hmac/tests/mod.rs @@ -1,59 +1,82 @@ //! Test vectors. -macro_rules! test { - ($mod_name:ident, $test_name:expr, $hash:ty $(, $t:ident)?) => { - mod $mod_name { - // TODO(tarcieri): update tests to support RustCrypto/traits#1916 - // digest::new_mac_test!(hmac, $test_name, hmac::Hmac<$hash> $(, $t)?); - // digest::new_mac_test!(simple_hmac, $test_name, hmac::SimpleHmac<$hash> $(, $t)?); - // digest::new_resettable_mac_test!( - // hmac_reset, - // $test_name, - // hmac::HmacReset<$hash> - // $(, $t)? - // ); - // digest::new_resettable_mac_test!( - // simple_reset_hmac, - // $test_name, - // hmac::SimpleHmacReset<$hash> - // $(, $t)? - // ); +macro_rules! new_test { + ($name:ident, $digest:ty $(,)?) => { + new_test!($name, $digest, digest::dev::MacTruncSide::None); + }; + ($name:ident, $digest:ty, trunc_left $(,)?) => { + new_test!($name, $digest, digest::dev::MacTruncSide::Left); + }; + ($name:ident, $digest:ty, $trunc:expr $(,)?) => { + #[test] + fn $name() { + use digest::dev::{MacTestVector, mac_test, reset_mac_test}; + + digest::dev::blobby::parse_into_structs!( + include_bytes!(concat!("data/", stringify!($name), ".blb")); + static TEST_VECTORS: &[MacTestVector { key, input, tag }]; + ); + + type Hmac = hmac::Hmac<$digest>; + type HmacReset = hmac::HmacReset<$digest>; + type SimpleHmac = hmac::SimpleHmac<$digest>; + type SimpleHmacReset = hmac::SimpleHmacReset<$digest>; + + for (i, tv) in TEST_VECTORS.iter().enumerate() { + if let Err(reason) = mac_test::(tv, $trunc) { + panic!( + "\n\ + Failed `Hmac` test #{i}\n\ + reason:\t{reason:?}\n\ + test vector:\t{tv:?}\n" + ); + } + if let Err(reason) = reset_mac_test::(tv, $trunc) { + panic!( + "\n\ + Failed `HmacReset` test #{i}\n\ + reason:\t{reason:?}\n\ + test vector:\t{tv:?}\n" + ); + } + if let Err(reason) = mac_test::(tv, $trunc) { + panic!( + "\n\ + Failed `SimpleHmac` test #{i}\n\ + reason:\t{reason:?}\n\ + test vector:\t{tv:?}\n" + ); + } + if let Err(reason) = reset_mac_test::(tv, $trunc) { + panic!( + "\n\ + Failed `SimpleHmacReset` test #{i}\n\ + reason:\t{reason:?}\n\ + test vector:\t{tv:?}\n" + ); + } + } } }; } -// Test vectors from RFC 2104, plus wiki test -test!(md5_rfc2104, "md5", md5::Md5); +// Test vectors from RFC 2104, plus Wikipedia test +new_test!(hmac_md5_rfc2104, md5::Md5); // Test vectors from RFC 4231 -test!(sha224_rfc4231, "sha224", sha2::Sha224); -test!(sha256_rfc4231, "sha256", sha2::Sha256); -test!(sha384_rfc4231, "sha384", sha2::Sha384); -test!(sha512_rfc4231, "sha512", sha2::Sha512); +new_test!(hmac_sha224_rfc4231, sha2::Sha224); +new_test!(hmac_sha256_rfc4231, sha2::Sha256); +new_test!(hmac_sha384_rfc4231, sha2::Sha384); +new_test!(hmac_sha512_rfc4231, sha2::Sha512); // Test vectors from R 50.1.113-2016: // https://tc26.ru/standard/rs/Р%2050.1.113-2016.pdf -test!(treebog256, "streebog256", streebog::Streebog256); -test!(streebog512, "streebog512", streebog::Streebog512); +new_test!(hmac_streebog256_gost, streebog::Streebog256); +new_test!(hmac_streebog512_gost, streebog::Streebog512); // Tests from Project Wycheproof: // https://github.com/google/wycheproof -test!(sha1_wycheproof, "wycheproof-sha1", sha1::Sha1, trunc_left); -test!( - sha256_wycheproof, - "wycheproof-sha256", - sha2::Sha256, - trunc_left -); -test!( - sha384_wycheproof, - "wycheproof-sha384", - sha2::Sha384, - trunc_left -); -test!( - sha512_wycheproof, - "wycheproof-sha512", - sha2::Sha512, - trunc_left -); +new_test!(hmac_sha1_wycheproof, sha1::Sha1, trunc_left); +new_test!(hmac_sha256_wycheproof, sha2::Sha256, trunc_left); +new_test!(hmac_sha384_wycheproof, sha2::Sha384, trunc_left); +new_test!(hmac_sha512_wycheproof, sha2::Sha512, trunc_left); diff --git a/pmac/tests/data/aes128.blb b/pmac/tests/data/pmac_aes128.blb similarity index 98% rename from pmac/tests/data/aes128.blb rename to pmac/tests/data/pmac_aes128.blb index 0c9bc77293bc06b6daabc179b809a0c14ab52650..dd8dbe1d2f82d176029d417ccb0074f044582761 100644 GIT binary patch delta 9 Qcmcb~d5e=#bi+*+01`a|X#fBK delta 8 Pcmcb`d6RP^<4qO-5Z41$ diff --git a/pmac/tests/data/aes192.blb b/pmac/tests/data/pmac_aes192.blb similarity index 98% rename from pmac/tests/data/aes192.blb rename to pmac/tests/data/pmac_aes192.blb index 5add08dc5494bf076c1655c10516b28a247e10e9..d72869d6b83f4d4f042611f161d584e12c5dd4da 100644 GIT binary patch delta 9 Qcmey!`H7QJbi+p$02A#4u>b%7 delta 14 Vcmeyw`H_=}QDWi*iH*|NSpX*C1n~d> diff --git a/pmac/tests/data/aes256.blb b/pmac/tests/data/pmac_aes256.blb similarity index 98% rename from pmac/tests/data/aes256.blb rename to pmac/tests/data/pmac_aes256.blb index 77a88645bcd41e6e016f8b40e03c33aa3cafc50a..76420500146dd50d2da6e745eb1f497a564462ba 100644 GIT binary patch delta 9 Qcmcb~d5e=#bi+*+01`a|X#fBK delta 17 Zcmcb`d6ScgQDI`C$i)3T8*1?m6* diff --git a/pmac/tests/mod.rs b/pmac/tests/mod.rs index e2f25c4..4f53f4c 100644 --- a/pmac/tests/mod.rs +++ b/pmac/tests/mod.rs @@ -1,11 +1,9 @@ -//! Test vectors. +//! Test vectors from: -// use aes::{Aes128, Aes192, Aes256}; -// use digest::new_resettable_mac_test; -// use pmac::Pmac; +use aes::{Aes128, Aes192, Aes256}; +use digest::{dev::reset_mac_test, new_mac_test}; +use pmac::Pmac; -// Test vectors from: http://web.cs.ucdavis.edu/~rogaway/ocb/pmac-test.htm -// TODO(tarcieri): update tests to support RustCrypto/traits#1916 -// new_resettable_mac_test!(pmac_aes128, "aes128", Pmac); -// new_resettable_mac_test!(pmac_aes192, "aes192", Pmac); -// new_resettable_mac_test!(pmac_aes256, "aes256", Pmac); +new_mac_test!(pmac_aes128, Pmac, reset_mac_test); +new_mac_test!(pmac_aes192, Pmac, reset_mac_test); +new_mac_test!(pmac_aes256, Pmac, reset_mac_test); From 0236c8eb50098dd7f277a71ab89caaeb1e7314df Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 29 Mar 2026 17:18:31 -0600 Subject: [PATCH 123/123] hmac v0.13.0 (#263) ## Added - `HmacReset` and `SimpleHmacReset` types (#186) ## Changed - Use `EagerHash` trait for bounds (#151, #212) - Edition changed to 2024 and MSRV bumped to 1.85 (#178) - Relax MSRV policy and allow MSRV bumps in patch releases - Update to `digest` v0.11 (#243) - Replace type aliases with newtypes (#186) ## Removed - `std` and `reset` crate features (#186) --- Cargo.lock | 2 +- hmac/CHANGELOG.md | 13 +++++++++---- hmac/Cargo.toml | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7b047e8..fa677c7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -178,7 +178,7 @@ checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" [[package]] name = "hmac" -version = "0.13.0-rc.6" +version = "0.13.0" dependencies = [ "digest", "hex-literal", diff --git a/hmac/CHANGELOG.md b/hmac/CHANGELOG.md index 003f27a..de96f2b 100644 --- a/hmac/CHANGELOG.md +++ b/hmac/CHANGELOG.md @@ -5,20 +5,25 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.13.0 (UNRELEASED) +## 0.13.0 (2026-03-29) ### Added -- `HmacReset` and `SimpleHmacReset` types [#186] +- `HmacReset` and `SimpleHmacReset` types ([#186]) ### Changed -- Edition changed to 2024 and MSRV bumped to 1.85 +- Use `EagerHash` trait for bounds ([#151], [#212]) +- Edition changed to 2024 and MSRV bumped to 1.85 ([#178]) - Relax MSRV policy and allow MSRV bumps in patch releases -- Update to `digest` v0.11 +- Update to `digest` v0.11 ([#243]) - Replace type aliases with newtypes ([#186]) ### Removed - `std` and `reset` crate features ([#186]) +[#151]: https://github.com/RustCrypto/MACs/pull/151 +[#178]: https://github.com/RustCrypto/MACs/pull/178 [#186]: https://github.com/RustCrypto/MACs/pull/186 +[#212]: https://github.com/RustCrypto/MACs/pull/212 +[#243]: https://github.com/RustCrypto/MACs/pull/243 ## 0.12.1 (2022-02-17) ### Fixed diff --git a/hmac/Cargo.toml b/hmac/Cargo.toml index 02e82c6..e94b0ba 100644 --- a/hmac/Cargo.toml +++ b/hmac/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hmac" -version = "0.13.0-rc.6" +version = "0.13.0" description = "Generic implementation of Hash-based Message Authentication Code (HMAC)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0"
  • 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≫3obm#j{EtREw;GHd3tiGY_5 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 z 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