From c08c64be72eb02ff3fc903a14c0fcb5f35fe4cb3 Mon Sep 17 00:00:00 2001 From: John Guibas Date: Fri, 10 May 2024 11:23:33 -0700 Subject: [PATCH 01/21] chore: v1.0.1-testnet (#692) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Tamir Hemo Co-authored-by: Ubuntu Co-authored-by: Kevin Jue Co-authored-by: Tarik Moon Co-authored-by: Matthias Görgens Co-authored-by: Eugene Rabinovich --- .github/actions/setup/action.yml | 5 - .github/dependabot.yml | 10 + .github/workflows/pr.yml | 187 +- .github/workflows/pr_lint.yml | 19 + .github/workflows/release.yml | 18 +- .github/workflows/tests.yml | 103 - Cargo.lock | 634 +- book/SUMMARY.md | 14 +- book/developers/building-groth16-artifacts.md | 7 + book/developers/recommended-settings.md | 6 + book/generating-proofs/advanced.md | 5 +- book/generating-proofs/basics.md | 12 - book/getting-started/install.md | 5 +- book/getting-started/project-template.md | 3 + book/verifying-proofs/solidity-and-evm.md | 42 + book/writing-programs/inputs-and-outputs.md | 14 +- cli/Cargo.toml | 18 +- cli/docker/Dockerfile | 2 +- cli/src/assets/program/Cargo.toml | 2 +- cli/src/assets/script/build.rs | 4 +- core/Cargo.toml | 18 +- core/src/cpu/trace.rs | 8 +- core/src/runtime/state.rs | 1 - core/src/stark/machine.rs | 10 - core/src/stark/prover.rs | 7 +- core/src/stark/quotient.rs | 12 +- core/src/stark/verifier.rs | 2 + core/src/utils/env.rs | 2 +- core/src/utils/mod.rs | 12 +- eval/Cargo.toml | 4 +- examples/Cargo.lock | 5701 +++++++++++++++++ examples/Cargo.toml | 15 + examples/Makefile | 6 +- .../programs/aggregation/Cargo.lock | 947 +++ .../programs/aggregation/Cargo.toml | 13 + .../elf/riscv32im-succinct-zkvm-elf | Bin 0 -> 149172 bytes .../programs/aggregation/src/main.rs | 68 + .../aggregation/programs/fibonacci/Cargo.lock | 764 +++ .../aggregation/programs/fibonacci/Cargo.toml | 8 + .../fibonacci/elf/riscv32im-succinct-zkvm-elf | Bin 0 -> 127764 bytes .../programs/fibonacci/src/main.rs | 20 + examples/aggregation/script/Cargo.lock | 5460 ++++++++++++++++ examples/aggregation/script/Cargo.toml | 13 + examples/aggregation/script/build.rs | 10 + examples/aggregation/script/rust-toolchain | 3 + examples/aggregation/script/src/main.rs | 101 + examples/chess/program/Cargo.lock | 46 +- .../program/elf/riscv32im-succinct-zkvm-elf | Bin 1987760 -> 1987796 bytes examples/chess/script/Cargo.lock | 228 +- examples/chess/script/Cargo.toml | 1 - examples/chess/script/build.rs | 4 +- examples/cycle-tracking/program/Cargo.lock | 46 +- .../program/elf/riscv32im-succinct-zkvm-elf | Bin 112968 -> 116012 bytes examples/cycle-tracking/script/Cargo.toml | 1 - examples/fibonacci/program/Cargo.lock | 46 +- .../program/elf/riscv32im-succinct-zkvm-elf | Bin 127612 -> 127644 bytes examples/fibonacci/script/Cargo.toml | 1 - examples/fibonacci/script/bin/execute.rs | 3 +- examples/fibonacci/script/build.rs | 4 +- examples/io/program/Cargo.lock | 46 +- .../program/elf/riscv32im-succinct-zkvm-elf | Bin 189940 -> 190348 bytes examples/io/script/Cargo.toml | 1 - examples/io/script/build.rs | 4 +- examples/io/script/src/main.rs | 2 +- examples/is-prime/script/Cargo.toml | 1 - examples/is-prime/script/src/main.rs | 2 +- examples/json/lib/Cargo.toml | 1 - examples/json/program/Cargo.lock | 46 +- .../program/elf/riscv32im-succinct-zkvm-elf | Bin 196700 -> 196684 bytes examples/json/script/Cargo.toml | 1 - examples/json/script/build.rs | 4 +- examples/json/script/src/main.rs | 2 +- examples/regex/program/Cargo.lock | 46 +- .../program/elf/riscv32im-succinct-zkvm-elf | Bin 2159712 -> 2162940 bytes examples/regex/script/Cargo.toml | 1 - examples/regex/script/src/main.rs | 2 +- examples/rsa/program/Cargo.lock | 46 +- .../program/elf/riscv32im-succinct-zkvm-elf | Bin 295308 -> 295340 bytes examples/rsa/script/Cargo.toml | 1 - examples/rsa/script/build.rs | 4 +- examples/rsa/script/src/main.rs | 2 +- examples/ssz-withdrawals/program/Cargo.lock | 46 +- .../program/elf/riscv32im-succinct-zkvm-elf | Bin 198156 -> 200432 bytes examples/ssz-withdrawals/script/Cargo.toml | 1 - examples/ssz-withdrawals/script/build.rs | 4 +- examples/tendermint/program/Cargo.lock | 46 +- .../program/elf/riscv32im-succinct-zkvm-elf | Bin 1174696 -> 1175040 bytes examples/tendermint/script/Cargo.toml | 1 - examples/tendermint/script/build.rs | 4 +- helper/Cargo.toml | 2 +- helper/src/lib.rs | 2 +- prover/Cargo.toml | 10 +- prover/scripts/e2e.rs | 107 + prover/src/build.rs | 7 +- prover/src/lib.rs | 936 ++- prover/src/types.rs | 92 +- prover/src/utils.rs | 51 +- prover/src/verify.rs | 29 +- recursion/circuit/Cargo.toml | 6 +- recursion/circuit/src/stark.rs | 3 +- recursion/compiler/Cargo.toml | 8 +- recursion/compiler/src/ir/builder.rs | 6 +- recursion/core/Cargo.toml | 6 +- recursion/core/src/air/public_values.rs | 101 +- recursion/core/src/cpu/air/alu.rs | 9 +- recursion/core/src/fri_fold/mod.rs | 20 +- recursion/core/src/multi/mod.rs | 24 +- recursion/core/src/program/mod.rs | 4 +- recursion/core/src/stark/mod.rs | 6 +- recursion/core/src/stark/utils.rs | 4 +- recursion/gnark-ffi/Cargo.toml | 6 +- recursion/gnark/cmd/verify.go | 14 +- recursion/program/Cargo.toml | 9 +- recursion/program/experiments/.gitignore | 1 - recursion/program/experiments/fri_sweep.rs | 35 - recursion/program/src/challenger.rs | 31 +- recursion/program/src/fri/domain.rs | 2 +- recursion/program/src/fri/hints.rs | 2 +- recursion/program/src/fri/two_adic_pcs.rs | 2 +- recursion/program/src/fri/types.rs | 2 +- recursion/program/src/hints.rs | 230 +- recursion/program/src/lib.rs | 5 +- recursion/program/src/machine/compress.rs | 475 ++ recursion/program/src/machine/core.rs | 327 + recursion/program/src/machine/deferred.rs | 291 + recursion/program/src/machine/mod.rs | 421 ++ recursion/program/src/machine/root.rs | 139 + recursion/program/src/machine/utils.rs | 117 + recursion/program/src/reduce.rs | 700 -- recursion/program/src/stark.rs | 125 +- recursion/program/src/types.rs | 4 + recursion/program/src/utils.rs | 108 +- sdk/Cargo.toml | 16 +- sdk/src/artifacts.rs | 11 +- sdk/src/provers/local.rs | 4 +- .../elf/riscv32im-succinct-zkvm-elf | Bin 113224 -> 116200 bytes zkvm/entrypoint/Cargo.toml | 6 +- zkvm/precompiles/Cargo.toml | 10 +- 138 files changed, 17030 insertions(+), 2505 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/pr_lint.yml delete mode 100644 .github/workflows/tests.yml create mode 100644 book/developers/building-groth16-artifacts.md create mode 100644 book/developers/recommended-settings.md create mode 100644 book/getting-started/project-template.md create mode 100644 book/verifying-proofs/solidity-and-evm.md create mode 100644 examples/Cargo.lock create mode 100644 examples/Cargo.toml create mode 100644 examples/aggregation/programs/aggregation/Cargo.lock create mode 100644 examples/aggregation/programs/aggregation/Cargo.toml create mode 100755 examples/aggregation/programs/aggregation/elf/riscv32im-succinct-zkvm-elf create mode 100644 examples/aggregation/programs/aggregation/src/main.rs create mode 100644 examples/aggregation/programs/fibonacci/Cargo.lock create mode 100644 examples/aggregation/programs/fibonacci/Cargo.toml create mode 100755 examples/aggregation/programs/fibonacci/elf/riscv32im-succinct-zkvm-elf create mode 100644 examples/aggregation/programs/fibonacci/src/main.rs create mode 100644 examples/aggregation/script/Cargo.lock create mode 100644 examples/aggregation/script/Cargo.toml create mode 100644 examples/aggregation/script/build.rs create mode 100644 examples/aggregation/script/rust-toolchain create mode 100644 examples/aggregation/script/src/main.rs create mode 100644 prover/scripts/e2e.rs delete mode 100644 recursion/program/experiments/.gitignore delete mode 100644 recursion/program/experiments/fri_sweep.rs create mode 100644 recursion/program/src/machine/compress.rs create mode 100644 recursion/program/src/machine/core.rs create mode 100644 recursion/program/src/machine/deferred.rs create mode 100644 recursion/program/src/machine/mod.rs create mode 100644 recursion/program/src/machine/root.rs create mode 100644 recursion/program/src/machine/utils.rs delete mode 100644 recursion/program/src/reduce.rs diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index b7865365db..6b2de798b2 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -45,8 +45,3 @@ runs: shell: bash run: | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain nightly-2024-04-17 -y - source $HOME/.cargo/env - rustup set profile minimal - rustup component add rustfmt clippy - rustup show - echo "$HOME/.cargo/bin" >> $GITHUB_PATH diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..8385c6062d --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: "cargo" + directory: "/" + schedule: + interval: "weekly" + - package-ecosystem: "docker" + directory: "/cli/docker" + schedule: + interval: "weekly" diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 72857c6708..b5825cc44b 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -1,19 +1,180 @@ -name: PR Lint +name: PR on: - pull_request_target: - types: - - opened - - edited - -permissions: - pull-requests: read + push: + branches: [main, dev] + pull_request: + branches: + - "**" + paths: + - "cli/**" + - "core/**" + - "prover/**" + - "recursion/**" + - "sdk/**" + - ".github/workflows/**" + merge_group: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true jobs: - main: - name: Title - runs-on: warp-ubuntu-latest-arm64-4x + test-x86: + name: Test (x86-64) + runs-on: runs-on,runner=64cpu-linux-x64 + env: + CARGO_NET_GIT_FETCH_WITH_CLI: "true" + steps: + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Setup CI + uses: ./.github/actions/setup + + - name: Run cargo check + uses: actions-rs/cargo@v1 + with: + command: check + toolchain: nightly-2024-04-17 + args: --all-targets --all-features + + - name: Run cargo test + uses: actions-rs/cargo@v1 + with: + command: test + toolchain: nightly-2024-04-17 + args: --release -- --nocapture + env: + RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 -C target-cpu=native + RUST_BACKTRACE: 1 + FRI_QUERIES: 1 + SP1_DEV: 1 + + test-arm: + name: Test (ARM) + runs-on: runs-on,runner=64cpu-linux-arm64 + env: + CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: - - uses: amannn/action-semantic-pull-request@v5 + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Setup CI + uses: ./.github/actions/setup + + - name: Run cargo check + uses: actions-rs/cargo@v1 + with: + command: check + toolchain: nightly-2024-04-17 + args: --all-targets --all-features + + - name: Run cargo test + uses: actions-rs/cargo@v1 + with: + command: test + toolchain: nightly-2024-04-17 + args: --release + env: + RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 -C target-cpu=native + RUST_BACKTRACE: 1 + FRI_QUERIES: 1 + SP1_DEV: 1 + + lint: + name: Formatting & Clippy + runs-on: runs-on,runner=8cpu-linux-x64 + env: + CARGO_NET_GIT_FETCH_WITH_CLI: "true" + steps: + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Setup CI + uses: ./.github/actions/setup + + - name: Run cargo fmt + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CARGO_INCREMENTAL: 1 + + - name: Run cargo clippy + uses: actions-rs/cargo@v1 + with: + command: clippy + args: --all-features --all-targets -- -D warnings -A incomplete-features + env: + CARGO_INCREMENTAL: 1 + + examples: + name: Examples + runs-on: runs-on,runner=8cpu-linux-x64 + env: + CARGO_NET_GIT_FETCH_WITH_CLI: "true" + steps: + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Setup CI + uses: ./.github/actions/setup + + - name: Install SP1 toolchain + run: | + curl -L https://sp1.succinct.xyz | bash + ~/.sp1/bin/sp1up + ~/.sp1/bin/cargo-prove prove --version + + - name: Install SP1 CLI + run: | + cd cli + cargo install --locked --path . + cd ~ + + - name: Run cargo check + run: | + RUSTFLAGS="-Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 -C target-cpu=native" \ + cargo check --manifest-path examples/Cargo.toml --all-targets --all-features + + cli: + name: CLI + runs-on: runs-on,runner=8cpu-linux-x64 + env: + CARGO_NET_GIT_FETCH_WITH_CLI: "true" + steps: + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Setup CI + uses: ./.github/actions/setup + + - name: Install SP1 toolchain + run: | + curl -L https://sp1.succinct.xyz | bash + ~/.sp1/bin/sp1up + ~/.sp1/bin/cargo-prove prove --version + + - name: Install SP1 CLI + run: | + cd cli + cargo install --locked --path . +<<<<<<< HEAD + cd ~ + + - name: Run cargo prove new + run: | + cargo prove new fibonacci + + - name: Build program and run script + run: | + cd fibonacci + cd program + cargo prove build + cd ../script + SP1_DEV=1 RUST_LOG=info cargo run --release +======= + cd ~ +>>>>>>> dev diff --git a/.github/workflows/pr_lint.yml b/.github/workflows/pr_lint.yml new file mode 100644 index 0000000000..72857c6708 --- /dev/null +++ b/.github/workflows/pr_lint.yml @@ -0,0 +1,19 @@ +name: PR Lint + +on: + pull_request_target: + types: + - opened + - edited + +permissions: + pull-requests: read + +jobs: + main: + name: Title + runs-on: warp-ubuntu-latest-arm64-4x + steps: + - uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9130f895a0..51700e94f4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,18 +6,15 @@ on: push: tags: - "v*.*.*" - schedule: - - cron: "0 0 * * *" workflow_dispatch: env: CARGO_TERM_COLOR: always - IS_NIGHTLY: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }} jobs: prepare: name: Prepare release - runs-on: ubuntu-latest + runs-on: runner=64cpu-linux-arm64 timeout-minutes: 30 outputs: tag_name: ${{ steps.release_info.outputs.tag_name }} @@ -33,6 +30,16 @@ jobs: with: pull_token: ${{ secrets.PULL_TOKEN }} + - name: Run cargo test + uses: actions-rs/cargo@v1 + with: + command: test + toolchain: nightly-2024-04-17 + args: -p sp1-sdk --release -- --nocapture + env: + RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 -C target-cpu=native + RUST_BACKTRACE: 1 + - name: Compute release name and tag id: release_info run: | @@ -68,9 +75,6 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - release: name: ${{ matrix.target }} (${{ matrix.runner }}) runs-on: ${{ matrix.runner }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml deleted file mode 100644 index d47ac311dd..0000000000 --- a/.github/workflows/tests.yml +++ /dev/null @@ -1,103 +0,0 @@ -name: Tests - -on: - push: - branches: [main] - pull_request: - branches: - - "**" - paths: - - "core/**" - - "recursion/**" - - "sdk/**" - - "examples/fibonacci/**" - - ".github/workflows/**" - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -jobs: - test: - name: SP1 Prover E2E - runs-on: warp-ubuntu-latest-arm64-32x - env: - CARGO_NET_GIT_FETCH_WITH_CLI: "true" - steps: - - name: Checkout sources - uses: actions/checkout@v2 - - - name: Setup CI - uses: ./.github/actions/setup - with: - pull_token: ${{ secrets.PULL_TOKEN }} - - - name: Run cargo test - uses: actions-rs/cargo@v1 - with: - command: test - args: -p sp1-prover --release - env: - RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 -C target-cpu=native - RUST_LOG: info - RUST_BACKTRACE: 1 - CARGO_INCREMENTAL: 1 - FRI_QUERIES: 1 - SP1_DEV: 1 - - test-main: - name: SP1 Tests - runs-on: warp-ubuntu-latest-arm64-32x - if: github.ref == 'refs/heads/main' - steps: - - name: Checkout sources - uses: actions/checkout@v2 - - - name: Setup CI - uses: ./.github/actions/setup - with: - pull_token: ${{ secrets.PULL_TOKEN }} - - - name: Run cargo test - uses: actions-rs/cargo@v1 - with: - command: test - args: -p sp1-core -p sp1-recursion-compiler -p sp1-recursion-program -p sp1-recursion-circuit -p sp1-prover --release - env: - RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 -C target-cpu=native - RUST_LOG: 1 - RUST_BACKTRACE: 1 - CARGO_INCREMENTAL: 1 - FRI_QUERIES: 1 - SP1_DEV: true - - lints: - name: Formatting & Clippy - runs-on: warp-ubuntu-latest-arm64-8x - if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" - env: - CARGO_NET_GIT_FETCH_WITH_CLI: "true" - steps: - - name: Checkout sources - uses: actions/checkout@v2 - - - name: Setup CI - uses: ./.github/actions/setup - with: - pull_token: ${{ secrets.PULL_TOKEN }} - - - name: Run cargo fmt - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check - env: - CARGO_INCREMENTAL: 1 - - - name: Run cargo clippy - uses: actions-rs/cargo@v1 - with: - command: clippy - args: --all-features --all-targets -- -D warnings -A incomplete-features - env: - CARGO_INCREMENTAL: 1 diff --git a/Cargo.lock b/Cargo.lock index fdbfea5a2f..de99543221 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -106,9 +106,9 @@ dependencies = [ [[package]] name = "alloy-core" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1c115a94254b998be1e0318f06af03b72f54c631669cbd7801056a1bbd5701" +checksum = "e30b83573b348305b9629a094b5331093a030514cd5713433799495cb283fea1" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", @@ -118,9 +118,9 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ab339ca7b4ea9115f0578c941abc80a171edf8e5eadd01e6c4237b68db8083" +checksum = "545885d9b0b2c30fd344ae291439b4bfe59e48dd62fbc862f8503d98088967dc" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -130,7 +130,7 @@ dependencies = [ "itoa", "serde", "serde_json", - "winnow 0.6.7", + "winnow 0.6.8", ] [[package]] @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44294729c145cf7ae65feab544b5b81fb2bb7e2fd060214842eb3989a1e9d882" +checksum = "786689872ec4e7d354810ab0dffd48bb40b838c047522eb031cbd47d15634849" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -198,9 +198,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c715249705afa1e32be79dabfd35e2ef0f1cc02ad2cf48c9d1e20026ee637b" +checksum = "525448f6afc1b70dd0f9d0a8145631bf2f5e434678ab23ab18409ca264cae6b3" dependencies = [ "alloy-rlp", "bytes", @@ -263,7 +263,7 @@ checksum = "1a047897373be4bbb0224c1afdabca92648dc57a9c9ef6e7b0be3aff7a859c83" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -356,9 +356,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef9a94a27345fb31e3fcb5f5e9f592bb4847493b07fa1e47dd9fde2222f2e28" +checksum = "89c80a2cb97e7aa48611cbb63950336f9824a174cdf670527cc6465078a26ea1" dependencies = [ "alloy-json-abi", "alloy-sol-macro-input", @@ -368,16 +368,16 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31fe73cd259527e24dc2dbfe64bc95e5ddfcd2b2731f670a11ff72b2be2c25b" +checksum = "c58894b58ac50979eeac6249661991ac40b9d541830d9a725f7714cc9ef08c23" dependencies = [ "alloy-json-abi", "const-hex", @@ -386,24 +386,24 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.60", + "syn 2.0.61", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c8d6e74e4feeaa2bcfdecfd3da247ab53c67bd654ba1907270c32e02b142331" +checksum = "7da8e71ea68e780cc203919e03f69f59e7afe92d2696fb1dcb6662f61e4031b6" dependencies = [ - "winnow 0.6.7", + "winnow 0.6.8", ] [[package]] name = "alloy-sol-types" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afaffed78bfb17526375754931e045f96018aa810844b29c7aef823266dd4b4b" +checksum = "399287f68d1081ed8b1f4903c49687658b95b142207d7cb4ae2f4813915343ef" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -475,47 +475,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -523,9 +524,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" dependencies = [ "backtrace", ] @@ -541,7 +542,7 @@ dependencies = [ "ark-serialize 0.3.0", "ark-std 0.3.0", "derivative", - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-traits", "paste", "rustc_version 0.3.3", @@ -561,7 +562,7 @@ dependencies = [ "derivative", "digest 0.10.7", "itertools 0.10.5", - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-traits", "paste", "rustc_version 0.4.0", @@ -594,7 +595,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-traits", "quote", "syn 1.0.109", @@ -606,7 +607,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-traits", "proc-macro2", "quote", @@ -631,7 +632,7 @@ checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ "ark-std 0.4.0", "digest 0.10.7", - "num-bigint 0.4.4", + "num-bigint 0.4.5", ] [[package]] @@ -691,7 +692,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -702,7 +703,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -713,14 +714,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" @@ -967,9 +968,9 @@ dependencies = [ [[package]] name = "c-kzg" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3130f3d8717cc02e668a896af24984d5d5d4e8bf12e278e982e0f1bd88a0f9af" +checksum = "cdf100c4cea8f207e883ff91ca886d621d8a166cb04971dfaa9bb8fd99ed95df" dependencies = [ "blst", "cc", @@ -1005,7 +1006,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.22", + "semver 1.0.23", "serde", "serde_json", "thiserror", @@ -1019,9 +1020,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.95" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" +checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" dependencies = [ "jobserver", "libc", @@ -1105,7 +1106,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -1116,9 +1117,9 @@ checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "console" @@ -1363,7 +1364,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -1387,7 +1388,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -1398,7 +1399,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -1414,12 +1415,6 @@ dependencies = [ "parking_lot_core", ] -[[package]] -name = "data-encoding" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" - [[package]] name = "der" version = "0.7.9" @@ -1631,18 +1626,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "enum-as-inner" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "syn 2.0.60", -] - [[package]] name = "equivalent" version = "1.0.1" @@ -1651,9 +1634,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1848,7 +1831,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -1916,9 +1899,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -2093,51 +2076,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" -[[package]] -name = "hickory-proto" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.4.0", - "ipnet", - "once_cell", - "rand", - "thiserror", - "tinyvec", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "hickory-resolver" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28757f23aa75c98f254cf0405e6d8c25b831b32921b050a66692427679b1f243" -dependencies = [ - "cfg-if", - "futures-util", - "hickory-proto", - "ipconfig", - "lru-cache", - "once_cell", - "parking_lot", - "rand", - "resolv-conf", - "smallvec", - "thiserror", - "tokio", - "tracing", -] - [[package]] name = "hmac" version = "0.12.1" @@ -2147,17 +2085,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "hostname" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" -dependencies = [ - "libc", - "match_cfg", - "winapi", -] - [[package]] name = "http" version = "0.2.12" @@ -2280,22 +2207,26 @@ dependencies = [ "futures-util", "http 0.2.12", "hyper 0.14.28", - "rustls", + "rustls 0.21.12", "tokio", - "tokio-rustls", + "tokio-rustls 0.24.1", ] [[package]] -name = "hyper-tls" -version = "0.5.0" +name = "hyper-rustls" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" dependencies = [ - "bytes", - "hyper 0.14.28", - "native-tls", + "futures-util", + "http 1.1.0", + "hyper 1.3.1", + "hyper-util", + "rustls 0.22.4", + "rustls-pki-types", "tokio", - "tokio-native-tls", + "tokio-rustls 0.25.0", + "tower-service", ] [[package]] @@ -2363,16 +2294,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "0.5.0" @@ -2425,18 +2346,6 @@ dependencies = [ "serde", ] -[[package]] -name = "indicatif" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7baab56125e25686df467fe470785512329883aab42696d661247aca2a2896e4" -dependencies = [ - "console", - "lazy_static", - "number_prefix 0.3.0", - "regex", -] - [[package]] name = "indicatif" version = "0.17.8" @@ -2445,7 +2354,7 @@ checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" dependencies = [ "console", "instant", - "number_prefix 0.4.0", + "number_prefix", "portable-atomic", "unicode-width", ] @@ -2459,18 +2368,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "ipconfig" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" -dependencies = [ - "socket2", - "widestring", - "windows-sys 0.48.0", - "winreg 0.50.0", -] - [[package]] name = "ipnet" version = "2.9.0" @@ -2488,6 +2385,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itertools" version = "0.10.5" @@ -2632,12 +2535,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - [[package]] name = "linux-raw-sys" version = "0.4.13" @@ -2669,21 +2566,6 @@ dependencies = [ "hashbrown 0.14.5", ] -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - [[package]] name = "matchers" version = "0.1.0" @@ -2717,16 +2599,6 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "mime_guess" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" -dependencies = [ - "mime", - "unicase", -] - [[package]] name = "miniz_oxide" version = "0.7.2" @@ -2783,11 +2655,11 @@ dependencies = [ [[package]] name = "num" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-complex", "num-integer", "num-iter", @@ -2808,11 +2680,10 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", "rand", @@ -2820,9 +2691,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", "rand", @@ -2845,9 +2716,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -2856,21 +2727,20 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-integer", "num-traits", ] [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -2916,12 +2786,6 @@ dependencies = [ "libc", ] -[[package]] -name = "number_prefix" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b02fc0ff9a9e4b35b3342880f48e896ebf69f2967921fe8646bf5b7125956a" - [[package]] name = "number_prefix" version = "0.4.0" @@ -2972,7 +2836,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -3019,7 +2883,7 @@ name = "p3-baby-bear" version = "0.1.0" source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" dependencies = [ - "num-bigint 0.4.4", + "num-bigint 0.4.5", "p3-field", "p3-mds", "p3-poseidon2", @@ -3043,7 +2907,7 @@ version = "0.1.0" source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" dependencies = [ "ff 0.13.0", - "num-bigint 0.4.4", + "num-bigint 0.4.5", "p3-field", "p3-poseidon2", "p3-symmetric", @@ -3094,7 +2958,7 @@ version = "0.1.0" source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" dependencies = [ "itertools 0.12.1", - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-traits", "p3-util", "rand", @@ -3262,9 +3126,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ "arrayvec", "bitvec", @@ -3276,11 +3140,11 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate 2.0.2", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -3341,9 +3205,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "percent-encoding" @@ -3353,9 +3217,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.9" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "311fb059dee1a7b802f036316d790138c613a4e8b180c822e3925a662e9f0c95" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ "memchr", "thiserror", @@ -3379,7 +3243,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -3485,12 +3349,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "2.0.2" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_datetime", - "toml_edit 0.20.2", + "toml_edit 0.21.1", ] [[package]] @@ -3519,9 +3382,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" dependencies = [ "unicode-ident", ] @@ -3558,15 +3421,15 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" +checksum = "9554e3ab233f0a932403704f1a1d08c30d5ccd931adfdfa1e8b5a19b52c1d55a" dependencies = [ "anyhow", "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -3752,22 +3615,18 @@ dependencies = [ "futures-core", "futures-util", "h2 0.3.26", - "hickory-resolver", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.28", - "hyper-rustls", - "hyper-tls 0.5.0", + "hyper-rustls 0.24.2", "ipnet", "js-sys", "log", "mime", - "mime_guess", - "native-tls", "once_cell", "percent-encoding", "pin-project-lite", - "rustls", + "rustls 0.21.12", "rustls-pemfile 1.0.4", "serde", "serde_json", @@ -3775,16 +3634,13 @@ dependencies = [ "sync_wrapper", "system-configuration", "tokio", - "tokio-native-tls", - "tokio-rustls", - "tokio-util", + "tokio-rustls 0.24.1", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams", "web-sys", - "webpki-roots", + "webpki-roots 0.25.4", "winreg 0.50.0", ] @@ -3796,13 +3652,17 @@ checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" dependencies = [ "base64 0.22.1", "bytes", + "encoding_rs", + "futures-channel", "futures-core", "futures-util", + "h2 0.4.4", "http 1.1.0", "http-body 1.0.0", "http-body-util", "hyper 1.3.1", - "hyper-tls 0.6.0", + "hyper-rustls 0.26.0", + "hyper-tls", "hyper-util", "ipnet", "js-sys", @@ -3812,44 +3672,41 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", + "rustls 0.22.4", "rustls-pemfile 2.1.2", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", + "system-configuration", "tokio", "tokio-native-tls", + "tokio-rustls 0.25.0", + "tokio-util", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", + "wasm-streams", "web-sys", + "webpki-roots 0.26.1", "winreg 0.52.0", ] [[package]] name = "reqwest-middleware" -version = "0.2.5" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a735987236a8e238bf0296c7e351b999c188ccc11477f311b82b55c93984216" +checksum = "a45d100244a467870f6cb763c4484d010a6bed6bd610b3676e3825d93fb4cfbd" dependencies = [ "anyhow", "async-trait", - "http 0.2.12", - "reqwest 0.11.27", + "http 1.1.0", + "reqwest 0.12.4", "serde", - "task-local-extensions", "thiserror", -] - -[[package]] -name = "resolv-conf" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" -dependencies = [ - "hostname", - "quick-error", + "tower-service", ] [[package]] @@ -3908,7 +3765,7 @@ dependencies = [ "ark-ff 0.4.2", "bytes", "fastrlp", - "num-bigint 0.4.4", + "num-bigint 0.4.5", "num-traits", "parity-scale-codec", "primitive-types", @@ -3929,9 +3786,9 @@ checksum = "f86854cf50259291520509879a5c294c3c9a4c334e9ff65071c51e42ef1e2343" [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hex" @@ -3954,7 +3811,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.22", + "semver 1.0.23", ] [[package]] @@ -3978,10 +3835,24 @@ checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring", - "rustls-webpki", + "rustls-webpki 0.101.7", "sct", ] +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring", + "rustls-pki-types", + "rustls-webpki 0.102.3", + "subtle", + "zeroize", +] + [[package]] name = "rustls-pemfile" version = "1.0.4" @@ -4003,9 +3874,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.5.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beb461507cee2c2ff151784c52762cf4d9ff6a61f3e80968600ed24fa837fa54" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" [[package]] name = "rustls-webpki" @@ -4017,11 +3888,22 @@ dependencies = [ "untrusted", ] +[[package]] +name = "rustls-webpki" +version = "0.102.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "092474d1a01ea8278f69e6a358998405fae5b8b963ddaeb2b0b04a128bf1dfb0" [[package]] name = "rusty-fork" @@ -4037,9 +3919,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "same-file" @@ -4052,9 +3934,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.2" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c453e59a955f81fb62ee5d596b450383d699f152d350e9d23a0db2adb78e4c0" +checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" dependencies = [ "cfg-if", "derive_more", @@ -4064,11 +3946,11 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.2" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18cf6c6447f813ef19eb450e985bcce6705f9ce7660db221b59093d15c79c4b7" +checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -4076,9 +3958,9 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96560eea317a9cc4e0bb1f6a2c93c09a19b8c4fc5cb3fcc0ec1c094cd783e2" +checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" dependencies = [ "sdd", ] @@ -4130,11 +4012,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -4143,9 +4025,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -4162,9 +4044,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] @@ -4180,29 +4062,29 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.199" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c9f6e76df036c77cd94996771fb40db98187f096dd0b9af39c6c6e452ba966a" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.199" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11bd257a6541e141e42ca6d24ae26f7714887b47e89aa739099104c7e4d3b7fc" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -4258,7 +4140,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -4283,7 +4165,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -4406,9 +4288,9 @@ dependencies = [ "flate2", "futures-util", "hex", - "indicatif 0.15.0", + "indicatif", "rand", - "reqwest 0.11.27", + "reqwest 0.12.4", "serde", "serde_json", "sp1-core", @@ -4550,7 +4432,7 @@ dependencies = [ "dirs 5.0.1", "futures", "hex", - "indicatif 0.17.8", + "indicatif", "itertools 0.12.1", "p3-baby-bear", "p3-bn254-fr", @@ -4558,7 +4440,7 @@ dependencies = [ "p3-commit", "p3-field", "rayon", - "reqwest 0.11.27", + "reqwest 0.12.4", "serde", "serde_json", "serial_test", @@ -4689,7 +4571,7 @@ dependencies = [ "log", "p3-field", "rand", - "reqwest 0.11.27", + "reqwest 0.12.4", "serde", "serde_json", "sp1-recursion-compiler", @@ -4711,6 +4593,7 @@ dependencies = [ "p3-field", "p3-fri", "p3-matrix", + "p3-maybe-rayon", "p3-merkle-tree", "p3-poseidon2", "p3-symmetric", @@ -4736,14 +4619,14 @@ dependencies = [ "dotenv", "futures", "hex", - "indicatif 0.17.8", + "indicatif", "log", "p3-commit", "p3-field", "p3-matrix", "prost", "prost-types", - "reqwest 0.11.27", + "reqwest 0.12.4", "reqwest-middleware", "serde", "serde_json", @@ -4832,7 +4715,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -4863,9 +4746,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.60" +version = "2.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +checksum = "c993ed8ccba56ae856363b1845da7266a7cb78e1d146c8a32d54b45a8b831fc9" dependencies = [ "proc-macro2", "quote", @@ -4874,14 +4757,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70aba06097b6eda3c15f6eebab8a6339e121475bcf08bbe6758807e716c372a1" +checksum = "5aa0cefd02f532035d83cfec82647c6eb53140b0485220760e669f4bad489e36" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -4934,15 +4817,6 @@ version = "0.12.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" -[[package]] -name = "task-local-extensions" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba323866e5d033818e3240feeb9f7db2c4296674e4d9e16b97b7bf8f490434e8" -dependencies = [ - "pin-utils", -] - [[package]] name = "tempfile" version = "3.10.1" @@ -4957,22 +4831,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.59" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" +checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.59" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" +checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -5088,7 +4962,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -5107,7 +4981,18 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls", + "rustls 0.21.12", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls 0.22.4", + "rustls-pki-types", "tokio", ] @@ -5125,23 +5010,22 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" [[package]] name = "toml_edit" @@ -5156,9 +5040,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.20.2" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap 2.2.6", "toml_datetime", @@ -5225,7 +5109,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -5289,7 +5173,7 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "twirp" version = "0.3.0" -source = "git+https://github.com/github/twirp-rs.git?rev=93d4e4b#93d4e4b4a48f9112c943d2925e8dbb1106bd6a18" +source = "git+https://github.com/github/twirp-rs.git?rev=c85f31f9c54957374e7dcb3534fc52cff0aa2dc5#c85f31f9c54957374e7dcb3534fc52cff0aa2dc5" dependencies = [ "async-trait", "axum", @@ -5299,7 +5183,7 @@ dependencies = [ "http-body-util", "hyper 1.3.1", "prost", - "reqwest 0.11.27", + "reqwest 0.12.4", "serde", "serde_json", "thiserror", @@ -5338,15 +5222,6 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.15" @@ -5387,7 +5262,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna", "percent-encoding", ] @@ -5483,7 +5358,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", "wasm-bindgen-shared", ] @@ -5517,7 +5392,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5568,10 +5443,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] -name = "widestring" -version = "1.1.0" +name = "webpki-roots" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" +checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" +dependencies = [ + "rustls-pki-types", +] [[package]] name = "winapi" @@ -5763,9 +5641,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14b9415ee827af173ebb3f15f9083df5a122eb93572ec28741fb153356ea2578" +checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" dependencies = [ "memchr", ] @@ -5812,28 +5690,28 @@ dependencies = [ [[package]] name = "yansi" -version = "0.5.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] @@ -5853,7 +5731,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.61", ] [[package]] diff --git a/book/SUMMARY.md b/book/SUMMARY.md index 269bae0da3..36a380f466 100644 --- a/book/SUMMARY.md +++ b/book/SUMMARY.md @@ -8,6 +8,8 @@ - [Quickstart](./getting-started/quickstart.md) +- [Project Template](./getting-started/project-template.md) + # Writing Programs - [Setup](./writing-programs/setup.md) @@ -28,4 +30,14 @@ - [Basics](./generating-proofs/basics.md) -- [Advanced](./generating-proofs/advanced.md) \ No newline at end of file +- [Advanced](./generating-proofs/advanced.md) + +# Verifying Proofs + +- [Solidity & EVM](./verifying-proofs/solidity-and-evm.md) + +# Developers + +- [Recommended Settings](./developers/recommended-settings.md) + +- [Building Groth16 Artifacts](./developers/building-groth16-artifacts.md) \ No newline at end of file diff --git a/book/developers/building-groth16-artifacts.md b/book/developers/building-groth16-artifacts.md new file mode 100644 index 0000000000..beeb20946e --- /dev/null +++ b/book/developers/building-groth16-artifacts.md @@ -0,0 +1,7 @@ +# Building Groth16 Artifacts + +To build the Groth16 artifacts from scratch, you can use the `Makefile` inside the `prover` directory. + +```shell,noplayground +RUST_LOG=info make groth16 +``` \ No newline at end of file diff --git a/book/developers/recommended-settings.md b/book/developers/recommended-settings.md new file mode 100644 index 0000000000..3bbc6c583b --- /dev/null +++ b/book/developers/recommended-settings.md @@ -0,0 +1,6 @@ +# Recommended Settings + +For developers contributing to the SP1 project, we recommend the following settings: + +- `FRI_QUERIES=1`: Makes the prover use less bits of security to generate proofs more quickly. +- `SP1_DEV=1`: This will rebuild the Groth16 artifacts everytime they are necessary. \ No newline at end of file diff --git a/book/generating-proofs/advanced.md b/book/generating-proofs/advanced.md index b8e5af3626..3b4caa25ee 100644 --- a/book/generating-proofs/advanced.md +++ b/book/generating-proofs/advanced.md @@ -61,6 +61,9 @@ SHARD_SIZE=4194304 RUST_LOG=info RUSTFLAGS='-C target-cpu=native' cargo run --re ## Memory Usage +To reduce memory usage, set the `SHARD_BATCH_SIZE` enviroment variable depending on how much RAM +your machine has. A higher number will use more memory, but will be faster. + ```rust,noplayground -SAVE_DISK_THRESHOLD=64 SHARD_SIZE=2097152 RUST_LOG=info RUSTFLAGS='-C target-cpu=native' cargo run --release +SHARD_BATCH_SIZE=1 SHARD_SIZE=2097152 RUST_LOG=info RUSTFLAGS='-C target-cpu=native' cargo run --release ``` diff --git a/book/generating-proofs/basics.md b/book/generating-proofs/basics.md index 876970fd00..3c24a2ee1c 100644 --- a/book/generating-proofs/basics.md +++ b/book/generating-proofs/basics.md @@ -17,18 +17,6 @@ To make this more concrete, let's walk through a simple example of generating a You can run the above script in the `script` directory with `RUST_LOG=info cargo run --release`. -## Generating a groth16 proof with onchain verification - -The proofs generated by SP1 are not verifiable onchain, as they are non-constant size and STARK verification on Ethereum is very expensive. To generate a proof that can be verified onchain, we use performant STARK recursion to combine SP1 shard proofs into a single STARK proof and then wrap this in a SNARK proof. Our `ProverClient` has a function for this called `prove_groth16`. Behind the scenes, this function will first generate a normal SP1 proof, then recursively combine all of them into a single proof using the STARK recursion protocol. Finally, the proof is wrapped in a SNARK proof using Groth16. - -### Run the script - -```rust,noplayground -{{#include ../../examples/fibonacci/script/bin/groth16.rs}} -``` - -You can run the above script with `RUST_LOG=info cargo run --bin groth16 --release` in `examples/fibonacci/script`. - ## Build Script If you want your program crate to be built automatically whenever you build/run your script crate, you can add a `build.rs` file inside of `script/` (at the same level as `Cargo.toml`): diff --git a/book/getting-started/install.md b/book/getting-started/install.md index 614c55c752..474ea8087e 100644 --- a/book/getting-started/install.md +++ b/book/getting-started/install.md @@ -3,7 +3,10 @@ SP1 currently runs on Linux and macOS. You can either use prebuilt binaries through sp1up or build the toolchain and CLI from source. -Make sure you have [Rust](https://www.rust-lang.org/tools/install) installed. +## Requirements + +- [Rust (Nightly)](https://www.rust-lang.org/tools/install) +- [Go 1.22](https://go.dev/doc/install) ## Option 1: Prebuilt Binaries (Recommended) diff --git a/book/getting-started/project-template.md b/book/getting-started/project-template.md new file mode 100644 index 0000000000..d9c04ed48d --- /dev/null +++ b/book/getting-started/project-template.md @@ -0,0 +1,3 @@ +# Project Template + +Another option for getting started with SP1 is to use the [SP1 Project Template](https://github.com/succinctlabs/sp1-project-template/tree/main). \ No newline at end of file diff --git a/book/verifying-proofs/solidity-and-evm.md b/book/verifying-proofs/solidity-and-evm.md new file mode 100644 index 0000000000..0d6375c591 --- /dev/null +++ b/book/verifying-proofs/solidity-and-evm.md @@ -0,0 +1,42 @@ +# Verifying Proofs: Solidity & EVM + +SP1 recently added support for verifying proofs for onchain usecases. To see an end-to-end example +of using SP1 for on-chain usecases, refer to the [SP1 Project Template](https://github.com/succinctlabs/sp1-project-template/tree/main). + +## Generating a Groth16 Proof + +By default, the proofs generated by SP1 are not verifiable onchain, as they are non-constant size and STARK verification on Ethereum is very expensive. To generate a proof that can be verified onchain, we use performant STARK recursion to combine SP1 shard proofs into a single STARK proof and then wrap that in a SNARK proof. Our `ProverClient` has a function for this called `prove_groth16`. Behind the scenes, this function will first generate a normal SP1 proof, then recursively combine all of them into a single proof using the STARK recursion protocol. Finally, the proof is wrapped in a SNARK proof using Groth16. + +**Due to the fact that Groth16 proofs require a trusted setup, the Groth16 prover is only guaranteed to work on official releases of SP1 (i.e., `v.1.0.0-testnet`).** + + +### Example + +```rust,noplayground +{{#include ../../examples/fibonacci/script/bin/groth16.rs}} +``` + +You can run the above script with `RUST_LOG=info cargo run --bin groth16 --release` in `examples/fibonacci/script`. + +## Exporting the Verifier Contract + +To export the verifier contract, you can use the export function in the `sp1_sdk` crate. + +### Example + +```rust,noplayground +//! Builds the proving artifacts and exports the solidity verifier. +//! +//! You can run this script using the following command: +//! ```shell +//! RUST_LOG=info cargo run --package fibonacci-script --bin artifacts --release +//! ``` + +use std::path::PathBuf; + +fn main() { + let contracts_src_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("../contracts/src"); + sp1_sdk::artifacts::export_solidity_groth16_verifier(contracts_src_dir) + .expect("failed to export verifier"); +} +``` \ No newline at end of file diff --git a/book/writing-programs/inputs-and-outputs.md b/book/writing-programs/inputs-and-outputs.md index d6fb234b74..4615ea64fd 100644 --- a/book/writing-programs/inputs-and-outputs.md +++ b/book/writing-programs/inputs-and-outputs.md @@ -10,7 +10,7 @@ In this section, we cover how you pass inputs and outputs to the zkVM and create ## Reading Data -For most use cases, use the `sp1_zkvm::io::read::` method: +Data that is read is not public to the verifier by default. Use the `sp1_zkvm::io::read::` method: ```rust,noplayground let a = sp1_zkvm::io::read::(); @@ -24,21 +24,21 @@ Note that `T` must implement the `serde::Serialize` and `serde::Deserialize` tra let my_vec = sp1_zkvm::io::read_vec(); ``` -## Writing Data +## Commiting Data -For most usecases, use the `sp1_zkvm::io::write::` method: +Committing to data makes the data public to the verifier. Use the `sp1_zkvm::io::commit::` method: ```rust,noplayground -sp1_zkvm::io::write::(&a); -sp1_zkvm::io::write::(&b); -sp1_zkvm::io::write::(&c); +sp1_zkvm::io::commit::(&a); +sp1_zkvm::io::commit::(&b); +sp1_zkvm::io::commit::(&c); ``` Note that `T` must implement the `Serialize` and `Deserialize` trait. If you want to write bytes directly, you can also use `sp1_zkvm::io::write_slice` method: ```rust,noplayground let mut my_slice = [0_u8; 32]; -sp1_zkvm::io::write_slice(&my_slice); +sp1_zkvm::io::commit_slice(&my_slice); ``` ## Creating Serializable Types diff --git a/cli/Cargo.toml b/cli/Cargo.toml index e81d33b28f..9d70f760d4 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -13,19 +13,19 @@ vergen = { version = "8", default-features = false, features = [ ] } [dependencies] -anyhow = { version = "1.0.79", features = ["backtrace"] } +anyhow = { version = "1.0.83", features = ["backtrace"] } cargo_metadata = "0.18.1" -clap = { version = "4.4.15", features = ["derive", "env"] } +clap = { version = "4.5.4", features = ["derive", "env"] } sp1-prover = { path = "../prover" } sp1-sdk = { path = "../sdk" } sp1-core = { path = "../core" } -reqwest = { version = "0.11.3", features = [ +reqwest = { version = "0.12.4", features = [ "stream", "json", "rustls-tls", ], default-features = false } -futures-util = "0.3.14" -indicatif = "0.15.0" +futures-util = "0.3.30" +indicatif = "0.17.8" tokio = { version = "1", features = ["full"] } tar = "0.4" flate2 = "1.0" @@ -35,10 +35,10 @@ rand = "0.8" downloader = { version = "0.2", default-features = false, features = [ "rustls-tls", ] } -serde_json = "1.0.113" -yansi = "0.5.1" +serde_json = "1.0.117" +yansi = "1.0.1" hex = "0.4.3" -anstyle = "1.0.6" -target-lexicon = "0.12.13" +anstyle = "1.0.7" +target-lexicon = "0.12.14" dialoguer = "0.11.0" tempfile = "3.10.1" diff --git a/cli/docker/Dockerfile b/cli/docker/Dockerfile index c07493c83f..1f0258599f 100644 --- a/cli/docker/Dockerfile +++ b/cli/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:22.04@sha256:bcc511d82482900604524a8e8d64bf4c53b2461868dac55f4d04d660e61983cb +FROM ubuntu:24.04@sha256:3f85b7caad41a95462cf5b787d8a04604c8262cdcdf9a472b8c52ef83375fe15 RUN apt-get update RUN apt-get install -y --no-install-recommends ca-certificates clang curl libssl-dev pkg-config git dialog diff --git a/cli/src/assets/program/Cargo.toml b/cli/src/assets/program/Cargo.toml index 21dc35d49a..d2397eb0f4 100644 --- a/cli/src/assets/program/Cargo.toml +++ b/cli/src/assets/program/Cargo.toml @@ -5,4 +5,4 @@ name = "unnamed-program" edition = "2021" [dependencies] -sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git", rev = "v1.0.0-testnet" } \ No newline at end of file +sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git", rev = "v1.0.0-testnet" } \ No newline at end of file diff --git a/cli/src/assets/script/build.rs b/cli/src/assets/script/build.rs index 32b99273cd..03388acab7 100644 --- a/cli/src/assets/script/build.rs +++ b/cli/src/assets/script/build.rs @@ -1,5 +1,3 @@ -use sp1_helper::build_program; - fn main() { - build_program("../program") + sp1_helper::build_program(&format!("{}/../program", env!("CARGO_MANIFEST_DIR"))); } diff --git a/core/Cargo.toml b/core/Cargo.toml index 371209a1b5..e477ec2639 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -7,10 +7,10 @@ version = "0.1.0" bincode = "1.3.3" serde = { version = "1.0", features = ["derive", "rc"] } elf = "0.7.4" -itertools = "0.12.0" -log = "0.4.20" +itertools = "0.12.1" +log = "0.4.21" nohash-hasher = "0.2.0" -num = { version = "0.4.1" } +num = { version = "0.4.3" } p3-air = { workspace = true } p3-baby-bear = { workspace = true } p3-blake3 = { workspace = true, features = ["parallel"] } @@ -32,11 +32,11 @@ rrs-lib = { git = "https://github.com/GregAC/rrs.git" } sp1-derive = { path = "../derive" } sp1-primitives = { path = "../primitives" } -anyhow = "1.0.79" +anyhow = "1.0.83" amcl = { package = "snowbridge-amcl", version = "1.0.2", default-features = false, features = [ "bls381", ] } -arrayref = "0.3.6" +arrayref = "0.3.7" blake3 = "1.5" blake3-zkvm = { git = "https://github.com/sp1-patches/BLAKE3.git", branch = "patch-blake3_zkvm/v.1.0.0" } cfg-if = "1.0.0" @@ -47,12 +47,12 @@ elliptic-curve = "0.13.8" hex = "0.4.3" k256 = { version = "0.13.3", features = ["expose-field"] } num_cpus = "1.16.0" -serde_with = "3.6.1" +serde_with = "3.8.1" size = "0.4.1" -tempfile = "3.9.0" +tempfile = "3.10.1" tracing = "0.1.40" tracing-forest = { version = "0.1.6", features = ["ansi", "smallvec"] } -tracing-subscriber = { version = "0.3.17", features = ["std", "env-filter"] } +tracing-subscriber = { version = "0.3.18", features = ["std", "env-filter"] } strum_macros = "0.26" strum = "0.26" web-time = "1.1.0" @@ -62,7 +62,7 @@ serial_test = "3.1.1" [dev-dependencies] tiny-keccak = { version = "2.0.2", features = ["keccak"] } criterion = "0.5.1" -num = { version = "0.4.1", features = ["rand"] } +num = { version = "0.4.3", features = ["rand"] } rand = "0.8.5" sp1-zkvm = { path = "../zkvm/entrypoint" } diff --git a/core/src/cpu/trace.rs b/core/src/cpu/trace.rs index beb2e3acd1..e5d5b8320d 100644 --- a/core/src/cpu/trace.rs +++ b/core/src/cpu/trace.rs @@ -595,8 +595,12 @@ impl CpuChip { fn pad_to_power_of_two(values: &mut Vec) { let n_real_rows = values.len() / NUM_CPU_COLS; - - values.resize(n_real_rows.next_power_of_two() * NUM_CPU_COLS, F::zero()); + let padded_nb_rows = if n_real_rows < 16 { + 16 + } else { + n_real_rows.next_power_of_two() + }; + values.resize(padded_nb_rows * NUM_CPU_COLS, F::zero()); // Interpret values as a slice of arrays of length `NUM_CPU_COLS` let rows = unsafe { diff --git a/core/src/runtime/state.rs b/core/src/runtime/state.rs index d80ddd0b6f..09f6236cc4 100644 --- a/core/src/runtime/state.rs +++ b/core/src/runtime/state.rs @@ -43,7 +43,6 @@ pub struct ExecutionState { pub input_stream_ptr: usize, /// A stream of proofs inputted to the program. - #[serde(skip)] // TODO: fix serialization for VerifyingKey pub proof_stream: Vec<( ShardProof, StarkVerifyingKey, diff --git a/core/src/stark/machine.rs b/core/src/stark/machine.rs index 7646ae5641..89638765f3 100644 --- a/core/src/stark/machine.rs +++ b/core/src/stark/machine.rs @@ -511,8 +511,6 @@ impl std::error::Error for MachineVerificationError #[allow(non_snake_case)] pub mod tests { - use serial_test::serial; - use crate::io::SP1Stdin; use crate::runtime::tests::fibonacci_program; use crate::runtime::tests::simple_memory_program; @@ -662,7 +660,6 @@ pub mod tests { } #[test] - #[serial] fn test_fibonacci_prove() { setup_logger(); let program = fibonacci_program(); @@ -670,18 +667,11 @@ pub mod tests { } #[test] - #[serial] fn test_fibonacci_prove_batch() { - std::env::set_var("SHARD_BATCH_SIZE", "1"); - std::env::set_var("SHARD_SIZE", "16384"); - setup_logger(); let program = fibonacci_program(); let stdin = SP1Stdin::new(); run_and_prove(program, &stdin, BabyBearPoseidon2::new()); - - std::env::remove_var("SHARD_BATCH_SIZE"); - std::env::remove_var("SHARD_SIZE"); } #[test] diff --git a/core/src/stark/prover.rs b/core/src/stark/prover.rs index 2f4c244c0d..2ca5237e09 100644 --- a/core/src/stark/prover.rs +++ b/core/src/stark/prover.rs @@ -9,9 +9,9 @@ use p3_air::Air; use p3_challenger::{CanObserve, FieldChallenger}; use p3_commit::Pcs; use p3_commit::PolynomialSpace; -use p3_field::AbstractField; use p3_field::ExtensionField; use p3_field::PrimeField32; +use p3_field::{AbstractExtensionField, AbstractField}; use p3_matrix::dense::RowMajorMatrix; use p3_matrix::Matrix; use p3_maybe_rayon::prelude::*; @@ -302,12 +302,13 @@ where for i in 0..chips.len() { let trace_width = traces[i].width(); let permutation_width = permutation_traces[i].width(); - let total_width = trace_width + permutation_width; + let total_width = trace_width + + permutation_width * >::D; tracing::debug!( "{:<15} | Main Cols = {:<5} | Perm Cols = {:<5} | Rows = {:<5} | Cells = {:<10}", chips[i].name(), trace_width, - permutation_width, + permutation_width * >::D, traces[i].height(), total_width * traces[i].height(), ); diff --git a/core/src/stark/quotient.rs b/core/src/stark/quotient.rs index 4934df0b66..b42d386994 100644 --- a/core/src/stark/quotient.rs +++ b/core/src/stark/quotient.rs @@ -9,6 +9,8 @@ use p3_matrix::Matrix; use p3_maybe_rayon::prelude::*; use p3_util::log2_strict_usize; +use crate::air::MachineAir; + use super::folder::ProverConstraintFolder; use super::Chip; use super::Domain; @@ -31,7 +33,7 @@ pub fn quotient_values( public_values: &[Val], ) -> Vec where - A: for<'a> Air>, + A: for<'a> Air> + MachineAir>, SC: StarkGenericConfig, Mat: Matrix> + Sync, { @@ -46,7 +48,13 @@ where let ext_degree = SC::Challenge::D; - assert!(quotient_size >= PackedVal::::WIDTH); + assert!( + quotient_size >= PackedVal::::WIDTH, + "quotient size is too small: got {}, expected at least {} for chip {}", + quotient_size, + PackedVal::::WIDTH, + chip.name() + ); (0..quotient_size) .into_par_iter() diff --git a/core/src/stark/verifier.rs b/core/src/stark/verifier.rs index fbde0f4267..6f5bad846d 100644 --- a/core/src/stark/verifier.rs +++ b/core/src/stark/verifier.rs @@ -51,6 +51,8 @@ impl>> Verifier { let pcs = config.pcs(); + assert_eq!(chips.len(), opened_values.chips.len()); + let log_degrees = opened_values .chips .iter() diff --git a/core/src/utils/env.rs b/core/src/utils/env.rs index f88d5bf427..371bdc561b 100644 --- a/core/src/utils/env.rs +++ b/core/src/utils/env.rs @@ -42,6 +42,6 @@ pub fn reconstruct_commitments() -> bool { pub fn shard_batch_size() -> u32 { match std::env::var("SHARD_BATCH_SIZE") { Ok(val) => val.parse().unwrap(), - Err(_) => 0, + Err(_) => 128, } } diff --git a/core/src/utils/mod.rs b/core/src/utils/mod.rs index c47003d79c..0ab8a5ceea 100644 --- a/core/src/utils/mod.rs +++ b/core/src/utils/mod.rs @@ -32,8 +32,8 @@ pub const fn indices_arr() -> [usize; N] { pub fn pad_to_power_of_two(values: &mut Vec) { debug_assert!(values.len() % N == 0); let mut n_real_rows = values.len() / N; - if n_real_rows < 8 { - n_real_rows = 8; + if n_real_rows < 16 { + n_real_rows = 16; } values.resize(n_real_rows.next_power_of_two() * N, T::default()); } @@ -67,8 +67,8 @@ pub fn limbs_from_access>(cols: &[M]) pub fn pad_rows(rows: &mut Vec<[T; N]>, row_fn: impl Fn() -> [T; N]) { let nb_rows = rows.len(); let mut padded_nb_rows = nb_rows.next_power_of_two(); - if padded_nb_rows == 2 || padded_nb_rows == 1 { - padded_nb_rows = 4; + if padded_nb_rows < 16 { + padded_nb_rows = 16; } if padded_nb_rows == nb_rows { return; @@ -104,8 +104,8 @@ pub fn pad_rows_fixed( } None => { let mut padded_nb_rows = nb_rows.next_power_of_two(); - if padded_nb_rows < 8 { - padded_nb_rows = 8; + if padded_nb_rows < 16 { + padded_nb_rows = 16; } rows.resize(padded_nb_rows, dummy_row); } diff --git a/eval/Cargo.toml b/eval/Cargo.toml index ad4ee7f480..b7f7cb19f3 100644 --- a/eval/Cargo.toml +++ b/eval/Cargo.toml @@ -7,6 +7,6 @@ edition = "2021" sp1-core = { path = "../core" } sp1-prover = { path = "../prover" } -clap = { version = "4.4.0", features = ["derive"] } +clap = { version = "4.5.4", features = ["derive"] } csv = "1.3.0" -serde = "1.0.196" +serde = "1.0.201" diff --git a/examples/Cargo.lock b/examples/Cargo.lock new file mode 100644 index 0000000000..09818bd07c --- /dev/null +++ b/examples/Cargo.lock @@ -0,0 +1,5701 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addchain" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2e69442aa5628ea6951fa33e24efe8313f4321a91bd729fc2f75bdfc858570" +dependencies = [ + "num-bigint 0.3.3", + "num-integer", + "num-traits", +] + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "alloy" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-contract", + "alloy-core", + "alloy-eips", + "alloy-genesis", + "alloy-provider", + "alloy-rpc-client", + "alloy-serde", + "alloy-signer", + "alloy-signer-wallet", + "alloy-transport-http", + "reqwest 0.12.4", +] + +[[package]] +name = "alloy-consensus" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "serde", + "sha2 0.10.8", +] + +[[package]] +name = "alloy-contract" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-network", + "alloy-primitives", + "alloy-provider", + "alloy-rpc-types", + "alloy-sol-types", + "alloy-transport", + "futures", + "futures-util", + "thiserror", +] + +[[package]] +name = "alloy-core" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e30b83573b348305b9629a094b5331093a030514cd5713433799495cb283fea1" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-types", +] + +[[package]] +name = "alloy-dyn-abi" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "545885d9b0b2c30fd344ae291439b4bfe59e48dd62fbc862f8503d98088967dc" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-type-parser", + "alloy-sol-types", + "const-hex", + "itoa", + "serde", + "serde_json", + "winnow 0.6.8", +] + +[[package]] +name = "alloy-eips" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "c-kzg", + "once_cell", + "serde", +] + +[[package]] +name = "alloy-genesis" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-json-abi" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786689872ec4e7d354810ab0dffd48bb40b838c047522eb031cbd47d15634849" +dependencies = [ + "alloy-primitives", + "alloy-sol-type-parser", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-network" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-primitives", + "alloy-rpc-types", + "alloy-signer", + "async-trait", + "futures-utils-wasm", + "serde", + "thiserror", +] + +[[package]] +name = "alloy-primitives" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525448f6afc1b70dd0f9d0a8145631bf2f5e434678ab23ab18409ca264cae6b3" +dependencies = [ + "alloy-rlp", + "bytes", + "cfg-if", + "const-hex", + "derive_more", + "hex-literal", + "itoa", + "k256", + "keccak-asm", + "proptest", + "rand", + "ruint", + "serde", + "tiny-keccak", +] + +[[package]] +name = "alloy-provider" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "alloy-network", + "alloy-primitives", + "alloy-rpc-client", + "alloy-rpc-types", + "alloy-rpc-types-trace", + "alloy-transport", + "alloy-transport-http", + "async-stream", + "async-trait", + "auto_impl", + "dashmap", + "futures", + "lru", + "reqwest 0.12.4", + "serde_json", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "alloy-rlp" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d58d9f5da7b40e9bfff0b7e7816700be4019db97d4b6359fe7f94a9e22e42ac" +dependencies = [ + "alloy-rlp-derive", + "arrayvec", + "bytes", +] + +[[package]] +name = "alloy-rlp-derive" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a047897373be4bbb0224c1afdabca92648dc57a9c9ef6e7b0be3aff7a859c83" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "alloy-rpc-client" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "alloy-transport-http", + "futures", + "pin-project", + "reqwest 0.12.4", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower", + "tracing", + "url", +] + +[[package]] +name = "alloy-rpc-types" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types", + "itertools 0.12.1", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-rpc-types-trace" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types", + "alloy-serde", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-serde" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "elliptic-curve", + "k256", + "thiserror", +] + +[[package]] +name = "alloy-signer-wallet" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-consensus", + "alloy-network", + "alloy-primitives", + "alloy-signer", + "async-trait", + "k256", + "rand", + "thiserror", +] + +[[package]] +name = "alloy-sol-macro" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89c80a2cb97e7aa48611cbb63950336f9824a174cdf670527cc6465078a26ea1" +dependencies = [ + "alloy-json-abi", + "alloy-sol-macro-input", + "const-hex", + "heck 0.4.1", + "indexmap 2.2.6", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.61", + "syn-solidity", + "tiny-keccak", +] + +[[package]] +name = "alloy-sol-macro-input" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c58894b58ac50979eeac6249661991ac40b9d541830d9a725f7714cc9ef08c23" +dependencies = [ + "alloy-json-abi", + "const-hex", + "dunce", + "heck 0.5.0", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.61", + "syn-solidity", +] + +[[package]] +name = "alloy-sol-type-parser" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8e71ea68e780cc203919e03f69f59e7afe92d2696fb1dcb6662f61e4031b6" +dependencies = [ + "winnow 0.6.8", +] + +[[package]] +name = "alloy-sol-types" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "399287f68d1081ed8b1f4903c49687658b95b142207d7cb4ae2f4813915343ef" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-macro", + "const-hex", + "serde", +] + +[[package]] +name = "alloy-transport" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "base64 0.22.1", + "futures-util", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower", + "url", + "wasm-bindgen-futures", +] + +[[package]] +name = "alloy-transport-http" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "reqwest 0.12.4", + "serde_json", + "tower", + "url", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] + +[[package]] +name = "anstream" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "anstyle-parse" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint 0.4.5", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint 0.4.5", + "num-traits", + "paste", + "rustc_version 0.4.0", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint 0.4.5", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint 0.4.5", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std 0.3.0", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint 0.4.5", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "array-macro" +version = "2.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "220a2c618ab466efe41d0eace94dfeff1c35e3aa47891bdb95e1c0fefffd3c99" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "async-trait" +version = "0.1.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "auto_impl" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "axum" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1236b4b292f6c4d6dc34604bb5120d85c3fe1d1aa596bd5cc52ca054d13e7b9e" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "backtrace" +version = "0.3.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "serde", +] + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "blake2b_simd" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" +dependencies = [ + "arrayref", + "arrayvec", + "constant_time_eq", +] + +[[package]] +name = "blake3" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "rayon", +] + +[[package]] +name = "blake3-zkvm" +version = "0.1.0" +source = "git+https://github.com/sp1-patches/BLAKE3.git?branch=patch-blake3_zkvm/v.1.0.0#bac2d59f9122b07a4d91475560b4c3214ae62444" + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "bls12_381" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3c196a77437e7cc2fb515ce413a6401291578b5afc8ecb29a3c7ab957f05941" +dependencies = [ + "ff 0.12.1", + "group 0.12.1", + "pairing", + "rand_core", + "subtle", +] + +[[package]] +name = "blst" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c94087b935a822949d3291a9989ad2b2051ea141eda0fd4e478a75f6aa3e604b" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +dependencies = [ + "serde", +] + +[[package]] +name = "c-kzg" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdf100c4cea8f207e883ff91ca886d621d8a166cb04971dfaa9bb8fd99ed95df" +dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "serde", +] + +[[package]] +name = "camino" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.23", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "cc" +version = "1.0.97" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" +dependencies = [ + "jobserver", + "libc", + "once_cell", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chess-script" +version = "0.1.0" +dependencies = [ + "sp1-helper", + "sp1-sdk", +] + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "serde", + "windows-targets 0.52.5", +] + +[[package]] +name = "clap" +version = "4.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim 0.11.1", +] + +[[package]] +name = "clap_derive" +version = "4.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "clap_lex" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" + +[[package]] +name = "colorchoice" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + +[[package]] +name = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.52.0", +] + +[[package]] +name = "const-hex" +version = "1.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ba00838774b4ab0233e355d26710fbfc8327a05c017f6dc4873f876d1f79f78" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", +] + +[[package]] +name = "const-oid" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "constant_time_eq" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crossbeam" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-bigint" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +dependencies = [ + "generic-array 0.14.7", + "subtle", +] + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array 0.14.7", + "rand_core", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array 0.14.7", + "typenum", +] + +[[package]] +name = "curve25519-dalek" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "fiat-crypto", + "platforms", + "rustc_version 0.4.0", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "curve25519-dalek-ng" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core", + "subtle-ng", + "zeroize", +] + +[[package]] +name = "cycle-tracking-script" +version = "0.1.0" +dependencies = [ + "sp1-helper", + "sp1-sdk", +] + +[[package]] +name = "darling" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 2.0.61", +] + +[[package]] +name = "darling_macro" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "der" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +dependencies = [ + "const-oid 0.7.1", + "crypto-bigint 0.3.2", + "pem-rfc7468", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid 0.9.6", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version 0.4.0", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "const-oid 0.9.6", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "dotenv" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "dunce" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der 0.7.9", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki 0.7.3", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8 0.10.2", + "signature", +] + +[[package]] +name = "ed25519-consensus" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" +dependencies = [ + "curve25519-dalek-ng", + "hex", + "rand_core", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "either" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" + +[[package]] +name = "elf" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4445909572dbd556c457c849c4ca58623d84b27c8fff1e74b0b4227d8b90d17b" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint 0.5.5", + "digest 0.10.7", + "ff 0.13.0", + "generic-array 0.14.7", + "group 0.13.0", + "pkcs8 0.10.2", + "rand_core", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + +[[package]] +name = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "ff" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" +dependencies = [ + "bitvec", + "rand_core", + "subtle", +] + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "bitvec", + "byteorder", + "ff_derive", + "rand_core", + "subtle", +] + +[[package]] +name = "ff_derive" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9f54704be45ed286151c5e11531316eaef5b8f5af7d597b806fdb8af108d84a" +dependencies = [ + "addchain", + "cfg-if", + "num-bigint 0.3.3", + "num-integer", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38793c55593b33412e3ae40c2c9781ffaa6f438f6f8c10f24e71846fbd7ae01e" + +[[package]] +name = "fibonacci-script" +version = "0.1.0" +dependencies = [ + "itertools 0.12.1", + "sha2 0.10.8", + "sp1-helper", + "sp1-sdk", +] + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "flex-error" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b" +dependencies = [ + "paste", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "futures-utils-wasm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" + +[[package]] +name = "gcd" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "generic-array" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe739944a5406424e080edccb6add95685130b9f160d5407c639c7df0c5836b0" +dependencies = [ + "serde", + "typenum", +] + +[[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 = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "git2" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" +dependencies = [ + "bitflags 2.5.0", + "libc", + "libgit2-sys", + "log", + "url", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "group" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" +dependencies = [ + "ff 0.12.1", + "memuse", + "rand_core", + "subtle", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff 0.13.0", + "rand_core", + "subtle", +] + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 1.1.0", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" + +[[package]] +name = "halo2" +version = "0.1.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a23c779b38253fe1538102da44ad5bd5378495a61d2c4ee18d64eaa61ae5995" +dependencies = [ + "halo2_proofs", +] + +[[package]] +name = "halo2_proofs" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e925780549adee8364c7f2b685c753f6f3df23bde520c67416e93bf615933760" +dependencies = [ + "blake2b_simd", + "ff 0.12.1", + "group 0.12.1", + "pasta_curves 0.4.1", + "rand_core", + "rayon", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[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.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +dependencies = [ + "bytes", + "futures-core", + "http 1.1.0", + "http-body 1.0.0", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.4", + "http 1.1.0", + "http-body 1.0.0", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.3.1", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper 0.14.28", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.3.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.3.1", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "indicatif" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +dependencies = [ + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "io-script" +version = "0.1.0" +dependencies = [ + "serde", + "sp1-helper", + "sp1-sdk", +] + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "is-prime-script" +version = "0.1.0" +dependencies = [ + "sp1-sdk", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "jobserver" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "json-script" +version = "0.1.0" +dependencies = [ + "lib", + "serde", + "serde_json", + "sp1-helper", + "sp1-sdk", +] + +[[package]] +name = "jubjub" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a575df5f985fe1cd5b2b05664ff6accfc46559032b954529fd225a2168d27b0f" +dependencies = [ + "bitvec", + "bls12_381", + "ff 0.12.1", + "group 0.12.1", + "rand_core", + "subtle", +] + +[[package]] +name = "k256" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2 0.10.8", + "signature", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "keccak-asm" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47a3633291834c4fbebf8673acbc1b04ec9d151418ff9b8e26dcd79129928758" +dependencies = [ + "digest 0.10.7", + "sha3-asm", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin 0.5.2", +] + +[[package]] +name = "lib" +version = "0.1.0" +dependencies = [ + "serde", +] + +[[package]] +name = "libc" +version = "0.2.154" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" + +[[package]] +name = "libgit2-sys" +version = "0.16.2+1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" +dependencies = [ + "cc", + "libc", + "libz-sys", + "pkg-config", +] + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.5.0", + "libc", +] + +[[package]] +name = "libz-sys" +version = "1.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "lru" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "memchr" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" + +[[package]] +name = "memuse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint 0.4.5", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint 0.4.5", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.5.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "p3-air" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-field", + "p3-matrix", +] + +[[package]] +name = "p3-baby-bear" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "num-bigint 0.4.5", + "p3-field", + "p3-mds", + "p3-poseidon2", + "p3-symmetric", + "rand", + "serde", +] + +[[package]] +name = "p3-blake3" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "blake3", + "p3-symmetric", +] + +[[package]] +name = "p3-bn254-fr" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "ff 0.13.0", + "num-bigint 0.4.5", + "p3-field", + "p3-poseidon2", + "p3-symmetric", + "rand", + "serde", +] + +[[package]] +name = "p3-challenger" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-field", + "p3-maybe-rayon", + "p3-symmetric", + "p3-util", + "tracing", +] + +[[package]] +name = "p3-commit" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-challenger", + "p3-field", + "p3-matrix", + "p3-util", + "serde", +] + +[[package]] +name = "p3-dft" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "tracing", +] + +[[package]] +name = "p3-field" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "num-bigint 0.4.5", + "num-traits", + "p3-util", + "rand", + "serde", +] + +[[package]] +name = "p3-fri" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-interpolation", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "serde", + "tracing", +] + +[[package]] +name = "p3-interpolation" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-field", + "p3-matrix", + "p3-util", +] + +[[package]] +name = "p3-keccak" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-symmetric", + "tiny-keccak", +] + +[[package]] +name = "p3-keccak-air" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-air", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "tracing", +] + +[[package]] +name = "p3-matrix" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-field", + "p3-maybe-rayon", + "p3-util", + "rand", + "serde", + "tracing", +] + +[[package]] +name = "p3-maybe-rayon" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "rayon", +] + +[[package]] +name = "p3-mds" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-dft", + "p3-field", + "p3-matrix", + "p3-symmetric", + "p3-util", + "rand", +] + +[[package]] +name = "p3-merkle-tree" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-commit", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-symmetric", + "p3-util", + "serde", + "tracing", +] + +[[package]] +name = "p3-poseidon2" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "gcd", + "p3-field", + "p3-mds", + "p3-symmetric", + "rand", +] + +[[package]] +name = "p3-symmetric" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-field", + "serde", +] + +[[package]] +name = "p3-uni-stark" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-air", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "serde", + "tracing", +] + +[[package]] +name = "p3-util" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "serde", +] + +[[package]] +name = "pairing" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135590d8bdba2b31346f9cd1fb2a912329f5135e832a4f422942eb6ead8b6b3b" +dependencies = [ + "group 0.12.1", +] + +[[package]] +name = "parity-scale-codec" +version = "3.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parking_lot" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.5", +] + +[[package]] +name = "pasta_curves" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc65faf8e7313b4b1fbaa9f7ca917a0eed499a9663be71477f87993604341d8" +dependencies = [ + "blake2b_simd", + "ff 0.12.1", + "group 0.12.1", + "lazy_static", + "rand", + "static_assertions", + "subtle", +] + +[[package]] +name = "pasta_curves" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" +dependencies = [ + "blake2b_simd", + "ff 0.13.0", + "group 0.13.0", + "lazy_static", + "rand", + "static_assertions", + "subtle", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pem-rfc7468" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01de5d978f34aa4b2296576379fcc416034702fd94117c56ffd8a1a767cefb30" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pest" +version = "2.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a78f66c04ccc83dd4486fd46c33896f4e17b24a7a3a6400dedc48ed0ddd72320" +dependencies = [ + "der 0.5.1", + "pkcs8 0.8.0", + "zeroize", +] + +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der 0.5.1", + "spki 0.5.4", + "zeroize", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der 0.7.9", + "spki 0.7.3", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "platforms" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" + +[[package]] +name = "portable-atomic" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proptest" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags 2.5.0", + "lazy_static", + "num-traits", + "rand", + "rand_chacha", + "rand_xorshift", + "regex-syntax 0.8.3", + "rusty-fork", + "tempfile", + "unarray", +] + +[[package]] +name = "prost" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-derive" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9554e3ab233f0a932403704f1a1d08c30d5ccd931adfdfa1e8b5a19b52c1d55a" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "prost-types" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" +dependencies = [ + "prost", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "rayon-scan" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f87cc11a0140b4b0da0ffc889885760c61b13672d80a908920b2c0df078fa14" +dependencies = [ + "rayon", +] + +[[package]] +name = "redox_syscall" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +dependencies = [ + "bitflags 2.5.0", +] + +[[package]] +name = "redox_users" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-script" +version = "0.1.0" +dependencies = [ + "sp1-helper", + "sp1-sdk", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.28", + "hyper-tls 0.5.0", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg 0.50.0", +] + +[[package]] +name = "reqwest" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +dependencies = [ + "base64 0.22.1", + "bytes", + "encoding_rs", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.4.4", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-rustls", + "hyper-tls 0.6.0", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile 2.1.2", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-native-tls", + "tokio-rustls", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots", + "winreg 0.52.0", +] + +[[package]] +name = "reqwest-middleware" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a45d100244a467870f6cb763c4484d010a6bed6bd610b3676e3825d93fb4cfbd" +dependencies = [ + "anyhow", + "async-trait", + "http 1.1.0", + "reqwest 0.12.4", + "serde", + "thiserror", + "tower-service", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin 0.9.8", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rustc-hex", +] + +[[package]] +name = "rrs-lib" +version = "0.1.0" +source = "git+https://github.com/GregAC/rrs.git#b23afc16b4e6a1fb5c4a73eb1e337e9400816507" +dependencies = [ + "downcast-rs", + "num_enum", + "paste", +] + +[[package]] +name = "rsa" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b" +dependencies = [ + "byteorder", + "digest 0.10.7", + "num-bigint-dig", + "num-integer", + "num-iter", + "num-traits", + "pkcs1", + "pkcs8 0.8.0", + "rand_core", + "smallvec", + "subtle", + "zeroize", +] + +[[package]] +name = "rsa-script" +version = "0.1.0" +dependencies = [ + "rsa", + "sp1-helper", + "sp1-sdk", +] + +[[package]] +name = "ruint" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f308135fef9fc398342da5472ce7c484529df23743fb7c734e0f3d472971e62" +dependencies = [ + "alloy-rlp", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "bytes", + "fastrlp", + "num-bigint 0.4.5", + "num-traits", + "parity-scale-codec", + "primitive-types", + "proptest", + "rand", + "rlp", + "ruint-macro", + "serde", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f86854cf50259291520509879a5c294c3c9a4c334e9ff65071c51e42ef1e2343" + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver 1.0.23", +] + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.5.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" + +[[package]] +name = "rustls-webpki" +version = "0.102.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "092474d1a01ea8278f69e6a358998405fae5b8b963ddaeb2b0b04a128bf1dfb0" + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "scale-info" +version = "2.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" +dependencies = [ + "cfg-if", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "2.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scc" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" +dependencies = [ + "sdd", +] + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sdd" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der 0.7.9", + "generic-array 0.14.7", + "pkcs8 0.10.2", + "subtle", + "zeroize", +] + +[[package]] +name = "security-framework" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +dependencies = [ + "bitflags 2.5.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[package]] +name = "serde" +version = "1.0.201" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_bytes" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_cbor" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" +dependencies = [ + "half", + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.201" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "serde_json" +version = "1.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +dependencies = [ + "itoa", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.2.6", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "serial_test" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" +dependencies = [ + "futures", + "log", + "once_cell", + "parking_lot", + "scc", + "serial_test_derive", +] + +[[package]] +name = "serial_test_derive" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "sha3-asm" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9b57fd861253bff08bb1919e995f90ba8f4889de2726091c8876f3a4e823b40" +dependencies = [ + "cc", + "cfg-if", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core", +] + +[[package]] +name = "size" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fed904c7fb2856d868b92464fc8fa597fce366edea1a9cbfaa8cb5fe080bd6d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "snowbridge-amcl" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460a9ed63cdf03c1b9847e8a12a5f5ba19c4efd5869e4a737e05be25d7c427e5" +dependencies = [ + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "sp1-aggregation-example-script" +version = "0.1.0" +dependencies = [ + "hex", + "sp1-helper", + "sp1-sdk", + "tracing", +] + +[[package]] +name = "sp1-core" +version = "0.1.0" +dependencies = [ + "anyhow", + "arrayref", + "bincode", + "blake3", + "blake3-zkvm", + "cfg-if", + "curve25519-dalek", + "elf", + "elliptic-curve", + "generic-array 1.0.0", + "hex", + "itertools 0.12.1", + "k256", + "log", + "nohash-hasher", + "num", + "num_cpus", + "p3-air", + "p3-baby-bear", + "p3-blake3", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-fri", + "p3-keccak", + "p3-keccak-air", + "p3-matrix", + "p3-maybe-rayon", + "p3-merkle-tree", + "p3-poseidon2", + "p3-symmetric", + "p3-uni-stark", + "p3-util", + "rayon-scan", + "rrs-lib", + "serde", + "serde_with", + "serial_test", + "size", + "snowbridge-amcl", + "sp1-derive", + "sp1-primitives", + "strum", + "strum_macros", + "tempfile", + "tracing", + "tracing-forest", + "tracing-subscriber", + "typenum", + "web-time", +] + +[[package]] +name = "sp1-derive" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp1-helper" +version = "0.1.0" +dependencies = [ + "cargo_metadata", + "chrono", +] + +[[package]] +name = "sp1-primitives" +version = "0.1.0" +dependencies = [ + "itertools 0.12.1", + "lazy_static", + "p3-baby-bear", + "p3-field", + "p3-poseidon2", + "p3-symmetric", +] + +[[package]] +name = "sp1-prover" +version = "0.1.0" +dependencies = [ + "anyhow", + "backtrace", + "bincode", + "clap", + "dirs", + "futures", + "hex", + "indicatif", + "itertools 0.12.1", + "p3-baby-bear", + "p3-bn254-fr", + "p3-challenger", + "p3-commit", + "p3-field", + "rayon", + "reqwest 0.12.4", + "serde", + "serde_json", + "serial_test", + "sha2 0.10.8", + "size", + "sp1-core", + "sp1-primitives", + "sp1-recursion-circuit", + "sp1-recursion-compiler", + "sp1-recursion-core", + "sp1-recursion-gnark-ffi", + "sp1-recursion-program", + "subtle-encoding", + "tempfile", + "tokio", + "tracing", + "tracing-appender", + "tracing-subscriber", +] + +[[package]] +name = "sp1-recursion-circuit" +version = "0.1.0" +dependencies = [ + "bincode", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-bn254-fr", + "p3-commit", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-util", + "serde", + "sp1-core", + "sp1-recursion-compiler", + "sp1-recursion-core", + "sp1-recursion-derive", + "sp1-recursion-program", +] + +[[package]] +name = "sp1-recursion-compiler" +version = "0.1.0" +dependencies = [ + "backtrace", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-bn254-fr", + "p3-commit", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-poseidon2", + "p3-symmetric", + "p3-util", + "serde", + "serde_json", + "serial_test", + "sp1-core", + "sp1-recursion-core", + "sp1-recursion-derive", + "tracing", +] + +[[package]] +name = "sp1-recursion-core" +version = "0.1.0" +dependencies = [ + "arrayref", + "backtrace", + "ff 0.13.0", + "hashbrown 0.14.5", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-bn254-fr", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-maybe-rayon", + "p3-merkle-tree", + "p3-poseidon2", + "p3-symmetric", + "serde", + "serde_with", + "sp1-core", + "sp1-derive", + "sp1-primitives", + "static_assertions", + "tracing", + "zkhash", +] + +[[package]] +name = "sp1-recursion-derive" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp1-recursion-gnark-ffi" +version = "0.1.0" +dependencies = [ + "crossbeam", + "log", + "p3-field", + "rand", + "reqwest 0.12.4", + "serde", + "serde_json", + "sp1-recursion-compiler", + "subtle-encoding", + "tempfile", +] + +[[package]] +name = "sp1-recursion-program" +version = "0.1.0" +dependencies = [ + "array-macro", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-maybe-rayon", + "p3-merkle-tree", + "p3-poseidon2", + "p3-symmetric", + "p3-util", + "rand", + "serde", + "sp1-core", + "sp1-recursion-compiler", + "sp1-recursion-core", + "tracing", +] + +[[package]] +name = "sp1-sdk" +version = "0.1.0" +dependencies = [ + "alloy", + "anyhow", + "async-trait", + "axum", + "bincode", + "dirs", + "dotenv", + "futures", + "hex", + "indicatif", + "log", + "p3-commit", + "p3-field", + "p3-matrix", + "prost", + "prost-types", + "reqwest 0.12.4", + "reqwest-middleware", + "serde", + "serde_json", + "sha2 0.10.8", + "sp1-core", + "sp1-prover", + "tempfile", + "tokio", + "tracing", + "twirp", + "vergen", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der 0.5.1", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der 0.7.9", +] + +[[package]] +name = "ssz-withdrawals-script" +version = "0.1.0" +dependencies = [ + "sp1-helper", + "sp1-sdk", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" + +[[package]] +name = "strum_macros" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.61", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "subtle-encoding" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" +dependencies = [ + "zeroize", +] + +[[package]] +name = "subtle-ng" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c993ed8ccba56ae856363b1845da7266a7cb78e1d146c8a32d54b45a8b831fc9" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn-solidity" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa0cefd02f532035d83cfec82647c6eb53140b0485220760e669f4bad489e36" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if", + "fastrand", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "tendermint" +version = "0.34.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15ab8f0a25d0d2ad49ac615da054d6a76aa6603ff95f7d18bafdd34450a1a04b" +dependencies = [ + "bytes", + "digest 0.10.7", + "ed25519", + "ed25519-consensus", + "flex-error", + "futures", + "num-traits", + "once_cell", + "prost", + "prost-types", + "serde", + "serde_bytes", + "serde_json", + "serde_repr", + "sha2 0.10.8", + "signature", + "subtle", + "subtle-encoding", + "tendermint-proto", + "time", + "zeroize", +] + +[[package]] +name = "tendermint-light-client-verifier" +version = "0.34.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b8090d0eef9ad57b1b913b5e358e26145c86017e87338136509b94383a4af25" +dependencies = [ + "derive_more", + "flex-error", + "serde", + "tendermint", + "time", +] + +[[package]] +name = "tendermint-proto" +version = "0.34.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b797dd3d2beaaee91d2f065e7bdf239dc8d80bba4a183a288bc1279dd5a69a1e" +dependencies = [ + "bytes", + "flex-error", + "num-derive", + "num-traits", + "prost", + "prost-types", + "serde", + "serde_bytes", + "subtle-encoding", + "time", +] + +[[package]] +name = "tendermint-script" +version = "0.1.0" +dependencies = [ + "bincode", + "itertools 0.12.1", + "reqwest 0.11.27", + "serde", + "serde_cbor", + "serde_json", + "sha2 0.10.8", + "sp1-core", + "sp1-helper", + "sp1-sdk", + "tendermint", + "tendermint-light-client-verifier", + "tokio", +] + +[[package]] +name = "thiserror" +version = "1.0.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls", + "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "tokio-util" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror", + "time", + "tracing-subscriber", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-forest" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee40835db14ddd1e3ba414292272eddde9dad04d3d4b65509656414d1c42592f" +dependencies = [ + "ansi_term", + "smallvec", + "thiserror", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "twirp" +version = "0.3.0" +source = "git+https://github.com/github/twirp-rs.git?rev=c85f31f9c54957374e7dcb3534fc52cff0aa2dc5#c85f31f9c54957374e7dcb3534fc52cff0aa2dc5" +dependencies = [ + "async-trait", + "axum", + "bytes", + "futures", + "http 1.1.0", + "http-body-util", + "hyper 1.3.1", + "prost", + "reqwest 0.12.4", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower", + "url", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-width" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "vergen" +version = "8.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525" +dependencies = [ + "anyhow", + "cfg-if", + "git2", + "rustversion", + "time", +] + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.61", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "wasm-streams" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "zerocopy" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] + +[[package]] +name = "zkhash" +version = "0.2.0" +source = "git+https://github.com/HorizenLabs/poseidon2#bb476b9ca38198cf5092487283c8b8c5d4317c4e" +dependencies = [ + "ark-ff 0.4.2", + "ark-std 0.4.0", + "bitvec", + "blake2", + "bls12_381", + "byteorder", + "cfg-if", + "group 0.12.1", + "group 0.13.0", + "halo2", + "hex", + "jubjub", + "lazy_static", + "pasta_curves 0.5.1", + "rand", + "serde", + "sha2 0.10.8", + "sha3", + "subtle", +] diff --git a/examples/Cargo.toml b/examples/Cargo.toml new file mode 100644 index 0000000000..a6ea63df0d --- /dev/null +++ b/examples/Cargo.toml @@ -0,0 +1,15 @@ +[workspace] +members = [ + "aggregation/script", + "chess/script", + "cycle-tracking/script", + "fibonacci/script", + "io/script", + "is-prime/script", + "json/lib", + "json/script", + "regex/script", + "rsa/script", + "ssz-withdrawals/script", + "tendermint/script", +] diff --git a/examples/Makefile b/examples/Makefile index 5cf4b3343a..4fcf1b177e 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -3,9 +3,9 @@ SHELL := /bin/bash all: @for dir in */ ; do \ - if [ -d "$${dir}program" ]; then \ - echo "Building in $${dir}program..."; \ - cd $${dir}program && cargo prove build || { echo "Failed at command: cd $${dir}program && cargo prove build"; exit 1; }; \ + if [ -d "$${dir}script" ]; then \ + echo "Building in $${dir}script..."; \ + cd $${dir}script && cargo check || { echo "Failed at command: cd $${dir}script && cargo check"; exit 1; }; \ cd ../../; \ else \ echo "No program directory in $${dir}, skipping..."; \ diff --git a/examples/aggregation/programs/aggregation/Cargo.lock b/examples/aggregation/programs/aggregation/Cargo.lock new file mode 100644 index 0000000000..9b3f983126 --- /dev/null +++ b/examples/aggregation/programs/aggregation/Cargo.lock @@ -0,0 +1,947 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aggregation-program" +version = "0.1.0" +dependencies = [ + "hex", + "sha2", + "sp1-zkvm", +] + +[[package]] +name = "anyhow" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "autocfg" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "either" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core", + "sec1", + "subtle", + "tap", + "zeroize", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "bitvec", + "rand_core", + "subtle", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "gcd" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core", + "subtle", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "k256" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2", + "signature", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.154" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "memchr" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" + +[[package]] +name = "num" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "p3-baby-bear" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "num-bigint", + "p3-field", + "p3-mds", + "p3-poseidon2", + "p3-symmetric", + "rand", + "serde", +] + +[[package]] +name = "p3-dft" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "tracing", +] + +[[package]] +name = "p3-field" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools", + "num-bigint", + "num-traits", + "p3-util", + "rand", + "serde", +] + +[[package]] +name = "p3-matrix" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools", + "p3-field", + "p3-maybe-rayon", + "p3-util", + "rand", + "serde", + "tracing", +] + +[[package]] +name = "p3-maybe-rayon" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" + +[[package]] +name = "p3-mds" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools", + "p3-dft", + "p3-field", + "p3-matrix", + "p3-symmetric", + "p3-util", + "rand", +] + +[[package]] +name = "p3-poseidon2" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "gcd", + "p3-field", + "p3-mds", + "p3-symmetric", + "rand", +] + +[[package]] +name = "p3-symmetric" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools", + "p3-field", + "serde", +] + +[[package]] +name = "p3-util" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "serde", +] + +[[package]] +name = "parity-scale-codec" +version = "3.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +dependencies = [ + "arrayvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +dependencies = [ + "proc-macro-crate 2.0.2", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime", + "toml_edit 0.20.2", +] + +[[package]] +name = "proc-macro2" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "scale-info" +version = "2.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c453e59a955f81fb62ee5d596b450383d699f152d350e9d23a0db2adb78e4c0" +dependencies = [ + "cfg-if", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "2.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18cf6c6447f813ef19eb450e985bcce6705f9ce7660db221b59093d15c79c4b7" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "serde" +version = "1.0.200" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.200" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "git+https://github.com/sp1-patches/RustCrypto-hashes.git?branch=patch-v0.10.8#3d692aa90b91513886d757d01f8fc2d51c0ec0d7" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core", +] + +[[package]] +name = "snowbridge-amcl" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460a9ed63cdf03c1b9847e8a12a5f5ba19c4efd5869e4a737e05be25d7c427e5" +dependencies = [ + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "sp1-precompiles" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.0-testnet#e721b246243e40376f7b75d7330e53c7351b727f" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "hex", + "k256", + "num", + "rand", + "serde", + "snowbridge-amcl", +] + +[[package]] +name = "sp1-primitives" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.0-testnet#e721b246243e40376f7b75d7330e53c7351b727f" +dependencies = [ + "itertools", + "lazy_static", + "p3-baby-bear", + "p3-field", + "p3-poseidon2", + "p3-symmetric", +] + +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.0-testnet#e721b246243e40376f7b75d7330e53c7351b727f" +dependencies = [ + "bincode", + "cfg-if", + "getrandom", + "k256", + "libm", + "once_cell", + "p3-baby-bear", + "p3-field", + "rand", + "serde", + "sha2", + "sp1-precompiles", + "sp1-primitives", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" diff --git a/examples/aggregation/programs/aggregation/Cargo.toml b/examples/aggregation/programs/aggregation/Cargo.toml new file mode 100644 index 0000000000..0e25eec36d --- /dev/null +++ b/examples/aggregation/programs/aggregation/Cargo.toml @@ -0,0 +1,13 @@ +[workspace] +[package] +version = "0.1.0" +name = "aggregation-program" +edition = "2021" + +[dependencies] +hex = "0.4.3" +sha2 = "0.10.8" +sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git", features = ["verify"], rev = "v1.0.0-testnet" } + +[patch.crates-io] +sha2-v0-10-8 = { git = "https://github.com/sp1-patches/RustCrypto-hashes.git", package = "sha2", branch = "patch-v0.10.8" } \ No newline at end of file diff --git a/examples/aggregation/programs/aggregation/elf/riscv32im-succinct-zkvm-elf b/examples/aggregation/programs/aggregation/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000000000000000000000000000000000..3bc26ea23d1e92445925aa3f628c58278aa84536 GIT binary patch literal 149172 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 [u8; 32] { + let mut bytes = [0u8; 32]; + for i in 0..8 { + let word_bytes = words[i].to_le_bytes(); + bytes[i * 4..(i + 1) * 4].copy_from_slice(&word_bytes); + } + bytes +} + +/// Encode a list of vkeys and committed values into a single byte array. In the future this could +/// be a merkle tree or some other commitment scheme. +/// +/// ( vkeys.len() || vkeys || committed_values[0].len as u32 || committed_values[0] || ... ) +pub fn commit_proof_pairs(vkeys: &[[u32; 8]], committed_values: &[Vec]) -> Vec { + assert_eq!(vkeys.len(), committed_values.len()); + let mut res = Vec::with_capacity( + 4 + vkeys.len() * 32 + + committed_values.len() * 4 + + committed_values + .iter() + .map(|vals| vals.len()) + .sum::(), + ); + + // Note we use big endian because abi.encodePacked in solidity does also + res.extend_from_slice(&(vkeys.len() as u32).to_be_bytes()); + for vkey in vkeys.iter() { + res.extend_from_slice(&words_to_bytes_le(vkey)); + } + for vals in committed_values.iter() { + res.extend_from_slice(&(vals.len() as u32).to_be_bytes()); + res.extend_from_slice(vals); + } + + res +} + +pub fn main() { + // Read the verification keys. + let vkeys = sp1_zkvm::io::read::>(); + + // Read the public values. + let public_values = sp1_zkvm::io::read::>>(); + + // Verify the proofs. + assert_eq!(vkeys.len(), public_values.len()); + for i in 0..vkeys.len() { + let vkey = &vkeys[i]; + let public_values = &public_values[i]; + let public_values_digest = Sha256::digest(public_values); + sp1_zkvm::precompiles::verify::verify_sp1_proof(vkey, &public_values_digest.into()); + } + + // TODO: Do something interesting with the proofs here. + // + // For example, commit to the verified proofs in a merkle tree. For now, we'll just commit to + // all the (vkey, input) pairs. + let commitment = commit_proof_pairs(&vkeys, &public_values); + sp1_zkvm::io::commit_slice(&commitment); +} diff --git a/examples/aggregation/programs/fibonacci/Cargo.lock b/examples/aggregation/programs/fibonacci/Cargo.lock new file mode 100644 index 0000000000..50211a6b73 --- /dev/null +++ b/examples/aggregation/programs/fibonacci/Cargo.lock @@ -0,0 +1,764 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "autocfg" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core", + "sec1", + "subtle", + "tap", + "zeroize", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "bitvec", + "rand_core", + "subtle", +] + +[[package]] +name = "fibonacci-program" +version = "0.1.0" +dependencies = [ + "sp1-zkvm", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core", + "subtle", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "k256" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2", + "signature", +] + +[[package]] +name = "libc" +version = "0.2.154" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "memchr" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" + +[[package]] +name = "num" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "parity-scale-codec" +version = "3.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +dependencies = [ + "arrayvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +dependencies = [ + "proc-macro-crate 2.0.2", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime", + "toml_edit 0.20.2", +] + +[[package]] +name = "proc-macro2" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "scale-info" +version = "2.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c453e59a955f81fb62ee5d596b450383d699f152d350e9d23a0db2adb78e4c0" +dependencies = [ + "cfg-if", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "2.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18cf6c6447f813ef19eb450e985bcce6705f9ce7660db221b59093d15c79c4b7" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "serde" +version = "1.0.200" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.200" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core", +] + +[[package]] +name = "snowbridge-amcl" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460a9ed63cdf03c1b9847e8a12a5f5ba19c4efd5869e4a737e05be25d7c427e5" +dependencies = [ + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "sp1-precompiles" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.0-testnet#e721b246243e40376f7b75d7330e53c7351b727f" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom", + "hex", + "k256", + "num", + "rand", + "serde", + "snowbridge-amcl", +] + +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?rev=v1.0.0-testnet#e721b246243e40376f7b75d7330e53c7351b727f" +dependencies = [ + "bincode", + "cfg-if", + "getrandom", + "k256", + "libm", + "once_cell", + "rand", + "serde", + "sha2", + "sp1-precompiles", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" diff --git a/examples/aggregation/programs/fibonacci/Cargo.toml b/examples/aggregation/programs/fibonacci/Cargo.toml new file mode 100644 index 0000000000..af7da6cac7 --- /dev/null +++ b/examples/aggregation/programs/fibonacci/Cargo.toml @@ -0,0 +1,8 @@ +[workspace] +[package] +version = "0.1.0" +name = "fibonacci-program" +edition = "2021" + +[dependencies] +sp1-zkvm = { git = "https://github.com/succinctlabs/sp1.git", rev = "v1.0.0-testnet" } \ No newline at end of file diff --git a/examples/aggregation/programs/fibonacci/elf/riscv32im-succinct-zkvm-elf b/examples/aggregation/programs/fibonacci/elf/riscv32im-succinct-zkvm-elf new file mode 100755 index 0000000000000000000000000000000000000000..dea6e45e07c8cd4e85547f662eb6ed786560b6b8 GIT binary patch literal 127764 zcmeFa33wIN*}#A1&YgRc7#5i$f|Ao|EC8hP<3)Hz>&wbB-cCIQ=QB|z6RhEj# zef?)}HPm1EEq~$Q?ic)94RiOW7 z(V6_UZ~tUxLp?d9pZ+VR**p9RUef-O?KfR5Kac&VpL5ex>V})UXe@M+rog``@NWwIn*#rzq=0Q0pTvqz4aEjjhGPBi3&jfhnXw_~7_q@+Mr_a} zMy&WdMy%)u2G0$5Rz%sE5#`RYlpW?Tt5msJU6p;x*&+9ovz47)psvS+db3uPI+>5C z`0Q}RwhZMaGnF05RBlyREyOF4S#GF!&vL^oEK~8Y6=~hS;^XU8X;%D|M^%D* ziBwX>@0e^{uPV%V&#`8r{8SZRFxhOKGW{cIlPD}#W}&4LwHEL!b^V^J4%t?zim4Ug zP#^N^7%J9(g^CqC$-N50whHv~l6?irwvxY+XNiJ_kjdB+1Ij|?=|(7VdV^sOsx%UV z$_(=i!$_Rbpv=LQ3ObonE0n5}wpCW0n`A71lChK~Z|th-&6O#}Vkvh<#E3rton}Nr z@tzTtzfP&CD)B&mjlRzJujW$V9gYn-RV4;O$0Y5Nqf~706B@poEPpOG;0fhgl}4;T z*U-J``;8_03zQpa(N{a8s!5kKs@B_)dzBsiC1brrEqqwx^%KTs&`(J4Hj6Ci72#UN zJkXy7j#c3230~_S6WsG%{d@hVk7eC`{utIh6pUr1z)p+=9^;5tM8foW1fF8f^Hgj= zLx8*W2f@{jHvZ0zz&DXfweXjk7w!a4p|6pqubWK$LFxoFn=1I6n6BoW0Ec=0b@)&9 zSQ$&A9J*HRJK{!eQ1P2ul-zG!VjWJDmxI^Ys&!H7uvwUF<0G@if)1wOp>fyrDrZc& zg{n?yUKOcvtY(#9tTN826+DZKY(KuI{PB%^%8qC`=+g0d`LF%wRllKs_*!-9NT1|y zkJ3j!KSg*ATKt#PPtzzE=eUlr_dOl-T~FV@E{*za%Ny*-!^gBuTN#$)%DR)7{uyd1! zGr3tglh?q@1u8yeO@qRNei;iWLJ&|}q^=rt?k%o?wp&wrpCbBgl9 zF{8EW*$F#Re?{<`ck7)4nt&xRv;N@o~)qRjHM7wX0LVaII29@D1d3gXlY3bZrrB3K^r7 z`;FKDe{B9-miCdd53jtoBfR9#UF+MxYm@)~7I>PMA|wCkMv$+xZelLcO`QTh()toU z0)L?iv?)5ru;(yGv(RVQqoBV(rgd9D*GxAPy`-#A{OSRQ9cB)(N20&&2s+%S{pE5G z8XC~hfQAM%G@zmIuhyUW3BhIf*9DgVAFU_cY6~6Uj};z!LE{j${$xkGGQZ4QGMd)M zUjlxco+}yJ4}Dy|+eJsk^T3_5ZCM|BGn$oMm#4gBbEzFYaKxKlr<`Q1av~{JXQ^yA znXBSAuT^!_k1bE_7F+^e=%eQ)uq(&XDaM%WFgzV9P&YDW(Sh;qsjeE2qSSkdqU3wd zjz$&l9O;T}e9yeVirSV6JCVY&_)X7-eEg_m6=Fv%^C<1qXfHfRZ0;%X&Y58+{A{T= zC*_YPEBT%q&N7`ObkDpaz*Ci*g?EG!h0llJ8)Xm6WvnS^_-H6r^qUZLgAV@u_`HN1 ziT^M?{IPq}2c|vlYURwTRq?Ed#>tI<>#C|yVpU_vPF5kyP0A_RrJU-WDz+kG##ZhK z1^VTqU<@C)mM_mf-P9N5ek?ry;ECoR8EWH!G=B*{+f~WeUF(;jKqkHs5 zG>^EUuDaZwU+^7}f8p_h^t?fbu7O{qX8W=g@E8dZX`62f@2z{?@85dM?^FH9r_Fa_ z0QUa$B>flx|J4`9vok|>kJEiQ375a`&KUvS@6&Z$i*brP)Qc`sf3`E9JL1mDRIPn7 zKh`kx{rdM#M5DBfaQ#eQGV!Qo#Ba~)>>{(`Lz<74D{tauX8h*M(EXxIO5r7yX*X{% z;(e@ad-3Tieqm;|eM+f*7FU^i-p%sd-RLFmWd?LC{arj{b&fx9-6`fObhW@jzluId zjLKK$X!Q8PYUS;W8s_MMDlxhQyD$p<`}`5RdxqgInr%3{G7N9(K^1#=KRlO<%^#^+ zfB5{zu>yR^{^#NYKlz#dA~eu`VlY>4`@E9c<68Fy`cw6id0Tj|(7B>jeg}15lDckH zYNKvbUH)g`FFW#HT7Udl&o^UsWz4$0+9CIlh0ZaxMtPByjOlDubI;nt@o(?wT*JMX z!5?KidV{K&%l)f&WY=)djozzbQvTllEHCnKseND=?YE<6c9hyP8jra9_H`+V8ipOs z@9HJDhhh(}MWz~6Y)IYV_@w<=zW#}UQ5CCz zN1CfuO$B&uj^Z~AQ?W|?l1K|aXB4_A!(2V`h`XuUaJ$b|iRD#Cyq&^Z`;=4wH{AQFw<@BXT_Gd3!ZPg5v*F8X${9v%CHN+}7l|B!21e_orVs7v zVMmaa9@=JNhXnuD`z`dFGUDG`8*;5Z#1~Oz7LQVi;%b%X-=ujvwmbs-JYbH4?%2h)nnuw@83Uow zTJYPi5>|=NH_*_n9;s?7g{IJPdXb7R5?Fb}y_WVt((R?K9UT~qQRc?4*E-kwSn9}g zk&kr!6ZMy%KQm*z?k{0YRk7RmtD4&*Mj|>>#S&|2Tg~%@swM%B(N!uo3w&qs+^SQt zq}*%b`6gA9l)5`r3>mJ0FB8!NDpoD{iA+R{n(8!uRjTzaYxh5cljgruceF)+?@)zi$`&7xf{qPlMy=N!G_%L0=VkZJW z;IY_{@E)@4BTl)sa9^?0P>p|N}&5k|J@9l}cwzcMg*uyJACCz`m+_vVw6kEO`6k8b% z#a4tv3-=s3g1sGLx8YGA6`g+47+lBeiN$`bo>&pY>^~P9f*yF^juhzl6xs*zeBvvb z7YfT&{4U7>z$^0$wQbDbd*sMemAFuzL#OwM**in0&d{lIte{^P@<5%)19c(~)QLP$ zC-Oj@c;2Z_eAku9_hOG*dt#4Sd*a>j#l$DF%J*v9Rh9hssBfem({>A6?soo4CZ-u#vW&S zt|7YByLO*)rla3;lhpmS;k>nq@#QLKAJ1E=4DUK(#Oe9^xt&*KINx1~KRrNvjSM@o z#}vC6&wftXBM%XaVlUd}LEY(H`vt=;pJTdKg>tUF+=%~Zjm~F@kE-)OO8ZLVY^xGj z71T@fQfal_JjbXpmu1_{nMO=s=ct;{vg}ysoKE&wo*6tF%QJoDnc|u1*GYUWSHsh> zs=+)&WBt#;7dM!*_Wf2|lqlq0OH!4{Gt1iJ%vh=1mZafKX;I$(TH@p?WezNpxY_Ww zH|yBh9)~@VdgIWiQf~(IqF!Pk{$D=yoU%zt9N@N80|S3TXuM;Gat^GL=h%`4@uLi9 z=T0Sc?eVjfGZPrtG-v7o<;`5J{j5YWz61JR?3>heH_cX_z`&-759SU^ zy|9DIxfvMPL+2V|@`KCK{j-%BBR6pW?S{9jo7TVXgakI6dY2}+H$izntif(zQ)A@3 zZ0=1Oqol68fqL&RSN2Bky*>%Ps3E5Vueb@r*l^B##<{*psvYa?GX~6p`F(75c@37irGl0{Tn1Xl< zU&qSUahqQjJ~*Xa8QHhmm(S*TR=ek=Ja1qA2G29wJ^wb(+m~<9{4KGJ8+thCUj_B0 zO#k3?^ttrkzD)le%F=)P=k(v9Ed95CPXBFXbQAHK^yTZA4N43s6J4uwom@|x(?D1HFiLw#UcWfY4i%sf_P3ntH>dW)KJntJTSk^Z- zTae`-yJU|0VFLf6f5g+I~6k`JFwM z`F<7n*(H;o{vmKS0YAHB%~s}qyTH#bv0lZ$n0_7bvrG0p*g&0p;AfXifA9@pJ_P*i zlJckDwXMlF13$Z@wxJ8ZUj;tDv*|0<8~9lzL*G1;aWw)zt0Z~Th4?ZT0za!{%`dN@ z&QF1#RWkq34DR0z{H&6(=P$zd$pwB^N$Q-{w$(fZ_*o@|<}Vr7Pk;}ciN6Ooa=yzl zN^<|&$XI?4{EU+MtD3o=1N@AV$^1Ae4r?Dv|0-xK)Zl708Tguhk^ z{BVi2xP`tZ0Y6+awDSkRoB;fAN$quAX&VK8xFofr2XsCa_~DZ2C4IoZ9{Bto&A3uG z0iQa*JeRhA0Dh<>w>SJV^bf!fm8{u(5p-SweEh_R@Dul~0Dh=s`jBg=L#~nE$$M^M zTtk2#Dw$k+Gj)ampZn`)fmjtzRLM{MwGJz_%|dc+3&pf@(KS8R}RTCC{3-m&7>dYh?2 z$swPXNDW2TR-R^#%wtW2a$`i>RmsQOc@g|Kd@cM4Z_-L~2AAZRv@y#k`)wPiBX2MD z^x=#R;EW8~H)8{dbH!JiLhL!XA*hEx7#CRI>E^>q>UN0{)ERJJH)-SJ(;{#TAE!p; zTuuICP-Qp4$!~{W2yTAg7XBhRje;`U&P}%;XNbS#w;yRZf2*a>Wv3o(Kfhi3q~W|t z`=WmNN87iwYu{)%Z_|G8cXE%m&keQfKjghj`vLFe9&JA^)UN-K_olQz$3EJAe!KR` zkSF-}zof^}_ATw&H-2EAqkZuc?eHIGw(H+?w$p$AWxbEKpRe0{ z??}7*diZoqn(g{G1KMjiy8WPKJ*9n`Ct}47J?-Xc%=6>;V725?o>umPD-CZlIi~V8 zl$RLxf?HL(?4_cHx3AgoQu~x=`T21A?dn)-$oGy__SmzOoBOU0YwR}o@5@JFjlCXT z`o&RL({~$A<2u8cvBU88a~;{D9BU52eBKGZPfR^`+#p zd;Da>&9BuyvTi>L{AO-fUU{AJl56=(DKBFNem;0D2=HnFuZ2Ed=0N0X)G8(TxGjqe zcOm%gz%S3o&!4&w{(pn{tL!Gvy^)(4^JXPD3%(Bd93NLhaTxsE!Z$Q|+rJrj+FJ1!0mHNluY#yqBN%o^vf9e_rH zJF&rd*KoVtNN)ChaN8f?PK+__E#)<37~agiT;YM+UogDt_i5MA#j7U%sNMu^i!|?O*{Ts(oo?^K6N|i2q&(snpj8ooTuFw2Xc~$%-Z{gj(lUQ;RF~M?T zlfBB__$y^Ez0~mHx6$uRjc4Mb5@?2=8$Qsmx7}~p^M0tD>)$ZECfd5h7_A!(=llPu zyy3Rt?FIHa8-8NGGH#akU7UR&2i?Y2A*FlZDemUG#b+k-tcq$ditA8c`|sz&q3K4zF9dpPKMrGhqoGDax(I_PdRg% zls)cRc=!?YLKFP@YhX?U@4d*~exKeW4nXh90PmfKJ!UbmZ_%)wkyCU`?Cq>Z&W{Ma zbG#6^HX*As4{@Cdy)|EV_W7FrkVE%=A;yi2;}5>B+60a1`~H>i_4~A23!HI&Yz(b5jV~@C5C5L6e}83Q$lkaB z9)#zFCh&p8)ZXjwBfArY-rYPCT))D)`TO+yOgCh5jKJya-Tt~BgL`QawArEiu*bA$ zd30Li)SU#qr)YUhmz{Oc{>CX<9-ZMgB8T99=ljZ;9W~tX@JToLMDV^8KC$5w#w&9y zxSFG8hGIir%S-e}CZCxUvd1g}Hhdy|wc-6b^u7%H{aR1W-_H~o-VY~$OMkd8~_Z8&vhnIspSH>lXegX5&v}5Ff%sjwH*C>WRdA^g1_Av8n(;{ex`D! z>=0h)?OfM{KanMRvzODDYdHHGk*_?~tJd?pvXgJ$=%@K~`gt>;)fUz;J`e5(^&GpK zu4OIZ5#ak}uj$9k-67>1!;>>VqOUs5*Nm%^=oF`_3B6TF zAKP^w_Jn5i`B0rp6TIvRlUWx*9%T(w@LYe3;oOWqImmT%ckC{6Sly&Na|U$AwlBi= zOj(aT^T^MQ(QpJO=mgE{*x&P7ce9w^qgR{mW*3?x-`CjSohNxg#;}VV0Cc`SY*4ieE^v%atUGG|$8H%&A3LGbdh&w!Hf{;F$A{%^o(gPuI4FCghk|py z;oQh|{Wa)8nLlW9=XAquhTe;QhV4NvH$!h1dehEJNq>U(0TViQPk?t~{Vvnq2)!3W z@A$RaUPvC&+XddmMlWv?G^yI4oON--+527W1-w}`MR+`0cwBrp@lCWYoPu1U3+*1m zusy(PoT7E1-D9N>o3gWRmDYvMA+Ez?8kScD-gAZ;?$RZOI~Lz!`|p+8^C4`@t?0Sy zRN}14Ztl{hvR|c}z2zq5y?Yk4!V{16oy=Y%3kgjgAMnm=*D+`3Vp`n-?f6{Hp9DU zvEg3zC9&6B&&LNmV7S}P1?Rn7&r{wDhYhFmMcB?1`#^J)LzdqhQrXj)yWVijb%r^l zp%=L2>hjzd47bk_%7UZ$J>V8XD{^Ft?VluaM?(k7a4bxVP9E89@NDCeW#~)ag*UB7<==z_{opp zSJdGb;}0yEh%dDpx@@P6?O%fJ56aG+-!t5bZ0yi|wu3%!4!jB7WNrb#c=1rFG1P4Xuom}HyYkeTrXMzEbxlfVLxl})!_47 z^oqn*W8w2Y@cHDY{n%x59bLBu+qe(EFOJTv3H&~fagIR` z9Tq-9-=iOvpdW&=cjv9xJnVt?Md`2lBayjmUkBCsK3$*fdQA3}&C1O|k3knNm13^Y zV>#%tpzK_AX9e&|}bPVW59EL8m36e-CS)&fNr^mO!VV>}5LW z#kjUZ*dTDi4i`6^A~j=NxiVGc5K-0?pmzT3}wjgjjvM0Wc(zfOBgx!GCDdGkzz zd%5nns59?%W#17ZW_(iM=DC0AZ`i$eDd&5?LvJrYZ{a^RRfF?f!+!b8(5Xtn-%yNc1oAiv0oS-d+^{AbME2cXftNeV_~UX0F_q&j-h? z8b_gt`|{(+%S*Y=*Ow^g?p64MzIihSmXd@|=kU*uD+;`6%WPlG4vL+0ViFH!F= z?dttpIWJIeZX@w&9&z`69V@%zhf%Ku8h+sWALH>)G9u`mhMwY&IAQcy2=KD_5<7Q7gWn<( z@G`hbT<(s4knzFGLD@^-Z#E(G+E17XFB3BrmjyTh3q7P`)Sa!wq`n^VT5r-iOJY>f zL+P@&?l(F{^*-Rb&P5L)|Iq^{j8WZr$h_cy-z75d5|5_K-YF-P`2eR?z8=cii5^;k zjX)3eKrcWir+hwT^iU7$L}QuZ>3ok-@h+VoI!G3|E&>q+KnGjoS6lDSKP)62xfi;0PYvNvKAbGJx2w{VrY zOM;W=p*zO2E>RZ9a#>IJWs&8DBDZ<&ym^LsmT{^*kvzm31F-F7`P#M@RQ7bY+<m*E4vc>(fY*4w_U*svc$p6^DUulpLgPb1&Hq7b=%SJ_q<<-Bt@ z^(yn-Z&7dQUx}}OFYUTZ+3kiO@cOS9`zYu)%Wy7!leluCvL|Bqn+6*8#G!f&_Lj4i zbMaY}&-G)fYUV&}ewTZQ<=!{kF39*qWV{D5{^se1I}sW0iHx(Z?p*MB%E)+8L%#er z3z4$cx$1cj7SGwdi)HW)~5AzzjTx37XyFCP4{Fn{cjHTEN!Fd}tV=*=(jq^5a#$s$nP^ib|s(lrDdgo4bKxKEkulV_ur`oTehp)dFU!bA8-SYu#zR}yg>{ev_ zGQ+(LyWShw6(7IQz=ucPyYGUZGl*Lj2~6%G?~C40Zbg_FY!NVx9`38y{vN~v*Dlt+ zzSopb%-6;6Mh{{v=d!*XMyJWRkbCl-_BP~x^e)Qh>-?Vhi5`0?os9MLTh`N?y_$9L zPRtdyc=0FT`=()U`I2EjfGxgu5Ot6(>S*1u<>$!q6Fua&clR!GiGggATePqGB6uO2 zv?uRLJSTlVrkv+@;aiMmf8=TG9RWTutGgNaOaG#CkY4pF9kaTdvG*6_d(7R5|Im}T z^Fw&>T=?4bcx3QLG<>I853pmN8rOabPRtAw7A)D zW}C!>WtsXtmnbyYT!=n{52-KtMOX5RuaBY62|B;%N`5gYdtcds4jYSa&lNr9WK7@> zTHFrbw@gCLmj^!4uYhwYI&!bCdp6xqZXCTQWwG!0QodjRKKPYrIZqTD&?#T^EP4!k zYGY4#pnJw_hECYiICK`>Gv*rTv>M&xm%Vi<@WIDD#C2WlsO}M8Xp?W_ecc0{B+ds1 z?F-@8yDoArIAtP>qJNqub@1znPcwX+1Xf31$VT@F4idlVd_B4+UG|1Q<>%{f;R;Si zeIfQro@wOS#PDwZPyM{n_!}9Y%Um9k{Sdh}_S{{3FYAe?OYDw)zgf8tEHb<|;nmB| z)UmrA>7-@by&^_@+Dg2?)No%dAin*pj@#W=iw#?1_V3Y0`B?bk0P*@3!+Q~aoj8oW z?h*W@LVi1pc_1=*HgWb4uIDN5#j}W)Cu=$O=JqkXdzOlg?PZVc1KqLTlOMsBpO0SK zs%<$q_VVuOOFshdaphfDh<&}vu*dcVH}v{;V)v`QOxtbByZ(^j%_Sx%-$%~i7y9bW zeq6a*bBM=3(D67q1a!sAe%FII0 z+t4|4Gr;-O)4UfMcbC1iiId~0fyR5;|3%EXc#NNaA%|#h#0D+CQRiQrJFhlabLc6# zMQ7dRiaaCv3}nIlF8fC+GaS=~HhYo3fy^0toH?^6!mpz9nJ?cb3Uq!@cAgU%9*EB8 zihtu(^SgQ~Jm=wqk~?r8K_7tAMs&;Ki9TMkCb5yZS`2?lo+xxB`ergX-AInbfP`F#a@hV zL8sYUnw9+^e$BOK&<_6GGTE>nti=xaW#_q_$Z(&{ z`={iIkWu?vMTVWTgLr#|VgChNyW}nGGBNqI$0-*Z?gPm3TaTin78=g*1ab9qhBM-F zXm~#QXP}m8nMdu1U*yZNGlF<0(gg3?%IVz4aKa-DJIf+I%taQlBU9gmcZV8o&t~L! zkl2J?#JBVz@L20FTGrk9D!khHYQx@y4W5TAPkn+k34hr zGRT{4>cbcg`#H3&=hJp8V|f~$L5^pB!gVG(;eChoJT~)n3s>kQI>woc9Nig3A0y9_e;5BH$iIue(f-Tk2f^vbdTqlq zZvu}f{tNo(;3?>h)q(%g5E1`Hd=Gd05OCV9$7GM$ir;X)kzV_=$4p}_5MFDI0|#7& zH-XbMWSZ;n8yO#ZxH^iTv{|{yPUxBc1TXU3Q}8(^`~kc3xGB zwi6=9uE_D=Q+s(M(Cf1nK<~I-KhpGO{YcBP@Ihk)c!3;KcJ6+J{hH_WlKakj z@K2qLPUx-5fESoU)`zqWoU#$z;m@=U)OKPj_^~>cVGj#3V&9i*Q6DhfKZy?H54o|>-5Vz}o?1;Cd&?U9 z)UiGsaJRS2haabFI9`HSRmSt&Gro<#;5l*wG4XFLFJWsN?T%sY#HYfi);?8FbPG6$ z-L)r91t;b%C_5LxTjEpwh$}b=EN4y}*&u&8h59UBkT`+e<#&?wqB(@BSxt`7Gi?^5wf$V}}cfTgi`I z_b9)IAa~gAH}Ty>cdxg>^FqVB;6DueGGbx!W%gxXCMF(j*stJQuN%&l`_El~o@b1+ zyEFcc60`U4<~(P_hAiu8UzJO4YacQ0TeJ=A@>>_`xL)cw7hlZ%TIGH9V&dalh`n>b z;RBspaJQTbZZG?Jv4l(AFQb!?<*yUh++D-|qSJ_pu`}`8h{eA|yTADPq}j8&LPuh&t<$U)E%iU&~*c-H$Fm9e8gB@U{RC zz10TqTHv8?g0eR{YIryIFuWVNf{$-En}FGZk2eK4D~TWB?FnmvGtP(8m@Z!4uDfVx4W8I_7()&4P14GuG@81c$4aCHoh$Bmm?k(E@Z_2v! z>toR0KAK&n4)b#6obIsdEXAiQVL$Gx|mH5>c+} zfkQ5#e?wUE0G{;}ww$>Ae)NjYC2U4to#*>3=xTSvHQ0yMzRyD0duBg$0++p9#b*JA zV}jG1LgbRTxA|6V!xA5_&9?z}sfJ68+}+(kjO^Y^{5(e98|v+D{2{jZeq{U>E+^wHOUN%Diedy-y+K-d`nwO|yFGw%q?~jOgC7%5cV$?tDcs6lXCC~S2 z*zVS!;n$ynpYVeo0?)athFnuaFLz8I*1r$4mVz$2@_gdvt-7sQNNi0mT>5mceBAGw zby~?=yL~=}=dPsw7pecMuJ2?lf|eVoi_PaMG<7%F;I-GUyVU`&jk>OvT!XJj-K{mc zu7@pi$6l-4K97)pd>XjFR&L*ktf_BkYMb^wCf7JBxEc-i;%lpTLdTNb>0R}Wnqu~1zt7nw-)+&_G#PD zdCkgQ%Dlh(uEyV%Jo{4O(V*;HjNXzw`)yn=K0@9CA9F5qbjK$2!FA-i9u0C`!5RQL zY=6&Eum(WciSE+(yirBumB=|ZiS0Zf>z`rmpGWXfHVpw5^po|vOHKWfO9o$2#UzVh`ka2l$PzL(h!YdQ{^y9y#tllbp#x zy{@A3Z%xm$Kj;8(n)F^WY_X|zXqB`-i}uh(>-BBW{LAQ;zJXr99-99G-Qt(M^-udc z>Im2M2cdI5IU{hI!yXv?RCnBT@R}dsMSi6kT)xjXB{2ch+0){D<09^V|qtTn&} z#+9p;^K27wbb@*5hAtyUnz|Ps?sMR@0e^5BcB4D}P30ak%hlgcm_w}gf!>#7kHJp& zd0E%RNAKm`g`A?>?J?xHxH@}tFUBMIVAL0x?SYR*eR*z+%=REZBjw1mdhE_c==WPGUvwq+8s+^4Q*5ThvG&HZ z*t_tq4{Iy)z8L=@4Qng&zL*$4C_5LS2M)hzc(-u9=zP7$hJ7~dXG2EWcVg!e-%ZAM z9!I{0eJ9S87tk3g$`3+=AG4okjs(Jumy|1Dpg_jP|X-dYbW} zM|wCKCx4FzdZb5+4YU>?x^kb5bzX>amjihpzIDtv_r@J9sS41Ih*@sjp~h5@tXXuS>iWy2?sL%fOo z&3g@x{V}|MU^u5tW&P!PX#I;|9r*Xko_Cd@-z|`}>upQPjon6k@P=NWc3y;6j=<*^ zQ>V+@vUevW>+MdLtFZY)Xp6m?^iA?|@WSHr4d?1P*!kNj!wZWa*ZDgsJ0HNe7d%Z| zHUwGbD!GE&`}6lYaKUE`e?5NT$9NNe&pgxLo2Tpe)SigX+5?<|vh&_;} zR^U_cd)$-Y^-Xd$HlT+NE+ZGzXeVVn}$x= z&Umgur{p;7HT*#GU#v@@Q*!W4g0gqp81gS0*hfO1;}F-jJsZu$K#kblX|#VF`}Q*X zPo4&+E06Bm`Q{REy4BzNA^UblFn2dC0p1(W*zHF}SRkyN&WZ%8UgY z+rxdC{1!IWyPEx9g_YgyiP&bzX)%B9L~Lu%cLJFmj1P^TA^vnuE&<5cUx@MdG~TI!Fv1$haA&J-A48j zyPL5CT>W>KkkduTsji2dy2z=-p}O8G_88}(duih$qdV5Iem4wQ^x29`j+{Z6KDkP) z?rxlhOftXm+lZZ?hMrgAGcu1lZeBvWTk#nwi%-El=i<5eXS=!HquZk&{g^*76Ca}( zy}V2NclK52lbrK>`IfcxtB8+s@G(Tb#kYHLGJ6Gf8O{e>16W@5OmezoWd8*?Ee~)a z7c}ouACAU}Tu}O*B*EuJWa$WUcQLlQY6tqdOkYJux*G=qXJ-HhUvyqcJ2+E;gH8h< z=ccEEu|37uz)kQ;AU_G@GBE|&i!-hoWN{mNAUwu3#)s3mgK@cx>qdWEl)ZaC;jb^g zQeSW*M!8LBwhdowJ%76--{JqR+RPlsu-Wu;O&@IZMsRi5@5?x}FBiu*X3m4M^FkCm zyNZ(eK_h z?&UlU@M@HI4Jv!2-wl*~(8TvW@yB|5RU64mywp1pHi9uz3%`=R? zi8C7dn1d_(pkw-&XBvGHXEvP183z62+=TRBLe81t91A&TM$RkA_vDP3;co(xf_eG~^kDDbb}v+ctZ(OIA2$r%@NRw3tMO21`pIHJ#( zj!#M*#U&ZQ)VS0ad>StBt?=5Jl%rg}^1H-TduR9`HLOXkorO%#q9~{Oy`V8CJ)WvG9`#?6I{taunNpAOp2FN_rN^7$WL?I&;IrV13yk<(H<)Ja$2mCL(=ZOkhMXFS4X%uEo^3?tkF!&Z zcm%!48OX?WXyMtSW9pxZXIP~&e{${)=Nv2le#JXA)-ujHe-?c>LhJx^3v(_Py2Gku zp3sdd!u-N_oUdgTm4y;T4Ms`+?>^y7$7>|6EZMZY!Hzb~(eIsO$LjWT)_B#({o+^G zRrUFAw<_;<b!@-PTWIzZdDJN%vFql`U>n(YOx%^pt)?C!x1%Ioq8xs(`nUl6pSKEPoVCH(-bP$Sur(1C4@E+ZhclfF zeTJE9P46ZB)yX+P$?3h~dB~G>ugCx}%i+^~M>u1KbMlvkZL5JZto4<5BRSiHGkFr_ z^LKNu5by0ZggG~dcWWEM@d~T6%iPt3*T~s8>9bx|R@TOnuv_0(tm6k6}f`DgLoR*su|);|j=V)eGIvao-ST76-^={@u>JPo@I3xI>id+vrhYj;2ScbyB_PqwVV?yzbh@D z#--EcOl$bctrchE;+ zndJ`6<-N9~ir;I6J3L>+JX&QzpK2O&Lb=lPaZoq4Z`(SHa}Ns|qUhLYVnA6G{g5HD z=GU#SO29|)hp?vw=ofIX1Ab_I#o8+849Q<$&wnDka}xS?Y3&-8vj*P|bl5GeIo4Y; zPc_UF_U+9&s~>HxRYJpRXTCBLrqU+_J14o`ts z8y=SRyEJZ6&$W^bdY-?n&tUS;?K6xI(NkgcR9JX4R@~3RW?Sf1Ij7u;6@16CIdjUC zxfR5mGGJ2>o@jFndSJ1*!%djpM~Pt<=CI+xF`C9vs=}g zuC7(USAYqABVE9dB0&==nZ{yoL~8TdY$3EtQ??78n#el_qZ@6`7eJ}f?E zeMy^7iM{skRSaw2XKVL02hk@Pb#gveV-k56Ij-H!w;=qpwUVhbIB$-#uAxVub8M?T z&(~=(X2alYbaa#WwlY3+D*lMr1C4utw;O?9v@NaQ2o2Ev4YVm$@waNZGWN)t5HevQ z6BaUInWq~TbPD5lgz@LY<{5^3ry(M8@^|^v{`d#BjUPOM@fTgcXQ}up$DQ+UqT9q* z7haC%SmBb-LzD6z(4-Xlmj>bA9$nu7?z0&7>2WOrAPwAI^68fFOcU7{F9aoxu zI+h8G4xS};lK7^bZsy!s+nN>NSbEy=b6y(#bXr%KC#JOu{om2LbaET5eL49-TG#*2 zc~$K{F|8{;_}9?7;>hu|uGsVGw61^W#I!Db`~QyC`Yckz6u#E9R+s-1@@u6UZ{BWGw8SZB=p<#e@MSCbmUbvsvZ4w&LmNYk95Bk*h;Ir_@{PN`Cxs{ zuD16TL#2&bltTB&`IqRR0S(Bpk&d}sd44SK`@V8HwtIy58DXNDE+`vTM8NsY;W85m%yzY85ndF27T(l$tO%YX4s*l!jM?{b z_M!N&<;#G_+1^ILtEFcr$}1(-%81V;KgVx#K!X|hN*RH#lp*-apL`z*Im`C#p~Q{i zYrr3&HU3-`S%+f99r2HUg>R|ydS?mld~c#(`UO% zTzjhE65m1o4xg=cN$vi>-xpK&9B(V??@o^+p#A54`iZ>x^lLXKTD~cOWoEzPrgs= z^uEZtrcq&vm?4R7kepJb&Q-`W=zd7Yh{bE5Wt#UYR=0+&&9RUL4x*pPQzh{~mGGL1 z9Obpt7e9NvmCU{2kFBe;uYWyJ*kB4@_~+HC1!)@EflnL6oU4R)MJI@_?(=H$T>QUu z{8Fmp6ya6z{|0DYv8#cSLf%ilV|eBm^7(w=}$bAHQ#lo=y}ciE~9? zqpy6-co!MuGEnAj3CbB+l2R#Q|d<^sh{cNl^o^cWsSBY z?1PMyF%Q(&c&RSI^_&EDS^6Zu!a1qbVf=od>TBqmZZh6@&z3B0dl&;ebpd%6V&ZS4 zW0D))$gH$2OVeVc)R8d;{bcy#2Pc307x*}};S&k!6(j#ysdW5@a)qtYa>RF-?qcqSn!X(v9iB2XJu(Tl9^-Y z4rLF@N}Vf>Ka|P2agUV7vogEsZ+>Nu^uI-y%w`Ok!CeCEtp# zCOP}~w}*DIPy4*`I;}8l^sUbS*M{X8d>rKebv~eUw&efq?7Q&$Mi}v|-HI%@?XN44|JORV^eO32)`a4B@ogvcyl36Q8L$4>&6U|IzWX`WE1oOWFeNwe%J+j9M^IfJw{MWw@JvC8;Uci@?H5;#L7_@F-zMoV= zkJg@nBX z9(JvtUPlt&7F~t?>8JDV4S2fyZ(M_@4~1p_D=b}FLwP3@#~>+RGvdO zo((YKQyyXdu^GMBgw02Y2UZ|wg{*g3Cs@DbUZAhwwR-eZDYBZrSI>8TO65H#pSJWR zbBo>3zBc`__lW$N;jjHk9#HG2$jBedcRWQtO!%WNf<3LON;=7v*c9|LvLyB-u#*LK z$$OW&$@!eAzDCuhSgS~uH%a_aH{CwqCWpQq>(B2()-95Swzw4e6I=}6Z(H~5v3O}a8>u?tE*O^f zed^+KBj}1oH4p4~ng7jNfmtQr$yBN?6WcxKP++@<{v)=# zn>P#FeS0`NZM)@s2KRw;!4>-O{T6(|1;1^M~RZ24|?>yq$( z^tb6`{RW+NA$uJPyJ(x5bs;vj5Sv;Q*wo+fE+_RDg!vYNKNr$2@Mr5Zy~BbhF`O@l zFUQn8J?E_TED<{a-*oV`;Q!;kS?lXSYo6$5-*%P0AiD49efUEA!1aIBHdJ(`m0ak@ zYS>W8I}O2R>igyQi~rBMOTc>;-?L~4bZW&XZS5o0LlR>K{WYCb*TM%KY-L;QjIAut zdbaq4w$jJ(;eVa2ES=jXkIA&0sJs6WTX~$E%6Dy$7nd>m@|TvIin_n!yEez^BE2>! zax>Qo#h>T9@a$1BYe(vwLZY@xe^c44MLywcw@ubnCF|Yz_XFfR@YqH2h3r4#w;8`9 ztk>K1_huNg_N6LxO!?#14C`YT*%bQv_3L$8iNOMY;W&Ne>s-Efnv?nQ^?Ujrx9>)L za=!bVA^JqeA~}=~@+}7W#?yyfQy(00oA()#Bas{`YnzOP{v;<#4uH7`iN7!PTi=@h zu^UFW1#McpTj(3~CcKE9H;&q%`nSnV(4S$*n!LZRPrvMsV=qQ1$jdDi{*?Tq=tX3T zwLpB*0mN&DzfUGX-qNqDY64#Fu&2nWN~!oYYdenZ<^})Q*ksR^9$V_~9Glwu*<-7? z@9!U5>3pdx^XOXs95EN<;gT|MdM@%4`g?bm2R7oQI=-Z&AK#2!wL2Di5BtF!TGhMb z_eVRs@~vsn(afXdN+n-~El%&t$Ve1j7^;a%KJz{1Vwv*SzLT}$$NT!ndQ9|@#FAPM zu|_Dq9s31z&Pdj^Mej&%Yi9-eyK|5mr;iSMI{L5enDL_B6gv&0BL-+})B`HA&2^a=E{i!A8;hSsB{*ZBLQO{XM%byJRN5@WLj}t5L#a5>9&&f62wL`u`8)m&f z?ANy*6Ftl~62s<7>J~=u-A3{*V7bl-$BL2fmDM`8Wi~~P1n)}An8-u%%_(e?rfF$H z`ajynI7yr2+M{h$g~mDecb}lUuF{6m?iD>zBl%>t~t7&RkzuGbU*7cFm$_g-x@|K^D4exrCO-%LB-c( zo|$9qm$sj~*x*X!Fo=7Jn_@*W)|86zy)%(}J=PW(Yb0dLUh*js_U<5i;Pw3G1e)3kC}S*0>(OSCHoX2)IHiR7L|6vSQjwXaV=7Zy}Qzev9@c|9!4yB z6h@7PQHtN3ROTb;+>PwtO@?K?(@F2&jo=UXbojm#W>3zFS(@*m#|dL*iM4ecB<+;; zVSXy`C2!%!xFdhvA;yhK{?&XSh=1#je>QwkT9(8gCl7`_{9no``{Vqi%@?vx5}Rl{ zV16Wf0Mob$&jfTjJC$-=L~r}gn*ALX7S@eKAw={iFd=hcu0AwQ>|*LN5D zCNW6IcJ+D0E8+OFVZPgj?bF|2C$A09`0dmiF732#z^;fL^Yd#J`kUvn*B6-zxtY=i zJC}~P{dpTM{)_l)^3B3y`IFdyGd?QGEta*#$U*L|OJHxb&nb9eU*3^1`}|vah4=y3 zX=St5Fg>?2ufFX#*;*#wJUmwOu^W4^F?(cw!`pmY_{5Kg>7#XC_(NZ|({oZ961oL63U{EP#3zyDGm>9) z`3`2_JHCH3-&pZzdpf51(Wj^N(sB7qfhT(ni|`|g)3H~QZ|jw%X%|%E*NY9- zJCkEk1jGgghoOYMH-Y{MTS_9eGT#>2g24b{oIHmK^a2^f5Z8kUSDJ z_xBMV^KObSe_neX70Ax7plR4_mv4ryI+sj7ka07XW7i!uT~jT`kK17V;pn&ne`1UF z4Sb&NEc7lJhM!wh^)9(+cop7U5YaxX8%Y(@x8`SAYZG5o>dT+M4p)BsI$TW4LWanh zzcx8M{26serTIqeu%73_)E?pg_#bQ8zi8nb^SkSsu69`KjVu=(?eFCzmz=YvvmMs9 zHzOF|D>6Pi^4CD_)#GMigN`pv*^^ET< zm3OjyyOLH8Ho10#<;8y)tVw!ysa*T^(-jGWk(ejlbA^|M5;#5+II zIo>C;olaM*Ta>DWet$Q@$9ZB)_1^ma;3<8u7q(9J!lv5oh4t&-pz%BIe#JEUJ8my$ ztf0_{hr-C5=p5EnM$V!iiH+F%KlEXJ^>_!snUNB^dlH(|Uvpxblui|UbRwF_xLflc zf!{?g6>=*61%KR+^?yXuC^q2N_|eauFvrK7>e$rhZT8R}6BFB3rN5_4=R_)*SJt$N zG5uJmzA1rRo8|cT+CMFQIjx%{4+$=T%`KfL_y1@7Q*WJwf5x4dRu$i5e!8ECR+=ZL z1pKqe%3)uZ&o>#z@=ZOsr}?JhVuAPf^G(IqPRuvztL&BRd@Np?Z?eOzsr!7Rc?RD| z^9}sMoSuYN)X0;Je+2j*w^v)_NApVWG_RCe!ZT(O?}!x=ixB(r9soXu@D1lb49ipQ z+Fbq3lh}Yq(EX9n@$aFK%hK~+&v$_5{BQ8rvSaw`@s9jepXR&t9)SOWemW_CoqZDe z4*3`J*XjQte-)jCzY71w{B``h0KR_i^Zx>W75&Tk>#u%(`WXH?`VN5BUv2y~I?!K! zu9keF_Lu)8FiLaeognOITaMS)rODR6TbF8F)QxSp?9sWq+uC?N{oZMZek)@Cntm(3 z+p%AD^Jnz?%D<*xb#=#nEA&3qlhax4{MYnbaYe^|)wS)$+ZH#P1DMmoutAK7Z}Y70 zk81ue#nuw9XRYA=2(71MtZg6@I-V6D3OlD`J^Vv*Nu|`$zNq%E0+T&fgnJ%%sSV;;SbL zD-DzPRTKE`|I9n967zdQE0nX3n4-6(-&=Lh&5{1Fw{86~{z~jp1MyJVKlSda_+9di zBKo2a@@7hCG6ML}_90(pnXeA(Gh&AWfAMg@i+YZD_cgF}74Nj;7oGd@=JW)O91}f3u14+xEcNI*!|u=9BjM4j;$* z7p1)`JQiV0Z>*$${I19h_Se*x$~QAz*7xJrwS+utt#a0~Uq7NMIQOO0TT6Kgd5hi= z<#Aquen&O(aH+R1mCm#2arRbt5f?@B-2V_}2!8P*4o71=Y$`|q8c zWG%54@vF_V$e*G$tU=U-(K++6Pt;34w-u5A&E!iB&8tH-&hTGDJ%#o991eb-g z_{L_F;Z$!Y7ZPRdavAH6`2UfYR88bHIg>;QEVns__rag!e4RqBDX#FIz9xgK#ra(+ z*3Q|x+LEj4#*H28R*f6$%;4OeecO+C$y8~{FvqbY!yIov^_qc$evvWAnLrv|GNnrL zx^V8y{yp-nMAk1Od0lB6a+_;8&tg08;r&v{St;=kp3JbV@8~%+8?9TJ$6FJPg|fGs zod10GAf;5yXjU}}eMUVy@-S<|{8?=}y(RYl@b)HvQB`OE|Gl$kfdqynBFaUOoiLM0 zG6|v$njk1D3b>V;OlBq|H6$?$f@?6Wii!;?bt_bGsn%+PLR;S!7Z9zlr4^U9wqmjB z+xl8uSgPp!KF?i}n+t^0|L^y|dYOFBbJpiP=Q+<=uXinFl|2k4F0;N`MriPTfCs+v z_V-9#Xd?!0l>S_wKWbwxpE;4vy^Oj}^m(rry{6ZzUXQK!i!90+3f8%q-;z3o*X(f` z>=r%VCNg@&oa)i`D9b+K5psUjr!e+@j&g)p^Lx(KHqOJkf~wEk>gO6b=M`^F@9!R0 zs>TE9Ic;M-`Wi^k`z3mIE;2EfJtG6Tzh#CJ9CA7Pj?&d&Mz(&or#)l)O!q@+%$cy? zYm~~_Q~LK!FQ?ib+M&-ea#z71_oj4xuGYQ%71H0p`0r-&wSn`wH>cd2UP*Bl*cHDg ziTtzQ+50H{Y8mq~>>FlWDeXeqm%O5{^)p)ZgKeAA346|e7Iw^2`Wijq6iKUtv}7y_ zuZi0@uR@#3Y+tpCJpt+8P)^t0{^_5Q2fx^Ev@f5m*R-EN*fhRxH%{spnI*2^+yb3P zLH1O+N3qY#&W}@H>EcI!;$SXW#><^)az-zhCTZTR?CoFtwb+C4f9QK|J?$RG)`G8D z4{uq=Tbr+RcwXn?OD*B7*B#t7wLxY6o_lrJm2^cDW?3y+gfU2GfO4$RTUk_#sZ##+I=*X0)jvcVym)96@Ie+C6cG z694RRcd+Faxl1F{U6!WLOLt`6KQ+E{Q-9(ZKpX?w#?PR=u2O@`GN`LG@>fuD0>$0eIIo0X;BL@c| z>$uoAN;zrY8>If-ZRe$tF6Ef8iu!t#yBKIgN{!nnQ|3|1qy+a4@qX5kcK_7&RVPrV z|4vaiechunr9JB5#GdEu);FvlGq=zD?2xCqGkYlCf8~8=D6+SWvQXcd$e)?Edu$py zV<72&m5M7F?5E1?gc#v~tgum-e z>>KQf!7p)-_k8Y~{ZI)mJm8kK92w(m@uA21vaTfk)xKq}$nwpKn>5;e%HjCstnn~k z9v>ooR;#-Ao@L(%kMw;_@Kp9nGB)wGjh!LwQjK4?5uJg5kH^(n-#zHP_zeZ*QS_8T zdf7_kX3hdVzr%-3Xy{G!AL;tUj*v01xxPDlZ&kt9%*&$t&;bu_?@_j_wRm)uP0ncF zIS+Bq>Ja)T-phw@H_HsQZ5(k*o4&=?rXRvCSSIq#8Cg?D$T${#;B9;8720c;Y)C71JOpFN z6^4D)dG_#giW0eynrAEBYET-e|)>QA2w5&ce|;^TbR3hSP>)>Q^g`dVa# zy}5dSrs-pf74EVNx$kPKzQ!tb7r%#o{8SaU?P~k}G9|uN&hHz%Y)>!1$@)* z^6OR~=vvWd&N^v-dH}ZOD(ucj;ZGXl9M)})vPOBVv7hKny)H(ZWqw%d9-gyrRQBY2 z*h(EdeFAB~d(Q^aP)UQmU^@TdEj%{IYxf&`T!IeqayOi=_kC?;$dd;mP(v{dCBp4!Fpzw7*zc%&`K-r*zt?C<2cltJ1}B%gU9^aDKT zsqg5z+0ida=@eXHxI0^l`OM z`nXp-?rF5~fp0KR_H;LT$3HfaPx`XuKN%WKpF!N)_?{r~3`}x2w5%0kzYW~Zcg{8; zD^pc{&)D)l*1pwG++|ZaKmMuep7tL0jQ5Z}ABzn@zOrQg&ywN2gS?-`|4}o%W7(C= zM`tjGxmR&h|MZiG;}^^Nb?dPBkb6(YzI4S8|4@l6J56^3 zi!m?$7!MPVdxWZr&ScN@o?y$@S$i|@{Mvo)2A8{xvGAhDm>)P%<}>iSo_s&npY}|> zB`J4?*cXS}@GG?7EtD(Kf^EB=`G}`nkv`W>?eMltjTB%L)2=(N=QoqEnb)c9x15Nq z^l^>wUgeG}efqYQp`UGe3HJFq)qd;OsbD5{G=BG{d*$51o4U>W!99NozQOlNGBjnc z;(aIhM!Fg~jr224ll=TS9>{RTZ@3p8Ua9kty?|fE|GFui@1sveFRSr&iHyjy#MIy| z=zQ9*@KowW(ia`2^L2>#HLHyXf4+6QfUlw-g1)jF^tlbjM&_QuKgisMPV+D8-!6?OA}?kiJXr6$Uzml?=&_%5KZGvdScY!!sltnP zZ-b#1PBHZYV?^ouDE~40DXVXib@-r{zRH)K9ZX~Yg1+XaJnJr7BImOM@tgvGFnvA! zwIPrEB9G50$f7a-GD`Ytk;kdJPU8N-L$q<^5xcE)xauwoGe+JR2ri=^OWUBtzbVa- z{ibc(C0$!MpUBF)U$mWLgb}{CFGZKUKbJDD=erYgkjuGUa=93}OkbktcfH;`1i4Ie zjYzwYcADmCD?@MC;tr;97LIYC*njQ#HRbXXi*J(m+ECODC{lV^!}Xw#i(0%1itHQ^Xz5BcG<4aBN_L0ls&HNfl<$O?IUDw-H36&mwhMJ ze!}1g=8p7vFxjWTUKBU>oH5TfRs1qf^&E8e4eIr{?PbcvR~l81X&)H-0$86h=AnpV z%}T%{}8v{DbYDwtzP~7})m}dNwXiq88z;GoP zm`>hRHL`WT(y{dozU!HT?fM-3dB78Yf4_Oo`BTacFHhOv>AX*6ii99TgxVh{OIx}_p=)9?QyAlT@FrpiaS~@Iq+(R z9Lz$dH*mL^epZV+P@mFu1aZK-PX1md{Q5R~F=?AU+N|zJv8AQ|8OQtzV-}H7&IXMM z`rsdW@k0gui(SupGjr$o;jC~_bR9C>Sw3C2J=LY_&~YPjpQHZaf!>z32Ms;LoWGp) za_SlGzcJ)Mj)L0qUS$Trqm$`H7*bSUVNtbV3GMCSs zK56T7`sh2ETNmEybNZvq35?#k1FLf<_+93-aK^) z?$2STuy+6d<$i1KGdB3^C=2(Kww)?z&#;#dzANNKA0HiaOhEk_w!dj-v@-`3yrhhF zn>{+nT46kKFkOCw{td1zgSY&?eZ}1^(J{mu2wb%#hxwb8ThDHHv3Jvr&U3dN+_HDS zx4rH2tRQ{83*uSk8BNvWB_a%ZKrImKwbAUpIE#Uhd)> zc2gr+d)2lJhVi|rlllH%U)6m<7VF^$QyqO@SKEGfveNciUu0)TYDCtDsRxyV>Img6 zmHWX{d;jsmzk~jeFMh+rp5S0F>v*HpErZG1iY;gJEjm~5lEG@bzr@$U-x2Tr67H#H z9DzUI2dOQ7A@&Ai6s%h#TcogDd&o z)XJSD@kKsw``bD4H{ZS-!*^dUR@#2-;_sg;k&d79EhpZ*S$rF*qNJm8wz7BW-wp>4 ze3lg-a)9&+7uZ>{x5D=|x>m=`VY=c~FJ-n59)%v3w6{;}SaE_XG!xl70!6CE={YCYD^tr6jZ23lXXmCG!8MQfEe=)Y?yUtVtUm^kz%n{S1)Q0ld`rlGx{HjC?GQj~Hp%Ek6E6 zU!Z%iyJY@_b&jDM_{AoFQr{>3vZO_Rti5+;pF>|FHlg^Ju-Jrpe!R=#qCe$c0qI+0 zp3lfv$sv0@=t#?dlD?};KQksZ;_+5FW!Bu{!iJM9i^b@Ha?)3hu+upg4 zNO{w&%U-S1j~Kb6+g)No<`s=OD|8HNXfn67#hdyjc=P^$Z5f!J-hT6@_3rV@=)b(= z}%HPof!2fLXEiF3!a6*lNA(Zjc~ z&(EBX91!s}PwiONtnMAu{BK$7V8714_tyUKtBCi9xUZ!zX;tEl+g)+j5BrG@k1T&f z-)9ncJ=2HpR499M-jMa)zQN@M?CIK(iY$Moq+X|{tnYj->V7Nq(45cYh4Z+PK$aD^Jb z%a6UXoO>;I9EMk}$O`gvHhap_x44b`u+NNi_8#7GC?0so)3Ka%c3``&e1@_}ez)uE z(_#;FEWb-_Uya+LQJ=~;>)hK}pX~qir&5=}TbcJ^9Z`75{1bO={^)<(Gnwy`Gn6Ke z_pTYwT{ilf4sxo`MI3h>pE=5--&=N!bxQsFJkzj&Mq&$%#eP|e&R2Y%wufG}?jw6u z>Q(F^y-qnlXXZt9vqsTo?q_Km`<$^}M4ua6mN4b&QN{hBtamcsgiT9daP%=J)0>k6NbhXAE*~f%8Gx(*E1M`|FX#Y`)#WJUeS&n^*&T$Xfp>V4gjs z^GKho8{|EJ-LCJEc`ze}&YGdRA6mscCAyYAs@=<+Fk|YrO=+ro2kY|>Q3nrme&XR( z+zt4$v}L_-8j*<}o4}kz?t6@mEJpcv z5bvn2au4x-VCRjMCy^bUFGIZV+v!_`ugl1vnTGC%b$7{|K4w^Ej0b|u-P1-oZ7=jC zdPrnpF6&b4jp2S4kxRzP?5#o8thK6psHRWTfBh`?D)K+B6rK5s+AeE6>?4j8&SIZ?5URc^?eWQ*^xNgsoN2rwfbD+2yKqlwvVa*r~_;N zQnz)h5!!Hl?M`gSwlemDus>3-1KPX9FEZW1dKfk`Yb$HXgK@@A&iqYR zdrmXfqPMHT173aYhHrVfg8RKL^s3Lj2^~v)1;vi?vA$sN<^$~1Oxn8sEtz)4vYb0L z&k`tId*OYKz3_d#9yv$AoUnT@d*OrnIfC-9^)z}Lhj|vk7Dx9z>;Kp^NSA4!?JR=i z-Amqg>1V>`qksAva=+|G>Rm6}h*O4RKQK-mG@Sl}Jpre(58LN!HO6tOl+O&m?R3KT zW$!9|j8|nZ2m2-ARgUlq9VfhkPv{};b6*lb4+Y#~RsH;fvEFjlA9R1cE$=aTMq0g% z<9IyVv&k4Y+IiN+uQ~c25c;O0l}XyMwA-L{rb8chx9WTU<=jiVpK->)mr@-!JzNt1 zXzrkn<#S7dZ;g^WIR>@wFQi@+#y&5(I{XJpf&u381I+tB5;)wxGe?Pd2eNK37$8c22XAOyhw@M@B-iSZc`#nFEDTPf*NtZ?h4L!tMdKW_yg|D zc)C9`xRN<0KXWmDC9|D%hxq#+%DEW!(9s6o8l&v>`M(SfKASPqN8GU;P}&}JDZ$r1 zPX({If$s^&m9{6&R661}C>@`7@NM9@(*D9XsrJ{K6!#N1DeZr);~UGbt3qo(ANRlB zpaid|QzDS10m!rbK2X?ySbo7{=OJtXj!`|#{MlD)rn z9_f7}a@2lkXIA^VF^unW)b_3Z%#J|z)Q*G9S00SAjxk!kgF!t^SK6OHlxqJ&Bi|mb z=9|&|)s913nYVl?6k zwv)*|yMXiu@b2}S)ZifMhVftf=ZE;R`ZhIE@VXj#ZMzaY<7B=+jDA`cpkMCmX?qR( z=Cy&8<5cGHwyS&Zt2-S3;E}%ZioyMuf5dj}tF)aj@iG_M_nXw-bvMWulJ(wzviAqu z5669hK*ut_+EJ*e9n0V1tb+@Ch;Q}1#Q0?}W7b#rWxXom`=BI#v3&P%n>)Vz8DH?N z6;s_ik+&6t7&{;Ix8Jp#{fs_U_cs%Jylf!fE#9JZ6z*cI`WD{~-STCyrTd&+utgtt zcG||0uG3F+AnnQPZQUZj%e~8Fjmla(6&-H6FK?$j#`vT4K5^H>`Mk@eoLy@!#`*qs zui}a?WPKW5>-FH<=NDZSUkHDfan^=*+|FDy-+FOL{O!yBzFBl(yYGWv=)e9q*;mwx zZr|6Bb*}#AeD2=%xqOSWGmLkI5oY;nBg~F{Rg+nH!)?7A{u2chyTNY5&z$rulP{^ zc67%F&nR045`NkKsU2R*=sWP7exA;Y-xa4`VfY<=h3q+v9z0C=OMYv(UBVvJmyCU= z9~>rq-*!nq`XOsYe*YUC&wRl5&#|lJoDh1(;$77DuM~5)@W?x?L-wSY{6qD1K2z9J zGLQE<-urmB^1jXc1#fnyrcB^XB%6|rHL=>7Yhukc^>tcRtfn@ZP?X*2n&KfQd9(39 zX)gYnCVjtoeoIYdtZ7niJk~hBe$xD!=1KADWcc*Ppq;_?6eQi>!Y^kbBHfH`)Q-l?3})Y#J0 zZ2PCSrm`{CxOh@ibHdEhqy_Z}vZdq`&uPT*J?5}R@;igcqg^(>1o(SK-9ng`nA==c zR8|+SPt?@S@8)MwTBn~g>+5Te>SubFpR=lCjg}uX>N&CbmJ4~Xr$2!7OFQc?Ikj%_ z`Ss1STN)bb8=I4f*)`WBXVxsJX`Y?DswG($Po77)r^gm1XC~|BH&>qps$bA8zK_U< zUXaGd`bNE2Ec#FPL3h6Hk^& zlA)|FncR5-X_;|dlx%9LZFa_0r&SQjj7!NUtUM}j5r6+*lILVybK~NM`kK0CU3Qul zH%X?NCRN93n?;0_ng6RPRit?e?-{)RkJHuL(~G1@6IO=(|C8o|osL2{^Su|6a_Zny2P9sV!xoJSsPQixH;LRl_q0}+WPpF&DF?HLK{6=GfII- z#hSIr>FLB9`b<*-{1)*m^*@bY7r)c_m2~Uso0F3@x=rosn&xV);-a~;=aip0^{jK} zTr~BpveUyARQST0#`?MiNGtjp8$!fXZ|Y4AwXwx0^U4@`XpF^^Bv?zl=M!(@Q=@NQ zN@6F2?L4W4C!Uz5Outd<<~{&C9iB*jrETxIr8|$d-Ki<*T}7;-^%y0dJULc-b!>4{ zd90Eyam?5Wn*N8>rtm=WBG1szH6_fi$*<0suCB&T(Ha`-<4MFB(bp-t-6E+VY+hH` zc&w!fHrLhHO{8a|JscyLav$L)60R!NOv8uI%~YbL0J@Bun!1|ini%$tp7aF6gGRXB zgy&d#XMG(tp2n+13^e(NOjXr4>c$dTN>_${LAxUS1x)n*m3JF|XD%{iK;+<^ z8#HAB#gENTD*J?H`g;UFy0!pIc&lzgYc<6%Ep%npE$+=rv?JPAO}%ApDawoF=>+0y z@)~wvEU_?Fr|X=WdR_e>+m*@1^=O*r>SRr$h6#ctqwFKxXu?_HTL|9=>}<>Q&W075 zn>(qcuE{c#3?mf(AiWCW5g%oA=!-8R_yu*fi>HYlzqpBBzU!}<_4N(2k!dSwp-hj}C2EtVJv*bW zp{3dUyA=7 zps@eyTN>lZGh3P{R5ISuYy}jTvl{E^u$oGf3$Y-Y2yy=SNKf3@(g1tsb_vYfy5yn;*py6^)mNc+FQ__CH-RodDjVn4#c8ke z>l-n@6Xv=cvCg=k!9W@IbQw^4~iQC8}^rO;8@H*SPUB8U{_qWq8vj`{p#R~sz z^~)OK>8*a*g*VRN^r$G2rb&8m-AG?V z_(H-D;1yZj29~F(8N;B z@YLe7UB}zq?fkEANH!WXDorhMu^-4^V^W5TG3+Jj*5SujhVAt&hC}gWZSACb2KB<| zw~6OFddx1g9AV&JZK zQN&q#hsM8#O`7?GBior_J553aVzrW|)rU2G{CR*dGR|?zkm=u;Y3b@{=O>w_5qqbl zu7+6)BvvB^X|HDw@vPv=+kWH&O{qR)daaXRy_M@~VngPsGu5@ShZyt|#;+mW3! zcEiw=`GY^1@$V;Y(d$RG^Gq)3%W;#bXv_T`ZA&-YQbjf2^ewr57NoMdf zG-c@hdg>?-99m@MzH@q^YC-d)x|Rio|8wwvBK~T42aEquC>+WQMMC+Zf>2>78Y&7E zheP3TI4>Lt=Z6czh2dzpC|sNu$_wY^;j-jYf;2#YLf_a8X`Sq$t0rps27YT2xe2Tuc^= zNxqncT`08RA7=8p|KQOF7Wb`Fm9nS?Gq&{;PqZkelMfTjPICou78R%?kz#yzum z<=4XV_dnP z$~Ri!1F4F_uhsVo)%4-fk$v8aKGru@JSk^GacF34`sXKam|2n^o3-!z8!o({e)vWA zKfB=~<#(~!$=`37t^8^D9A(dYbD#KI?2?b)AAZ@ck2YMUDW6=nPrdPSr9ts4+~1?R z_)ndl5gM4SCjBm-%cXios3)KJ-Hgd;X=;u~WqY6M9q*nJ7?-1JQ37}Z9@Xtncb%k8 zmf)TMUeaAdRF|t*^|(APm)otL>~gCaf;n;QQ3tpN`Bd>u+yT|^PIsNGo<`VALXIJN zVs(4ns>koj&|{S>k*G`XP**Yevr;)povwORB3A?Ig{sS+8K_iUX&L?*t`mt*Rik}X zQuJo1Bh%C>kLn{+t`l4ycebYwfBMuc72dl~a-Gb7B`(z;P+b{m>O|seah;+rbbDNB zs?Ysrm_Tm*5~C~NOLwWEVPQ`Q>{Z94Wx6y9sk)0G63{(4;Bu{Vt9?|zBVTA?Yv8kgcx(>2#DmqM95>Ip8ddbevx|32!dzzG?-?hs{jxkjsJ!FiV}lX7uR zhFD$fQ&rV*u7LW9uuWA|B|AHtCaeBUy_4lwO6eKn_NbePUvbTHPs<2gjBXRRd?JnXde_bdO6dcMB_Fih4h1CLShz}Ei9gl# zPx9vD_e9s+fVg~L_yINPrc%8$6W4xf9*I!bke)}?(#QDpn)12axiDPu!w~hNL1cwk zuJMroJV)9jDOI6%^Sx{tplrS@#e14xQNQE45O*clHCTZM9&aGv@}KNk%hn`MUO?@u z4)Us5#M)1f(VI}$6XtXe9PlsjD;2H#6y@y~HECh6i~jaEtlunZkh$Du!&G1ni9JrD z+lu&=hh;P-?HMZ=g9x+UVuzf5`tZ}4++gjmN$WPBo31g$sA`_9r5o-j z*cGO(yqmDnpFY8_*h-yV`P=gIlIeGs>BsV`U8_ydCTrTY=@Zhg*RCHkCVj%#^zVL8 z*-hDw)@K-#(u_13#oCr>X-g#<6d5SUj5b4yDsvu5o8ULfb_T!FZ`^I>#lnVvBQ`x| z#wN|0&Mi6#9dMh2pc^y*N4nXrY{rlDSNXi6*XOld+v!#b9>JTNt0-UK zPx__*ppQ91rCVyb0V7|Z9ziFM4-8jMC0@ycjMFSEH3-bDc7^E-?@J8+MW4E+MBMoTz^vc zc;9n<==sR?iMG#k$n~ZBD>ZZUX=j{&!R-$`@S|&QX}{~oKmXj9z@njX!zfXa7~Or~isow>{wL)3;y$vEls5Wz%MybN&U1c^{jb}vIOSTe+cVK!+i zt-qL(n4LL2Eqz+qiPHnK`^@mCw;q_5evqDiMtO4 zmcBVI?Z+Q3iDaoK`TBYSOIEM)TiOh@BTc0R8sm}yYn%~ve*LqLe+n#>zKJKeM<-Sahnw9A( zqHtpZr<}iJPUcDEr7+MJuWA0)-=3Pz5dpbR!{>APeF1-3zx1IQCu9!klifEn%aiTy z&%WD1>R?ZfdV+h1|3r1DYuF&oJ>ESrBUcT%!>&B_Vb`OspLiY%eChhi`?c#EcPj0t zix%H<>yJa1TzbpuHADZ>H|yM)Umeb!^qqO%EC1WlTW`DL2ai7W%U^BZ@$xHwegE$% z#iI*!bnytVJswq>_$eCXG|+5Xb+ z{`BYR>;CJ%cf9ty8RuVc$z@lRue$B_r=HpJo9A}C^j5z?gTFiPz`<`)tqZRD>$`o2 z)zuF@sr>pIp7_~~zj}7i;FE_wjdCqcUrFi=JvN9)oPCB(*Tj2Tr zsjWM`H$CYd;=Ac<_htS;X*p>kaNqZ(`-b=~^N;sVOP}CDHr(Ni37#Ro40r3}kS2xC zbGL2`OmSzqr}&Ekt zY<+V`rnfcaZGAWMv-{oAv?cQfv~CTw{??nGbDBHdR}`2Q$n-U5ob0~bb6HwzTh7q* zL1{BRtvCA~+n71n6W-ui@~2V$Otx4(l)YrXU)9F>px)|f{k8iZAry7cje%r$6gDkbx~@`yjN%O_lvN_oVAN8CzyhdSKm;FgJ-jKAfP-)i0gxUCb1 z(!SZVmZ&RTtK2`3xP-ovcQy2CF&;|$YEJqiIPadFO0D5n=yR;_?Oxqp*eT9)QmKt5 z{n9S_S{bv9zGh!noGZ>u`f$cW@|4Yc)_r&432BQEV* zQQ^!Z&cd&);%{CmRl+a+N}T+98~1JBOQmX$K|h3hX8Ez{Ii!DS#nI!JdDbH6i(;wN zEdD0_?9wHwUN&rP`K?HOV9XLb&a6ge}GGZJR%d_fj*yqshC(vj}?0{1h`l#v@@?<2DnwX7cB( zQ_0uk(AU?bQrisrtmf`~5cyq~{=-P)Ao;V|@l(2Io5 zBW~FgcEEyEN^C`W#BC&Q`MBBnRfO9V-0ZxW37BB>Cvs9@hSk$B%)9;>~t zgMMG#(c8P^X)E;1`cz8NkVoQt)pR==&vT%E41FnKnk4{vv1CkWY|T~PfmUMDEZNk+ zBcUk`q-EBNQ~o6F>G;`q)zNt^@mE8CvN4sK$=~+0CG1jYd!W5&((G+n!fu4Vv?-N( z$DoJo`Q8StwE0My@aP?Ao|f))v=6s0@IO-G;?a1yT2%KZx=Q5EsoNwEWAIb55ZU8z z{B-6)_+JX`eQ0`Jm~|}a&%=EW?pE6qdIN56<0kr?cr>e>a;=L}eRY@IiQoHhTZ!8q z!>_JmgkPI+pS1|NHS&9eT7v2acwG9!Qc4N%O*TqgZm@6OFHt1+eX}; z#0~M)AE}S6xUI*{k{L@TB<|hNre9~aYcp<_uSB>!z8b>aLdNcs&jEm;1;m?ll(8jZ2)eiCXcN4CjQq#n{s29 zEQs49xXr`OidXXeEN*jfJ6ioon0KJR3Y{PQkuduJ+i)u}+p^t`5PCKf278uJFUO#V zpleHyP8S}}f?lyam0Bbz(oRIa#l0H$ZAWo$mH1X1>3<#WtqynL+mpEO!M(wVKilG) z&|Za>zp^u~ZnTe}t${Yd;CHw7>tP_iew8V6HhCF}`$pWS8)C#(m!Eu6#><%Y?{G+;l_aD1D>`ee-Qy?NRh*K5ozAcB$D9 zCywlgbz6BJ{ytulN{P)t{z{J5U#}Mb?VaW6X5&h_k3+9sn@VLH@o7i14W*pB@i*&k z{PDLu^7|2PGjY?zfk))!Fm9LPHb)$&cT0zi5jqWR4K!27hN_P&<2u->_q(O|y>A_T zxfzdLe+Z8g(BFq1Fx$Gl%}G9%LVxv#@Y4)$T#`nBiCJ+I{>r15AGawsf0Eyj>1Os7o&DBy+}A$R zrE4YpJls~|X4ex9xGl1|Nt{b@tH!N_zu||jXT<$J+}Gf4>Yq+sx*7LvxSR6Q>HaG2 z%A=if*vaqrai4{I!r+6>S1IRV-0%BIXWKunJw1WVFkd|0sh^H$pEIF1|FmoDmN>G_ z=;JC5U(n*o3r8h+WvXPiv8E}$P*G*A(v$6NTo}o#$!iFgFUV^M z;dI0!tg#-C@@Zivj0QQ z5;d6kbmCe2ahHD?uO+~k6MFb|@B%PhiH?5_US#wCKj4)%|5Cql{zo(8p9hxnO{il% zeHrV^c_S-7AA{w*PlZX(M>oD|%YQjo&I(C;mi+%3Y@H(#{1tdN^eHAii87LNX0ynb z(071C|Inby<5G5kr$9FzRrw>hmGsC4zFF{-v6wCWN#J=l|3%=n(1WJ`IQS8p|J%UV z+5F!P-fHvzJor8v{kPzEZ1e---$qY?{{>yv$|Qf|7}I!c{GSV!vv|g%Dp!C9K$o=` z@y|8%`Z+y|{sVBXt-k&XENA#E`VMduy2z)5{}e3e`z-pG;PasKqtj1i%rOUS$=fXO zNAO$Pw}ih2Tno17GS)e4!>>tru$A5+@Y^=}DFN(G;+IF_y9jKZ;S+ov*gB^t_#v=$ z-cE4e^O4WKnr_FivaFm4-Uz1J6~W`ckAPcEyo>PGBkfK89+Rb+PO7rUNvEM$=gCCg zO2Pjkzx@ay>DNm``roed-vfR>cetLus(6+E0YBc);Fp9yGoAE4>GHn-yxxYzD6`IG zN&GK>t@BcXZ=0hi*`zmK(sv>6;3-!6;Qn*zUu<{|SomxCzY8p9+${chFD8C)3GoTP zGU$}8vuG0kC!}vZ!msn7Z=*b`P5+OJ|NfdHI$px(p|GB$JSRYx@E3tI|7DgJ{Q2cd z=b0>_b1i)5Bk|`t@Dv9=2fQ;!GsCFL#o%2wTnQdZdQv{&*WV~#&ZObWBEc@7@&iYF zKL>00xAen1U^xRNDM)?gX2LJ%aMhaNKNuJ0j#V5@$Y5TEr3 ze;;t*UpesG4!qxi`}ehCQ%K{})FcO<>A*D(yxf5wbl`0c{1*rQ(t!tOb+113%=zFFWwZ4xH7mdwO{eJlBC2Iq z{A&k(&w)MC@tKd*$7lyGb>Nr--{8RaI`CEpe#3!3bKorL_-*-_;J`B+IN`uII`Dc2 ze%68CcHl1@I9obedwv{vx&tR1xYdF0bKtEGyxW2IIdJAcD>sHbj&a~p2d;47>l}EU z18;WVT@L)Q1NRZb!hA%2@*MaQ2j+T&&PV*;?Z8hv@aqozsRL)pMkVu+_$E5=xei?8 zz{|jLW>MESXdrn68;`2I2z{o5F4&@bau^$fb^T<97i`hxx7LO)#J}KmxJ&=$qzm@M zH2L9CmF@T!EaL{tznw0= zuypfQe0KV$(B%xSJw3rz__0)!b)HoEcX<}s=(C|e_NfuS&~E^50gIU__)+jSuw`%T z25a936P4s=)JgP5HoC+wbmK9~W5*Zbf97YJB0ePk>m+>caQ+tTRsI5g7P^$j%J1}A z@hy)LpA)ZKpy^bL?!;fzb*DRVMMHPG6R*FjJKc^0Co4)T<+tpu2>3gQiSMu@zTFQ0cKj~>Ge7UjfBG=m zyA2nB*MhD3sQ}OXq6^;we$_^od=0%?GqPvapB+Dg|4hPL{CW>8=gIBzF4%ZfWh#G) zJR^oWzpeyZXT^ozcY&=lzl_$VL7yd|k=Mmm|BtH3D&Qco>nc|Ui(#CUi zEa$83bUBCJ6P9zwcDkI&?g{U7(B-}XyMH^bp**Yicj>FO;5|0^`3*P+x+S0g0Bc}N zz6Oqf-!?4i9KK#Nl0%~8abh`ZZafCvj!TGd^FgCO(d7Yr>7gz>VI>Rk^KUmJciWw_dJ5|xo!iw20_*}4@i?#4Vu$+kO#0n2$^8Foqho4|5*caVv9f#n>p72j82In!(9 zchnd~Kig}S=R&ZY^R?*Lf#uAvg&zjX`QO22{C@z;Szs&vufcLI*urv`i<}X*@;e(W zXN9f&-T; z*kb4hkBR*YkzeSReyIhEKCtL-fTjKG_8#$9U(I|NSTn=F4W2`LkVnR+cP=t8+0*eG z;Ef*}@dXfvauwx4?_QelxzDYv`YC^vl3&z&gK(?;h|v8~xAV zM{MyAy_WWEqkj+l2-s)F{{Z+2TYST=hkx)>uYcmN0E@mT!oTo)%8krdLD%I0`t@MZ zzZU;?Ij}mOfaYWAZ@G8Gcnp0c=gTd8682J1S^-AW?iO=HS zFB;K5U`zh~0TzDb6M^t|bgNNbi=Q_v>5kub;0tf+PQP9R-+YAMKXl-y9ay~D^DB7g z5>0-1jPl4mImUBzEO+PF=}s*7>R9yOlm5rlZzc|+9}j~|z*he@dLr@<4w&?dz^yj= z_26wbEb-do7c6)97>|)(Ck`y{PPgMnh~K)8K=SuG*t(}c@Hb%Vz5&5wbD2*iKT@B9 z%c_j@_kg87KW`v^Uv}xIq13nV6E&sNF9Zv}N=)1;@&LbN-AKX@y}_uT0VaLNO-B8! zGjVyFkzb&$e>Q*vq^I+j_W3^8y4OJTQEF-T@N>w&^;qq5j)OlrD>T!K!A~dt!a;Xp zxeLH}RONvr{Sp4(!9mLRPq6s6@Vn?EN&iKY-r&gJYVeCTd-6x~X}=bBd6WY+*dLT% zmmkVo{C(DI!174>uLakFr6huX4So`=%OALKIpYDaX3`gft@{?l{~kwv4uhq9dVAGl zH88;?2IaI#)GzdrAWL5eHXehYhmM0Uy}7%8JARD#-yy$NdwCN)<*P0%>EztfJ-i*O zA;urjAHkpG?{cu*)gba?hQ*)U z4`Dp2G7q|SM}_!b0k-ax5PbOp%(}A`uXBGSndU}`?urQNN+9W&%uL~N1o|6|A(Mo zXQQ8zhdzg{w{JqoBiMKhEcapbggv)+r;j`i-t3?|@y<0}@r9a<`pYK+QXkKPCI9jW zzvI_o-&pkxPN2Ue{WZ|V|Jz{Ur|h#5oPoU{{1E*q_{LWB9sXr6so>G*D=F_7lYTE) z>SvFMUjqxjt?>85KkJeD{RQ|{OF!tX6nV3iNBoYtLoNFQgt{%@*5KH%SrCXQlHMc~ggu*lmr;OoHICjKw* z<2J0+qK}bBtNot|miuAkk?>2wIX3@yqc0TJKMnt^M}vj`({UDgoOm;s{0RRAE4L_0 zHvBXEyOguQITk;Oe>vE?k4Dnl34WXOzhkDKzMA?Y{b43P4{Y7LBL3Hat@~I6e;|x8 zA4}fs{1?(JTYU(gXTz=nMF~(oOMZlYosBM7?)@_!*6;D3ZS%haeo1`dL(0GVddB}Y zT)4zYKhvZizLoJ1{OAjo{GV|f_PrG!?dKNo&!LYo>HiJ>!p6U>+q>>+k??Kg$9k;t z+w&{5FKqeO{obYNKhk34S$7<~-a+59PSe9#;hnhT-tKfKw)SaR;qCZGl&9z$M}Pf5 z_xP-RT~>H&f7h|FwI9r)J8|oey5fI@^sRerr2VB;qu(iS1znZYZ}tL%pH_YT0KC-7 zFZHn-ER&X&J-V>TkRPl4eghVMSn=K7%y|EPP2XQ2@jr`wCHY%KG=kIUzoonuK7AGb ziND0m&#ho7zeRr<`LOQJ5&77E6#1~1mt>TEw(=hhSFhK^nMYMT=pPB+0FwNj1(xtu z`uz%ZkNQ6%kNIE;KLJs*^szlY@wj$_COM|}4=@beD*kpp|9M$GcB6glu3 z8-9oI?-G7I{v^D=7=4uLDqkMB$c81pZMN{=gKph>B;i+rtw;F1$$_7DVDW2@PjJP9 zn*8t>`FCPvqoz|Wx)a~$pgXbL|6@F=@+9@Mi1O{kLF(sIaJ5xl@Ev#1--3m+LJ$8y zQLKBL1iyQf^4Q})41Ege$@v0H{skM4s?3_KC?(2p6T6hlz>9437+CH*viyG^yv~Lj z!E%q1MZX3tcPUx;Ch%4pz8NfcAX#+zeeq$Ti zZTNriUyXmgeDG($6xt_uO6mCne+PUWbj^(K``~8iR{VE@?}KjX(`{e{x^B-AULLs{ z$9S0Ufo|OgCixq5I{T>!uiJ;omZTY_*|4WHa>>-K&5%3zYt}pd};pcN2RC(Cn zd5;mFWe>f6l=STWB~;)AO@4R`{o%wz9rWoo{4eBH;#*Hpk;g@(FL#3Ju^~_Uj*|X7 zTX^yJ>WiBE@GyQP{Hui5>znXjfuFVE)9+>e3A|K%L;oqb!aZDh%VpsH_ZjJ1_I;o4 z=n?Dx2>-`9@YxP59_{%NEO!$bkE$f_FZVF%?b+m)buW{}zjti@-^IUmACuHyT8V)z zd6syGZr9|8$KZd$h9f1&6L%;DbgE1F9=O7WaaNwS`CkG3I_UQJNAA$X8xQtOiK5&F z9d?0S%3r{%Z8$I$eFV1JV+6bg>^J>i0e%OpnV26%?)WnvRsV5fx&O~jcj6}E- z1@vs(r9R|2WTU?ey}?1R_=BeVlMv}=VxQRP1z_tQFo~}mY~A%Gcoo>Xzf16Duyr?= z;CI2+on3;{&tkrd`1_Nh-~zC9kCxyHuyt3K;9J1fomqli^mo#pM1Dm-tOKVJpG)GS z{r(9Y01M{?52ZisYr|K7vut=hxStK*zmEO^ehoF_pF{iaZ=>G@miDW+SJM9{IAzH@ z=}o+!D+}@OHq);Mt6(dCPl0_l{5kkA;Vu6K4`9#R=vRX?z*c!a183XtGw{cHL?7+N zK6q=NIUXQCr?z7s;NOaWK6n>cmk;Pw=-c;gIR8i32jC%Q{$F>*zYlx}x}`scl;V;5 z!sL8 zknHh2V&>24-(LsMBEMGq_y$~I!xDbm+nW6F82NSLk$=*3s?hn2cIW+QlHY~!Ptv!} zM{Eb5pD|p&-%{i;uwGFf01qQ-!RLbiD|5Iq$;7vT8_3V4q#*R)gLi^oH1U89=-0I2 z%JZiGIiznr!jBsr_$Lnhh6C#pk!A!Ee*82mHU$~~G&U@_;zqbCiAiAi~h9FwctHDnzEH>1m6d~ub2!0&A)`qu$tHBdY|IdLp+UUOp z&je?i^moAXz?mlg1iULtW6WWscNi@DRcD#>;`8bMhIQcwz|wzLoAkY4v6ly!xa}@Ol^DZRfjmG$2{QnFr z^DlI3diZ`9VPAF--i-eeu#D%kP5Nr^b(F{A?{naMt*bl@v#~dSWz089{11W`!5`6Y zf`fCgHwVB!GrvQ?F9tQnyat_HdG+&p0TY*j_n7Nf{TTHv0KaF$H(qSmztW5){>Q;$ zKbM&JFW~je-^-J&_>_|`p}gex@$VS^F8~LI(7$^Pyc#U_vz6bqmnn+OFIc$G<D>f=a)YL?zX<(TV43gJOnSk0(eKEoJlW8vfHxOf`SU1Gg6;Jc zoQFqS{WO8?_4PVf=40f}2}zHuP!+M)1uD6g2kR*Ytrum%lLhOiC+fG{8PxxpR3XsZ&>M_ z4i55unzxMb;<9Ndid9CHYV?Omp9)^Pf%a_TXTh@HXQqjB7LlJt?8k8#>5nI% z%#T_8dk8G!m(^zce*?>SWv3bbiB|L%{FL=qDgVF0V((b;vThmr19{Ik{olPpQDpzd zHWOd8lKT8H^Q9*K(<a3{{Xh@$4A?Z`BIC2kKBdFUucTlBcj*$-NtxR=6eN4 z*3k};XDhzDe`w4%$sHd;|HT8OXKU|DE+0i{R&pEb`Uk^GQc>K{oK@!5dl!in+uEx943{POc7e5*9CroKS`bW*YYajJ4Yd=QRSM=C>w zl|@xmiK^nlcyTCMrsU3y@insCs)DM#Xeb#C=T%1Yi}MOAi;Jp4g~jnuaU_{vS(M0) z_S$E$WFbGVeB{hIBS&5|ZRDJhEqS4lu_paT?m5oQ<#P(Txuwa_@)4E7_Enl%k=+ zL_8V^6;%~g=JOE}J)4D5z1qtEMonE$|Q#EM@2=w+5fUFaq5z1|3mGSI{HUV(&r zucpJI?DXh+uXMu2R+!$Wlh;|<|ABVxtU*bzcP!59eGTUIzT*Ca>gsh)dtaTsm-&e3 zm~iw6Dnw375#me2v2YR_s305)B?{t&g`rq1R2YvGahX3?Ls?aMe6NMV_aZCz zMb-zt3yp7#g`+r#=~W-+-YDJd@m}IEG(>wC!$5k!h$lxeEUzL z3m5BO+$oRO*CxuX4|foCyfUva6p2Nv^5U`l%1BpzAGb(d?dbSkJ6p%`y>@E)<9m%9 zM;gM%q30+f*4ddwG5ES^1w?-`fR zxj@=aG8Bn~nAc3Gn>6WcJKf1(rYM6L3R8^2Djzo*|3JM~{2wY_%Qk+O|KUrlJ z9|JS0yi>OGqesZL*%!;V({e9P#&v@sl4tA4>1PWIi;~10DGKEk(~+Ax^SEhu3i@$< zcIx}%`s~#5$MxB%+mGur+^GnU@3m9Vj_i-!w~t0D|h#Aq^< zQ@AH$s3&4xPsB)1#QdI!1w9daEK0PekVQQai+dnaeaB`W)>;q5o;Vcli9_L@IE04h zGe3!PzN*Imxs`lAFPh}zcrqvog%f6sh<~1#%b{R#re{$^eV=@-gz^$VX#SftJ?;Ez$$6 zr@R#O5U#KXTC@jRQ4h4@W7BAU$K)Bpc5GS?d_mNX9j*ty&`ZSY>zbO&>uVCZ#f%ri z(L}tmiaAZ@M9o$nZ(Q8aTyJUGXceFG8co z^J7Mf2r2WE@;&NA{es;55TmmE{A4ne496@%&y;!%9zK^LnI4dZgy}NTnNWPUNB#XfqLJ!4vU3 zECM6LdEKY+ijFYUWf01=y*d75DziAsj3l4w#oUjD9kYPNM+Waceq|tB7!Bt~qXqw` zxii_3BuVdk4oQdt2$F(M(rpGD5CjB-+}zE#6H!xL%`Qw$SECj#r;z#9mFTRDWJKmv z*MJYeH{gXAz5|bX0G)Ltc;K1fD+tiHP1+POWBDA4=%~-(5vYD^y_}}aD%Jf9l2~B z`k|4}c~tz3*Q;G0VtQ4ISWi3?@OS-4_7 zW88Kf(zsGuo5uMspHjb%l+Y-ty%@@}D_YK1<}L|Q1X>>gE8-X4l-fSZ=p!Ec!!>y7 zAwFipRiif*e?@MejN58XXRbN&dB6)S3+9KttZe!o9aO+?Lq=SSQ~Z%WNBk^(cdxERgNS7hwcA-xOv!opw~^^ zW?i31;Ht%G6bE9<1*WT5J^kV30V=53AL8DWc+`Y<_P4X>V4Whjq{U zPX5qI0HbHaNeN>PgYMh3rPF4&b98(}+ll+yFZ>JJslI&q=Iy)XH_yI)`CQglm1a3E zM;t;ZW~~yR-`r+zU31Z9qqfYhb^f4jqn^t$0(QzEFb@W5Ui;nK4XwhtbXJwD5 zb$-8QHkezu4aM#w_>C6}>kwb?S$5gC_vn)@;OJxNdmD~yBSD@>G*#D)LV?lk&=TaG zI~(SA@HW;I?O+>gvSFNf(fJ*m&L6gIWIx(~Z2o%8=1azG{v6M$GfJq9^MsAT&J3kr zzkm15`*+Ld&%Sy0{>_VWxkPQhzR#D-U%vP&Bu<%>b&*v~mi1|hGX~f7Nga1|=$BPF z5SmCbHbPzIRg*NiL4PcYj_A4?7TX?;7ahkbUUXbD@uH7tt91V6(>2GDFWlkQi1fmR z_{T+b5Gg;djqamXYShC5!z+~-ItI>*#mx<2th~+(`noKVLe+VN!|?xuCM>qnE8e~1 zGKd!)mqEPfxGThqj*=)^lw@@;-r_|cQR^7Vh}Sv_t!UAFe!u4P*NvTCR=~y^Fn`_T z^G7S6KLi}SGk3J|`9qM;AA(~35ES!=pqRf3iuqEmm_J&@{Lw1r4?!`12#WbbP|hEM za{dsM^M|0EKLq9cel6#(f^z;4l=Fw6oIeEB{2{334?#752&(x*P!YvCsk4m31G2FL z$k7*d*EDsl3Jk2u5N$8P(q&1xKn-Q%-^SXX>O=ElEP7w7-9N=MrT*V~zE1Z&!HtvS zLU7~ccjG##>O?nP-e)GwI+L2RDDie?eUXCQ0Uop1D*4f(gna#o#EZ^vz}C!(*E+7g zc+qk4$BT{=JYIB^6w#viHBJvtdFDI2hQtEVo6omxx$Zv#UH?AK+lTcURQvM&!x{kY z^5ORSuOIp)fLHaG2PR2hYom0Z=sxRnfV<~R5(g&_uIlt@Zg*U|``}yYg@pxCi321mQJ5Iq3R}G8xG7Q+jWb@H|F-b4TbPcWLTx*{~G8PJiGYr+Po{UM(6g|)-aED z?be|aFFI~m(V|=TTfFF*4QmT#0zOZ`F7LG}(>~Ret`mACtBP8tQll25K#P{N__c9o zs}5I*9bEAvS#R=U;hgR^5#w2B?(X}wgm;byDj2;M?zk2=pm&{KISrOi6JL(I9Y_-Q^%Gz@UQyrYt z_PV9@8(4=mSA)E0bfLP2)t(u>&98~JCmW@Fyy&Pp#*2V&FGMW&r9{NVbv5uloeZN&1e7aD zSgYH@?N;?iME>TU`m$fW1V;U#L8mL2LTOhHD3q;SetMRV-O=TUx3&_=&(X63?$@L@ zMOgz1YqhHTMLu?NyeI&Wlj|zKa*N0`tM&aNFUd6_2dC*koDmK60d{&!`Nd|-SyXG9 zidT6FGInYI2uyafG2iw)G$E*rppoV*-99%=eRn|avgshs=SCSGSN>`D08BH=( z2gWr^1{od6#0rU6OW8Nc1zOrzue_1nNM2>m%d2#~yh^{ytJ~R~!oh^7oq~)Oq0&3F ze+yGwn;VrnJp-8PaQ!_k0r8&Xn!tLA8d|%YFx&Z@v|VQ`wmdb-kTo>58jPVtQgTg} zEw&NOc+t_d5iOdY>-y~6m!sSOIxJbTnE~$$%0|_w8{&Luh9uKXl57LK(UMzZH(qp{ z;nAXcTw>9p*|a8e=mK@i7wB&YtV|U*U zZ>;3j#*N;7yNshnZThK;a>W|3g`Y%g-3r}!(Q$1?i%#NEv9?YkN716AB#ky;661;0 zI?AzVrK22;mfU)`;zj2_R62hOPNICV=buFRqDANTRdG%sMA14Ui^i=L6zI^Q{tP4> zbuA`d4T7&s2c0CQLKrXRmmE7eTIboO>2vKKJ4aVYENzCI1YBB!EX4X2ts1^-nUag=eW*3#2KCjkf{t$qgm|H8T ziP=R(?U~nBB;V|!^9Ppb{@hxL?$0hde-01^pId7(e-02apIa+o@YzM@_bajO*|pA} zS;_pVT|c7e{Ku;2KUO_|71Z;EW<7ggar4d{0z9Adi_RV`mCT;nDw+RS*4~*VGT?!l z{a99WnOW=n9)Rp-<|#4WztS?O7wYU)>pdea))8Fp?L4xPwU)%-j2hssuu=nBi6C_UD+5XKsBg2QT z-}y*A;`5fUiTCvGC!gEgt+%c*f3d!n2;jumE3pS#!hR*5#W6<-7h*XWj_%AtbfkEF?D(#i68TYoDNAM5CK-iGCH-QRR6 zFSpk=u}F6vxpzGo;>1DQ)Ft8R#K-%0Mts`0d(?bwgR@qX^PE;qIwYNaRu5V>#ax0*Pe$-sk1D4FTHGemY0>?PVwD?By{HrK!DC-Z<*PMyM}W}sYwSBS9I z{!Q}y5?G@7&^6e`TDvh)`JOa^ZnCnt zA5sZf-O!|v!)UnyOBi$9ol4Igk=vP~QWt<4^C#V~;yC+tPfT<1<$Co|APL9kmp~Fk zT7{Kwh25iB@bth709d>A9`~~>W(~P|4iiZ;ll7O|Mq6pn487o&+Mx!D?-ewfcCb%yRQ#^#FsE+pGNca=Y@>RhtjjFi&j2 zbg|(PXeWgl%Frm0lPX;<1P-981PE0MB}i4lP$Ws%vudcGT0@#VwFae5*Dx+03D2HN zqBiTb`Mg-XTYr`*{Z@9!X>hj8*+Dd&ld(s2#o!Z2j&&Nh^Zbl%t(>fRvX4)N<(^cp zG@cG3gBjRZWm0|q&Q{uN;b*y>Dojiv7(@3kgYNPKK8>wV*%o&1mTX*HAPldyAfFH> zqV!T@TfVYLh{Y~U%YzxeEH|kUcG8PK{CunJ5V1VL=3n7%t z+lkQJKA+OIH>Lz^UDDKjUKrBIaoL58`^U55w&Y_290bJD03MV~zL`s>K09p-x8-@^ zGvyY0H|C|!n?=NJ8=x&Hf}k9m-04B}PMZI2^+9y|EXHXQHg|msZ}JLhgF1@fL9@2?kE%nI-(MBj6$^Viy!{KoD~MkUzHVvQ3{1`)^;P{ zo-8ku6tGyr-i=TNNt|9YV zz=SD?w(Zgs9rDPP#i%#Ja|MnbplDNN&5$|e*=uGleu@szxgqxU83~bg zQ(fMzY<%wLwgVr(6stT-%T6~sO8|K_fWmC5pNb99Xw2+GHYDcixv-Dvv5w@=TQdq3 zjJXOUf-n#XbN6)mS##fZ19XL2q0b>h zt2($2cH6(zJu~1VOrth|+M`I4zUgGjPc*WOz4inO{K4Ik%Nw?bL_xm{r?jvy&KatS zIIqoSgA(esJ&e~|fGw=$9AeUjiP~0`DFWrS?6A8wnb)7)c30LY!_1MybR`@xcp6J=8j~WJ>>l;7-yyA!MwOVF1n(GU!BW_+hbLZXKMs_c(_}{{eAtNUnj| zqJSV=CYJM#|3Ewc0lLAV_n-r%mq62zCR(xkFg>hPjdJj%`RTUKtf6>v4PL1|)?YK* z;1%m*HH=b0CfCJ?!PLN}p7ur?Av|q^s5^B-C)n6=56v4E0aX89ys>M0aW?3z8sH{? zzylTxA?Y6*zPp=32_n0xb8oN)vlL1b04Stem+UhWb!=x(Q_60KZ!HERw_Xu0Ha%#S zyeTsXvp{D}*Wz?T+_`wWCz4mji3lVsRWJvWoHS`O%~RgrWjD0oZx1zxK9f`>^BUSDm|?PN;=G!Osmf`c4M_S9MDvHf{Z3>b1Y9-F0+=k>#j8oz z?kum=EidPo!*59()Vt;k;5ErYNQX@2S>@D*-Q<%ru?|Rge-i6I1OR+7;0?o9U{HRc z!JqaKJ$&I#c)hce zKj$5oigqXDKdG*Fp1s`h?oX_>5m9+!O^trp9dAu-Fn;O+@H?cVg@^h+y>iBmnN_3p zAg^IPB$=Wpw=6}IIk`jO!!;F0LtxA1%m!$kgq)a#zB`#h>IEBq(N`eu8P*mD^O2&N zQ*4u7bb}5Ta)yqokIhhDl5`BzfTk@JT8GJwHQASJlC*8$+v^pkf`W|uu%W)B@Q2q> z_f!KiC`(+Od%AJ`#(eto-jX$o(PEEHP~uGL*T2Rww^}dn9P?9;wb2-SlR24WCIy;H z|IDb2#5-G8s=C!O)GM5}PP?Y(I}r4`hyAH!r$y$C543+Yj2qk@zZXdf1xW6~V91Zf zCxg3_x>NnxtJlBS&E4UyP`wT*2=GDWh!3G%KN#fKjwUOf9^`SR;8Ums*R z<*EcXFP&ERq&$$U;tY#2Eh^MFNLv&;Z-P2El2K)NDGIzCfm+O_Pcj;u7@88;lni`hzK2I=xSjj!J zDHzu^o=G-|RF-(2LYfGu!S~{}(i0pt^kq>uWr0r+GF7tP=u59&9k10b44ZkXif8NH z_2noPWg1a0h71O?;!GosJgT&lJM%BknG+dVW9UIuUS@8Htttzy|K>&uA*?E2^Y3#$ zj@_(snK7(xf=!l0|qpU*=U2tmw;Y2%7a18j*UJ z)zK=LQhOdqB*WB7qigf7DT<6`jkblBfGlP&C9 zr>W>>L-sj_`5k1cqWUxiDRxQPNJGf*ByZYIt#}rnpBD&tg<(#D2tI3Q3u{2XVM>c1 z;76ihb@SsyW9&Y#zAxLG-rPRimCs+jc=q*sIsGDq#~szIHH0cq>St`A$GbBvd}v9G zdO}XPSjMjAHY81Ts;W^KvGO=$!S4E?b9}V=!aV&0H@3A}4inU?d-Gkt*K?kxmQbX+1 zB6dQUb4%!JjVV=q5*Um)rp3P<7;%%Vg-n&HSq`N1R?dbGI+ML{$KQuqRrG+id6+aI z_1yN?zXP?SZ5vY)-+GG4fILb$@x=$TcA9g9)i-TBL&9ArZo?F{deo=)Z2_mFz72@;-|Ug3O!Sz%ZF zk%J>)1z#+l-F}w%PkH~DG{xQ3i*w^Aej%rPqnck_?%l(LGh^2im}K2k8Ly2psa7!M81nGQ|ab z>BD?#U3z(`4Y|y z6^R~zAG^L4#Ze>7gbt$w|9l(#{>Pud-IUE2rR{(gMidkun%q5FvHN^$g_@In*4yXL zSLDyl&)uItn)P=!fXPO8?9VXggfONoX)tqOvnm8e!K?{^_(-dtN&)Y5f!IwBPpf3y z4|(6i*^)BALzCrs!bv#9EMe^k*7hMI=8gjNqf(Zfd-e;6x~#8R2Go1E@wR|Ggik=+ zzc9|8?t+;s@mza@?6*^~Ium2G@Q>-**&oSuf42tYLs0iSIZN~nA14nbiTylK*VmbW z9|G-cUgN!4b7Z2;yWWROF23Gdl^0*Hykx$-0w2r2yaI36U0y+Uastg8gJ9lX-U1&s zySxH#S6*Jhljp%xC$c&{laYjbK40aa7|Uu# zTR4m$_}7j}eB4ea5hg+n5=gViP^5IlkpV(E#mT%xIy9a@I}@U6iV9Ae6MD*c>k(d} z5-T3x2_$ul!~rJdkhB&6rAcx4?`Z)?uiXaXx<;8C*jY*#Ang-;d-G;-c6uQ)06#h* zv}}J)T%YxZSh2m`Tc8UAN5MIzIj&(qO;(k^pq?6Qo6LPeP`Di7DzWth0BhLdt$A~b zEbN_CVGhh|tEkxv<@>$pRL_y}U6ljg<0Ojd;nt&hu*Y@Ta(*6wKM;RV3<7_0k1JZ% z35%lTJR~M}1PISyX6o_CBB+vaW&*@TAz?sq#?u zi5w*~ui8VdL#g(`=19<32+ryO#!YZ;93qF&gULV& z7!EhY5w&fEc{AUEKn}ley0Wl> z)SN&s8;0w}f-nzu)nf5_^L9LP3UohVUplVD(P&I?(?xHVA1e870&=s_KgZef!7KXq z^T%d&GK=_ZkBG(KT{XmgGF=vlF2OA-D$em(}>?i)tN1c4tgkS%mP zDhbT|prQ^PMRxy)`kI1?et8X0czDd<#f{*|;L}yGPJdt#UUWDEtBiw936Axxb4rez zzVqgN#iFD1UDS^ z-1kcLP03kUVMZStc9G-G7uu{?62~{gLvN?40LU~1U^C$VwFe@Jggx#z*Fpx2!k8t=!EJ49;gPAn`*-MJ zUC&^s>^PQ{K+VKJ5py(hhvVSTy=MRn#!aw~(W@bR;u-A3Eqn4l8q#t2uOD#R7%-}2 z0)v|B62PQe6cB0S;K>p~Ae=r$92Ck5FH}9MO~3u>_4`*}gagCGN&(!(QSKm*NYPXz z1_yALI#SuZ=41hja(N9wSH8T4u#S$@K$ny*&g3FCK8P*i@ctUDY4OUxo4rZ*0FnoY zZhP`CU@Zn(VtXnM5%JG?0+r#`2)17C@RAz5r+o+D+pIT?9_gE?2F!dsE5PZ4b`a$r z_IgcLu&t$}ypaG@6h)Q6#bH|>t-yEh$qL9mBM)bQJ(+-NOWHD8z2>yeq6P%Rx%GD(A^Ghkonl`9jr!r4_Tlq5qC~h=V|{%g15qF~T{uj@ zyFUsnsNQg<3-0C|bhB3?a_~fWo;d^+`Gp6n3L_4}l)tE=(J4r5K`j_qCwj&CgPtBxQ#q+-HC$L-KH8IZd(yk#h15&L9H#JjKidUz?-9o2Dcq20H=hOeV>zo zTJb+V;~Z*{lB6-;VNs4`|Fq*vk-eZ)rNQtA$D?c4LStTF0aAMyOTW` zeF`0-V5iy;9gCooog9m34Z%`BSwnmQd9i(B`fFzp%kFe)y6>s`W`NcbxKt1LkC4vP z-{X}kp@AuRza+(z9j_o87HG& zT65e)FvSEeD^e>@1ycuwPhI)_EmlRKAOX60X%$&eLyuK4DjDc!s`d%1Vno|qy5(A+ z!#Qa+c;+e?BmmT<4%J%vMPgIHk?4!Xnlm;?2Y(|kl27om``-E_k57Vq#0ldeK^wA> zx^5u%+4&V7i(MPYZ!AeN$8ta^G^6d26owqcp&N3I#}Y<^95^!xqU0WzoD{MMdiIg^ zXZK_fz3>HqXd|5vfMA8^riC6u(%qe%+4DgRN`VV$?V6)>=xh@K@Ocr6TtfncFXA> zBQWpOMi_0@7|XxBh9__5!N$E@Aqc|d2{m}_?D86PKt){Klln{>#wo(?J;FLFE56?L zTdI=2;$Q*7mKtUSC{x%}?EH>S1MQ{r$;XdsGXcjrapPx`re*c49@E?E5@72}M|F?W_KfmK&f0tJ&_n-Mq{`IF<$v<6P{m(!0 zU-I&w{M$d|Rm%MqzyJ38KfC(3|8sTqzrvUNE!6j4eYxM}^&b~MyZXmJ_{r6u@IL&6 zazEt{H0esp{R`#(nR1%<;YYrcpFid|l>0CL-Ie=W`;Gf2l>2Xdl=db5JE`yQ{d;+l z@8nnR!9DMIu|MDc;ZLr97C!JQW#s2ee&t!i&)-w-U;gy!>i77=-%)`)hdln*{K_+g gpTBwildJy`KJXgq`%B(W%l$Lu{^B3D1w*<23*>sjkN^Mx literal 0 HcmV?d00001 diff --git a/examples/aggregation/programs/fibonacci/src/main.rs b/examples/aggregation/programs/fibonacci/src/main.rs new file mode 100644 index 0000000000..edad87d4c5 --- /dev/null +++ b/examples/aggregation/programs/fibonacci/src/main.rs @@ -0,0 +1,20 @@ +//! A simple fibonacci program to be proven inside the zkVM. + +#![no_main] +sp1_zkvm::entrypoint!(main); + +pub fn main() { + let n = sp1_zkvm::io::read::(); + let mut a: u128 = 0; + let mut b: u128 = 1; + let mut sum: u128; + + for _ in 1..n { + sum = a + b; + a = b; + b = sum; + } + + sp1_zkvm::io::commit(&n); + sp1_zkvm::io::commit(&b); +} diff --git a/examples/aggregation/script/Cargo.lock b/examples/aggregation/script/Cargo.lock new file mode 100644 index 0000000000..1c3f7fa511 --- /dev/null +++ b/examples/aggregation/script/Cargo.lock @@ -0,0 +1,5460 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addchain" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2e69442aa5628ea6951fa33e24efe8313f4321a91bd729fc2f75bdfc858570" +dependencies = [ + "num-bigint 0.3.3", + "num-integer", + "num-traits", +] + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "alloy" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-contract", + "alloy-core", + "alloy-eips", + "alloy-genesis", + "alloy-provider", + "alloy-rpc-client", + "alloy-serde", + "alloy-signer", + "alloy-signer-wallet", + "alloy-transport-http", + "reqwest 0.12.4", +] + +[[package]] +name = "alloy-consensus" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "serde", + "sha2", +] + +[[package]] +name = "alloy-contract" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-network", + "alloy-primitives", + "alloy-provider", + "alloy-rpc-types", + "alloy-sol-types", + "alloy-transport", + "futures", + "futures-util", + "thiserror", +] + +[[package]] +name = "alloy-core" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba1c115a94254b998be1e0318f06af03b72f54c631669cbd7801056a1bbd5701" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-types", +] + +[[package]] +name = "alloy-dyn-abi" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ab339ca7b4ea9115f0578c941abc80a171edf8e5eadd01e6c4237b68db8083" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-type-parser", + "alloy-sol-types", + "const-hex", + "itoa", + "serde", + "serde_json", + "winnow 0.6.7", +] + +[[package]] +name = "alloy-eips" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "c-kzg", + "once_cell", + "serde", +] + +[[package]] +name = "alloy-genesis" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-json-abi" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44294729c145cf7ae65feab544b5b81fb2bb7e2fd060214842eb3989a1e9d882" +dependencies = [ + "alloy-primitives", + "alloy-sol-type-parser", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-network" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-primitives", + "alloy-rpc-types", + "alloy-signer", + "async-trait", + "futures-utils-wasm", + "serde", + "thiserror", +] + +[[package]] +name = "alloy-primitives" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c715249705afa1e32be79dabfd35e2ef0f1cc02ad2cf48c9d1e20026ee637b" +dependencies = [ + "alloy-rlp", + "bytes", + "cfg-if", + "const-hex", + "derive_more", + "hex-literal", + "itoa", + "k256", + "keccak-asm", + "proptest", + "rand", + "ruint", + "serde", + "tiny-keccak", +] + +[[package]] +name = "alloy-provider" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "alloy-network", + "alloy-primitives", + "alloy-rpc-client", + "alloy-rpc-types", + "alloy-rpc-types-trace", + "alloy-transport", + "alloy-transport-http", + "async-stream", + "async-trait", + "auto_impl", + "dashmap", + "futures", + "lru", + "reqwest 0.12.4", + "serde_json", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "alloy-rlp" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d58d9f5da7b40e9bfff0b7e7816700be4019db97d4b6359fe7f94a9e22e42ac" +dependencies = [ + "alloy-rlp-derive", + "arrayvec", + "bytes", +] + +[[package]] +name = "alloy-rlp-derive" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a047897373be4bbb0224c1afdabca92648dc57a9c9ef6e7b0be3aff7a859c83" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "alloy-rpc-client" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "alloy-transport-http", + "futures", + "pin-project", + "reqwest 0.12.4", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower", + "tracing", + "url", +] + +[[package]] +name = "alloy-rpc-types" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types", + "itertools 0.12.1", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-rpc-types-trace" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types", + "alloy-serde", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-serde" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "elliptic-curve", + "k256", + "thiserror", +] + +[[package]] +name = "alloy-signer-wallet" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-consensus", + "alloy-network", + "alloy-primitives", + "alloy-signer", + "async-trait", + "k256", + "rand", + "thiserror", +] + +[[package]] +name = "alloy-sol-macro" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef9a94a27345fb31e3fcb5f5e9f592bb4847493b07fa1e47dd9fde2222f2e28" +dependencies = [ + "alloy-json-abi", + "alloy-sol-macro-input", + "const-hex", + "heck 0.4.1", + "indexmap 2.2.6", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.60", + "syn-solidity", + "tiny-keccak", +] + +[[package]] +name = "alloy-sol-macro-input" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31fe73cd259527e24dc2dbfe64bc95e5ddfcd2b2731f670a11ff72b2be2c25b" +dependencies = [ + "alloy-json-abi", + "const-hex", + "dunce", + "heck 0.5.0", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.60", + "syn-solidity", +] + +[[package]] +name = "alloy-sol-type-parser" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c8d6e74e4feeaa2bcfdecfd3da247ab53c67bd654ba1907270c32e02b142331" +dependencies = [ + "winnow 0.6.7", +] + +[[package]] +name = "alloy-sol-types" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afaffed78bfb17526375754931e045f96018aa810844b29c7aef823266dd4b4b" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-macro", + "const-hex", + "serde", +] + +[[package]] +name = "alloy-transport" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "base64 0.22.1", + "futures-util", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower", + "url", + "wasm-bindgen-futures", +] + +[[package]] +name = "alloy-transport-http" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "reqwest 0.12.4", + "serde_json", + "tower", + "url", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] + +[[package]] +name = "anstream" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" + +[[package]] +name = "anstyle-parse" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint 0.4.4", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint 0.4.4", + "num-traits", + "paste", + "rustc_version 0.4.0", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint 0.4.4", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint 0.4.4", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std 0.3.0", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint 0.4.4", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "array-macro" +version = "2.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "220a2c618ab466efe41d0eace94dfeff1c35e3aa47891bdb95e1c0fefffd3c99" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "async-trait" +version = "0.1.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "auto_impl" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "autocfg" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" + +[[package]] +name = "axum" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1236b4b292f6c4d6dc34604bb5120d85c3fe1d1aa596bd5cc52ca054d13e7b9e" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "backtrace" +version = "0.3.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "serde", +] + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "blake2b_simd" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" +dependencies = [ + "arrayref", + "arrayvec", + "constant_time_eq", +] + +[[package]] +name = "blake3" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "rayon", +] + +[[package]] +name = "blake3-zkvm" +version = "0.1.0" +source = "git+https://github.com/sp1-patches/BLAKE3.git?branch=patch-blake3_zkvm/v.1.0.0#bac2d59f9122b07a4d91475560b4c3214ae62444" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "bls12_381" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3c196a77437e7cc2fb515ce413a6401291578b5afc8ecb29a3c7ab957f05941" +dependencies = [ + "ff 0.12.1", + "group 0.12.1", + "pairing", + "rand_core", + "subtle", +] + +[[package]] +name = "blst" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c94087b935a822949d3291a9989ad2b2051ea141eda0fd4e478a75f6aa3e604b" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +dependencies = [ + "serde", +] + +[[package]] +name = "c-kzg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3130f3d8717cc02e668a896af24984d5d5d4e8bf12e278e982e0f1bd88a0f9af" +dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "serde", +] + +[[package]] +name = "camino" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.22", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "cc" +version = "1.0.96" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "065a29261d53ba54260972629f9ca6bffa69bac13cd1fed61420f7fa68b9f8bd" +dependencies = [ + "jobserver", + "libc", + "once_cell", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "serde", + "windows-targets 0.52.5", +] + +[[package]] +name = "clap" +version = "4.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim 0.11.1", +] + +[[package]] +name = "clap_derive" +version = "4.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "clap_lex" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.52.0", +] + +[[package]] +name = "const-hex" +version = "1.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ba00838774b4ab0233e355d26710fbfc8327a05c017f6dc4873f876d1f79f78" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "constant_time_eq" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crossbeam" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array 0.14.7", + "rand_core", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array 0.14.7", + "typenum", +] + +[[package]] +name = "curve25519-dalek" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "fiat-crypto", + "platforms", + "rustc_version 0.4.0", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "darling" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 2.0.60", +] + +[[package]] +name = "darling_macro" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "data-encoding" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version 0.4.0", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "dotenv" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "dunce" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "either" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" + +[[package]] +name = "elf" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4445909572dbd556c457c849c4ca58623d84b27c8fff1e74b0b4227d8b90d17b" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff 0.13.0", + "generic-array 0.14.7", + "group 0.13.0", + "pkcs8", + "rand_core", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum-as-inner" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + +[[package]] +name = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "ff" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" +dependencies = [ + "bitvec", + "rand_core", + "subtle", +] + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "bitvec", + "byteorder", + "ff_derive", + "rand_core", + "subtle", +] + +[[package]] +name = "ff_derive" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9f54704be45ed286151c5e11531316eaef5b8f5af7d597b806fdb8af108d84a" +dependencies = [ + "addchain", + "cfg-if", + "num-bigint 0.3.3", + "num-integer", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38793c55593b33412e3ae40c2c9781ffaa6f438f6f8c10f24e71846fbd7ae01e" + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "futures-utils-wasm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" + +[[package]] +name = "gcd" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "generic-array" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe739944a5406424e080edccb6add95685130b9f160d5407c639c7df0c5836b0" +dependencies = [ + "serde", + "typenum", +] + +[[package]] +name = "getrandom" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "git2" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" +dependencies = [ + "bitflags 2.5.0", + "libc", + "libgit2-sys", + "log", + "url", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "group" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" +dependencies = [ + "ff 0.12.1", + "memuse", + "rand_core", + "subtle", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff 0.13.0", + "rand_core", + "subtle", +] + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 1.1.0", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "halo2" +version = "0.1.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a23c779b38253fe1538102da44ad5bd5378495a61d2c4ee18d64eaa61ae5995" +dependencies = [ + "halo2_proofs", +] + +[[package]] +name = "halo2_proofs" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e925780549adee8364c7f2b685c753f6f3df23bde520c67416e93bf615933760" +dependencies = [ + "blake2b_simd", + "ff 0.12.1", + "group 0.12.1", + "pasta_curves 0.4.1", + "rand_core", + "rayon", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "hickory-proto" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna 0.4.0", + "ipnet", + "once_cell", + "rand", + "thiserror", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "hickory-resolver" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28757f23aa75c98f254cf0405e6d8c25b831b32921b050a66692427679b1f243" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-proto", + "ipconfig", + "lru-cache", + "once_cell", + "parking_lot", + "rand", + "resolv-conf", + "smallvec", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +dependencies = [ + "bytes", + "futures-core", + "http 1.1.0", + "http-body 1.0.0", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.4", + "http 1.1.0", + "http-body 1.0.0", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +dependencies = [ + "futures-util", + "http 0.2.12", + "hyper 0.14.28", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper 0.14.28", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.3.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.3.1", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "indicatif" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +dependencies = [ + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ipconfig" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" +dependencies = [ + "socket2", + "widestring", + "windows-sys 0.48.0", + "winreg 0.50.0", +] + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "jobserver" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jubjub" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a575df5f985fe1cd5b2b05664ff6accfc46559032b954529fd225a2168d27b0f" +dependencies = [ + "bitvec", + "bls12_381", + "ff 0.12.1", + "group 0.12.1", + "rand_core", + "subtle", +] + +[[package]] +name = "k256" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2", + "signature", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "keccak-asm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb8515fff80ed850aea4a1595f2e519c003e2a00a82fe168ebf5269196caf444" +dependencies = [ + "digest 0.10.7", + "sha3-asm", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin 0.5.2", +] + +[[package]] +name = "libc" +version = "0.2.154" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" + +[[package]] +name = "libgit2-sys" +version = "0.16.2+1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" +dependencies = [ + "cc", + "libc", + "libz-sys", + "pkg-config", +] + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.5.0", + "libc", +] + +[[package]] +name = "libz-sys" +version = "1.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "lru" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] +name = "lru-cache" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "memchr" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" + +[[package]] +name = "memuse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "miniz_oxide" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +dependencies = [ + "num-bigint 0.4.4", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-bigint 0.4.4", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.5.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "p3-air" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-field", + "p3-matrix", +] + +[[package]] +name = "p3-baby-bear" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "num-bigint 0.4.4", + "p3-field", + "p3-mds", + "p3-poseidon2", + "p3-symmetric", + "rand", + "serde", +] + +[[package]] +name = "p3-blake3" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "blake3", + "p3-symmetric", +] + +[[package]] +name = "p3-bn254-fr" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "ff 0.13.0", + "num-bigint 0.4.4", + "p3-field", + "p3-poseidon2", + "p3-symmetric", + "rand", + "serde", +] + +[[package]] +name = "p3-challenger" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-field", + "p3-maybe-rayon", + "p3-symmetric", + "p3-util", + "tracing", +] + +[[package]] +name = "p3-commit" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-challenger", + "p3-field", + "p3-matrix", + "p3-util", + "serde", +] + +[[package]] +name = "p3-dft" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "tracing", +] + +[[package]] +name = "p3-field" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "num-bigint 0.4.4", + "num-traits", + "p3-util", + "rand", + "serde", +] + +[[package]] +name = "p3-fri" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-interpolation", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "serde", + "tracing", +] + +[[package]] +name = "p3-interpolation" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-field", + "p3-matrix", + "p3-util", +] + +[[package]] +name = "p3-keccak" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-symmetric", + "tiny-keccak", +] + +[[package]] +name = "p3-keccak-air" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "p3-air", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "tracing", +] + +[[package]] +name = "p3-matrix" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-field", + "p3-maybe-rayon", + "p3-util", + "rand", + "serde", + "tracing", +] + +[[package]] +name = "p3-maybe-rayon" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "rayon", +] + +[[package]] +name = "p3-mds" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-dft", + "p3-field", + "p3-matrix", + "p3-symmetric", + "p3-util", + "rand", +] + +[[package]] +name = "p3-merkle-tree" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-commit", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-symmetric", + "p3-util", + "serde", + "tracing", +] + +[[package]] +name = "p3-poseidon2" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "gcd", + "p3-field", + "p3-mds", + "p3-symmetric", + "rand", +] + +[[package]] +name = "p3-symmetric" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-field", + "serde", +] + +[[package]] +name = "p3-uni-stark" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "itertools 0.12.1", + "p3-air", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "serde", + "tracing", +] + +[[package]] +name = "p3-util" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +dependencies = [ + "serde", +] + +[[package]] +name = "pairing" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135590d8bdba2b31346f9cd1fb2a912329f5135e832a4f422942eb6ead8b6b3b" +dependencies = [ + "group 0.12.1", +] + +[[package]] +name = "parity-scale-codec" +version = "3.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +dependencies = [ + "proc-macro-crate 2.0.2", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parking_lot" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.5", +] + +[[package]] +name = "pasta_curves" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc65faf8e7313b4b1fbaa9f7ca917a0eed499a9663be71477f87993604341d8" +dependencies = [ + "blake2b_simd", + "ff 0.12.1", + "group 0.12.1", + "lazy_static", + "rand", + "static_assertions", + "subtle", +] + +[[package]] +name = "pasta_curves" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" +dependencies = [ + "blake2b_simd", + "ff 0.13.0", + "group 0.13.0", + "lazy_static", + "rand", + "static_assertions", + "subtle", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pest" +version = "2.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "platforms" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" + +[[package]] +name = "portable-atomic" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime", + "toml_edit 0.20.2", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proptest" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags 2.5.0", + "lazy_static", + "num-traits", + "rand", + "rand_chacha", + "rand_xorshift", + "regex-syntax 0.8.3", + "rusty-fork", + "tempfile", + "unarray", +] + +[[package]] +name = "prost" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-derive" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "prost-types" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" +dependencies = [ + "prost", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "rayon-scan" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f87cc11a0140b4b0da0ffc889885760c61b13672d80a908920b2c0df078fa14" +dependencies = [ + "rayon", +] + +[[package]] +name = "redox_syscall" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +dependencies = [ + "bitflags 2.5.0", +] + +[[package]] +name = "redox_users" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.3.26", + "hickory-resolver", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.28", + "hyper-rustls", + "hyper-tls 0.5.0", + "ipnet", + "js-sys", + "log", + "mime", + "mime_guess", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-native-tls", + "tokio-rustls", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots", + "winreg 0.50.0", +] + +[[package]] +name = "reqwest" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-tls 0.6.0", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile 2.1.2", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg 0.52.0", +] + +[[package]] +name = "reqwest-middleware" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a735987236a8e238bf0296c7e351b999c188ccc11477f311b82b55c93984216" +dependencies = [ + "anyhow", + "async-trait", + "http 0.2.12", + "reqwest 0.11.27", + "serde", + "task-local-extensions", + "thiserror", +] + +[[package]] +name = "resolv-conf" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" +dependencies = [ + "hostname", + "quick-error", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin 0.9.8", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rustc-hex", +] + +[[package]] +name = "rrs-lib" +version = "0.1.0" +source = "git+https://github.com/GregAC/rrs.git#b23afc16b4e6a1fb5c4a73eb1e337e9400816507" +dependencies = [ + "downcast-rs", + "num_enum", + "paste", +] + +[[package]] +name = "ruint" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f308135fef9fc398342da5472ce7c484529df23743fb7c734e0f3d472971e62" +dependencies = [ + "alloy-rlp", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "bytes", + "fastrlp", + "num-bigint 0.4.4", + "num-traits", + "parity-scale-codec", + "primitive-types", + "proptest", + "rand", + "rlp", + "ruint-macro", + "serde", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f86854cf50259291520509879a5c294c3c9a4c334e9ff65071c51e42ef1e2343" + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver 1.0.22", +] + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.5.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.21.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +dependencies = [ + "log", + "ring", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "beb461507cee2c2ff151784c52762cf4d9ff6a61f3e80968600ed24fa837fa54" + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ryu" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" + +[[package]] +name = "scale-info" +version = "2.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c453e59a955f81fb62ee5d596b450383d699f152d350e9d23a0db2adb78e4c0" +dependencies = [ + "cfg-if", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "2.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18cf6c6447f813ef19eb450e985bcce6705f9ce7660db221b59093d15c79c4b7" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scc" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec96560eea317a9cc4e0bb1f6a2c93c09a19b8c4fc5cb3fcc0ec1c094cd783e2" +dependencies = [ + "sdd", +] + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "sdd" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array 0.14.7", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "security-framework" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +dependencies = [ + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[package]] +name = "serde" +version = "1.0.200" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.200" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "serde_json" +version = "1.0.116" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +dependencies = [ + "itoa", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.2.6", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "serial_test" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" +dependencies = [ + "futures", + "log", + "once_cell", + "parking_lot", + "scc", + "serial_test_derive", +] + +[[package]] +name = "serial_test_derive" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "sha3-asm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bac61da6b35ad76b195eb4771210f947734321a8d81d7738e1580d953bc7a15e" +dependencies = [ + "cc", + "cfg-if", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core", +] + +[[package]] +name = "size" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fed904c7fb2856d868b92464fc8fa597fce366edea1a9cbfaa8cb5fe080bd6d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "snowbridge-amcl" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460a9ed63cdf03c1b9847e8a12a5f5ba19c4efd5869e4a737e05be25d7c427e5" +dependencies = [ + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "sp1-aggregation-example-script" +version = "0.1.0" +dependencies = [ + "hex", + "sp1-helper", + "sp1-sdk", + "tracing", +] + +[[package]] +name = "sp1-core" +version = "0.1.0" +dependencies = [ + "anyhow", + "arrayref", + "bincode", + "blake3", + "blake3-zkvm", + "cfg-if", + "curve25519-dalek", + "elf", + "elliptic-curve", + "generic-array 1.0.0", + "hex", + "itertools 0.12.1", + "k256", + "log", + "nohash-hasher", + "num", + "num_cpus", + "p3-air", + "p3-baby-bear", + "p3-blake3", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-fri", + "p3-keccak", + "p3-keccak-air", + "p3-matrix", + "p3-maybe-rayon", + "p3-merkle-tree", + "p3-poseidon2", + "p3-symmetric", + "p3-uni-stark", + "p3-util", + "rayon-scan", + "rrs-lib", + "serde", + "serde_with", + "serial_test", + "size", + "snowbridge-amcl", + "sp1-derive", + "sp1-primitives", + "strum", + "strum_macros", + "tempfile", + "tracing", + "tracing-forest", + "tracing-subscriber", + "typenum", + "web-time", +] + +[[package]] +name = "sp1-derive" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp1-helper" +version = "0.1.0" +dependencies = [ + "cargo_metadata", + "chrono", +] + +[[package]] +name = "sp1-primitives" +version = "0.1.0" +dependencies = [ + "itertools 0.12.1", + "lazy_static", + "p3-baby-bear", + "p3-field", + "p3-poseidon2", + "p3-symmetric", +] + +[[package]] +name = "sp1-prover" +version = "0.1.0" +dependencies = [ + "anyhow", + "backtrace", + "bincode", + "clap", + "dirs", + "futures", + "hex", + "indicatif", + "itertools 0.12.1", + "p3-baby-bear", + "p3-bn254-fr", + "p3-challenger", + "p3-commit", + "p3-field", + "rayon", + "reqwest 0.11.27", + "serde", + "serde_json", + "serial_test", + "sha2", + "size", + "sp1-core", + "sp1-primitives", + "sp1-recursion-circuit", + "sp1-recursion-compiler", + "sp1-recursion-core", + "sp1-recursion-gnark-ffi", + "sp1-recursion-program", + "subtle-encoding", + "tempfile", + "tokio", + "tracing", + "tracing-appender", + "tracing-subscriber", +] + +[[package]] +name = "sp1-recursion-circuit" +version = "0.1.0" +dependencies = [ + "bincode", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-bn254-fr", + "p3-commit", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-util", + "serde", + "sp1-core", + "sp1-recursion-compiler", + "sp1-recursion-core", + "sp1-recursion-derive", + "sp1-recursion-program", +] + +[[package]] +name = "sp1-recursion-compiler" +version = "0.1.0" +dependencies = [ + "backtrace", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-bn254-fr", + "p3-commit", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-poseidon2", + "p3-symmetric", + "p3-util", + "serde", + "serde_json", + "serial_test", + "sp1-core", + "sp1-recursion-core", + "sp1-recursion-derive", + "tracing", +] + +[[package]] +name = "sp1-recursion-core" +version = "0.1.0" +dependencies = [ + "arrayref", + "backtrace", + "ff 0.13.0", + "hashbrown 0.14.5", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-bn254-fr", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-maybe-rayon", + "p3-merkle-tree", + "p3-poseidon2", + "p3-symmetric", + "serde", + "serde_with", + "sp1-core", + "sp1-derive", + "sp1-primitives", + "static_assertions", + "tracing", + "zkhash", +] + +[[package]] +name = "sp1-recursion-derive" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp1-recursion-gnark-ffi" +version = "0.1.0" +dependencies = [ + "crossbeam", + "log", + "p3-field", + "rand", + "reqwest 0.11.27", + "serde", + "serde_json", + "sp1-recursion-compiler", + "subtle-encoding", + "tempfile", +] + +[[package]] +name = "sp1-recursion-program" +version = "0.1.0" +dependencies = [ + "array-macro", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-merkle-tree", + "p3-poseidon2", + "p3-symmetric", + "p3-util", + "rand", + "serde", + "sp1-core", + "sp1-recursion-compiler", + "sp1-recursion-core", + "tracing", +] + +[[package]] +name = "sp1-sdk" +version = "0.1.0" +dependencies = [ + "alloy", + "anyhow", + "async-trait", + "axum", + "bincode", + "dirs", + "dotenv", + "futures", + "hex", + "indicatif", + "log", + "p3-commit", + "p3-field", + "p3-matrix", + "prost", + "prost-types", + "reqwest 0.11.27", + "reqwest-middleware", + "serde", + "serde_json", + "sha2", + "sp1-core", + "sp1-prover", + "tempfile", + "tokio", + "tracing", + "twirp", + "vergen", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" + +[[package]] +name = "strum_macros" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.60", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "subtle-encoding" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" +dependencies = [ + "zeroize", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn-solidity" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70aba06097b6eda3c15f6eebab8a6339e121475bcf08bbe6758807e716c372a1" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "task-local-extensions" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba323866e5d033818e3240feeb9f7db2c4296674e4d9e16b97b7bf8f490434e8" +dependencies = [ + "pin-utils", +] + +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if", + "fastrand", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "thiserror" +version = "1.0.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "tokio-util" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror", + "time", + "tracing-subscriber", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-forest" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee40835db14ddd1e3ba414292272eddde9dad04d3d4b65509656414d1c42592f" +dependencies = [ + "ansi_term", + "smallvec", + "thiserror", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "twirp" +version = "0.3.0" +source = "git+https://github.com/github/twirp-rs.git?rev=93d4e4b#93d4e4b4a48f9112c943d2925e8dbb1106bd6a18" +dependencies = [ + "async-trait", + "axum", + "bytes", + "futures", + "http 1.1.0", + "http-body-util", + "hyper 1.3.1", + "prost", + "reqwest 0.11.27", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower", + "url", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-width" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna 0.5.0", + "percent-encoding", +] + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "vergen" +version = "8.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525" +dependencies = [ + "anyhow", + "cfg-if", + "git2", + "rustversion", + "time", +] + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.60", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "wasm-streams" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "widestring" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14b9415ee827af173ebb3f15f9083df5a122eb93572ec28741fb153356ea2578" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "zkhash" +version = "0.2.0" +source = "git+https://github.com/HorizenLabs/poseidon2#bb476b9ca38198cf5092487283c8b8c5d4317c4e" +dependencies = [ + "ark-ff 0.4.2", + "ark-std 0.4.0", + "bitvec", + "blake2", + "bls12_381", + "byteorder", + "cfg-if", + "group 0.12.1", + "group 0.13.0", + "halo2", + "hex", + "jubjub", + "lazy_static", + "pasta_curves 0.5.1", + "rand", + "serde", + "sha2", + "sha3", + "subtle", +] diff --git a/examples/aggregation/script/Cargo.toml b/examples/aggregation/script/Cargo.toml new file mode 100644 index 0000000000..edd7eddec0 --- /dev/null +++ b/examples/aggregation/script/Cargo.toml @@ -0,0 +1,13 @@ +[package] +version = "0.1.0" +name = "sp1-aggregation-example-script" +edition = "2021" +default-run = "sp1-aggregation-example-script" + +[dependencies] +hex = "0.4.3" +sp1-sdk = { path = "../../../sdk" } +tracing = "0.1.40" + +[build-dependencies] +sp1-helper = { path = "../../../helper" } \ No newline at end of file diff --git a/examples/aggregation/script/build.rs b/examples/aggregation/script/build.rs new file mode 100644 index 0000000000..4717ffebf9 --- /dev/null +++ b/examples/aggregation/script/build.rs @@ -0,0 +1,10 @@ +fn main() { + sp1_helper::build_program(&format!( + "{}/../programs/aggregation", + env!("CARGO_MANIFEST_DIR") + )); + sp1_helper::build_program(&format!( + "{}/../programs/fibonacci", + env!("CARGO_MANIFEST_DIR") + )); +} diff --git a/examples/aggregation/script/rust-toolchain b/examples/aggregation/script/rust-toolchain new file mode 100644 index 0000000000..3a306210c9 --- /dev/null +++ b/examples/aggregation/script/rust-toolchain @@ -0,0 +1,3 @@ +[toolchain] +channel = "nightly-2024-04-17" +components = ["llvm-tools", "rustc-dev"] \ No newline at end of file diff --git a/examples/aggregation/script/src/main.rs b/examples/aggregation/script/src/main.rs new file mode 100644 index 0000000000..7f48d90ed1 --- /dev/null +++ b/examples/aggregation/script/src/main.rs @@ -0,0 +1,101 @@ +//! A simple example showing how to aggregate proofs of multiple programs with SP1. + +use sp1_sdk::{HashableKey, ProverClient, SP1CompressedProof, SP1Stdin, SP1VerifyingKey}; + +/// A program that aggregates the proofs of the simple program. +const AGGREGATION_ELF: &[u8] = + include_bytes!("../../programs/aggregation/elf/riscv32im-succinct-zkvm-elf"); + +/// A program that just runs a simple computation. +const FIBONACCI_ELF: &[u8] = + include_bytes!("../../programs/fibonacci/elf/riscv32im-succinct-zkvm-elf"); + +/// An input to the aggregation program. +/// +/// Consists of a proof and a verification key. +struct AggregationInput { + pub proof: SP1CompressedProof, + pub vk: SP1VerifyingKey, +} + +fn main() { + // Setup the logger. + sp1_sdk::utils::setup_logger(); + + // Initialize the proving client. + let client = ProverClient::new(); + + // Setup the proving and verifying keys. + let (aggregation_pk, _) = client.setup(AGGREGATION_ELF); + let (fibonacci_pk, fibonacci_vk) = client.setup(FIBONACCI_ELF); + + // Generate the fibonacci proofs. + let proof_1 = tracing::info_span!("generate fibonacci proof n=10").in_scope(|| { + let mut stdin = SP1Stdin::new(); + stdin.write(&10); + client + .prove_compressed(&fibonacci_pk, stdin) + .expect("proving failed") + }); + let proof_2 = tracing::info_span!("generate fibonacci proof n=20").in_scope(|| { + let mut stdin = SP1Stdin::new(); + stdin.write(&20); + client + .prove_compressed(&fibonacci_pk, stdin) + .expect("proving failed") + }); + let proof_3 = tracing::info_span!("generate fibonacci proof n=30").in_scope(|| { + let mut stdin = SP1Stdin::new(); + stdin.write(&30); + client + .prove_compressed(&fibonacci_pk, stdin) + .expect("proving failed") + }); + + // Setup the inputs to the aggregation program. + let input_1 = AggregationInput { + proof: proof_1, + vk: fibonacci_vk.clone(), + }; + let input_2 = AggregationInput { + proof: proof_2, + vk: fibonacci_vk.clone(), + }; + let input_3 = AggregationInput { + proof: proof_3, + vk: fibonacci_vk.clone(), + }; + let inputs = vec![input_1, input_2, input_3]; + + // Aggregate the proofs. + tracing::info_span!("aggregate the proofs").in_scope(|| { + let mut stdin = SP1Stdin::new(); + + // Write the verification keys. + let vkeys = inputs + .iter() + .map(|input| input.vk.hash_u32()) + .collect::>(); + stdin.write::>(&vkeys); + + // Write the public values. + let public_values = inputs + .iter() + .map(|input| input.proof.public_values.to_vec()) + .collect::>(); + stdin.write::>>(&public_values); + + // Write the proofs. + // + // Note: this data will not actually be read by the aggregation program, instead it will be + // witnessed by the prover during the recursive aggregation process inside SP1 itself. + for input in inputs { + stdin.write_proof(input.proof.proof, input.vk.vk); + } + + // Generate the groth16 proof. + client + .prove_groth16(&aggregation_pk, stdin) + .expect("proving failed"); + }); +} diff --git a/examples/chess/program/Cargo.lock b/examples/chess/program/Cargo.lock index d9e7b4f607..56d9149d8c 100644 --- a/examples/chess/program/Cargo.lock +++ b/examples/chess/program/Cargo.lock @@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" [[package]] name = "arrayvec" @@ -298,9 +298,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -382,9 +382,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.153" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libm" @@ -415,9 +415,9 @@ checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" [[package]] name = "num" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ "num-bigint", "num-complex", @@ -429,20 +429,19 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] @@ -458,9 +457,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -469,11 +468,10 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", "num-traits", @@ -481,9 +479,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] @@ -719,18 +717,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" dependencies = [ "proc-macro2", "quote", diff --git a/examples/chess/program/elf/riscv32im-succinct-zkvm-elf b/examples/chess/program/elf/riscv32im-succinct-zkvm-elf index 1a6eeeda163da57f70f8a0d1a9cdd557984cf4d8..9484a6e6eff5ca07d11d302444a204964a4e8884 100755 GIT binary patch delta 29472 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 Qr1#5s>7^WaJtiOjAEY^6g#Z8m delta 29177 zcmbuo349bq`u|_m$%KR>OfoqjNe>eyKnP?q_W=n6NB|e)5EfBUnN#kBQ$TP6WB?U4 zI6wu(6;?o0R1kF7U38;M_@ax7U)f!B+3%tt9t#SJD=L!Tr+T_4lL3kU*S~!=-S4WW zs-Al4siUiV;_+vf?0I%cL$|bv1v+9SgdAI6xJo?uVm{$#G6IO25Q@w0p(5GssUW-8 zzu};@dw+PNgRrqQd@xljkf*~ZQ_TXo6jrA_p0}~ov7?Y^RH21oRVC4+5Xz9lXLWTO z!iUoC`o(DSaJanVi`tE)nq(Den?nDx=w@XjPTJ;J*Xqx*jbzYmtaya70I>ml&ijFYLRB|d#AHC zsY6u1`hBVDkEpOJlc_t>g2ys@3U%q>qRgHtbyGE=G!m}OE-1>?^TfmEa0SCDw#Awh z9npkTBpga1xf7&}cZR2Q>YnSB)EgqJnIx;(C0v`S9s1kFQvEuFmS|GcG@P;mS#%(5 z9EFvdD5^kE15=NjIrFXjCNGlG1C4cflbcno1R}(UehD_$ke>!n)33)JU^1`AT@fr6kQH zAFr+uAC<2qGIF0TvmfD!#qnVebW;!=ccPVuJ|-}J>}+qFWjv_ zt4lU%Ldi*JrR1=RD7D|MFG)6PRBECx4o@nm&8+MTV=IwKJnL|gIO#Vklm0oCQNK%N z^k%}YToaXQlcdq=<}GpNIxcAguMdY*rf?_(IjE3AIz+AAv@3i_+$1zT8lIvZAdq$Y z8nsucP&aX3qwaQ^*8F5N$LjD;h5a(Bw{Z%uR&AF;*Qmmdo;}d!xAq(+pv|}R94Zi9 z_*73Vy6$6o^jtBl)Bm?)-7wyuN!75kuE;Dj4GvE%x&#yvSaS*V*C zZrt{Jq0+st{P&Bf&~($j{ZDsv2;{?kO&`75i4O*g&kh$z_i)qMne?N5{Xc^c^4R`) zS4y{s_kZz;ws|KvTNo#6;EvSPg;(7XDo1sjckJ8$Wgv-G@5}$nkt8(L?3;M;bt;5j z3TJ)$rLg)Rk6l_RJaTWi{?d=an%r>RcLRi#j_|?no->fH;S@qN9dP2x+sUD-AmI+7 zdo`&fIh?8^VL?qC+2}b*p_ThK{I??&R(}xQ`hAYD=DqNN?;jK32cs_!7phl;H(Z{S zQ~6&$W@+H@;SfAt*U|!){_e3K&Kl~@>eJU3XjJcuVbzc-hXN+(gF@-}u*pl5l+ z_9XfU6I65vo1aV{W#(i$Br;4z9fDBVg*El21#Dbzn$2G5KyMT3l6i=YRisk4Kz?Fd zQ|VU%Ima5(=--99|BFoPNH@{!?{dScCV1;ML0__09u2CQrZXLz{z|tRjP8+MFj(l7 zZmhO5H5X(XG$}Mm-}{YZP0C(DU;IY0w@#JLTkUDWUhhoHM}`cV>}=vKP-TTfhlm5I zH7V8IHL4-Wvdi|8{Ha&S5K)o3aOk@h%feTPH&2zNuTPc+F*&!PUFZ~{IiGFqLf@s; ztR|gWN~^c(`|nNG8@44oY<#p+ZPn|xrRaOo6nzm*k-}0`TcvAR0vswQDJfCgsQT)QV2j=`VSg$}HCBZ*?1Y+rnYXz#I+Rpm4B*bv)Z*2u(3>`wvXdEf zOx}is_{txm@f%86RVMw75c-%kWYT%p=JTIeJ_Q=O^qPF?K8fYCM-$7(z)G@cm4L!) zvuF;#uFbkm;-2B1*V^4IWT9v9)-!sIz7SkM- z(Ve=4wFWl2JMB)3SfD%AxvpvXLt)ia_$?-oancCWO&Vdi0%$LN(YC0!s#NUH-Dw$I z?(6O-Ec828lt=IC8FK22$5VaD5UTIIf;`>XM7={XrKaQ%eNnR$IXKz&Jo=yzvNK~o zj0+DKnNPJm{j_{Z_own{pQ4a+Rj+2u+aZ#)vzmrgE68UgMRNO9y+Tgj9rQ))%Y14T zR0CoeISZ%VG?&+czc!PzUVtiJ?L1NU_uY7@7X*I z-4}BtoH&|uSKeyj5Ttvm=n zJc%vV)84SdQ+mpBRxj3M_ac^*og}Gu3W?ZJr`3m7ve8BK7MjAIDncDpk#CFWU`&98 zvEg_Qro9M8;!KJr{Gbml6DmJo$;EWI(DW`FT}%%Pm2a}FzVxx)s=XQ&W~5}DG+VI? zSNVVu(UT2C8qrj$E&86@NqF3s1?=;_G`)NEdcL%bs$cmxNqs)VLHn*HG*@Wez%DGM zx#~ytB``*R7(*J-s@Yh?qE7depo(zM?IpCg(EKFZsz+c(KRQ>ad;-e>J$t4for%sC z$?8uh2_=0Ddf_5gWiU2fWAHxKAwB#+3ej{-A>n!z(WFIJpzv%1+h9N|RnMu*I{7gb&DI_A1%YYr+S9h zF$abHTf!Fj{4vusG1tniRCKh5m(4v_31nT_7&jWTmSGa+Qs=QEf@x6>frX zs3Sx>!ZF}ir+5R_{pekpoa{Z6EG?M%I*K*eFb-DsVJC5gZhh>uU+FImR(lCEO1*is z)V}D^;ZQXT+UY1h3?8-9lAfWmRXdx@_(-I26OZdyL|DZNH=l;*eDQ3nL(216DAAE~md|j}M?zI{J@Cc#*3^ zCte*$)2YBpnYx@l7eBciqI(C2z7`|oJilKDIpBBq4lg_5;X{wIyQO|U&k~= z8Yj`!9kJZ*;imeIs(L&M;<*LGAs&3$R5v{A`GD{p?R(s;3LtzrC2qH`cRC zAG+l$S&=GJRI`U_=^aAz z0QPw;4bbYy*tv8V))N-CVIF;4XdcLn^Rd9dC^MfMp`0C>Pv7R(h6Q+HNMd~!(g^Lq z{=E=&>cGktVUg5a&U}mLH&Ff7d!cg*>$ez@sL0}IZxCg`jVzUN>2Mz{%Tq0ZPY8~M{82gdEav;@grEv7 zVdL(Dn^oV(?b3^Vcpr6j@h__(P4X;K&3Y`OV{=qNOoLeP8@ZJ_I;0UVw2aj+qmRJ^ zxyxxwl6K)L#HqcTRKltq5749?H&KkNBvQ=>-B(sI>k2-UWU$>UXis6|Dt2rI9gzL$ zDh>8|c)O#>4h}A>LXj)!ST0h#lFoq}{Cg!9lyJjU^j?t{Lb`Z2bQD(gdXOgd`b}IR z)$D1A@G=VOY40|9S0+XCwy|65=|A90Wg*FzCWL4hF7;W6kFxcwXf<8R({EjkN&VAR z?8s{B$=o6N<~<~dIEM47>~K9RU&DR)0dBJr_VOB9E`%QB5D=Oljs~t=OD{m@`44bk zWb6UjLs%VV2Ogkb0iSu04uprEevpn$8W0L|6Ja!Oly)vINDn%1N%K`Sd~-OIDsO_+ zZIPx39-b1~%w|18hiCYYaJ9lIfp?^9he_-&k5GL^=<#T9%GPM`@W}U%(CsSq!rAV5 zHA~8>YP<_)`{yi}&z|2vKc(x~`izU;U2 z{qyFRT~q$|jP|8xSYad0xmLLmjfk|exz~+kjkL5&{jNeX6h#@()+p=iLLsq z%ha*KeZ~Il(ap5OwfXbH1@aJke=~K^hgjOERN+j)*#T!N&NQ4IadyJl8E2QsfSxMX9Yuhtiyd6#zmmFq=jk$QxZFVmq8Ys}TpM?b25e8zKwXMIL&A_01B)w2{4* zB|6d$6;+Tvh-_p(XNiO1vK854KU&46XNwkEA9*rcWJ2%^vTu5>kZkQ$LH6Qo!ucM~ zk8ys3^D53`i0^=htxTK+IQ!zX;H<!XoI8Wg` zhx0PdD~Rvdr=ln6)~A9L;k4i!j&nTDDLAL&T!3>4`&&10gmAf-y`Cl7I~MhgRtkJI zOB^Kl`m#aUVhP>O-s&#q)1&Ou?&3Weol7c+9aYc5nTB&ByE6~5Q`nL`@ou`9eV7L` zO=Pq4#SwHCdnF&FV>cCu-n7~MD~JOr#<5olL`&L1U^ei5cCkRrjo}5BA&Nbynwdo8 zH;1hk#bK((Qq+RIpb@*Vi=tRYkF!FpxQf=Z9a=Q&DMN+iP=}bRhd3XFFX;i9m62zA zh%eEbjHU{bk8*6#HV;>Y4d9;O0XSKZJJ@SI#az`s zGep_@4|FxK4tmj5*aGf^q#Z34q&KdY&r0da0mm=|@q_jFm)SqkFwmy*F%9{I#1Jm9^Xf7nrvb17RpO%W% z18$wN6rsmB4P%QRKJAh!Wz`N``64P@mqpzsxeh#7BNFJPc znj!}DuKq4`qG(NL_7!_&c)@&>;&R**ype5v#b;D~i$D0Jh1ZxLyrBL#s}7%T;e#|k zcvvM)^s_QilT(DK0w6#5bsEn8huKw&n8WsziK+0rKa`0*ROkNZbV~zUQ7&rO1s*(w z{ZIylPcqRc_Q^i>*6CQGI^=*o1agSoW)$_=m2aPJ>5L$L@Uo{O%E{InMUB`WQM&q{->?T~gH~j5%%Q%Q5xw>iv zCEaj4P9Wq6TVaBWY-dm6qDuY8>6TgSB3JyFNld1b+22f}zWcI|PPZ(JCa&a(xoW47 z_!P@9i<*iPh*r$Pqf#+Co#s0m3dLEZ(w4gniE3$Rg)LToli0vXlk;$|2@; zUyS?7|2*BILpVQp{5pjB*lT7~@BsUl8GUCY>tYdmWT$?7y2UApMaxyA!2WEA1!|5) zRJ@u_L`_6kyh@`1RdI5B$e4<-(QLg%%*E*NEDBNW|0LGFrz~P>cG2n6EnJcxyo94j zQN(_RDBZ$DE9`rTx%j0U`>j>f3#n&WI`^3dE1cs9+l(mH<+G<-4l!yKbJ;Pgm@IDj z>~zaXo?%tGQEqOj(VA3*Oko$1B)i~?w#r{XRA*Lb6E)bSx7pxvli6)HF~9W6m$H6x znTM)ICy@Mz^jeTkpd-Sb4-`1R; zLt<@Q7&pWfgf*~II}DM^Znk3#>h@L4bm$t%tj-QMTgyUrxY^>bPq$1(D#b^+nhkid z(!}1di<;~sh*sK)yYB%+!R75@e)p*tUkGc6}J6pjoXV^9;RIg(1J4KCZD@Muf{5H3H z@|Dvqi+MJ145cR@L$r@k7hLQB6Zs{Jxo{~hx+*tPT+5etMD>(#Irt zh*~U*>v)+sxcEARSs|z60XTStwj!*Oz3+nV)7V9RIl(dp;G$!u0T`!?>6uvfF7+=Q@lc5xsow4G&OjHSC-uX2prC)v&A z7{N}m<>iQ*%$`JG-%8Dy7M>G7_;ptoq(+#I2jJk|co1PD+4*u*ypE++pu>-3r4?d7 z)x_*GEz|g5qG7cau;UiCqykyjv&|J4H=1(J#QJuBWYdUs=PCA9g;5~rJz-U8=|-?Mo5G$!#xZn%?~`h65)r~+(8&iio`Q5=Xf*@ zUfwK3U13iSLY?c`JCG=?(?MSh>Byi~nP84W>X^P&QyrpDAq=an!J@u&e=jr&=02qx za2plipYlFuVq-B6Gx9Lz9*oXBF)oVhF&R-4*#m=7@6ml*Ez7mvf~d*toxx&m#h#Kg zv5w0#Jc56=BTN~Jc-Tq&vmq{wXK?{x^{lWG4zwFlBN3$N%A<97o;bgBPYlxRZ?^3fEa%aV9!9SEcKeRvwM$T?pU8TOS8c zG8JJ)wjN37=*W(tSP=)g`U0WkB1$~iNk?jBb|Kjryz$}5C?tH~ePF(*scI$7Ya;N9TPk?*R+e%wOk=6hrAZIIh zkX%41SlKn;1!m7iJE6dSJRTdmw}Ou=3V=6*i;K3i5~%c z_d_wvaWLNjsgwjL`QLdk95Ud{3!KcWE+5I{VoTP1jIgNTI)rh<&Ig|WbN}P~1Nama z>W+AxzS{zLFg7eC3j`5x8v=fSK&33OIH3UE*OY@7xHEzGgD2vvwdg@f6L?A-9|ey_ zfxLp;f*0q)yS){J&)q>Pq>w8RP!3)|0s2_6sEfJQ9Pm_RAekH)G=h&RH2}W}J_#;H zCcJ=i;AHuUiF1wyJrk^?uLM^{J#{3gc>T8s7>5999DqqbT!e8!X%d(`|6VxF z^Rm~1?*vbdc{f}IHhZzb@#1n$a56#0-$n!qBBuQXC4g|pW zg0UqbaRd0$G#!W^nEy8;Kn;QDA&}pLF9&ooQ}R5xDVBhe{otc<{2KUJ93KW(O>a&A z9(Zkofty!S;788uWDY{ZUXV>?Wn6tpU>tZYSEzH8@8f&`e5|t+zmxOY)(qe0={L5f zzry3Qz;)5|eUNnRhO+4T0)^ZHJ|Z*fFOcPu05X&lU@bx>##v-9c>j9jDjirlf~P*! z%FW<{IDQXY9LFDmt#N!BTp8scvZUlZ0!GIPd=H)+#}tG1v5$463evod?*K20Ytz+W z<>1}w`}<*SEZLF~$R{HwimAn08EMG{UILE3rNIpscse12Ch#F80gC(*d>pK-V6yah zD8l;{DMQ2$22Y9O8DO%gJl5tLIX{jjk(>0-oOgnQa+`jMfHQF!WEY_|P~Z?=16}}F zdFR7<23UH*BgY%+V4>4GGF6B!I^O^r&+5oD8s&{Vy?k&By$rsL^0@y=1)M~{;^nOx zr}P4^0oO(2jht72W%=7VuWFUA=iC7=Ur-2F@FlPl`6>J%`0}z=PU?*{VQNJ%WmV;30(lU8oOcE3pm+m>r{$kp z`AP8ppM$Ld&miDPoWNf2nK=Fvm|Sg@Zw42{@q1ur9DfL&7{{l*t;D6$j(p3CiOSyHBOdso0wl+fZdKDUhbe9NM14m{17-z=6T=^VC6~TNpNjf zJXyf&c*p-5e2~q(P3+ezuapoS-bw1@q}AY4c<`hWtH@4p1AF5(@%ilcaXS&YD!um# zxRI^6UF?_L2czCDVKD%p_gCxrahieTWgTeeoccz?R2AIF}Rx;QK<}bjNx;KIO z%W$O!{RhlniYpI#Id&qwAjh7#RDmI2{<6G_#6f(Ai~#=TToGVk{uVtdfQNf9f1|Dx zcpl8(t}6<4a}eoGyQ1(gFn{ZwE*Cfl%-_K0$h;ZM-^NS%@#*If0{E+WMdPo*{1v@Y zqdX^e(&FN)!Ti;|B3}#Uukmx`0-gZ#SNe*=hr#^yzQPy5{8c|!SX%xRxbWr~KA>nk z0?c3kD+%U-`KJJKn~^8M{IdYQsla{U2$+8&peXb$n13#yuyz0z2VljbH-Y(Q1c;Ar ze=I-%|E54CXZRF&Nn8TjfSE#9NSgR4h`u)fJX&8!PC=gYPmf_W0w3tc(_^Z9AdD5Q zSSW3A^Z2Xaa&WRNzkdUo6kNa`zqmm6jnFVoU?q4exKU1!y$L1*>tqgri_t6i!3!M9 zq73~cUJ1U8%}ib(kAD-~U+I8gfoIIuXDDA17>0oIIDvZbXmAHPz8O3*EDpTj6%T5xD1azfr&`zW+-l)pIwUf%4~$_&((5?N-49lpy5H8eygq@iCh+ibWF#LL zrZZbSZ39~FXLtIGm|oMmEM{BZCFR_GV+2+qar zWf-74isjvD3t0J_hV%b`eMqVdvEP8Vg9~K&Z|bq~ENSfxTOY;Ce8hL-@o1X2&|CK4 z8E64m>J8wcV$4iY4w6!CLj>@b2wdQ;Ef~|0AWKd#e;XeUT6;t1-$xZjv{b+t@JSRX z*#ZTw2OkA1zOno1w&}$|JZ1F24^);0L{D%ODlx5pAvuX)u0tcZsCb$YL zH7F9C-VQg#_L(l4fb`yh1q$LZ8%RcYHbJ3g_QE}44Dy1qUU)hG0BHyfR0P11|SvH@u2@xXlEO0 zBF7(xFOEj~;%It183||fL4i|phWCM&#bpo}iU|4O>$H{NLu~v^abV$#Az0DgT2?x& zb|!AQ_ILKeOmVF08>BeM=qxcmQyhjxBqWlNA%7V(d>Av#61BZnBK#CSVUwH-R(=6Y z@R^#zC&0yQ?kp_OlB$rK{IwfzdIR`KTj{v7V?Ro4^|!g=D0xz(>2lP$*gE7oJ5=M|siwy#l#_fZcHlSe}a(C|Lj+ zF9gp*f#^n34I*G2aQ>yVeUC%zhIYYY>#+b zn{7U?5^Si01h?4=43Kqkd>T%-70d@f9{=oaJj|dC6b=6aPFC{6y59K$7EFjQhCJ6` zDR`~Y{DP244kBQV(ufei(`JqMwQ3slI?6I?#ruL`+)5ud@+{EIudarh3__06g!g3x>4jSB@prvSEeNJ2O=A7BYPY zoWCj-Kwbr3Y84<~qM4VKW0sK>8h~b=6({d`5feMA$UUFi;B|KATyd;v?;4C;)rHa5 z$}r^x@KNw$SI0M{|$S0zNpQx{{~JL7e1B!JYO73Utl*cz?MR%QSAN&qQUg; zOBlIFwT?kEM=8~Yi=pCc6L<&v*8(vZd=tT!ka?=C?m6(4ICXPIV?Y8c6UIN$I%I6? z^jnN#i^jC_O7Ka@^g(xn-?;6|=!rV8yVF;99nRk(h7(3vMSON?AC41y&ATMyD|fMQu|& zhW+0n@sXh`pxhp$JA!Dg?3>`NN)cesUUY9TJXeYrUdGxOoG)|r81~}5*xvE5ckad3 z#j7Z0u`ybAScCi-JauBBTs9^D13nnX$G~-Qd;+{Kj!%Ib=3;R? z{UP$&Vth=VT{#woCKX_Zz$c*V*;(xWxq~%BOIyU}3e5YA7j&E?yy-ysd8jIVlY%gwqyOiJJb81OT z)N%)SF}{peI_@#>e#Gl|0f_$zyc_XqnR}1NxPG zcn3t&WzqiyOJ8=&{4-ejWSbXNd`s&W-kc|Zl`p(G-w#$k?dJR}xB;q3en&7Z97lk1 za0kE0&M(6!Q|S}nV36x9m+Jx_VW#C+h28u|^uu|r!@7^%xm*Zuez>VO4 zz+ya`QVbW$SL&R92St^G*XK_Oe4;J0zuqqv((l-L=#pJK5srgz*!jVY^*Co{3Sv+5 z5N;a~r3`jofg9P}Abh6VZ_)Z}J#MRq;r1}3l-8UBJ`~5B!56@a;~WAX0e6rK{2H7U zxrhR(DsK`NS*&mcN~p$dBOAhRYjL}axp5nO0=FmedA#Cfhr!Bs`CR)8;H}6!Q_ei^ zR_ua-b7igup9QDMTnkn{+2`q>04v|@b3P1KzTF20$wdSxU+r^&g30)L9}0DmGyGs5 ze0yo3WHas&)AtiH1o6rk_&m50tn|zC;Nfvx_6i{*;&?9jrWj+J?EpHybxrHURRdr6 zO-w)_d%+u^fHE4TyoSHuf_O!Nk>G*gB(5-g=RvS5F8(NZP#mYfj`9?F{*}=<1XRTd zJO&;HR%+Dc&zM=`cmyn@9NangzYKqf`yk}M;BNRegQAcV7EA?8O^os!uVMuyvx{py z76m9jk>Ko0C}0KHhy;q;J`Z-Xy{p7g=D*=q`XvRgJWTRAM#;5nvDpmk@YZTc$g1Er zW~j$=hU+$Dfh?85%m-ep=!kqC1*2!wivxpy#I5q<3|_=~Xq);l7GClYaSFV;yh8eQ z3D;iVM9AO4JrK`10RFB5`{gn}3*LpIxMn>59GDEKke)j@m%V}R27WUtA0(eb0p;NK zR^P5rboL&Yz<~r_pTGwb__GAgydyq;_FPEJ%$&Fsi`qw9ceyI=VDE-RLvRsv0i4QMHt+O~iZQ(5|2Q5#&o5IZhVly^qn;`0*Zo=o5)3H)sWYuzMv zaPPh;ffuypV9Qf&16tlr;O`Px=fMopRVTeE%)}tk3p}epM-HG^&ZXeuY@Jjg&J|!? z9FGKF%F;=D=9&Dxz%2+c#tBRTpMU@#-*^VI!JmWqs)KV7JVm1;%V?Az24Bc2lm-kQ z|2Ftw&sK$6zzg&`X{Sa~$V7jVO@LUKTe@(}RaB76cMr@sJh92ebq;PQR_7*uCQA1ygg0bjr)@H)r`dB8dZ z)L~VWC1>yzco!7dD)Y?&D1eVi6y6PPij&W{2Npv77Fm8ixPC$_{|!9L9o@^~xJvd9zQqWfA4czgk#LD9{k8Q_}(@a`E(hRLKe#*s6S_sI&31b0Rg@f6&mHH%=; zNytxbqD|lfYYKxguf1h4y3MrcQx#9}IJiGDm?&rP0l2mLsYr%0m1dp=beP zz*iQx7PuFjIucDFEA%;dWKFA+=VJ=g-G1Slh}Ufs48$ zLs>ot&b0x(pua4?1RUQBJ_N@%nQK{FC*K6#9z?%Xy!aRb;!Re%947lxC;h^JD|jzB z>k}P0DA(vBxbZVxtOAqohYw)OWVfu)AK~1Ge$BYIROS}OdYR!7^gm~}LQ*Fu*!KvW0*u}yY3zCwTdH`f`&`c8G=sXqlTgK_M;P2+0*X@iHO8PryX|S79iW3wZPi zC{SN0?U-kZJJr<}u*HMD2*o1XU&QS8AiP|z zanjzlL;2I-_@R9KQmp28qhBf}T=FWOkkJkI%QZe5L4xI|ft=x(19+c$Jy)#@qV?%cR-?`BH{r9Quvij#b-nl+?P~G3+&-tv?sR$W zZnIUKD70iWIN z_517&qa5>HSahj9cBjwn@;N+Ci#Oo5`8R&7b*lX?liy;uIlN|z-QjY3nW?i@^XewC zl&UT6fZt((N?yO)Yc%0cQ!=qs?en{>4!_6iH~B1Xzu&}`GI5~V>PBL}!{#@8+$Oif z#+sRUyV_$ky4_}v)9f-??LIU92uh>aL+$c7?N+17>#_L!7PHaM9&HqJ^J?eSESm1~ zn;g^pcDuuGbQ&!_Q^0KY+jxAT+Ud7B%}&4H=nL3PUXzJ6HHyR4MvKE}54c@scfja( zxSf%l&7vr%eNNOV;BN&Av{-8$3rsbOr`vpH-%OjA%&#@wy>#ZH z*@l4IMc&05@=1 zJ^p~pZw>gJKAR+$q!DMCcKP6i3u{-T>1&cLcF}l2Nr{(`c4)$MP zm}BD{Z4NuORm@{gY!y3e+$NvNW3_udezOfW^H&>;iiA06@tA!^v)gF42aHy)+578N zGFyJNN@m+Hi3YE+mD&7Dve$}Q+i5scJMm`1u5J@=F?k#Tv(@kB9_9Di%%n9tJ;>p;!-*{rFbAwgzt88edQE0?z;CqL0tTy6$95%S z?S8FfFdotzNgy zZn9yh^mt_}$%B>2;dMG4X1C4dgb|DmyTjzi7-_d!G01wo#;9)w`MB1uXw0VVO2#^M zyOI_%XW{I-@AOQ+XZoB42D{T{G8@s4EM}VpBYdDKl|?Cp!-Lw;V-8&<;At_V6^d%2iQk_fDczw0#55O6vD4!_SE2%3CmE9@(~$4s-$ zZg5$x=wbn@+3)467*{mTL~amiyiug(29ZId`3A8@>y099H;Q!KAQHw<>QZuTO-;X` zQRI)$i603;N5CI2S-h@*(PYKQ9<`2%c;_vtT~MR6P!EKs~o zyWQipx-GKx@9{6-5;e08R%5_pwOX;j@td&Bu*(AT7kXIsi(=0p79J*_)$H~M%qEl3 zYn9{ObCyi2xz}*rSQEKXtoeqqmW0@hgL#m;ilP99i8S z_T!7mx$WkFH{fvlu|6^R0~SMU z+-Xme>Gp^>1>2J{SYq>W`=YT`PrIV{@Ld{ngL4e+%35NRXZxbRy7mT(H0(-adHdPM zruz0pV~djZMX@LuA6+H4FB@Byv?t0OFN-^Z=tnLa9K`E1*}QnN`1Sr{cKm{4N}b7k zqsW-2Sb}zk$L(^v{9d2Sh}5k0f)nDbJ<&4Jx=uclGn@h`jWAZ5ua!9y2Zy_DPHutlCj5y zb|qWeF<$ig<;U7FUi7-<#|F}NB{40_-We~7(d|0shbRBSoFhcU-Ri`dDDrwld~=}M zXf_*-j)2$hw_81UB47>QiUzgGfgJ{?$!^0!+F^4#*t_3~E7U%t*X41W{Q)25Z->nn zx%(3Ss7hCl*Mvtsztw_ux7p)~toTlRo3fLgv}x?oa;Q(&&yu=QT(mi@F9cXfeD0s{IYuFXs^aby=8AznsOd%fWR09FloGqz#-554Jx7R+H0Y zHKW^FT-9tziniJmu=ssem&avtI882>)m{C|n%sT+7`x+c_TE)d&u(rJD>T=!8KWs$ z4cpry-pn+Y#cb9!Su3*RowS45Uz4?8uz&W`rn9#NZLjicpXd`F=#5cDOg5_xn}kN2 z(QI_ujc6Q)ne|Q5E@D5oh-GTK-HZ(e3_TXR+lqa|jpf?AGVC^+)o%CsOm0`e?=cyx zxmH;l|Ew(<^6RW=mJ7dL1!q(3m<+$s;`EuF*zGgHTP!Hy{tWHHpvh&2ih+RBi-8h5 zUD!%lFwY=oW^tHZR=WkA(8c%b(B=5@5*}uB`5hj+-Db8~k$5p5IcSHKHL^Zc?!BO}tZ z>jd^=4{bRc(NS9&(R9{!7Su@R#kRcFZnI-^+HPiL>Dn1;i_vFy`E3>lwq*k*n}t1_ zuDw<5vSZ{o`8|kmTHQ_;Q+L&RgYi?%^=BGOv=SzV%M1@Nnw?fYbUN%9MWc=3wE3`a z4o?nP0s(COW4^*ZvCRi}z_xb4VNeD=r_1HAyDTP~+37GLh0Q{uZP9)X=BN_a$wBH^ z?Pg$-Jt{E+0oGZp)_T>jjMwFMIP7?pV8=+r{-f4T@8@%2YVupWe)u-F^|7ZcO(7<1 zr*VgOnJiA14eN4jDoEpk+QE0tEiN}U?gCg0TNviYES8_G&0@>4wLR5tyVZn&0Xyez zC#H2FthdCb4nm)X3u=?Q~c3-rFM=G^lORO$z2I67U>PGuxPf)In%Vf8^jF>K< zn$g9(usuSvv_Eu;*mc^oW|lWWI|zR+`nCz$9;%|j_#?|~`2?*#P5M774i)*&Xa10` zVFxE@JFEDs^W*Ft9?kz=)p11Q&(HDb&J(q2{2^m;qPCB!c9=*C*&DAQcnS~Rz-IH{ c1q~vZ8V%l!;BLpkKfHn0Q}TfqS<>A}!f zy|mgY>eA?&zO52POVL(KY3ptERex1+D{a%am;L|F>`bzm)@44Q*_rQop7WgNJm)$y z$)O)2w=Qb9EUA$(NhDT6NZ&qqX=>^lEgk1YqHlPxl|C|-vdB3^U*3>NI|#W@R`pgzm!@_qlL)9nyK8f8Y76xU853t7*&){PDtmDG-GLR@YfdCA*2TF@tF6S;_pe6~F@xt;dS=rlZtYLH$78^faAbVI@{L2MpO((^YDrvo}@o#=F z+tM9Ot%Tcbet9~->KBx^;ZErzuPd&XZREOoT^?b&XcEd_^>#&xzNs#HN#b!r^tAgM zY;n@I+^QJ8jt~j)M1>owC9p`HOCJf#lV33`^~LT&*?nx;@Rm#*K3=GD;dYgfXJlFKD?(m6OY(dsROu_O zc~;TpZxk?H6)|LO5De{h3XaTlqSxt`v$cf;H&Djo+NBd(F^(XM`blLxkf;R9ct6(I9S!G_or0kas?eSa4&JCbL}64Vg~HWw?JByD>8{?sHkRL3Tpibqr*teD7Om?m z$8G*WCKZjL2U&v&&p^T^48#462@c%nOdN>cz{F?b{^U4ID^6*W|9~N5L#U(b^4a~x z9TA|Z#TI(7VoUKoH2L6YxGv~*vBc0CE@sub$Ud5shC;4R;)S#=2_)x_zm?|R5-+?q zOqRX&PRT(D&rCUo-$_#+6Ld=}KAzf%@|J)fhBnKI9BtkbS>Se*ATFV_@Ro2+GYh&| zZ0xi>f^G(DKfSe}o5}i5Z%)fAMoiz1p*yD{X=Xbb$X{Z3;U!XZ?d$)^tu?=Vt~@S6 zEfoxFsrjfMLXUcKH&ATIje})q8uYLbqv_`Bb=`@SCy&cvwfQ5<7wO9}-ekMve>`0- zPnciM_Rs2!T0T3wjZnUfb(x>f#?78Xd$Fst(J&P~0^O)k)=BQ}>&wvHO%<_o8X@T_ zYdLqiP<4T=p4&#KYR; zkLh*jVG-y>kr>>|fy50aG?NW4k4!FK$%nX7nc1~Y!{C6E^?Zq9#QfasN{ynoTzQWm8| zAKVpcg?!d+Q6g`0xrukG&TTZbM^U+y7)10lK7zuVeBPoDqw_b03>;*SJ)M)Od#8w0 zDVcTqc*DsJ$Qw-UGw9P>o_-rnjad9*ZGm&{u0ZD!J7Qh5gjaXL5{Hm~m`zxM9>z{B z8Hl>)EahY6v84{&v!xb6ceLWr(s(qTzT(U?ku1E|TcyW4blS)9o3DEbGP6SPHsIXSQF+JO1p7Ap-dwJ;heB zd_^Wj*_A8%302!!)T-1LdE4~Se8z4BlZ`Mtp)Z#4#?RZz@>U_==WOk&w}iZ7Y_PPb zb=iT6i026AN1eAZGN9A*LBTVIGLhvhVs)-iwwGB~zuV~K$xzI7r=MMuD(IeN;+l4U z(Y}wZN#VlMHQ&QC?{ki9-Ic!{QkV_v4=J|)xqiGa{ewsH!GG+%eVBJ`HEd+~c? z?U&J+HA=^+IQ6`j#veSckIbX`@(3bL;I$+LtnWWNq1*-kd?x;27kxq|sVIMmgrXRE zKg(L5E9gvY@cMT#NbCY$``QqU?i2knA9mF^d4Q|XO-41w#{F!hilN~mksU?AJqE z@cRn3hZv-Xr$XHC10LovAMhqS_d(kP-#os%xlk4fQ+W*>Fwb;vu(TuZL-)cFOw{Ep zSOO8^~PnEV~2>KHXx2jcoT{7co+IHO{U$Z>7tiTMAvSlXeH)bDwmGI|SYPpqGm? z8Yf|`KAjYwm5nWUa-G91li9jYt+9XQnLs{bO-?xIM=bxu{kp6;5xo4wskr{Ms%_lr3+OnIY{8Y=9n0Q1)s}w7&Y$W=8?(&Qj%eq1B54arW9B>E z4OU+|okQPb$4^^m4by$zPv~-ywK;8XH1c9d4d_4JRoHZqy?nYI{f^NuQfMq|^~HAj z3_JEkH+q^i`7(!!%=P7?w3sdbvNPStj(yoJ^YkT=I8jVewTNFrCY89oV?+;rN{ZcH zU#CV$6PfAEFxrJJKXZv1*{uJh(PixU|J+YEvGf07bSRtll{fm;DpMBq9V=OUbIalVSP66aBzr*WRc zS%b65b&<5h*$(HuIK4RkfpZtmBREgtJd4u`-S2Uw@TUdNESxr+znv9HpC825q!7>y zO2xP?#Q8kVO*r@9Jc9Ex*5te;+K6!-hw3zAea=rp#NRpJk$zHf`FtAv`>$9I<00yV zGwEj$zo9FyJ!gLHB%)U-GJfSfW&8IcK{9y_C-3SiFUNf<&XLS_!O>wEv|~VJN^a3J zxkM}(=@UndFZ7j)qb7-j6e*T=u)`ND_kN2g#v;ep$dQQaPq=dXjYM&*&tJk_A*xPK zRGjN3)r53@Vy^GJ$zwshMze8kjcbOYHJiQhogw?}^WKo7CkF1AhBJ+jWe2yJX{$qsh$ zq9LLEs9>-$Qux739u7$cOaETqDhZNJ+<~4kWwh@cx=?tkK?ZOcG&ZsU-?v4RP5VBL z9$;(m8_WKU-=XaD@6(cJmIQ8)tLSD?)sPHjuU$=~8SLQIG_=9_t8EjipRFIW;SDi8vGi;Dgx|s>JT?mqI_ur&oa5&`Q zRT+sv({puwS7suuFVfH^^1*xGGNg531FomgZ`ru(iOCUbg2CQg+A~JvJ&wC_20B*u z{Pi?CkG*p}F?;=Ubs^$m%ff(PjWiMW{NQ%GAZ;W2{d!9F(SOv1jcbpEq#9{zka-DZ zNc)y`|A9BP`v*Nb$mAc=lKZX;1_wb(2G#je4b6q@HE6D2$MCz0UB>TC*5pPS`h15Q ziODNo2?k4fE`*EMfH&1ztVcK5?=~m|cQJ=hNSN)bcgdDq&Hi&hCf8xAJrxBFY-ic= zp9~!~z7-6vR~lBGR{KKQem5GNtK;BSh9j*fOaEDaZ%;@t3gm-J7DD1gnmUwt+FGP# zg{5&XcOWf^P5e1AIS&$LVAXcZvye_;8z9{Q=}2z9XH0DkW1E86@t+g1_qq6UM=UDI zHEFtxeZk-g_RVEI>t7S0TMJsuX4NFJ2{lnPf=#P2BorP9294Yn4(``A*ePQ>YxKzr zA<>r75-O+Je`*qGR>hAsBZSsN;br3(?01k=5GWZ1&I0qQaxU%7X8+nX5D8Yd^#Y;f z0q~J;Li-kqEyrZ=88G*N^LnrqudZ&R8yG>gM-2+Z^M#w`9O_T#GlByi(%b-WI& z?(JbOKn^28-N5q#wm*OofdX@Q0fIn&04J#i!L|pn9|+@8@cJ?$jLb?edZ3(#% zYI2(ntb4TMJP!udgNJy7hWBXr%UTX#?M8;0+Jq1%V0lsxxy>}(Ps4mMR1dEIl!jl{ z@P3t1zU;tRH9_IuHQWMgn|km992y>^;i(#4r{RMN^YUc}sx=Dwd(`4W@=h9dYj~c9 zU(xUf8onH2xqR7y*v9n>v}pJd4NueXS`F{j@P9QN+PH+ummO${wMIR7h+P_fM8lIb zyiCKdY4`&TU*N2iFFO!{Wkfx=18ExWq~XUjJXOO?!`n4{1gw@XJ8(gx(4eX6PN)y0 zX}Gh7AJyrs|)PJ(#AJ=e7Er&_=Ge^pj#3S;nXyvcPZN~rAt#a>!M~3ka;H_Z3G;k}eTEMppb=({L zt<*h&=EP6JZ3aZVcW~8pEu`5IG&S%C()s&AzOM1~tQ4%gaEy;L&I7^fyG72k!NVaB zRaYRdg4MT;Tz&#HY?l?1?>WN2yuWsj0E*HBsWk7w!+blN(SNYgovX> zl7|xcLfRfYe2hrOD*Ooe=-4_g13Smp>2KjRQx4w!-UrW|ERxko6NvPjj+zsCw8BFh z%2ZopJor258y!uFUxQou?;xN~F$0`wCB;P2u9>azD(hopiImd?@(_3jSdDKfxJsHB zNpk`(;#Pf~%4_%`SbeR^`4{kK$jWC9&c318ovA%a(2=*m!>8A6Jt9V8rww@q*T-h6 z4|t(kG`1q0#^TWzjL7rdUjvenCZ#r{UGwwO&^5oS8wF#)Szy)YRp8-ZwL9$tj|`Jn zgEvVV8q&^zL=k&th>{hb?*pqZgn1ptflDD*nwhKyzX|4z!R2dx=;Sj*QpE=tTJ|h>7+2n1(wQ*Ozx|jf~2H9;**NRzD#) zwY8Mmh;GYgNRRlwu08jF2ZvSUB6t}%3dVTQn;Fm%!{pt-r=_@i=wpG=xa|Uw+MX-H z>YIC>wFjlPnh7C=-$!9un1grdN`~zS(jc(X0Z8vjgyhYwD{vi{SAZY@N}RAU1+pyXJv z+8?@34!0LUN%IV8d}BJ^yczSy=>;M=14G=?pTWBp*6}2Cyk?LeP~_$eDW(Zln*t2S zB+1kSgJa8MC<_BLO7=BN1>lds@|+6(033Ts>5$;5h(%v; z8%6&u@QN_`g3)N_r_c{VQ(}OKQ$hvgC>a_~g#*Z-I`9BEwz`g&fV+el{207;kx2L} zDISA}QbL}AgQ8;Ze(-6qUExJw5&7lbAoLW-F(ect0TYH?!`Nw9Wx(we9tc)H?C=P@ zfZ(YIpQQI>NZVqtl>eR~eHcTZNEnxiML~5K-ElQ|h19(%7PkGkH7>=s4dmxbb;~x= z?51ds=Mk;7(uSrqCE*Zmw<32lsPN8w16(B?hbWNR7M?@I_bgo02iyfbSYf{#bM4cj z{7Rlj;tdZXhtjwy&aWfVozT?iwWz3$7^kBbAU{8N#lBZqjeH60s|PA7jftgmbjy%f zEnSbLDZ00C8zIHTVdeQ2w2b5X$QhXa z*RK!>f04`OSHT&}MRHo<*5lwJtDC;|qC>a5tV9R-14XDJ@-I{D-vC!XgXu4ne;{dt z`OO+;;2QYAN*GWI@RwjNfILev@CCRr44hTC35MQp&(=BcRF?E%JWWk_2^k)TBbZv` z3V#ePlc*kH`4zXKl&+_p@9US1_J&pmMXL!0+k`cB*2bZQx}ZhijNBq0jz+jv!F^?7 znVv1J)6)XoD%h!!uETo#KHT<3mI&FTj(ndjr8c9fnQhQrTV7ShAzEMnxJww%1Q$x~ zX7s_pE4Wp^De}hp1l$CwF^ZSJgWH3fD4d0%*%z!f?(7FJV%OF+>e9zCq){t%mg#{t zsKFJH^pa~Okon-g;Mfr39TgI0)+La}!_f;6rYI#t0eBghAH0_=8;(W-D+b8K8T^fl zI%ny~e(>VwMA94jycfAxav?BH6k`puR*JTOO!X^vI7C`amwYhWiLI6SP;J{gXUC?Y5# zKX)(1cLXMs$m;X8V09XxB%3MM=gXI?EyQ*tB z(v{}4Kxo`v>Y9k|>u-;Z=nau<xbnpOD` zF#qb@M3Mgl=3k&=6i)9*zA)k{9AdnBA)@~-_08-{4$t-KUeb~2lH>~vi$&R{2LPZhjrECwq|UW z!D(=HKPjh-F)d{EePRIKV?b z2nqayy_z8a<{$4>2R4KGhkUh3PJ-3HQsDXd0-^r30_PmC{Fe%f0|`U1CclKGO_>;5 zy3s`I1#EJWWuUpHrU7=@?J^>tgeeq*qfZK^9^ z;5bBNvnam==J`EXJDnS_%TOFxg-yZHEnJSF&lS!g;Y?VDJ~Lt9MUmtw8PgOGUmCTn6r;@FR$jd`RUj>HX%|#}TltBAI|R?oL1O zE^w*B#i}}(Z(3Gbr9WEIuAWnx^xrjXu*rqUKRjO_4f{3xq=whqq;;)ms^=Y~_xw?5 zA2jdWZsQ z@4$>Hxl?K9%zJS=0;Y1fDVQD!UJ+I_16N7=QfZ2L4{kR?qz>GRVD;doMDh`?9GneK z>5o)eaNja`M}88?AzZk($HCXsBEa$G*wcd17i9TB@F(CDh4Y-!(lq*n@VK)Q-}Pgt zX9W~?@2FeBUZ0PzIw&AX$8KbYs|ywNE= zk&ZC!LxnC&bJ8)nU&1ZsdE7qS+(n4`7d1R$e=Ndi`?;?4?oXp{g89L#J5OP%aChWa z4<4o`z*Z@)HA-2CTc>2gZ9)ZZ2g8cm1-=6JmfR4>n4J$ousY?TJX1b z5y7?lM6w>0kOvUg3p3rgvs{Y&!|Rl-;a(c{c9y;}U<**zS&GSkOTR*1YY(nxb^%KR zGVp$_A8yx&)oL1ele9d8uei89Ann9${)f2z3|eYTegU5dXGn3G^pfr++zygx8x-&{Zr4lcxDEV@+Z`~Vwnv+;*c8Elx+wGq?*PZE2Eppz zH}L{q0;_-L#Q9^e`ZrCSe+8?5)x^0?x4OS>0td(w=;Sl^hgz36!A)==)r0q;@!>4}yDc>Yo(@lf$|emT)bKS8r{t*x zgy#8P8lI@(we>j=e7}A|@COaI>P~78UWeWqo}}S*8a}MyoAo$=&ouYd+DAiN4?dvb z$r@g-;UgOUNyF)U1yv4izi&A6@5fWa6TmNM_?U)kG;HXpnh!NWfrh7Pcw-m`xJMs_ zC2;l2UA#dBOegS{e@GK2)((tDm{zJpr_t&>SsFnkv zkOgWJLcCeSCpFBU{7yt;10F#zJ>km+xOb9B-b6W^n}8$YLNg2JR^Z=a>o^PiF}OX- zmou1=&^RnZ7x18_BAH1;@&~}BMI!01=q~{O7880E!wdKsoY4#mkmArEU=tqTkR4kb z9ZBnh2fS^eCswXM7<>jC5EX;VkkEe`CS#?*-Qbb?Lpyk$A^ibNrUyj%PdPac1-I9W zq(;f_1#g8zQ3@{r8^auUxi2d8PH2C~^M4LLx?c>)&(J&}@*zCpqQE@GfCIeZEf`cB zngwpwA{|m}8%QMC11?Dw$yQ8AJpWbjgk+IK=tA7S0Qzuvuwu`G(5-#DjyHqLj-dYY zlmfm*Lc}pq{v!o$aQFb!0By>TSnvpNRJ!Uw1epdVm55k_P=Qf@s~@p3;Cb6cvKDIG z-Vw04qmJheggg+Y@GTO;6?zRqCqoSi6$j^nMMOkY3|4|;!LbTggR^#r7Gz$a^tsjA>z~L3V_$VG`!fVhAjTK(Q7s36#czvn#>Qmse=v2JMap(hO zL*TITnu7Q8_rbAi@KB{VQ1TeI*K0-6Q;A>$FLt#UMKy|ii5KIqYJy10l!W*~7@Uaj zWeTqbZw2>OYIp*?3laEEF*w_Y$H)>4Q$_zN@L&w9mI_DsQQ&-$^i_Bf+M?MMQU3F0 z-b4=tMk7RMGd1LA$DoGm(2JEO5sFX%nqaX~;Hk-A^kS=GaN=}CXo*Ow6mCBQ^8y@L zsBj`YJNgcqSjqo?;4DNe3i3G2y@AcMFfO0NOr~V`8W9O^!=7dJ+wf&@cpE-G7rQ=G z0Cwd*bLvURKg7JDR6sW$5k?NYvegV0ttJUGNIBZs@*=;qM@>f}Dwq!Tad*eKIr_EUC zvYTxtli%g=$fC;EO!TDC(Po}9cDmW&nr@spYJ5qliA-RW)Ca=?Fx_hV0=DT*vY`v9g;7@fmn{K81XI0DX<9>%`F_UqVrAHjJ z{}8{|Xt8}W$*=@JmZB{h358=lD z{d5n2{2s5xXt&r4EgrY6Hpq80P}}f#)O6h1ser~S=dD#Wny$OnG#PKL>epB`)i&`R zYh|kKWOr1xOL3iPO64jSeU}DI4zJU0GMXI@i^*(snL^`GZq^CKK5x;u38TjPCgr-( z>s>~l-Rm*i>_)RyRx{t7TBvvZwY5N)xlkwlYrQZv>)n-VyDPOouAPjZJZ_k0)CkN^ zxptq~Zm}309;eA#Sm+2<(`dZ2iuukemcLR7)Gx{QS331otanzqiz+!4D}mco+jYm1 z(3kHNJal2Mg5df__=>n*gHOh$*_VRVFK zCUP60@peMX?Sy7o7`R2D*4t&Z-A?GbjS#`m)TLcmO)-Qu(r}?g8sC{Z0!8D!zF}V9 z*s-~0i`C+{IUIhI#bLC&ZR*JNc}=;6CM>KTuit1Y#DZzG%QB3^Tgr^LkzttE=EE{n z-zWxctxzkol0r1O*JHPMY+jesf|c6jS7sRFZDgif%K}F8t%XL*ZDhA|#&(;0_Ik2F z{aQHc3G2(8w~@JSEyI|)Wz%wD@qnL%)3wx0!8b zyV2sY7~N*0B6W|SHnM1HuFdExG}@dVQ=!-F#%AL#q$VQg4csELIV8S?)N)&?^|n&1 zVyl$hvvUxGxO9OY_T|08ej>Xp9WHys9*^JX&A-bSnOwJV_x|a$AhFQm z_4~1_Gok_U5M|FN!-f>NoYF(nX$$GS>Ga`%1CMzopVjNI`5jJ&&5X@{NpY?ce4E*2 zHCfH*0X#Ssv%}^Hx#q&toY!OXd0iHt*XM`OT8JH^(dNUmn%U{jRYLz)2H=5}4}Xh) zTnPdcpwW_0O51e09o4gVkpgIcREcbn;l;$OQ|T$E2WR*$(`$t-rc%-(yvm=#62*h;5S zsnct;P30G_(Hvc+r-J52NJ}eeS6U_=tE6eVDtscTlCD=$gHHbIWhwbh+7@-_9=ePQ zU6$jbJNgSD>FoM1dg5~g!2X?x{AUFP(&abtK`YOSSB0{M_-`7Uv>v#5Dc)r$ K2j08L$NvLe1W|tg delta 18042 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 delta 22261 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

|wefnTdq>_^;d>`#?xh|I5&e%R>>AGFJFN^SV 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 diff --git a/examples/regex/script/Cargo.toml b/examples/regex/script/Cargo.toml index 138e9bee39..f5c6aec68a 100644 --- a/examples/regex/script/Cargo.toml +++ b/examples/regex/script/Cargo.toml @@ -1,4 +1,3 @@ -[workspace] [package] version = "0.1.0" name = "regex-script" diff --git a/examples/regex/script/src/main.rs b/examples/regex/script/src/main.rs index 2717941e4c..846233db25 100644 --- a/examples/regex/script/src/main.rs +++ b/examples/regex/script/src/main.rs @@ -5,7 +5,7 @@ const REGEX_IO_ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-succinct fn main() { // Setup a tracer for logging. - utils::setup_tracer(); + utils::setup_logger(); // Create a new stdin with d the input for the program. let mut stdin = SP1Stdin::new(); diff --git a/examples/rsa/program/Cargo.lock b/examples/rsa/program/Cargo.lock index dc1e61d0a5..7b149150da 100644 --- a/examples/rsa/program/Cargo.lock +++ b/examples/rsa/program/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" [[package]] name = "arrayvec" @@ -265,9 +265,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -352,9 +352,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.153" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libm" @@ -370,9 +370,9 @@ checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "num" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ "num-bigint", "num-complex", @@ -384,11 +384,10 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -412,9 +411,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] @@ -430,9 +429,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -441,11 +440,10 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", "num-traits", @@ -453,9 +451,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -699,18 +697,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" dependencies = [ "proc-macro2", "quote", diff --git a/examples/rsa/program/elf/riscv32im-succinct-zkvm-elf b/examples/rsa/program/elf/riscv32im-succinct-zkvm-elf index a1e00840b986f17b3dbfcecb8357b0c56ef052c7..4edef68abd335d9220d9a66c448c3ad13a6c4d2b 100755 GIT binary patch delta 86218 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 N_ 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

gWv#VB%VqrA3kQC5x1n$pyjCk9 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 delta 86077 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 diff --git a/examples/rsa/script/Cargo.toml b/examples/rsa/script/Cargo.toml index 2876fca24a..962749eaca 100644 --- a/examples/rsa/script/Cargo.toml +++ b/examples/rsa/script/Cargo.toml @@ -1,4 +1,3 @@ -[workspace] [package] version = "0.1.0" name = "rsa-script" diff --git a/examples/rsa/script/build.rs b/examples/rsa/script/build.rs index 32b99273cd..03388acab7 100644 --- a/examples/rsa/script/build.rs +++ b/examples/rsa/script/build.rs @@ -1,5 +1,3 @@ -use sp1_helper::build_program; - fn main() { - build_program("../program") + sp1_helper::build_program(&format!("{}/../program", env!("CARGO_MANIFEST_DIR"))); } diff --git a/examples/rsa/script/src/main.rs b/examples/rsa/script/src/main.rs index f0a93442be..f6c1c31737 100644 --- a/examples/rsa/script/src/main.rs +++ b/examples/rsa/script/src/main.rs @@ -13,7 +13,7 @@ const RSA_2048_PUB_DER: &[u8] = include_bytes!("rsa2048-pub.der"); fn main() { // Setup a tracer for logging. - utils::setup_tracer(); + utils::setup_logger(); // Create a new stdin with the input for the program. let mut stdin = SP1Stdin::new(); diff --git a/examples/ssz-withdrawals/program/Cargo.lock b/examples/ssz-withdrawals/program/Cargo.lock index 30910a06e7..874f71e34b 100644 --- a/examples/ssz-withdrawals/program/Cargo.lock +++ b/examples/ssz-withdrawals/program/Cargo.lock @@ -51,9 +51,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" [[package]] name = "ark-ff" @@ -618,9 +618,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -798,9 +798,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libm" @@ -828,9 +828,9 @@ checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "num" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ "num-bigint", "num-complex", @@ -842,20 +842,19 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] @@ -877,9 +876,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -888,11 +887,10 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", "num-traits", @@ -900,9 +898,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -1280,18 +1278,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" dependencies = [ "proc-macro2", "quote", diff --git a/examples/ssz-withdrawals/program/elf/riscv32im-succinct-zkvm-elf b/examples/ssz-withdrawals/program/elf/riscv32im-succinct-zkvm-elf index 735da428bf9db270a143672de5618c60accf87f1..a5cf532f94367153342eb1f30780096e3d6dc10a 100755 GIT binary patch delta 33593 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 W5z(p5*@5^Q!=osdE__lfUjGjTyM8$U delta 31340 zcmb__3tUvy_W#)%1`*LfKt&K|c=$lXc|X!@RLDp8CbI-(p6bn4iDpI)K2R$&ZOpCr zTB&JSSz@DNWjYoZm6;`#m38T6W~E)dS$XgE#{av|oHH{F6yE#$pHIU%-@Vped+oK? zTKh3)?9vnQYu3cC>lPQkM=9t9LCA|vowJUfALOEyq}bM8xkkb$|b%&o&Q9r^rRPo4l2(f02&9`!laZp)d1#4W-sX-@aadC1i?kLmxM#e!+Jw z_k~yxcj@w}FyDJxmxcaa)4fWlaGUp_VHx!o`34#7akTOo?^df_;a`_j70u>aNH<^4 zAsu3N&g(#Ve`xR$s|&T-*@f)k#m{-rKin zavYkC@$R@Yzl$}hr38Wc&ff_M{&T)9C5zj|33E*t^r>fYdV|kDo6}$OO`gl?+kNNfar$as$XzDFqsHMUP?`quq1>QpoUyAcvf^C=IdjLB1@a5fyy8dY2p~aA8{lQmU0c`!y zclH5b|3P1chtr?(#V_UbmA)OzIDNKPzv4{{*VPp_QfsMKUuBH*-w~2sg??FY^66KN zA#v6|!SXe$QSR^HEqds)IN`TovHD?dhOc~=)^PRfeJj@T0eZ=&T*vX_zJ2StD);+} zyj&H#@5~0S%1B@NMy`t57rlwoyZE+j=Jfyg^8UiIQ?B;@spgs*LUG5PT%CM z*!BWc@3Xxh{uXb43V*L`e;9u&pZ*qqXY4rRE!&xqKkW0aZwfqC(gXKlIi@-uD+}Ds zV&#;`bJDwR=h(zj@5-N>99tb?-ILd2jKn!>kIV4G;h)RlqTZ&?=xA>wT z6y^&44vtRkqjk}>R^Nklfo9{X%DmBWQM#&ZlGOeonSWSR&O>y0&O04+Qv_d? z_uMl#kuq=gvjb8cUPZK!v@$6DM&5E({Nrv`-4)8Nc~lzAMNW;h&QfM*|rofPeCy-2XiFkMLF;$juOL z$;yt7Nm8I6F+zg3Jp@AtyTq;H*L$lE-st`9K-YjIp^@|Pp$QDS@TE7e#z_6SUT2Ne znDB7~OM~}#O?N72z2|GR2E`LRod?FM@}St0k1&2QD2JCN1!>l5POIUxl?w0JgVU(c z1*%AGSdS(thJ>kMJ>u>5%8fjZi(lzQt?fmn54_S7$M$w`Bcq{9>B71DA??o%Kz5e=sLL{r6Nz@}7SCeKO3u>zx7kd-|PB%y!;u z@0_F7e}FQ|n}572NIiQT!~3N-{kVLwkKRKBC zH+#!ZKGwZ%Ft5O>MeS$F8ek=Ivsd{6=9GuM<6ir-@0Sk_VXfd|))bP?P9~E%w6cVQ zjZ~P(PN$F`sZhY`yO57*rLksfSHeijNUy>#WcArbvvT)J3AFG|R+LJ{b{sVq3oX$V zstlvpu2iBUrR+>9NsWr%U&5}Yl7W4vCZ(hZj&wz`x2je!iNR7g3N9HPh(LdiIBDf5 zrm~Xmq=#6qqC1&FMzho1$@>IS(}=GBwyeCp(OLQ1qD|kx8x@MDvXt9mvNB0bRyK(d z%VPF#6YuTncCy%XGO&L`4OqP^t3KuTq*YaCyo$2uq!>**RwkM#PBf7yuI>bzmrlAS zz9&oNlDvw-Q*2W@xu1+@$vw!azNKPTT(h&p(LE+6&}qfwtn9rss~2pON2u64g`$up zWRM?H!ES{RtH6|EDoS)@D6mLLEoI3)$=FD;wL^fMT*@kXl3Ph%)|iDqmwS>?k*xmz z1SJ(KpSU*t?_k zXR!3XgOgXW6vdq z)S164pgNa0$n2Wre&l9C7PI0!(vRH7D)Y#x#8SsHMI7%|U~N-(2Xpo(1IbjjwLcnN z&HVilO;cHVKKU!c2;Iu+wO$ZIg@;ie;9MfWeFJ6TVbo^;`g<=c89=hgOjbF7{DmxF z>1v>b%&Lax+)*=GOv_}gcVEc6F{AzYd z2OB@k@&=JYR;nk<$Rn&#PbQKzHF^UXjEQVyAO)^7@)T%2U?OoS{Efw%$zodh3tMd_ zn09hlwV7ZIcA1?qliSG~Om89i)PJ5iE#wv~h}munIY#}Tu<{#;H~Wnwg;MZFW7`*l z1;{)e_15>YgblK_|B{utgH6jPIc(fO(k^wKxRe+tu5j)ZJHeCD%EEPQ-ar`F%gTn4 zE}g5^X63>r()hq88(1|bZ({WW(bFeb^dR(f3-9Rx>aS*J2a!ifX-)Y}B#V+e*`}L` zqZKEQx01B>&xx6FrQ#)~wvw)J4$&F*%IZFqm4}A&31S7V%ykQQj&dtJvXq^+lDpbJ z6%bUlixmwa{c`qV6)g#=+s{W>9BDqXvX{a0*p?w=ddJc%dKvKvN9ee!ge43mX>irN zq41>xZ1PY<%T%^*C`pOxs3>7&`J@~34<-EvcHCbw_fpS)2b{Q0(tGLk>D^}-q#oq9 z?TR)QadcQl^~2yHhgo_7!u{aSaA-; z{+C&c$SCUnmaQowuTtR*8!?(ZlxaQXi~cjVHiE(t4;ctM9+q5IK#u<@c4ajD+IoUz zk0Ecied##+x22H>`F^%n-fZ({m&Q2f? zM7^|gDsxUGQ`%n$bWCx%rhXz%q@^tOHj5}qX!!?iM&aaEdF*fC2X?0^cx?Uhl7({lq{x0bAZjF8x zc{2_P@9IKC-4T|4FZmWX^?e-G^jSpOksxHn_mSy9hwei(gR458#WYq%eSHHT$a zAU@`?;tE9K-OOJ>mLsDjcu8iB`vIaMJr>BRktOidSvgD$U_QaLD=cUGmO#;k?CKIM zHx{xD9x^ueZaxJjDb&p4C0!V)M2@_d^{FK9;&!DHdz49R%~Dc>Tfs7DFo|tgCazrS zmyy2$?OIMw;a0Iiq#a+uX&b9xstUHc3Jd587QGSyw}O?g#IW7ZcCW+$EN1m9iLT?z zS=mPg(=R-&$Gps9S3$(fZ1O62<37I1GgX12s5*jKj+%ZJpZBq?tB3>h2YQ^t`mQE7 zcB~O6M3G!r!{)6fV^dy5m!i=nq~*#usb&ppSWUd-P|b`7NmEph!yqL%HY(`yoez?z zog>NeXX=C+Nby$fKg?D<0za6=u04X`In0!6$-tDuNij;;GlrjHwc|3eS~$$+t%c5q znSU+1h~az`V{?R+JxcE74G0|_8{%+^^$>~585Pz*;SqKPENEcXI?_8_vNb9o*>HsI zT1Vc3tV`Stj}X`x5I4QV_0__Ns39}=Y5g^j~!vPkHOVyxoM`e8@!|+ z+wLVdk@}iOFPR&qdXM)mX=UAqUPU#P4mAEFu8acZr`SA(1bK?BW@LCG<-_8Qd8VCs zZ?`d(H8N!LhCuNxp9P9no~udTM4avEjC8hm8?lq3nlH9N2* zlRebgojth&E5sS;HRpDamuOT)n$nv{R5b^mB_}(Pa`xZ>a!bO3*|vM;-Z!9Nu4BP$ z*PQbC?5_uiwPopmn$}7^HDoV6vxhA?fRGq*kmRVr~eU~~bc6t?$OVu)nyRd@=t8IbrFe6sM7@pe4(FL-49Vg!9Z zFcx0{dd>RRNaxsQ!o_Z_In}&dGM2j~W4T)*W}m)72C%YPQlEIOK_zrTBXJ+81d4k+ zv(%B>+p7V`0FGmu>&V0H$AODqjjaDML_;>4c?_wfjBPtcZf?KnW0hb4F`j+LOBNh zw*Fo0gIBZ5?~)&oLcchUrQ#X(pW|dWy>f=#@*a7N>|&q3M;z^c{z4^~P~|i$JVA8r z3%*ndDS&sdr6)+&AY8<@oq&i|-G5Izi_?d;+ybhwdqY`{br&F*V}uWUH05)#q9MeJw; zruJB7_z2xG*0?^x{HFO8dx*}U-iS}~w*kZOJ2!}Yzfp;(kZ5W)`V%;llP&m!+?-f} z(mvqCmQ%b})YN@K9*%0S{vqJvN_NNRFzGnA*{k3ST%cx5x zGsRhw)wdz5sfi~}e(@H|VCmy1lQrXsupDK6HvX)*YMXr)GK$#aXECy~*nWOH$Ufq? z)9hz{%VsIxke;ap>ZYb~Txvn5go33+%&7Aa{}pWXHxM+L&BRS{NYm6biyi%zB*oQ& z7_V(=8WF{A{0I8s|As{OR~wp|DgsihTnbka)2*-p<+9r8C`v}z8g>~CXGR;FnsC6v z8&(%DC9CO!QIAFA~YQ9)RYk5D=P}{iQ+ea=Mua79PE4560q-< zb0k(V@5ZJkKYQ^f(wm(;2NMf7v5(J@jGO#7H8t^J=NDHm4+GeUGOiZCc$pPt=TR0u zw#5LanFd|&&e?f7l5NGSR&w6Kd`L6M2=>6YqMe`MH#K|xTUc-g`}A9kYBu{1M-?pf zJZ@W=;XDf0u{+L#a~!)5g^J38rlwl9?OW27Ri7u(sPe&i(p7N<-y)smk7>xT7x`@i zYyTbT*>~%R=9-q_v}Ya4vbl=5l=zgRY%3f89m(o(W+V)QB5rWmkja4iz*5Q9e@D8e zRE!D@7bi7>RL))psekmXA@gxkd^fzfQnS4vk!1G41!y#meaBG=Ykv{93f7n3 z4zZEArCzf)H7!CdKI}X+d1rQD;w)iHFQV!peoIm`pd_8`MM-Lfvv~!sd^D2f8TQph z(S!eko8qJkT#Wokl9>8O65S)u-PD9rwHDr0j+%qm_#YwII$cUNMV*vEO+a46mU8kM zkVilO6cx$bG7TUfVtdg_|J@+VvC8{!4WxZ2Q{q{6Kwh24ItIBy?;lR zy}~~II~kz3a(7eH7IyS|glthqL72z-UIKA48-EGjP`n^ChTNcAz){BTy99%7Vvk?K z3TOvAdI_VphJAGj!MbHpQ`2Pd@t(=S$_-M0CE#hMx(tz5!NNuHONq}ckgl?%W?7h4vE9SgmE^-#-C)v@<+-Ua)9YRd*qLptzHFlYk z8!DQbO2TT3YJ%L2ss4cp%*+h`AX%x`mNYeOmHb1VAvS<(1-lzuDO)NL!CVNgJbVs; zw1sW{2N{sEVOhv@A`2SW%D(sq>3Y-E<)ImnH=Bn)7f>b#HZQZ{&zZ0?E}|G^$C>6Q zXnzGH$?JmQu>$05X5(b%il(L+r~%Ui`@Rq4eQZ6*R9MNL|B2))Ca*^C0%MU7N>OHN&(8(FxAiSfHU4;b_>SYJdm%Ud_4{Gfcg64JVG+WX5el;L+!-6FjW9sCH@D2OMtl|&?8DnonF)FU!+si zgxPovQfUo#QCJK-2w2wmL0~Izr6g$+uphWY!mDpbcCJwY1$uJP&gT4wWN2TR30JyB zDd>@-c+YSB6T+xaDI}8sw$Fkxx1mSy1y0YL%?|&EjPXpF4p&{M6k;X5mw?Z2Q;N$? z&esIo?Ovs@56PM1o@ghzR4MGnGKk|p0Uuuh{SYM_A4j`a530n#2pCb|N#NbU z{iFsv--951HRMaT0bdKln}FkA!=6*({~Y*|EdMrWn1L6q27y7T2sB^=9w#$^z5}?# z4?28=_vl;Tb%;8-$GPQ*np&0MmlT{`&c19S6G-{v8alRf1Kw@p&P5RPM-$NWvyVSU zM|u8@N^6dVdNFtbwr0TK5F1$v9Q#%X*8&d;<8QYR33O*D^2P#h0On2cVL1Z43D_!O z`(kVdQJ-UUf=wYbap+DIM(;v?k(i?IN6&zHrshH(0`^0R)IcTSdEoT=kWv@!XZVJD zXd-{xIB*dmzcU<^p@}rb()-W{rlOQ@A z*h7Tuhzdi2V~pu;J)pbZ-Bw*t0pvxCmxGn;p4`Giu zMjg^*_Q06sN8s@hxI6;02>faU{vra4Q?1w}oJTZidUFK^N8mew(;Gr2T>%^)hF=2S z_r6kC!7Tuv`5O4bsStn19>|Vi*aR#d>srt*H=zv$^2HVUZUq`R1uwlhVA2O7=$m`6 z!*Mi&p6naIX$Z#+#aoQ_9^zVg)vSM@RAr-9o`_;ujjzDll(NEPQBv^pGk zH5<~2_Di`3kDDL`aVIMD1aLK5+KJw(sK=w9eE_b)pYV7RTyhj-@DMwz>|Ry zG@_Jp;Dk>?_$lCZY{(6?U*~u5crvW&&pB+#4K%}ZTQ3+1I%2Rz5guUqaGqQ0d0_dF zp5u>zc?qz)LH!UUSu`4S%aFJ59%k097|eOX2#9h`GtU$l)XF=9F9d*Bja zd3@dnp2e0X(te(Q;Zgolf_F0~H}vHM$K!yPq3R8isCEwu!l$xZQH4+fJWd@LCvJxI z8!)tZI|Ckqgc~D#46K)%MnZmT6IOq~JZoS|jS}w9W%-@y;6jFmDo=+(;SJyhxgr#~ z2pkW3ps!Tu2JcMuG?BK!d@R5k0Zc4fb{|0gq$Y?;Rc$3E4Z zzL6VEx{yqhnqF>R&~&0d%TJ*%6@HKM>Q6)CnUW8q0?Qq-0uKU~$MY`Wf-w3<;1x{O zg--Dt#p8L{KpxKv!1DKAd_21%CW}#39?zk`8-V5U{0X6UdSGb$>emBPAe3%J@-c@R^a1k@ z@QeGy&%no_fb0+EZO9G4vOi4R9xgAM2(t&UC0*$pZ4r7>f0HV>;MxqlV{i!bFIA&K zuSG+=Cl3x_8Qn1D?1V*jvmxCO9HUpGikvfOw6NnLOuwH=;{e^h1-=Ab_{DYY3kORB zok(~Va0#$Dj-W@w7Mp;3N%Y~sjbZd;hPb{NeT4w1C}{3HF_v340rrHa3dSv z9kW|^OgG8`Rp7V+CY-NfYrA7SuAuxp+uNO{rS!xMbQQIed26UW3OJs91(Ih09%q4+ zD3P`TuLhnh;n=lkXh>jV$}MsGqadI)E{fwNu_ULTNIiZNyqLdQO6f9Dm-=`h)3m_(4^$ju`%iNut%{04hj|Yki%72 z^mu@ei{(wmZpQR5N+o1VgI58ZJX|H5mhc|n*pZ?1RRo8gfp$depng0ur-1tFB>9!V zX9_V^f%+2#9}2R=1U!Izx9?U6kQ%su8)6^yK9YdH17Cx}jS|j;cU~9~QlL@CzU)CW zQm&!H&p{EaqQqh9jUFCni5W1<1Uw#MnhZK{=ree%0GFJJ_N>CHVr)p-4H%&_VYBBH z1V?=l)W;BUbA6y^FJ;g%ii?m_!0_!(TIX&CxC*L7iw!G;AqJM;lV;>Rfbtn%hVtny z;MHOH6mT`WyC=QX^BW%Jui?3i^+jmh0oG1ZUy6Yj0e6(J2Y3^3HwnK}jyZfnXi(Ki z5tZmwE$Ce9Z;%qk;#>b)I6nrd&l=PRmQsXAxC;gKp#tG0;0rL5?0A=e&j9m_3(!7- z2E+It+Jy)W<}8J92DoCJN*DotuE2!nfuRt$5yx)==b-}u`A#atya0hHkTeoT0`mq% z3!uS=fv*5#M<6Qj9`G(GAg73g-S8Ss z1iZB%_vu66UqBZ}jjybRo7itEI)*w-Y)mFx_;o0>32#p9-~!+V1CZbbv89U!_JXAN7aq5>4>IYyiX02~%57QnHP1La%I|7$S&Jnsr>Y&m{8fz3Qd=j0 z`Rf=-621z|U(Jx|nK!~1z_JUD2IjA9bdvZN0rS^4QUcf`JdFbWE(f(t2-ySC!!SG+n7{jRgT%iWn7;=iH@Fj+zY`)Wd=i+yA0ke30uK59jRO9% z2+SiY&}$H0{02^y@OWVU5=mDHR{--DN@Rtf1?Df8w3p}~0`nJ5;w1bZVE)31T))pv zg81@@DBpt~PecKK6Ghf|2{3;vMK9=k`)J_cL ztydq%mSR$9*>;A(Vx^%58aJcIWh!BjR6if{XP?`#(vTFeWBxp3<8)7;fjuZV9#-Kh zCRDvWB*6Y01m1y#q$J>F-~v%Vp#GvgXbByVL-4to7#sC*5+H~(!g0waRgo* zfwx-Oi9R$x=P1greJxoYL-zx4^jRr^1E&muK1|h@-a6rCJT`(=>;p(MfjO&P2*iyS zSiZPw)e-o;2>ksJcDOIiu(unE6b(7z;6ttkxEffrCGZqr`SmL9U733^$;m3hbPfs2 zwygrcd~rRt4`qXMvC8|`P&O5JMd>hjD_fdN2j;B8m5Byy8%fMH|n*IVfn|+l_ z)3mV#SkHVD$_hGQ`QojNi@>uBSbjgccIXah=S01F-UPJ$2Dlhl>>Y5gm*Hu^RHFCx z;e9G#F}Oj0sDS;}586Llz%uf1obqq9lXp%fHH}q!AqH@!jEN8rJo!%{oC2I4hI;__ z3Bx(S`Y_xdcu*KN0FMh{_F5htk4=6}r~Y&fvCn|EhtPU7^x=V8v>$Na?uh#M5Tly-}240qvTdxI{U$^6}w|gysiPU-~U*|{{AH$o0)oeX)WhNf=Y%d;D zHsG-sQe}TU0$jkp0;%)&yaGt#;Nfq|aMnppGcvWqG3Y3lU3wH6=9phxk<#I8jGE@B zEC$~!l*?1ePT)msy&9s|ph_Q4DCM0T&JL^T677?)Siw?!X@*X43#nnT?B&uyBJhW( z$6pwfo4Poh&C%d^A?Xm7&nTDu?l#~ZVVD8e0?=GL?!n_iaLI=M47fZDD@Ng{4OsL9aH)Y80k@N+P64j18KR>dNX|+; zUkl^qT{`_(Ksm0%UeHIdyY5%l(wMrVNKcQrY^T@id0^5yzkVELs@&^M=}Y+K3GV;xXXTu1@+-0&pDbdBjWoaW#fXODMzi0H*y;5ijUj=6e$avs*#zLciydIXxa|E7`P|s9Pb3)d>Mz_5)pGM&5@v``Uu?9roJ0oya1g>s|3obW(-mKtqQ_O_s4QL{8Nd#Us zfpxl(j`8fpus3YMi}o0HZprh&wND0KNZ|P8h6{BQ(55P`pn!11>=muG5@ zJx%uJ1x=4c;DZtPYv60?O0lDzkpa#FXYWx8n8K0giEs(H@!1evn1q=q40izD4V)+P zdx(&Ng7aYvJ%OY5E5%8P3p4>I11C!jj0RReqZBGI+?+lIct%bji*Vc-BeBU9!ezk1 z3rZm#Ih@m{1Aic$dL??Wiu(iwr*|sFw89yNBfrExuN1CI4UPdm4}k%ViSRk_ZtSbD z*boKwy#uQXw@Oe-xc8l~P(@(7!{u!UF1{D8At`(wc+-MF#`JK89#e3}ya>xAiQy;U zqNXTQwj}OnsDp} zo_AC!6iEF0>=;5=2rDL$p5?&$4<}}3zIEjlzD5+}y`~hlN(=>VIMLey3nXIZm<@ad zJ}`?0__qTe2fu8w;u#pC`vMD1F7F9o>i}3p>hasa`=legL`>#C&q8~vpb**@6?kGc z7>>e=r3NzQAg7?mTO>Yk}9HNANYVLc9CmlLIXL!quE% zO<+^N1zrR`zZSo7lIZ;~cDuqFoCVC6yclXxp}oMzF~&01S0XA91>Gci1@LLl2O%f= z2?gqgkkh3vMckfHif`I+1wLMm85{gtB>^Uc!|^35@zq66{}b?`IT#Wt3||D^(i=`D z;j}7L?1ryjq5}$!1@=^8%o0$Zh%w7t1+SORSQFtyGl2yhB$wgF8|bnchX@l?LV+{{ zJ0Hc`E=LtiR0GywZ!rr#BRTOT;ObuZ^_W!ub6_ z0){rwAaI2%usY@ntOq_gNEM8Nu8$*C=V6GX`k!q?SRwPtLpXaAq5?-?_(hH=@6o?N z-lHnwp7WScX0PQF%SwAge`gWh7+*ezzG z#bI!pOge+hsMCOQd!UMbxhNmwykSmxNco_ zEm%FjZ&~AYi`8ncn^mV1rrkM4@0fd!OXr?lu4Bqu=;;KL!D+VGj5dwUrLj2;HWoXa z_D?jp?K+#?>2m3Hdb7#qF8l+J32NXnn{8T`L$9}3)EcwKsZ%>`CY#Hs)#+_&qr;i6 zlXY#AQ{O75r!}ELA81qP^(z`2tL8F0x9k&}JAzJgsMQ*^)2Y=Noi2k#Yu6OEs(x$Q zo359WX-3ktgvgL(B_pXmL1T8fTo#wsZF0IyI-Qwq9Z84YpmrIJX06d|QLA-kr<+|K zNnIWcGg!=Oi^1&Bm~AeL(_lBc+(xt0<}_LChWwzB+T;w5W}BSBh}Mj3tNGw)wk4Eh z+)7J5YK_K?yynuV%_d|j9Nmy?za}5&iP~Q6jtk zQNYZ2y=g<&Oasp!rc&MYN2BJyU=4E_PaDZx(~8ghj>~A8b?guO6W28fdRS zCF>*`c;@7{>0Y7rWZSIQ?+1E=Fn|7H{M&6brS&zoUR*J?oUn&ZpcaSS?$p=}I^lpdA;<9M8T7x-1=qGJ)vM(plwBeEK1#$Ur z6!Z)3ojdza_o>zM)wAar?zu;pKTk7l@m&jN=j+rKn@yv!>kS68&1iH>`vvk0HCc2T zw@dA`yY(8KMe8&fgIc@nPN&;qF=@0GyNxe5oEnqXrZ;NLc9iKgta>6fI#FmgJB@Y- zGPoS}>#v?4%292$G^&{1oMdo0jZTx^jy;c7Z8Vq*vEvzCOx5goG419tIia7~Zgy+c z7K_%cyY6m;%~);ek*^JApGa0uq;>K`YxqdsmaO_VhDy^0T`RD^-9{(o8ccSF&S}>< z;8rdT9PoENfK8i3hkMj^gVyF!>+EK=QG*3z&}bT+%W2R#9Y%-SsdYG=CXL&Kt)|i9 zR@-b^jUzvlSK8tX%>yksJrP1fGf@lH2+mMaX^S(oZfMErYTl=?bls9Sf;E(`+hR4a z%adt(P0nO`lytEhj7F2ojAgpnlD6W1Hig#`kgg79BKmn2koeLvPas zc!cRL{1ZrXoO5UA>(y?%Uaxn#)Y#nFHO2r#O+p#}p`XKH(wOWTjZLq0AW8x)z<=g1 zo_5dt{8p*K>|=IeLuWC;bu?D4xi+3iGR>Cq>*L1RzGL+le0(;wI?z@iaZU{BX{*FE`eiy0?+PKR6L#Hzz=sHt|*BgUFPZ=vzgxpp%a z9!4Ywjn1ew7@URqvu25l1f$-7sa0dqm<(8z=+$a=ax2}^*X_2rj7TOrr`e1;61%~y z#rYx56HQvP(QG!N8Mbj7oz~5y)4T0XHDcY4rH0#HD9m=vp6@E>!g{j2?X)xjDaB$j zn$$Xj-tIK3HSEz3X&1I7l`Yyq$0q1aE}KiQbz_P! zgTcUCNM*KX@V_=O>0ukBQIk=lHo9C6Hgp&DB)Uv)t;4Ky;!IHEa+*zII|XdXPMW~- zcGAyS<8yRKKbza2wma<(vq7sjU>cGJyESXGqUY(PM5I2W+lg%F#PZSLwiL2yCun!} z-t+W^M3c^;HfS|kwOQlPYHb>c*6sz`u^TeILG8d|)S<&FM2#~Z9Aj$Wa#L%lmQ8(u z-t2K>xo5%QG)}zq4wJJmFuctV?^>SSP>Y7Gvj4d<#3t;NK?+D&H;YSa65f8cn0Ie&xJfRkB`+2qh+ zF>Zjz{6@R6voBIdg3IVK+7RMSjoyZE#=7JPy(L%YRvYbRo7(NhV!>pW2fUS@Gn=1I zPil=YWDgyGgWayxJM}oZGhyB{8fv!fp*N91ZI71e_YHM;FU@5Idug`>?4IlzhfAl$ z3g65y(MOXLbT+MCiwRq8cWCTbh_HKobXkJVZPMs5JGt~4gWF}- zvG)7u-5#wT-E;FKBW8$Pdc4a^9 zo}e+g+%COdjRlPfo}ghF2k7zyIED)mYSL=m7Pr=DVtWtJCAkK~w8?ICz%CAx17R=u zr9q?7;KW?3S0gVN%o@F(-CjfQPB5sA7Bx&|u&E7hjn>3Y*U*^>W}^dhkPcq&GP_M$ zBO8B^&Q3rH(iV1>PN&gm(O5)B?e{y5+NveEr+QkWT&J0XGek=(U#A3JzDJx?{|`z? z8RUPJfG+~`EpoQ_pZlRv|F0rE!P5;*aLWGQ)%fp6#1nbQA}00LL+3gNRTIp<*U=GA z>qkAB|9cXUC%8ZM49_2)IBEVrSVPL(zoUi+-!`|I5jFouCx?$~e#gl@|3zBW{?A?> zbaHK^laK!Iv-=+ylr26?)7agIsoB%Uu^jf7QpjQ#Z_!(DQh@V9o<}t};uR;VHV>qN zHf=?O=Q?Es4bqB?>l6`89N{9`NnK%lxs#wVYMcf>o9nQ8(U@ICYJ=+#D} z&83sKESQ^GSVUaaB)3MX`P@&}lR<4Bg~`5SFdHm7Jv1?6R>y813b4KHqq?v|Z_q~* zOqlAhA=8-6W-U%rZEVV$SOwZ~ETA`FVPkNsacF7alWQ{j;!WCbSX;v!^x0NA#n;kC z!!)*Z679-twN#yeW^6jF&&@iE!-=I5+g3{#dR#WO*=;oHF#p=sPK_D|hUNF<%N^3| z%w|1Kt@&0I--TnzAuXUaZoAFt#8S*)#F3!dWYN2I8oL`i9=96bPpk9gSZG6n@ef4& zffDTPIy$_c!)P?(G|h(B5nKivwwdw@q?KW?9HR@_ugBRjAb&up)k30Hn#o*y^C$G z$AYzC7foSt@6+tqX$zb)7dmI^@Nb7xYmNGSdP@hkhAW;+%akp{;AFd9iw_G>i>bCxv|Y1qp}p@|Gk+V z<&XT;&g1Mm{uqlF_V82tPEoz_KOM2~+YDyIt^b-|@UK7MCp;bSCRYw#@xy=On|)(& l#~XmbtHet2&%kc`1^ed* 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 I>pG167yGJjwg3PC delta 47300 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 EA1=d}d;kCd diff --git a/examples/io/script/Cargo.toml b/examples/io/script/Cargo.toml index 241e3da49f..18f02b7af8 100644 --- a/examples/io/script/Cargo.toml +++ b/examples/io/script/Cargo.toml @@ -1,4 +1,3 @@ -[workspace] [package] version = "0.1.0" name = "io-script" diff --git a/examples/io/script/build.rs b/examples/io/script/build.rs index 32b99273cd..03388acab7 100644 --- a/examples/io/script/build.rs +++ b/examples/io/script/build.rs @@ -1,5 +1,3 @@ -use sp1_helper::build_program; - fn main() { - build_program("../program") + sp1_helper::build_program(&format!("{}/../program", env!("CARGO_MANIFEST_DIR"))); } diff --git a/examples/io/script/src/main.rs b/examples/io/script/src/main.rs index 445b8f47ba..58389008f7 100644 --- a/examples/io/script/src/main.rs +++ b/examples/io/script/src/main.rs @@ -13,7 +13,7 @@ struct MyPointUnaligned { fn main() { // Setup a tracer for logging. - utils::setup_tracer(); + utils::setup_logger(); // Create an input stream. let mut stdin = SP1Stdin::new(); diff --git a/examples/is-prime/script/Cargo.toml b/examples/is-prime/script/Cargo.toml index 645722a150..b47b84cbb0 100644 --- a/examples/is-prime/script/Cargo.toml +++ b/examples/is-prime/script/Cargo.toml @@ -1,4 +1,3 @@ -[workspace] [package] version = "0.1.0" name = "is-prime-script" diff --git a/examples/is-prime/script/src/main.rs b/examples/is-prime/script/src/main.rs index 85ed0bc81b..6e63191450 100644 --- a/examples/is-prime/script/src/main.rs +++ b/examples/is-prime/script/src/main.rs @@ -5,7 +5,7 @@ const ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-succinct-zkvm-elf fn main() { // Setup a tracer for logging. - utils::setup_tracer(); + utils::setup_logger(); let mut stdin = SP1Stdin::new(); diff --git a/examples/json/lib/Cargo.toml b/examples/json/lib/Cargo.toml index f08814b055..d85ca839f7 100644 --- a/examples/json/lib/Cargo.toml +++ b/examples/json/lib/Cargo.toml @@ -1,4 +1,3 @@ -[workspace] [package] name = "lib" version = "0.1.0" diff --git a/examples/json/program/Cargo.lock b/examples/json/program/Cargo.lock index 915372f777..ba66915b39 100644 --- a/examples/json/program/Cargo.lock +++ b/examples/json/program/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" [[package]] name = "arrayvec" @@ -214,9 +214,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -315,9 +315,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.153" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libm" @@ -333,9 +333,9 @@ checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "num" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ "num-bigint", "num-complex", @@ -347,20 +347,19 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] @@ -376,9 +375,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -387,11 +386,10 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", "num-traits", @@ -399,9 +397,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] @@ -582,18 +580,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" dependencies = [ "proc-macro2", "quote", diff --git a/examples/json/program/elf/riscv32im-succinct-zkvm-elf b/examples/json/program/elf/riscv32im-succinct-zkvm-elf index c63265db17f4849a0408206c610a0371d4511a28..218af530ad586ae4b01bbad23b7e1f55c86edf81 100755 GIT binary patch delta 30556 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 a9YS9D#^33Bq3FnW_-8NHgMV*gKK}z`1;fDr delta 30546 zcmbuH349bq`uD4gBoGKNAzVTTGu#M2O0!n9%slCL5`_>lZ-;AYCN2H7Y(?hXLSE?=Iq9WB*}~^&*}~U|d(pErCq0v} zB0|0|t>{)JHu!_mil@uEH<~6;^3T}X#;s_<(b!9k@1q4@l?`(AL+YDl%d#KF_vl!c zoK=)O72B2bIwdSNuj!4HtSmd!^x1SuzAana>T`isw2V#2&7-AzVx_t5Xlc{3^|_I{ zwA53U)!`FL=jXQWfMDp-;kS80YCWOi)rfE#H=tJt{# z!Pvl~%~oC0oRTkNEwAZG3p&L{T(gu`Xt5*Lw2yTg*CsY^U@KbjX6(U%ooK*&xmEFli0%gBqyUjVGiAc zXJZqFDpVM?Bk&HD@dx*_)9U+$(A zgJQWOUZkZxW1o$rIjI=ttjqj`9iDiw>%UkmuFP>Ak^81_&hY-uS3o7ao_7OL+V0+o1(JI`P6)PPB zch!sSA2X!U!qc(z?UWtS8$n_n#txtb^J7!SwyR(HhmlIo#|nb1Yfi?mR*Qb- zvN`Dms2ZWHmnUP&){bwKUVnG}7A}G02z`&ncKWwADXp86P6)%OfMs=fu~cd^5xQf>@v6Se(ie;q7ew%nTcmBK|+Q-ICYDlUDR8J2`n;fskHS{OmXk!}hE8=dyx^LaW%n zpBq67TCLjeiQTbz1AVhwtiu*n7#SP4rM2%s@0^V7LOhU4^x*03)q`wdK~BaxTi)JY zMqbC*wk@rN7h>;jY29;n|C|ibCO6+}$ZaUBp10RyDU zs%@==^jPa{t$l@~UzqZ*1FBe8=%APkk*D= zv)JBk(@~du`*d{QQ`>LOUg$2@!#Lf`zjN+MFKfG_M_pPmrmX0tP690$ST^V78#8Ia z4)kYi#aqo{nS003(oN{jvWNDrL`N?x>s~p4($a~Bz%*KM3kJj% zzx_ETwXzBC+}V^?oGd$Xcq63+Z;37whKTDcV&}fc zM9?+X|M;7;CTyA+z*3ciIxte*J>jKlbF6 zjrmQ0$i&$AQ)6jCj0fINr-spj(XoQld9-3wY{Kd0v|>bT&gqeLXI!{|QGHk0XQwYm zn;Sj<=b|i1vdb4|3i&V+G3+V-se#~ux-8SsjkJL9|BVT5D$RR7HBxA*8jJve)6c-pLz@^_~QYlZe*x{jE6`+%9#r~YNif3iliMbm`*&f}5BKLUOx;P)OQOTsftdf3&nzfTjocHV!dixfbx z9e#S_=VHR$rbD=8)TIlxO(8sYx^P9qNf7P_!F>E=vX`d|w>7Q^B&_W++R3(s1$VXP z>UL3bGutsk@CrAx6ElQ?>Bq-9$<5`STLdapF983zgzjweOrcNqth-&LA!@t}-@Hvv zmA^bwXdnos<&`BujJoj^&~vRm#I+6q6gmG=s6A)8fl>RSHKdxfL*vhTgiMGmfWkrVhC zhuP(-~0GJj-ThsuU{kVO@o)Q2bwRq%GW$B zJe?-YWmi2ew9lLi4GviKUpD!1;a=g@^3#tC#ks@2m_bPCtuEq3mOv>PjyNRsoMdz( zLMRo;?h-<_&vub+W`5=@LX^&gg+@0+@4ik>l8bb%=VkB_ zFpqD}`@zS+r6xyiA>^~axj=>;A3*Qu=1wvQPUiAsXTwg^YuWJ#IP3O=9f!cV367G` zt%NvQI`xKe1x0fRSqnfblJgAx^x7s2o4 zI!Tdf;JLrSfIJvXdHJga@=%nJkkd&fmomXwfj_b5AY+cSi+{ zO|C3IP$3Kz`YyT)dOADFX0xKV7op{DCpn2o=Z5ZIijeE=B;8HDz3zo43!LPjS?}{K zyhqp;^~@#YWWR*HcilH+(p1|J<~A*~>=(#LRJ*w^{A1?tx|@(?^IW94Y2JD8 zda%Rfg878}n8YuF&w-m7`BCya5*&9V3S=yVKl(dK76f=Z?p;PmFXVIP{`dgAAW8o4 zaVG#zyTE?rRrOd z4IG;2hV2o|VLh!3yM^hJ2KCLKJ-lfeEI97E91wMNYEGY}7DB)mpHX ze-OqWgaHj8&z;d~HN1=ErlrYy)(}#Le5?1;9w6k6qy`KCp9J&X6KD>+jf5;HKz+Kx zci5UYg+9@J2>-0n=Da}!l7;x1Xo*4C3%1rtiu}3Y$;i*JSMUeeS`9gmW*8T!(3+SY2ESw( z07o4H*R%A2^BzQ)C&^C$WBD}0I4Y1$NZ_l!73VD;BKpc-z%5329bb!3fCA3ECptF4 zFXktW{CeT?M+xC8EQXIRzXUvMoRiEkL#y#)gjB$w%aG5@=Yw-gO%FtoFdYeBLZHAD zD6~}&wsDD#?*gCnJ5ic{1hO1_*6-wi4<<%%cT}i{0z6n34I+PckvaH^3N(YfZBuvx zyf5H1f)@&|%ps%z3Urr4K^VN*Y619u@Gfu{y*f%>1|LhxKMFpTRK6jC!FiYNfhg2d zq9H*v5_ArNZ$^OvQ{i=wAm365kG;)Z3InY!Th61){O~S$*2Zty_*k4V3G)I%Gpo44 zc{aY%#-nXK+s3PGyv@e%S&aI115Q{8CTBFSYEXL{7ufg)8<*PnX>b8NtWPKKcQpf^)R3%H1L@E8f@)nIoCyowXfwYfuFh?!%i>@ zjN>KE508mEZTy6d_u2S+8`tLpK1tsdHZJ09wBPVRiA~@E8^3JhLpJ{1#?4z<)f@WV zHZB5N_3J@6)h4ji#!uULpN+q<@p&6x*1D=eO6x@Zx&b3?0=L+Bxs9K(aixvFvGJca zzAQK1e#1o`9{%Qs$G|WfPqpz98*i}jZX17XJ5V=8((kZ$u?eS<0ovq z$Hvj`Z3$U4)mw;Go_wi*eOFcEMCSuX6%o^z5Fx`04# z0`J1aVtgo>gx%o0G#f57z?xCkFjJilE#96*xtyMfywpAUbYKMK4rDZdzeCGxY({H5R{W`2|x zi6LPi1h7o&3SI}FOH%L_cx+PszriiHIw8$J0yzhsiu^`8QPR0RHor;v5_oP>{&;Ya zk&pVJAcBM?5U?y<37(Rq;1TeeBn5AR7boR^1b!+h|G(h%N%`p=2-$&rtAQf8LeJ;* z!+@Sh*ard2#bNNFBn8vKhmqggY~jP;vq|~u!MV7~%*t+qc;9_ zBf4ydlN^E&-{ACk8V8f-qltv^n-H}S*k=l4@a?Sm;R?Hgx0gA|dr0H+L#My7WEkA1GCv99=WJ@@1<2qMZ)f@W(r;V?&@ff!7bKGt|$Tsk=gRJs% zp$F}l&(3@<h6j$a5pgx}dn{`FV3kbix^Ucgtwp&}}H$Gom%AAcd_2%oa_gUA^o z;k1XGELcLB>mYI}*~o)X|0kP`ufCmSJl%rVxd89Q;o#rEnI_)>J_knp>-n3&lRk8k zF4Pz}f3O3n$JNn|&R>(5L5jd1;U)p20YB+v2kZEyu&v1|27hryvF&h%hS1=lmRD&Pq$!Nu&KP?NnB z$xb9&0r~>#_;;agv>8r4>tIu^S-KB+Fl=dL@=f5eU^G~_c@20x*k~H&E^sM$h?)Nb zScEn3ye{7yv*;`^9H(<%@OCioe0V%crXb-s5@4P#z`!Ex>|yeW=dgTy>?8%Kkxza( zo8j9}oMej0SAlzdmf(rtO$QS4d!Wzy@NsY$ycT_9xQq2WBs6I^cpD)fTm41T$rIoo z51E4xb-FZm>mlKTzE^2*)`N*~nFKzSOEuWuY3%?eIMw|L@E%UI8 ztT&s;z*8PcaGRdEK!aLqS2PHm1~q(H;89uv?hiJ7NFD<(09$?dHuwk_*H60qDe$l0 z#s)`8+bi+gL-7Q1Ex0kbiCJJa*afx}tOLtnYnZ$X?hUqv$rS;ldA*@DC(d7XJbM7uaf1M{JjVOUf?-pHJes;7oL33$ucaU?wWFiw}Cvr|1QKn7+VZo{tvJQ&gC07E>Qd$wp~dA`@y5Z51IwWy^bXp z>@@jZ@Fa{1{^1oae#2mWW&-aAACF%f3 zu9@FpH|Osi1yvUlOIhCyN|#l zl3MX!@G`J9A$PhOU7D0Xj4eDS6i4SFSwpfl;XVxxfvpMm6YzSlHR1jVJ_hE^=Yv_> zg3a5%5@X}La$MBIENg5uhI=-B?`z%73^ zgOEwz2|2WJAydB>Zp@ArVi#iBf)0F^ZTMd3(c}PEcmLWK&=6G9 zlve}(3cd3QJcZ6jL(<96_YtKi&p*6(Ge0oc^4ucmw>}sh?9=0dUwD#vP6%zY-$Pyz zY}7*!8qcus3E}Z*`&VH4uZaP=4a~*(hgXre7cIA%2Hv<2ljkY(bO94vRU#Pvjj70N z!u8-4za=Js-5BuaAm7x?pNs(P5AFi}XrfHMM#6X)aKuO;4zzhzl7d?XA;bLexoSCk z;a@@@*C{@-&Lrv?0oQ#7SD_l+Ro}2?KVYl;Cky|8#&@}fkR!-VqXDPZ{DMsnc!){|Gh} zkQIoN%`wyPen+A0H2n>U`dwAUa4nBtZ4E;e$dVLIqNd`p0yh7arh>G3d z&EP&}3+jA=K!$uu{}+)LSp3IqTs+ zC#1P~&EdE?Nj&E*LLLNXnfa$bMZVQPu+IA#7I;e^hS37>BII{5Ykw2GA8fj-38{C0 zkgZk+LIIAIKO>k**nyuh8N3hkI;>CZ%KHpv&40m4xpOeK4NoPy{U0p+3l`G)*Rw^x z2zOG?^(^D0aA$PF_1MHiIsfoUVX4X4Chr9EH+Pztd>H&+aE{6Kh7i)|iA25(c7hw4 z`8R;C0PB4N{fog@g3aiSk}@O|A%VM#8*msr9^Am>%%ON(o+v;R@Vq202CoD+HszOs z*MY4HUjT0fTLvEi?*@0$<*~_cP=v!Z5;RkR3U2#kVwLrSHE;_ve;Ifv*fO{rJPw>` z=6?$gf$N*xa2U~Fbh658VE)pRzKZireh>-#4Jgav`@sBdD9eQ}gZZ0Ld>-Z=ItJ!% zNVPV(@oRl}cAdO4ZW>dy_4lyTXM|{U zJ(3GHntcviJ^&8_Teh7AcL!&iws!s;ORU2czg?aMUfnpsAAkpEyT~rc^J=ey84i@^ zAHH>1X0pB+rZk7N8>{E(|M1T0GnQqXg)bTFcotW0f3U){SlK&_BP0kl-MAWMAbA~n{4A;E0^AHp!<@8t*nfCsbN-GGT~Q=&_+XX)pJ>Crhz zo`+<;4Y2Wkv}pzEwATBQzaxN<-_mU3g+ut|PIJ2ipY;72Z=xbU-OL|#81q{2CE#CCkF{p(1YZE_<|6+e;On5rT1D$mAY>HSSoJ9JfaifTOgkok zH-np-d@uMA*zBVwhI4o)zW`ni1?U{Tcm4xj1{O^AVZg6S;Q6Kk^kJ4en0FcRz3l9<&Tv03Km=G3uL-DR7d>_%jYl z9zg{f5?Vni=K;0~g5Y_`x8id-TbNFVO65qNgJj(i_*eOc5a%ElnSuoFsBdg)&a?Ck z+Sb*2BCb48%$lVJfIkCUv)C=HFoX7qu0`@TBzNRSLHpO=VUZk+Z5Z6bwRis>7Yb!A zQe+xE9o%jw&S}W!jd&j1_XRv-G5Iw36!eWY<+bBj@^`rOlPi~>3wAv3B6|$^;pDA} zkTgHs&HuJ>n@Lu#u`wHD;}RP`#zxkqZL@bThBJpI;`wd1urB6+$tU0yBp*ySnsoFCMG|m^i)omxUGj(ac^fbg*BYiD8nWtYnxvDXt_VT;PEVFCd-&|Gg5F6iab)@B#&_6wQ&px|H&556ZKdfY*q5Q+dQiu^ z;e1uO3tgvGt!D%)Y=Ehr&cZezsaVt|_NCGkk` z3UGH*z8L&oB0owdBViU29HzkEzze`xCNBe@9qlCZ(C@s0hr!1`cj{9Q=a#piJXVN7 zrhFmzZCuho94C-;@+^2A%JZp*%eR_|(?}CzAJ>GRqHjZo9=ib*rWpcvf{O;a$Rx8s zn_IEbc3~DU4R{N@pfX`#=iBgD2^*oNru;I_O))!|{4@Ae5=U>xnpz(QbA9|#S&P46 zCxr?u4-5vcXpaapE9^fH1#WW24f+l2m~32y@)kMoLWPqOUGg$`(_UxX;4XLLh`id^ zqhw<;pFbZXshe@8j&cRP7GRq(-bv1y7EfD*Sl#9%<4pr@x`z;@9Bk%)0baJ*c)5m` z&s~fdc+sgJt~sv;&spRmn=*M9Q1Z=FbKC8dY^P!h6J>r$gCiH zIrxe3ru}`z~l4K!a5Z=tVk)}1kKut?NH~UZorWclE8GFz1&gg=v;8rQ z0>6`&hXR3=gV%m*DNG~n9>>ahrHh1218(H(O1S*aby($ELZ8`1c~25j&=v2vS$z~i z!despw>Zf@vjxv=LXfP2OW{I3Y`z4~+X(~A{Ma*SQH620#y!&J*{b7w1^6Ul zLNPt`CAbUbkx3?JKZjuo4=yvi=z4IpsK0TA!4)n=Ld83HI+bR)=ymWM1dRg2Fr>uNTngUnJ(0Sudgs4?0PyDgXP67=PQ5 zFvU!WmZOhk`~|70pzBN6OdoQRd1k%>UWRd;Yw|X5(GN~C*yILpz@WoUGRySX$v5!| z0%Br@sqf0SFiM6bf^^0EQ7jI>I7x-6;JOcB0A{AeCV%=NMgdw}51fs5^Zz%*i2q<} zHS^#5q-sn^pH_{D7&tj5u04P*#?)&y=wuWL%dSO~nidZ|Sast01)Mzby!jP^62r*y zK;_q{u&aygG+QYD12NJI4KVdR44%{{F_E1=0)sFrCYeDkI9ao%^p2<;^m}BV=20cZ z8xCmV6~T$K^F@+B*gtLhw0zMmM?8`@qJ{&i67czhs?RNY6`!n1-T<=leYKX9YE&An zQLE&xy;`OAqEdCy=tbHk$<<{qB3gS%wYtuW)$gq?dXeh2T1!ggrjqH?if7E6K5?dh zYQEm{4U)Q^J=C1`j`|{M$nObz{r-^8<8~KX>VuLPil~u*rpZdsFREd;EQN!C5RxLI zPYdVE@#du#jr**c=%i|D7E+6PSjCUDJ3F$2X0Vej=$LG`eo+_ zi!bgTdy}PTd|0JaFY)--_1E5|iE(fd^}P}SppRNze{K7LUAT-kOYK3)Q|lmwKiI17ID|Ux$gLUp0c-OZw+&wIrY_# zFMBfU)rNLs`*LZvBM_0?S}-DOp`a@J0xG+bXF1x?){cM@@OwgTj}nx-WK6Cb;Og1*+un`y_8rkpfZ}>q8+a9y>${PM;a}g!%ta#-smlWz>@Cvu6gw zm_$86cOc}!T&ueM0Z|UI_U))E>h}jd0G~&6!xw(7)<)#VrXP|YTbA#+ zwCC8b?dVX4edolA+S4u*d=lIr6vJ9D;0dUbnxYf*?N)rMa%+eI)$3Cvx1>aZfk;U4 zYC$FBa|hiKk6+D~B=*%;^oo9B$ghe4*{e!o#OGD8N_#xoM6lXR3LDUYx+kidDvNMm1RWRjYl;0rY7Oybrxx|HBOPe39KRHj z0*V?8gk=x*rQyPSk!OgkxFc;Db@O2+`$bueh!~rQe{&a`QokIJjnty?wa6|St>z;+ zK1JGPtBWcrI!sEDFB4YMi4KL+Su!@AKH-Wp3Ak$S00*yAW%b7NEzm^>{wJ;aX-8qN_ocVgy} z1Hr22PAn*z=9T>(pN0mDUezmwRZm1!l!z<`gJL4;E-D$dMC1OusHi0wAFe4S-DKMA zsl|cG6DLobm9J_ZNft3c+_J|lsu80p*qEo3kyDG*q9#v`TCT5RjZ&jb6%qAPBJ8d! zXwzto4fS2BoDspPU4dc5y#;rMCx&O{M{uC@hC{)K6p|JA*K{elS@x*;K1IRki70Y7 zs6;%f&&ZT6l__2-(|xH-IVm$*tx_c^w_2v>QklL>WWpIWHnff5&1933DlPBPgMLM$ z-bff**PsuZPz7_g;T?$tXWl+z)^samYZMa6O#ie{G2gpk-oOn&P*c@FQ1QDB50i=E zSzKcJ)OKE zE0Ig(%9qS_+j6g|TCrlwu9}NUGdwdCF6Ngb`HJdwiy>JIV&{d1D{PhLJ~H$0oGWd3RO~m;LeaR}QHsy*MydFUP;;r|LVROr6pAknsSEKl ziC*Z@Q6Qs%i_E|%hFniPeYq|xT7qXdUvs}ZTX-0D5JE8gS!?TEg^snMMJiP&Zz z)yf|Ih;KNx_MNUD_Vq$~$kfiB>Au?d#~ttF#D=}brY2e{<-6mZoH#txSSZ;)je6F~ z9^OkvQ)@r0-L)NXMScz84tTthUkT%) zP3ui(;eIuRTjFQPl#;&GeH}}SjaOfp^6{fPf65eGaY;BBtBNE_n#ZdsvgDO~Z1_St>2i@j zu<`gKer#s_9=BF#$}1X-5z!rP*(YODr+L`Xg|yfa5`(?~Ze$}NYG)S47U^=8&mg;JA-|BC|2 zW7pt_yPDtlN}|R-iqVeDy@VD;BdP~MjzfYRz;iO(f$9xSc}s6Ota|U%Qh^x`Bc%UX zgXO5|3RvlVv?aTFDWVD&FhSK5@Qc1M?%KlYC8FxwQrr}~BVOFoczhm@UkUnrGHdi3 z=CR@5(;nsP?xl5v#u6@O{Smi@$EpEDAbWlpZRb!_Oy8pHR)dm;x!lW^E~0siE~i}` zs@LO}6u%GCysWvs9(Lt&+IcwcAaE%Z5rZ4IAzW)k*va?k zWzGFlrr;rftVux;Cqusio3%ig{roU(!TR4%i!Tp^eLfKnA|k3N`QSLyw~7~K@Q6TC zL|loZHce$8+)qV^78XNZyq*wr!%dNZn>AWN*EJ3Vu`uFk45kGM(=Y41lIA-kuSW`E zhwH(Wlh>npS$HMg6%Fh6#Q`_2x}|{MA2z*~@+#g6R*&k{aAz;dn$PW%(I1LtL~BY7 zdbBpj>{Wvbmi-i+>%g-aJcSCuzd_7o-UyRc(Rq#_B8A@q;ka$mp~!j=Ko!b(W?dc;e_E1r4x=~nGQk{KX1**Rnl?T{_X zvM72ZK{brGL~t)z$dKH!g)$Qt(dceT!@C2r&lkW&r|j3*^C;6&^YWJoaMg@A2_#Pl z(TZuri$9+6_o1!WHib4|cfL+LFz*Ajkt3o&NO4CHhB6vx2F#QP=v3Ty;Ms?z zRpkJJ5;KFxkBE^A`I9is5qA4Ee>fz0+!!I6sHb|f@i;|{V9E>m-5670ubCWDa1)Kq zE1pOBvB?e@$qujVmND>x9?gd_7!0!5!}L1L{&;BR=N&2IB0C)9lilrIyJ*`{CK32pAS7a+5q2nE1uUAvNc-H3&;kf{moO^_Jc3{&J&{S+x z!d^8P79-5PmWCaY>{HcX2+x3V3x_9mY|~nr-wM}(2yI--1$`o>RuSW^cW_-6QLmV}E- zX3fMH_v0b891t-xhy1cv^RsD>QPmOg;+hbL0BFOrLBE#?yJ=Il|1rA6p=drSjM-TB z;j%64)0qEp8gZZ#;O{VwEE2Bb6g~AXtl)8)-8kr0{g`I(fW!v_MRx5vIw~p!{c=b_ zTd^YIl1?^f@6^L4zR>^g!v>MoLf?JXFnEY+=BA9|9iQGHXDx}_H#+_jzOE;2o&@p#hLsp0(ffIvjSeX|=6 z`F(hYpmw%hV)iRuj~muN0B==V2#Bt7Yrr zd*W!R-H=!jUBfDE7@TrL zqAzF{+mJN=jW#P^vWfmxh^ACzEd&3%DOSwYq`?UMltx%fNlhyB@Jy+}T1sph2K*oP zc-Ah%rh;o=y`Q74nddp`ji!7(K+?Mg?`-0OZL#Q~&u?OE0qdR0yhLhObu)Xna`k2YgZ?4WH}=5dDWB_GvzSNmi2OYpQO4lK!A#~={49v>$AUar=!^YTWAl5 zs^a1yjL8!V8h`zneXxbz=ukblAyRRDho?&60Nx+#wUzq%*3Pf8X+lkHy|9%IafC%2 zBXB~&Dvh{ti|mGN^wy|^eS#=QA~?W>+<1it?~2TtnQ!XC?V?Xn-Lm5IxxJ!_{XKum z#_ub9VQ&D}k1}3>!}W^at-2)%r?9XukImTraPNCRY;59fLWJO$* zvX7_H;AKXT)s+3qPI^T&rGUOnIwoEmv+V)QD!qtGaQ6h?hAqes|G!-NLxX#aorQ2EnVH zs^4lK!VhmBU@pe%IvDtvm_&sg-bLFs4#+`IB&6ad5!+L*pJly9Lym}yD{svc_G8({ z7B|33U!z{0s-N!tFdlDo2H2y$aEtciYqZ&DT(AWK7?wEmY8qa4GlC{%Ypm(0dTVMt zVXF=eM-x@TUwB0PLENB6*uK~45Vqhxnp5t7gGznaio1oh@(0h;bwbm#C-4U_<_CXy HqJRD$A4ICS diff --git a/examples/json/script/Cargo.toml b/examples/json/script/Cargo.toml index 143e95fc4d..9679f5dedb 100644 --- a/examples/json/script/Cargo.toml +++ b/examples/json/script/Cargo.toml @@ -1,4 +1,3 @@ -[workspace] [package] version = "0.1.0" name = "json-script" diff --git a/examples/json/script/build.rs b/examples/json/script/build.rs index 32b99273cd..03388acab7 100644 --- a/examples/json/script/build.rs +++ b/examples/json/script/build.rs @@ -1,5 +1,3 @@ -use sp1_helper::build_program; - fn main() { - build_program("../program") + sp1_helper::build_program(&format!("{}/../program", env!("CARGO_MANIFEST_DIR"))); } diff --git a/examples/json/script/src/main.rs b/examples/json/script/src/main.rs index a293c96e6b..ef0abdd71c 100644 --- a/examples/json/script/src/main.rs +++ b/examples/json/script/src/main.rs @@ -7,7 +7,7 @@ const JSON_ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-succinct-zkv fn main() { // setup tracer for logging. - utils::setup_tracer(); + utils::setup_logger(); // Generate proof. let mut stdin = SP1Stdin::new(); diff --git a/examples/regex/program/Cargo.lock b/examples/regex/program/Cargo.lock index 062d59f301..ad1e86bd22 100644 --- a/examples/regex/program/Cargo.lock +++ b/examples/regex/program/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" [[package]] name = "arrayvec" @@ -223,9 +223,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -301,9 +301,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.153" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libm" @@ -319,9 +319,9 @@ checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "num" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ "num-bigint", "num-complex", @@ -333,20 +333,19 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] @@ -362,9 +361,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -373,11 +372,10 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", "num-traits", @@ -385,9 +383,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] @@ -599,18 +597,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" dependencies = [ "proc-macro2", "quote", diff --git a/examples/regex/program/elf/riscv32im-succinct-zkvm-elf b/examples/regex/program/elf/riscv32im-succinct-zkvm-elf index d43b638ce49ab3069bab8d4cd26d87fec26f2b25..6fb4469f385787103f88403e4b0f19a7917af016 100755 GIT binary patch delta 470615 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