From 621981c597d786d66414e6e8df76bd42111510c9 Mon Sep 17 00:00:00 2001 From: Suyash Bagad Date: Wed, 19 Apr 2023 17:51:12 +0000 Subject: [PATCH] Use latest bb (ultraplonk), fix minor issues (#305) [SQUASHED] Update bb, remove stdlib/types/types.hpp and couple of other fixes. remove any `stdlib::types`. update bb to point to temp aztec3. remove `USE_TURBO`. Include array package. Bump wasm memory to use 30 initial pages. fix abi TS tests. Fix circuit js test. remove stdlib/types from init in public kernel circuit. update abi snapshots. update bb. Increase merkle tree test timeout by 2 sec. Compute empty subtree roots in runtime (doing so in compile time creates issue of empty runtime generator tables) fix. Use lookup-pedersen for hashing nullifier leaves. Fix a merkle tree test. Bump up merkle tree test timeout by 1 more sec. TRY large timeout for merkle tests. Change composer in `mockedKeys.json` to ultra. chore: updated contract json keys increase e2e test timeouts. e2e timeout increase (again). revert test filter in merkle tree ts. Fix build post rebase. Use lookup pedersen hash in native types for merkle hashing. update empty L2 block hash hard-coded value. Fix pk native circuit wasm. remove old code. remove comments. remove more logs. --- circuits/cpp/CMakeLists.txt | 10 +- circuits/cpp/barretenberg | 2 +- circuits/cpp/bootstrap.sh | 4 +- circuits/cpp/cmake/barretenberg.cmake | 2 +- .../dockerfiles/Dockerfile.arm64-linux-gcc | 2 +- .../dockerfiles/Dockerfile.wasm-linux-clang | 2 +- .../Dockerfile.wasm-linux-clang-assert | 2 +- .../dockerfiles/Dockerfile.x86_64-linux-clang | 2 +- .../Dockerfile.x86_64-linux-clang-assert | 2 +- .../dockerfiles/Dockerfile.x86_64-linux-gcc | 2 +- .../cpp/src/aztec3/circuits/abis/.test.cpp | 10 +- .../cpp/src/aztec3/circuits/apps/.test.cpp | 8 +- .../basic_contract_deployment/init.hpp | 6 +- .../circuits/apps/test_apps/escrow/init.hpp | 6 +- .../private_to_private_function_call/init.hpp | 7 +- .../aztec3/circuits/kernel/private/.test.cpp | 30 ++- .../aztec3/circuits/kernel/private/c_bind.cpp | 6 +- .../aztec3/circuits/kernel/private/init.hpp | 5 +- .../aztec3/circuits/kernel/private/utils.cpp | 2 +- .../aztec3/circuits/kernel/public/c_bind.cpp | 5 +- .../aztec3/circuits/kernel/public/init.hpp | 5 +- .../aztec3/circuits/recursion/aggregator.hpp | 15 +- .../src/aztec3/circuits/recursion/index.hpp | 1 + .../src/aztec3/circuits/recursion/init.hpp | 22 ++ .../aztec3/circuits/recursion/play.test.cpp | 16 +- .../circuits/recursion/play_app_circuit.hpp | 19 +- .../recursion/play_recursive_circuit.hpp | 19 +- .../aztec3/circuits/rollup/base/c_bind.cpp | 7 +- .../src/aztec3/circuits/rollup/base/init.hpp | 1 - .../base/native_base_rollup_circuit.cpp | 17 +- .../base/native_base_rollup_circuit.hpp | 1 - .../circuits/rollup/components/init.hpp | 1 - .../src/aztec3/circuits/rollup/merge/init.hpp | 1 - .../merge/native_merge_rollup_circuit.hpp | 3 - .../src/aztec3/circuits/rollup/root/.test.cpp | 2 +- .../aztec3/circuits/rollup/root/c_bind.cpp | 3 +- .../src/aztec3/circuits/rollup/root/init.hpp | 1 - .../root/native_root_rollup_circuit.hpp | 1 - .../circuits/rollup/test_utils/init.hpp | 1 - .../src/aztec3/utils/types/circuit_types.hpp | 14 +- .../cpp/src/aztec3/utils/types/convert.hpp | 1 + .../src/aztec3/utils/types/native_types.hpp | 3 +- l1-contracts/test/Decoder.t.sol | 2 +- .../src/crypto/pedersen/pedersen.ts | 16 ++ .../src/abis/__snapshots__/abis.test.ts.snap | 242 +++++++++--------- yarn-project/end-to-end/package.json | 2 +- .../src/wasm/wasm/async_wasm_wrapper.ts | 4 +- .../foundation/src/wasm/wasm/wasm_module.ts | 4 +- .../foundation/src/wasm/wasm/wasm_wrapper.ts | 4 +- yarn-project/merkle-tree/package.json | 2 +- yarn-project/merkle-tree/src/pedersen.ts | 4 +- .../src/test/standard_based_test_suite.ts | 2 +- .../src/examples/child_contract.json | 4 +- .../src/examples/parent_contract.json | 4 +- .../src/examples/public_token_contract.json | 6 +- .../src/examples/test_contract.json | 2 +- .../src/examples/zk_token_contract.json | 6 +- .../src/scripts/mockedKeys.json | 2 +- 58 files changed, 300 insertions(+), 275 deletions(-) create mode 100644 circuits/cpp/src/aztec3/circuits/recursion/init.hpp diff --git a/circuits/cpp/CMakeLists.txt b/circuits/cpp/CMakeLists.txt index 9120c4126ea..43b0113c1ec 100644 --- a/circuits/cpp/CMakeLists.txt +++ b/circuits/cpp/CMakeLists.txt @@ -29,15 +29,7 @@ option(DISABLE_TBB "Intel Thread Building Blocks" ON) option(COVERAGE "Enable collecting coverage from tests" OFF) option(ENABLE_HEAVY_TESTS "Enable heavy tests when collecting coverage" OFF) -# NOTE: investigate issue: -# https://github.com/AztecProtocol/aztec3-circuits/issues/236 -option(USE_TURBO "Enable the use of TurboPlonk in barretenberg." OFF) -if(USE_TURBO) - message(STATUS "Building barretenberg for TurboPlonk Composer.") - add_definitions(-DUSE_TURBO) -else() - message(STATUS "Building barretenberg for UltraPlonk Composer.") -endif() +message(STATUS "Building barretenberg for UltraPlonk Composer.") if(ENABLE_ASAN) add_compile_options(-fsanitize=address) diff --git a/circuits/cpp/barretenberg b/circuits/cpp/barretenberg index e884272e088..27f5f8bb9aa 160000 --- a/circuits/cpp/barretenberg +++ b/circuits/cpp/barretenberg @@ -1 +1 @@ -Subproject commit e884272e088a072f7ba36f6bac7ae8a253dc7484 +Subproject commit 27f5f8bb9aa41c4099f520e7cb25e448c189657e diff --git a/circuits/cpp/bootstrap.sh b/circuits/cpp/bootstrap.sh index d024cf6e1ca..6c5c2c1f564 100755 --- a/circuits/cpp/bootstrap.sh +++ b/circuits/cpp/bootstrap.sh @@ -68,7 +68,7 @@ echo "# When running cmake directly, remember to use: --build --preset $PRESET" echo "#################################" # Build native. -cmake --preset $PRESET -DCMAKE_BUILD_TYPE=RelWithAssert -DUSE_TURBO=true +cmake --preset $PRESET -DCMAKE_BUILD_TYPE=RelWithAssert cmake --build --preset $PRESET ${@/#/--target } # Install the webassembly toolchain. @@ -77,5 +77,5 @@ if ! [ -d "./barretenberg/cpp/src/wasi-sdk-$WASI_VERSION.0" ] ; then fi # Build WASM. -cmake --preset wasm -DUSE_TURBO=true +cmake --preset wasm cmake --build --preset wasm diff --git a/circuits/cpp/cmake/barretenberg.cmake b/circuits/cpp/cmake/barretenberg.cmake index 96516bfe35b..5878804ddca 100644 --- a/circuits/cpp/cmake/barretenberg.cmake +++ b/circuits/cpp/cmake/barretenberg.cmake @@ -33,7 +33,7 @@ ExternalProject_Add(Barretenberg BUILD_ALWAYS TRUE UPDATE_COMMAND "" INSTALL_COMMAND "" - CONFIGURE_COMMAND ${CMAKE_COMMAND} --preset ${CMAKE_BBERG_PRESET} -DSERIALIZE_CANARY=${SERIALIZE_CANARY} -DENABLE_ASAN=${ENABLE_ASAN} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DUSE_TURBO=${USE_TURBO} + CONFIGURE_COMMAND ${CMAKE_COMMAND} --preset ${CMAKE_BBERG_PRESET} -DSERIALIZE_CANARY=${SERIALIZE_CANARY} -DENABLE_ASAN=${ENABLE_ASAN} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} BUILD_COMMAND ${CMAKE_COMMAND} --build --preset ${CMAKE_BBERG_PRESET} ${BBERG_TARGETS} # byproducts needed by ninja generator (not needed by make) BUILD_BYPRODUCTS ${BBERG_BUILD_DIR}/lib/libbarretenberg.a ${BBERG_BUILD_DIR}/lib/libenv.a) diff --git a/circuits/cpp/dockerfiles/Dockerfile.arm64-linux-gcc b/circuits/cpp/dockerfiles/Dockerfile.arm64-linux-gcc index 98a77fe5d04..6e468447106 100644 --- a/circuits/cpp/dockerfiles/Dockerfile.arm64-linux-gcc +++ b/circuits/cpp/dockerfiles/Dockerfile.arm64-linux-gcc @@ -2,6 +2,6 @@ FROM aztecprotocol/crosstool-ng-arm64:latest WORKDIR /usr/src/circuits/cpp COPY . . -RUN cmake --toolchain ./cmake/toolchains/aarch64-linux.cmake --preset gcc -DUSE_TURBO=true && cmake --build --preset gcc +RUN cmake --toolchain ./cmake/toolchains/aarch64-linux.cmake --preset gcc && cmake --build --preset gcc RUN cd build && for test in ./bin/*_tests; do qemu-aarch64 $test; done ENTRYPOINT /bin/bash \ No newline at end of file diff --git a/circuits/cpp/dockerfiles/Dockerfile.wasm-linux-clang b/circuits/cpp/dockerfiles/Dockerfile.wasm-linux-clang index 1594ca329e0..bb429bbb6e0 100644 --- a/circuits/cpp/dockerfiles/Dockerfile.wasm-linux-clang +++ b/circuits/cpp/dockerfiles/Dockerfile.wasm-linux-clang @@ -4,7 +4,7 @@ WORKDIR /usr/src/circuits/cpp/barretenberg/cpp/src RUN curl -s -L https://github.com/CraneStation/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk-12.0-linux.tar.gz | tar zxfv - WORKDIR /usr/src/circuits/cpp COPY . . -RUN cmake --preset wasm -DUSE_TURBO=true && cmake --build --preset wasm +RUN cmake --preset wasm && cmake --build --preset wasm FROM alpine:3.17 COPY --from=builder /usr/src/circuits/cpp/build-wasm/bin/aztec3-circuits.wasm /usr/src/circuits/cpp/build-wasm/bin/aztec3-circuits.wasm diff --git a/circuits/cpp/dockerfiles/Dockerfile.wasm-linux-clang-assert b/circuits/cpp/dockerfiles/Dockerfile.wasm-linux-clang-assert index fda9fe372cc..cdf23e6e0fb 100644 --- a/circuits/cpp/dockerfiles/Dockerfile.wasm-linux-clang-assert +++ b/circuits/cpp/dockerfiles/Dockerfile.wasm-linux-clang-assert @@ -6,7 +6,7 @@ RUN curl -s -L https://github.com/CraneStation/wasi-sdk/releases/download/wasi-s WORKDIR /usr/src/circuits/cpp COPY . . -RUN cmake --preset wasm -DUSE_TURBO=true && cmake --build --preset wasm +RUN cmake --preset wasm && cmake --build --preset wasm FROM ubuntu:kinetic RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y xz-utils curl diff --git a/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang b/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang index f06a0e3d7cd..4d46f7f5a04 100644 --- a/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang +++ b/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang @@ -15,7 +15,7 @@ WORKDIR /usr/src/circuits/cpp COPY . . # Build the entire project, as we want to check everything builds under clang -RUN cmake --preset default -DUSE_TURBO=true && cmake --build --preset default +RUN cmake --preset default && cmake --build --preset default FROM alpine:3.17 RUN apk update && apk add openmp diff --git a/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-assert b/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-assert index 2208fd0ac20..e02f0af37a4 100644 --- a/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-assert +++ b/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-assert @@ -14,7 +14,7 @@ RUN apk update \ WORKDIR /usr/src/circuits/cpp COPY . . # Build everything to ensure everything builds. All tests will be run from the result of this build. -RUN cmake --preset default -DCMAKE_BUILD_TYPE=RelWithAssert -DCI=ON -DUSE_TURBO=true && cmake --build --preset default +RUN cmake --preset default -DCMAKE_BUILD_TYPE=RelWithAssert -DCI=ON && cmake --build --preset default FROM alpine:3.17 RUN apk update && apk add curl openmp bash diff --git a/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-gcc b/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-gcc index 27034f08ec4..abea9b86839 100644 --- a/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-gcc +++ b/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-gcc @@ -10,7 +10,7 @@ RUN apk update \ WORKDIR /usr/src/circuits/cpp COPY . . # Build the entire project, as we want to check everything builds under gcc. -RUN cmake --preset gcc -DCI=ON -DUSE_TURBO=true && cmake --build --preset gcc +RUN cmake --preset gcc -DCI=ON && cmake --build --preset gcc FROM alpine:3.17 RUN apk update && apk add libstdc++ libgomp diff --git a/circuits/cpp/src/aztec3/circuits/abis/.test.cpp b/circuits/cpp/src/aztec3/circuits/abis/.test.cpp index 86492c81d63..215dd6d9d04 100644 --- a/circuits/cpp/src/aztec3/circuits/abis/.test.cpp +++ b/circuits/cpp/src/aztec3/circuits/abis/.test.cpp @@ -2,16 +2,20 @@ #include #include #include "index.hpp" -#include #include "previous_kernel_data.hpp" #include "private_kernel/private_inputs.hpp" -namespace aztec3::circuits::abis { +namespace { +// Composer +using Composer = plonk::UltraComposer; -using Composer = plonk::stdlib::types::Composer; +// Types using CT = aztec3::utils::types::CircuitTypes; using NT = aztec3::utils::types::NativeTypes; +} // namespace + +namespace aztec3::circuits::abis { class abi_tests : public ::testing::Test {}; diff --git a/circuits/cpp/src/aztec3/circuits/apps/.test.cpp b/circuits/cpp/src/aztec3/circuits/apps/.test.cpp index 8739c9aa064..c3f2b22aee9 100644 --- a/circuits/cpp/src/aztec3/circuits/apps/.test.cpp +++ b/circuits/cpp/src/aztec3/circuits/apps/.test.cpp @@ -31,11 +31,10 @@ #include #include #include -#include namespace { // Composer -using C = plonk::stdlib::types::Composer; +using C = plonk::UltraComposer; // Types using CT = aztec3::utils::types::CircuitTypes; @@ -65,7 +64,7 @@ using aztec3::circuits::apps::notes::DefaultPrivateNote; using aztec3::circuits::apps::notes::DefaultSingletonPrivateNote; -//******** +// State variables // Get rid of ugle `Composer` template arg from our state var types: template struct SpecialisedTypes { typedef MappingStateVar mapping; @@ -79,9 +78,6 @@ template using UTXO = typename SpecialisedTypes::utxo; template using UTXOSet = typename SpecialisedTypes::utxo_set; using Field = FieldStateVar; - -//******** - } // namespace namespace aztec3::circuits::apps { diff --git a/circuits/cpp/src/aztec3/circuits/apps/test_apps/basic_contract_deployment/init.hpp b/circuits/cpp/src/aztec3/circuits/apps/test_apps/basic_contract_deployment/init.hpp index 01c40919a7e..59b559106c9 100644 --- a/circuits/cpp/src/aztec3/circuits/apps/test_apps/basic_contract_deployment/init.hpp +++ b/circuits/cpp/src/aztec3/circuits/apps/test_apps/basic_contract_deployment/init.hpp @@ -9,18 +9,20 @@ #include #include -#include #include #include #include namespace aztec3::circuits::apps::test_apps::basic_contract_deployment { -using C = plonk::stdlib::types::Composer; +// Composer +using C = plonk::UltraComposer; +// Native and circuit types using CT = aztec3::utils::types::CircuitTypes; using NT = aztec3::utils::types::NativeTypes; +// Database types using DB = oracle::FakeDB; using oracle::NativeOracle; using OracleWrapper = apps::OracleWrapperInterface; diff --git a/circuits/cpp/src/aztec3/circuits/apps/test_apps/escrow/init.hpp b/circuits/cpp/src/aztec3/circuits/apps/test_apps/escrow/init.hpp index 9673999342e..8d16620c6d4 100644 --- a/circuits/cpp/src/aztec3/circuits/apps/test_apps/escrow/init.hpp +++ b/circuits/cpp/src/aztec3/circuits/apps/test_apps/escrow/init.hpp @@ -9,18 +9,20 @@ #include #include -#include #include #include #include namespace aztec3::circuits::apps::test_apps::escrow { -using C = plonk::stdlib::types::Composer; +// Composer +using C = plonk::UltraComposer; +// Native and circuit types using CT = aztec3::utils::types::CircuitTypes; using NT = aztec3::utils::types::NativeTypes; +// Database types using DB = oracle::FakeDB; using oracle::NativeOracle; using OracleWrapper = apps::OracleWrapperInterface; diff --git a/circuits/cpp/src/aztec3/circuits/apps/test_apps/private_to_private_function_call/init.hpp b/circuits/cpp/src/aztec3/circuits/apps/test_apps/private_to_private_function_call/init.hpp index fc7f51e21a2..5da8cc6d0f1 100644 --- a/circuits/cpp/src/aztec3/circuits/apps/test_apps/private_to_private_function_call/init.hpp +++ b/circuits/cpp/src/aztec3/circuits/apps/test_apps/private_to_private_function_call/init.hpp @@ -8,17 +8,20 @@ #include -#include #include #include #include namespace aztec3::circuits::apps::test_apps::private_to_private_function_call { -using C = plonk::stdlib::types::Composer; +// Composer +using C = plonk::UltraComposer; + +// Native and circuit types using CT = aztec3::utils::types::CircuitTypes; using NT = aztec3::utils::types::NativeTypes; +// Database types using DB = oracle::FakeDB; using oracle::NativeOracle; using OracleWrapper = OracleWrapperInterface; diff --git a/circuits/cpp/src/aztec3/circuits/kernel/private/.test.cpp b/circuits/cpp/src/aztec3/circuits/kernel/private/.test.cpp index a6d646d2680..5deb22b9900 100644 --- a/circuits/cpp/src/aztec3/circuits/kernel/private/.test.cpp +++ b/circuits/cpp/src/aztec3/circuits/kernel/private/.test.cpp @@ -75,8 +75,24 @@ using private_function = std::function( constexpr size_t MAX_FUNCTION_LEAVES = 2 << (aztec3::FUNCTION_TREE_HEIGHT - 1); const NT::fr EMPTY_FUNCTION_LEAF = FunctionLeafPreimage{}.hash(); // hash of empty/0 preimage const NT::fr EMPTY_CONTRACT_LEAF = NewContractData{}.hash(); // hash of empty/0 preimage -const auto& EMPTY_FUNCTION_SIBLINGS = compute_empty_sibling_path(EMPTY_FUNCTION_LEAF); -const auto& EMPTY_CONTRACT_SIBLINGS = compute_empty_sibling_path(EMPTY_CONTRACT_LEAF); + +const auto& get_empty_function_siblings() +{ + static auto EMPTY_FUNCTION_SIBLINGS = []() { + const auto result = compute_empty_sibling_path(EMPTY_FUNCTION_LEAF); + return result; + }(); + return EMPTY_FUNCTION_SIBLINGS; +} + +const auto& get_empty_contract_siblings() +{ + static auto EMPTY_CONTRACT_SIBLINGS = []() { + const auto result = compute_empty_sibling_path(EMPTY_CONTRACT_LEAF); + return result; + }(); + return EMPTY_CONTRACT_SIBLINGS; +} } // namespace @@ -252,14 +268,14 @@ PrivateInputs do_private_call_get_kernel_inputs(bool const is_constructor, private_circuit_vk_hash, acir_hash, function_leaf_index, - EMPTY_FUNCTION_SIBLINGS); + get_empty_function_siblings()); // update contract_tree_root with real value contract_tree_root = contract_tree_root_from_siblings(function_tree_root, contract_address, portal_contract_address, contract_leaf_index, - EMPTY_CONTRACT_SIBLINGS); + get_empty_contract_siblings()); } //*************************************************************************** @@ -285,7 +301,7 @@ PrivateInputs do_private_call_get_kernel_inputs(bool const is_constructor, // TODO this should likely be handled as part of the DB/Oracle/Context infrastructure private_circuit_public_inputs.historic_contract_tree_root = contract_tree_root; - Prover private_circuit_prover = private_circuit_composer.create_prover(); + auto private_circuit_prover = private_circuit_composer.create_prover(); NT::Proof private_circuit_proof = private_circuit_prover.construct_proof(); // info("\nproof: ", private_circuit_proof.proof_data); @@ -368,11 +384,11 @@ PrivateInputs do_private_call_get_kernel_inputs(bool const is_constructor, .function_leaf_membership_witness = { .leaf_index = function_leaf_index, - .sibling_path = EMPTY_FUNCTION_SIBLINGS, + .sibling_path = get_empty_function_siblings(), }, .contract_leaf_membership_witness = { .leaf_index = contract_leaf_index, - .sibling_path = EMPTY_CONTRACT_SIBLINGS, + .sibling_path = get_empty_contract_siblings(), }, .portal_contract_address = portal_contract_address, diff --git a/circuits/cpp/src/aztec3/circuits/kernel/private/c_bind.cpp b/circuits/cpp/src/aztec3/circuits/kernel/private/c_bind.cpp index fbbf2b90f7f..78966aa8405 100644 --- a/circuits/cpp/src/aztec3/circuits/kernel/private/c_bind.cpp +++ b/circuits/cpp/src/aztec3/circuits/kernel/private/c_bind.cpp @@ -19,6 +19,7 @@ #include "barretenberg/plonk/composer/turbo_composer.hpp" namespace { +using Composer = plonk::UltraComposer; using NT = aztec3::utils::types::NativeTypes; using DummyComposer = aztec3::utils::DummyComposer; using aztec3::circuits::abis::CombinedAccumulatedData; @@ -35,9 +36,6 @@ using aztec3::circuits::kernel::private_kernel::private_kernel_circuit; using aztec3::circuits::kernel::private_kernel::utils::dummy_previous_kernel; using aztec3::circuits::mock::mock_kernel_circuit; -using plonk::TurboComposer; -using namespace plonk::stdlib::types; - } // namespace #define WASM_EXPORT __attribute__((visibility("default"))) @@ -179,7 +177,7 @@ WASM_EXPORT size_t private_kernel__prove(uint8_t const* signed_tx_request_buf, }; Composer private_kernel_composer = Composer(crs_factory); - plonk::stdlib::types::Prover private_kernel_prover = private_kernel_composer.create_prover(); + auto private_kernel_prover = private_kernel_composer.create_prover(); KernelCircuitPublicInputs public_inputs; public_inputs = private_kernel_circuit(private_kernel_composer, private_inputs); diff --git a/circuits/cpp/src/aztec3/circuits/kernel/private/init.hpp b/circuits/cpp/src/aztec3/circuits/kernel/private/init.hpp index 92d36e41da2..c7790e9dc53 100644 --- a/circuits/cpp/src/aztec3/circuits/kernel/private/init.hpp +++ b/circuits/cpp/src/aztec3/circuits/kernel/private/init.hpp @@ -7,16 +7,13 @@ #include -#include #include #include #include namespace aztec3::circuits::kernel::private_kernel { -// Turbo specific, at the moment: -using Composer = plonk::stdlib::types::Composer; -using plonk::stdlib::types::Prover; +using Composer = plonk::UltraComposer; using Aggregator = aztec3::circuits::recursion::Aggregator; diff --git a/circuits/cpp/src/aztec3/circuits/kernel/private/utils.cpp b/circuits/cpp/src/aztec3/circuits/kernel/private/utils.cpp index 5ec086643db..654440e5fb5 100644 --- a/circuits/cpp/src/aztec3/circuits/kernel/private/utils.cpp +++ b/circuits/cpp/src/aztec3/circuits/kernel/private/utils.cpp @@ -52,7 +52,7 @@ PreviousKernelData dummy_previous_kernel(bool real_vk_proof = false) Composer mock_kernel_composer = Composer(crs_factory); auto mock_kernel_public_inputs = mock_kernel_circuit(mock_kernel_composer, init_previous_kernel.public_inputs); - plonk::stdlib::types::Prover mock_kernel_prover = mock_kernel_composer.create_prover(); + auto mock_kernel_prover = mock_kernel_composer.create_prover(); NT::Proof mock_kernel_proof = real_vk_proof ? mock_kernel_prover.construct_proof() : NT::Proof{ .proof_data = std::vector(64, 0) }; diff --git a/circuits/cpp/src/aztec3/circuits/kernel/public/c_bind.cpp b/circuits/cpp/src/aztec3/circuits/kernel/public/c_bind.cpp index 3e7cb253242..c049d21a1d6 100644 --- a/circuits/cpp/src/aztec3/circuits/kernel/public/c_bind.cpp +++ b/circuits/cpp/src/aztec3/circuits/kernel/public/c_bind.cpp @@ -12,9 +12,9 @@ #include "barretenberg/srs/reference_string/env_reference_string.hpp" #include "barretenberg/common/serialize.hpp" -#include "barretenberg/plonk/composer/turbo_composer.hpp" namespace { +using Composer = plonk::UltraComposer; using NT = aztec3::utils::types::NativeTypes; using DummyComposer = aztec3::utils::DummyComposer; using aztec3::circuits::abis::KernelCircuitPublicInputs; @@ -23,9 +23,6 @@ using aztec3::circuits::abis::public_kernel::PublicKernelInputsNoPreviousKernel; using aztec3::circuits::kernel::public_kernel::native_public_kernel_circuit_no_previous_kernel; using aztec3::circuits::kernel::public_kernel::native_public_kernel_circuit_private_previous_kernel; using aztec3::circuits::kernel::public_kernel::native_public_kernel_circuit_public_previous_kernel; - -using plonk::TurboComposer; -using namespace plonk::stdlib::types; } // namespace #define WASM_EXPORT __attribute__((visibility("default"))) diff --git a/circuits/cpp/src/aztec3/circuits/kernel/public/init.hpp b/circuits/cpp/src/aztec3/circuits/kernel/public/init.hpp index 4062891bf52..8842cffc46b 100644 --- a/circuits/cpp/src/aztec3/circuits/kernel/public/init.hpp +++ b/circuits/cpp/src/aztec3/circuits/kernel/public/init.hpp @@ -6,7 +6,6 @@ #include -#include #include #include #include @@ -14,9 +13,7 @@ namespace aztec3::circuits::kernel::public_kernel { -// Turbo specific, at the moment: -using Composer = plonk::stdlib::types::Composer; -using plonk::stdlib::types::Prover; +using Composer = plonk::UltraComposer; using Aggregator = aztec3::circuits::recursion::Aggregator; diff --git a/circuits/cpp/src/aztec3/circuits/recursion/aggregator.hpp b/circuits/cpp/src/aztec3/circuits/recursion/aggregator.hpp index 801bb9d733a..9dcb4c95af1 100644 --- a/circuits/cpp/src/aztec3/circuits/recursion/aggregator.hpp +++ b/circuits/cpp/src/aztec3/circuits/recursion/aggregator.hpp @@ -1,5 +1,5 @@ #pragma once -#include +#include "init.hpp" #include #include #include @@ -8,17 +8,6 @@ namespace aztec3::circuits::recursion { -// These are all Circuit Types! -// using plonk::stdlib::recursion::aggregation_state; -using plonk::stdlib::types::recursive_inner_verifier_settings; -// using plonk::stdlib::recursion::verification_key; -using plonk::stdlib::recursion::verify_proof; -// using aztec3::utils::types::bn254; -using plonk::stdlib::types::Composer; -using CT = aztec3::utils::types::CircuitTypes; -using NT = aztec3::utils::types::NativeTypes; -using transcript::Manifest; - class Aggregator { public: static CT::AggregationObject aggregate( @@ -30,7 +19,7 @@ class Aggregator { { const Manifest recursive_manifest = Composer::create_manifest(num_public_inputs); - CT::AggregationObject result = verify_proof( + CT::AggregationObject result = verify_proof( composer, vk, recursive_manifest, proof, previous_aggregation_output); return result; diff --git a/circuits/cpp/src/aztec3/circuits/recursion/index.hpp b/circuits/cpp/src/aztec3/circuits/recursion/index.hpp index 6395d6aace3..73929b9357d 100644 --- a/circuits/cpp/src/aztec3/circuits/recursion/index.hpp +++ b/circuits/cpp/src/aztec3/circuits/recursion/index.hpp @@ -1,3 +1,4 @@ +#include "init.hpp" #include "aggregator.hpp" #include "play_app_circuit.hpp" #include "play_recursive_circuit.hpp" \ No newline at end of file diff --git a/circuits/cpp/src/aztec3/circuits/recursion/init.hpp b/circuits/cpp/src/aztec3/circuits/recursion/init.hpp new file mode 100644 index 00000000000..1a094d0175c --- /dev/null +++ b/circuits/cpp/src/aztec3/circuits/recursion/init.hpp @@ -0,0 +1,22 @@ +#pragma once +#include +#include +#include + +#include +#include + +namespace aztec3::circuits::recursion { +// Composer +using Composer = plonk::UltraComposer; + +// Generic types: +using CT = aztec3::utils::types::CircuitTypes; +using NT = aztec3::utils::types::NativeTypes; +using aztec3::utils::types::to_ct; + +// Recursion types and methods +using plonk::stdlib::recursion::verify_proof; +using transcript::Manifest; + +} // namespace aztec3::circuits::recursion \ No newline at end of file diff --git a/circuits/cpp/src/aztec3/circuits/recursion/play.test.cpp b/circuits/cpp/src/aztec3/circuits/recursion/play.test.cpp index 15a45c6d113..413254fd157 100644 --- a/circuits/cpp/src/aztec3/circuits/recursion/play.test.cpp +++ b/circuits/cpp/src/aztec3/circuits/recursion/play.test.cpp @@ -1,12 +1,10 @@ #include "index.hpp" #include // #include -#include namespace aztec3::circuits::recursion { using namespace aztec3::utils::types; -using proof_system::plonk::stdlib::recursion::aggregation_state; // namespace { // std::shared_ptr srs; @@ -40,7 +38,7 @@ TEST(play_tests, circuit_play_app_proof_gen) info("Play app circuit logic failed: ", app_composer.err()); } - stdlib::types::Prover app_prover = app_composer.create_prover(); + auto app_prover = app_composer.create_prover(); proof app_proof = app_prover.construct_proof(); info("app_proof: ", app_proof.proof_data); } @@ -54,14 +52,14 @@ TEST(play_tests, circuit_play_recursive_proof_gen) info("Play app circuit logic failed: ", app_composer.err()); } - stdlib::types::Prover app_prover = app_composer.create_prover(); + auto app_prover = app_composer.create_prover(); proof app_proof = app_prover.construct_proof(); info("app_proof: ", app_proof.proof_data); std::shared_ptr app_vk = app_composer.compute_verification_key(); Composer recursive_composer = Composer("../barretenberg/cpp/srs_db/ignition"); - aggregation_state aggregation_output = play_recursive_circuit(recursive_composer, app_vk, app_proof); + auto aggregation_output = play_recursive_circuit(recursive_composer, app_vk, app_proof); if (recursive_composer.failed()) { info("Play recursive circuit logic failed: ", recursive_composer.err()); @@ -77,7 +75,7 @@ TEST(play_tests, circuit_play_recursive_2_proof_gen) info("Play app circuit logic failed: ", app_composer.err()); } - stdlib::types::Prover app_prover = app_composer.create_prover(); + auto app_prover = app_composer.create_prover(); proof app_proof = app_prover.construct_proof(); std::shared_ptr app_vk = app_composer.compute_verification_key(); @@ -90,21 +88,21 @@ TEST(play_tests, circuit_play_recursive_2_proof_gen) info("dummy_circuit logic failed: ", dummy_circuit_composer.err()); } - stdlib::types::Prover dummy_circuit_prover = dummy_circuit_composer.create_prover(); + auto dummy_circuit_prover = dummy_circuit_composer.create_prover(); proof dummy_circuit_proof = dummy_circuit_prover.construct_proof(); std::shared_ptr dummy_circuit_vk = dummy_circuit_composer.compute_verification_key(); //******************************************************************************* Composer recursion_1_composer = Composer("../barretenberg/cpp/srs_db/ignition", 0); - aggregation_state recursion_1_output = + auto recursion_1_output = play_recursive_circuit_2(recursion_1_composer, app_vk, app_proof, dummy_circuit_vk, dummy_circuit_proof); if (recursion_1_composer.failed()) { info("recursion_1 circuit logic failed: ", recursion_1_composer.err()); } - stdlib::types::Prover recursion_1_prover = recursion_1_composer.create_prover(); + auto recursion_1_prover = recursion_1_composer.create_prover(); proof recursion_1_proof = recursion_1_prover.construct_proof(); diff --git a/circuits/cpp/src/aztec3/circuits/recursion/play_app_circuit.hpp b/circuits/cpp/src/aztec3/circuits/recursion/play_app_circuit.hpp index 07dab82ffc8..a411b38d85b 100644 --- a/circuits/cpp/src/aztec3/circuits/recursion/play_app_circuit.hpp +++ b/circuits/cpp/src/aztec3/circuits/recursion/play_app_circuit.hpp @@ -1,17 +1,16 @@ -#include +#pragma once +#include "init.hpp" +#include "aztec3/utils/types/circuit_types.hpp" +#include "aztec3/utils/types/native_types.hpp" namespace aztec3::circuits::recursion { -using namespace plonk::stdlib::types; -// using plonk::stdlib::recursion::aggregation_state; - -void play_app_circuit(Composer& composer, barretenberg::fr const& a_in, barretenberg::fr const& b_in) +template void play_app_circuit(Composer& composer, NT::fr const& a_in, NT::fr const& b_in) { - - field_ct a = witness_ct(&composer, a_in); - field_ct b = witness_ct(&composer, b_in); - field_ct c = a * b; - field_ct d = a + b + c; + CT::fr a = CT::witness(&composer, a_in); + CT::fr b = CT::witness(&composer, b_in); + CT::fr c = a * b; + CT::fr d = a + b + c; a.set_public(); d.set_public(); diff --git a/circuits/cpp/src/aztec3/circuits/recursion/play_recursive_circuit.hpp b/circuits/cpp/src/aztec3/circuits/recursion/play_recursive_circuit.hpp index de066a6e78a..3aef7895e70 100644 --- a/circuits/cpp/src/aztec3/circuits/recursion/play_recursive_circuit.hpp +++ b/circuits/cpp/src/aztec3/circuits/recursion/play_recursive_circuit.hpp @@ -1,14 +1,8 @@ -// #include -// #include -// #include -// #include +#pragma once +#include "init.hpp" namespace aztec3::circuits::recursion { -using plonk::stdlib::types::Composer; -using CT = aztec3::utils::types::CircuitTypes; -using NT = aztec3::utils::types::NativeTypes; - CT::AggregationObject play_recursive_circuit(Composer& composer, std::shared_ptr const& app_vk, NT::Proof const& app_proof) @@ -23,12 +17,11 @@ CT::AggregationObject play_recursive_circuit(Composer& composer, return aggregation_output; }; -void dummy_circuit(Composer& composer, barretenberg::fr const& a_in, barretenberg::fr const& b_in) +void dummy_circuit(Composer& composer, NT::fr const& a_in, NT::fr const& b_in) { - - field_ct a = witness_ct(&composer, a_in); - field_ct b = witness_ct(&composer, b_in); - field_ct c = a * b; + CT::fr a = CT::witness(&composer, a_in); + CT::fr b = CT::witness(&composer, b_in); + CT::fr c = a * b; c.set_public(); }; diff --git a/circuits/cpp/src/aztec3/circuits/rollup/base/c_bind.cpp b/circuits/cpp/src/aztec3/circuits/rollup/base/c_bind.cpp index da3a39a18f7..4cc5922c763 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/base/c_bind.cpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/base/c_bind.cpp @@ -18,14 +18,13 @@ #include "barretenberg/plonk/composer/turbo_composer.hpp" namespace { +using Composer = plonk::UltraComposer; using NT = aztec3::utils::types::NativeTypes; using DummyComposer = aztec3::utils::DummyComposer; using aztec3::circuits::abis::BaseOrMergeRollupPublicInputs; using aztec3::circuits::abis::BaseRollupInputs; using aztec3::circuits::rollup::native_base_rollup::base_rollup_circuit; -using plonk::TurboComposer; -using namespace plonk::stdlib::types; } // namespace #define WASM_EXPORT __attribute__((visibility("default"))) @@ -73,7 +72,7 @@ WASM_EXPORT size_t base_rollup__sim(uint8_t const* base_rollup_inputs_buf, // TODO for circuit proof version of this function // NT::Proof base_rollup_proof; // Composer composer = Composer(crs_factory); - // plonk::stdlib::types::Prover prover = composer.create_prover(); + // auto prover = composer.create_prover(); // public_inputs = base_rollup_circuit(composer, base_rollup_inputs); // base_rollup_proof = prover.construct_proof(); @@ -108,7 +107,7 @@ WASM_EXPORT size_t base_rollup__sim(uint8_t const* base_rollup_inputs_buf, // base_rollup_proof = NT::Proof{ std::vector(42, 0) }; // }// else { // // Composer composer = Composer(crs_factory); -// // plonk::stdlib::types::Prover prover = composer.create_prover(); +// // auto prover = composer.create_prover(); // // public_inputs = base_rollup_circuit(composer, base_rollup_inputs); // // base_rollup_proof = prover.construct_proof(); // //} diff --git a/circuits/cpp/src/aztec3/circuits/rollup/base/init.hpp b/circuits/cpp/src/aztec3/circuits/rollup/base/init.hpp index 72ef84c8dc8..1447a72f24a 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/base/init.hpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/base/init.hpp @@ -13,7 +13,6 @@ #include "aztec3/utils/dummy_composer.hpp" #include -#include #include #include #include diff --git a/circuits/cpp/src/aztec3/circuits/rollup/base/native_base_rollup_circuit.cpp b/circuits/cpp/src/aztec3/circuits/rollup/base/native_base_rollup_circuit.cpp index 57757b7d07e..ce71152ce9c 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/base/native_base_rollup_circuit.cpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/base/native_base_rollup_circuit.cpp @@ -24,9 +24,11 @@ using aztec3::circuits::check_membership; namespace aztec3::circuits::rollup::native_base_rollup { -const NT::fr EMPTY_COMMITMENTS_SUBTREE_ROOT = MerkleTree(PRIVATE_DATA_SUBTREE_DEPTH).root(); -const NT::fr EMPTY_CONTRACTS_SUBTREE_ROOT = MerkleTree(CONTRACT_SUBTREE_DEPTH).root(); -const NT::fr EMPTY_NULLIFIER_SUBTREE_ROOT = MerkleTree(NULLIFIER_SUBTREE_DEPTH).root(); +NT::fr calculate_empty_tree_root(const size_t depth) +{ + MerkleTree empty_tree = MerkleTree(depth); + return empty_tree.root(); +} // TODO: can we aggregate proofs if we do not have a working circuit impl @@ -399,10 +401,11 @@ AppendOnlySnapshot check_nullifier_tree_non_membership_and_insert_to_tree(DummyC } // Check that the new subtree is to be inserted at the next location, and is empty currently + const auto empty_nullifier_subtree_root = calculate_empty_tree_root(NULLIFIER_SUBTREE_DEPTH); auto leafIndexNullifierSubtreeDepth = baseRollupInputs.start_nullifier_tree_snapshot.next_available_leaf_index >> NULLIFIER_SUBTREE_DEPTH; check_membership(composer, - EMPTY_NULLIFIER_SUBTREE_ROOT, + empty_nullifier_subtree_root, leafIndexNullifierSubtreeDepth, baseRollupInputs.new_nullifiers_subtree_sibling_path, current_nullifier_tree_root, @@ -442,21 +445,23 @@ BaseOrMergeRollupPublicInputs base_rollup_circuit(DummyComposer& composer, BaseR NT::fr commitments_tree_subroot = calculate_commitments_subtree(composer, baseRollupInputs); // Insert commitment subtrees: + const auto empty_commitments_subtree_root = calculate_empty_tree_root(PRIVATE_DATA_SUBTREE_DEPTH); auto end_private_data_tree_snapshot = components::insert_subtree_to_snapshot_tree(composer, baseRollupInputs.start_private_data_tree_snapshot, baseRollupInputs.new_commitments_subtree_sibling_path, - EMPTY_COMMITMENTS_SUBTREE_ROOT, + empty_commitments_subtree_root, commitments_tree_subroot, PRIVATE_DATA_SUBTREE_DEPTH, "empty commitment subtree membership check"); // Insert contract subtrees: + const auto empty_contracts_subtree_root = calculate_empty_tree_root(CONTRACT_SUBTREE_DEPTH); auto end_contract_tree_snapshot = components::insert_subtree_to_snapshot_tree(composer, baseRollupInputs.start_contract_tree_snapshot, baseRollupInputs.new_contracts_subtree_sibling_path, - EMPTY_CONTRACTS_SUBTREE_ROOT, + empty_contracts_subtree_root, contracts_tree_subroot, CONTRACT_SUBTREE_DEPTH, "empty contract subtree membership check"); diff --git a/circuits/cpp/src/aztec3/circuits/rollup/base/native_base_rollup_circuit.hpp b/circuits/cpp/src/aztec3/circuits/rollup/base/native_base_rollup_circuit.hpp index a14970bbc0a..cb4aba80d16 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/base/native_base_rollup_circuit.hpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/base/native_base_rollup_circuit.hpp @@ -3,7 +3,6 @@ #include "init.hpp" // TODO: not needed right at this moment for native impl -#include #include #include #include diff --git a/circuits/cpp/src/aztec3/circuits/rollup/components/init.hpp b/circuits/cpp/src/aztec3/circuits/rollup/components/init.hpp index 13877db434f..78bd878c976 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/components/init.hpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/components/init.hpp @@ -11,7 +11,6 @@ #include #include -#include #include #include #include diff --git a/circuits/cpp/src/aztec3/circuits/rollup/merge/init.hpp b/circuits/cpp/src/aztec3/circuits/rollup/merge/init.hpp index 116483533e9..90a8537f903 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/merge/init.hpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/merge/init.hpp @@ -10,7 +10,6 @@ #include "aztec3/utils/dummy_composer.hpp" #include -#include #include #include #include diff --git a/circuits/cpp/src/aztec3/circuits/rollup/merge/native_merge_rollup_circuit.hpp b/circuits/cpp/src/aztec3/circuits/rollup/merge/native_merge_rollup_circuit.hpp index e961db7d67c..c9980cfefb4 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/merge/native_merge_rollup_circuit.hpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/merge/native_merge_rollup_circuit.hpp @@ -2,9 +2,6 @@ #include "init.hpp" -// TODO: not needed right at this moment for native impl -#include - namespace aztec3::circuits::rollup::merge { BaseOrMergeRollupPublicInputs merge_rollup_circuit(DummyComposer& composer, MergeRollupInputs const& mergeRollupInputs); } // namespace aztec3::circuits::rollup::merge \ No newline at end of file diff --git a/circuits/cpp/src/aztec3/circuits/rollup/root/.test.cpp b/circuits/cpp/src/aztec3/circuits/rollup/root/.test.cpp index bf5cbfb836e..7f0f3eaaa98 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/root/.test.cpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/root/.test.cpp @@ -201,7 +201,7 @@ TEST_F(root_rollup_tests, native_calldata_hash_empty_blocks) EXPECT_FALSE(composer.failed()); // Expected hash of public inputs for an empty L2 block. Also used in the contract tests. - fr expected_hash = uint256_t("181161b4d0484ce98066b1c36289b0327f8782e9bc41f25ba77302511a2bd16b"); + fr expected_hash = uint256_t("0013b2202a3e48b039cda7eef0976060d86e610d77fc9bb8cd5b0f1b561df48c"); ASSERT_EQ(outputs.hash(), expected_hash); run_cbind(inputs, outputs, true); diff --git a/circuits/cpp/src/aztec3/circuits/rollup/root/c_bind.cpp b/circuits/cpp/src/aztec3/circuits/rollup/root/c_bind.cpp index 91a992fe9c3..f3c1e423747 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/root/c_bind.cpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/root/c_bind.cpp @@ -16,14 +16,13 @@ #include "barretenberg/plonk/composer/turbo_composer.hpp" namespace { +using Composer = plonk::UltraComposer; using NT = aztec3::utils::types::NativeTypes; using DummyComposer = aztec3::utils::DummyComposer; using aztec3::circuits::rollup::native_root_rollup::root_rollup_circuit; using aztec3::circuits::rollup::native_root_rollup::RootRollupInputs; using aztec3::circuits::rollup::native_root_rollup::RootRollupPublicInputs; -using plonk::TurboComposer; -using namespace plonk::stdlib::types; } // namespace #define WASM_EXPORT __attribute__((visibility("default"))) diff --git a/circuits/cpp/src/aztec3/circuits/rollup/root/init.hpp b/circuits/cpp/src/aztec3/circuits/rollup/root/init.hpp index 5b8776ca2cd..b646c57dfc7 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/root/init.hpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/root/init.hpp @@ -10,7 +10,6 @@ #include "aztec3/utils/dummy_composer.hpp" #include -#include #include #include #include diff --git a/circuits/cpp/src/aztec3/circuits/rollup/root/native_root_rollup_circuit.hpp b/circuits/cpp/src/aztec3/circuits/rollup/root/native_root_rollup_circuit.hpp index 848b1c39d5c..21e16ccd93c 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/root/native_root_rollup_circuit.hpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/root/native_root_rollup_circuit.hpp @@ -3,7 +3,6 @@ #include "init.hpp" // TODO: not needed right at this moment for native impl -#include #include #include #include diff --git a/circuits/cpp/src/aztec3/circuits/rollup/test_utils/init.hpp b/circuits/cpp/src/aztec3/circuits/rollup/test_utils/init.hpp index 6eaeba336a3..4aeb0005145 100644 --- a/circuits/cpp/src/aztec3/circuits/rollup/test_utils/init.hpp +++ b/circuits/cpp/src/aztec3/circuits/rollup/test_utils/init.hpp @@ -15,7 +15,6 @@ #include "aztec3/circuits/abis/rollup/merge/previous_rollup_data.hpp" #include "aztec3/circuits/abis/rollup/merge/merge_rollup_inputs.hpp" #include -#include #include #include #include diff --git a/circuits/cpp/src/aztec3/utils/types/circuit_types.hpp b/circuits/cpp/src/aztec3/utils/types/circuit_types.hpp index 02ae11b97ca..b625b521346 100644 --- a/circuits/cpp/src/aztec3/utils/types/circuit_types.hpp +++ b/circuits/cpp/src/aztec3/utils/types/circuit_types.hpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -24,18 +25,21 @@ using namespace proof_system::plonk; namespace aztec3::utils::types { template struct CircuitTypes { - typedef stdlib::bool_t boolean; + // Basic uint types + typedef stdlib::bool_t boolean; typedef stdlib::uint8 uint8; typedef stdlib::uint16 uint16; typedef stdlib::uint32 uint32; typedef stdlib::uint64 uint64; - typedef stdlib::field_t fr; // of altbn + // Types related to the bn254 curve + typedef stdlib::field_t fr; typedef stdlib::safe_uint_t safe_fr; typedef stdlib::address_t address; + typedef stdlib::bigfield fq; - typedef stdlib::bigfield fq; // of altbn + typedef stdlib::witness_t witness; // typedef fq grumpkin_fr; // typedef fr grumpkin_fq; @@ -54,6 +58,10 @@ template struct CircuitTypes { typedef stdlib::ecdsa::signature ecdsa_signature; typedef stdlib::recursion::aggregation_state AggregationObject; + typedef std::conditional_t, + stdlib::recursion::recursive_turbo_verifier_settings, + stdlib::recursion::recursive_ultra_verifier_settings> + recursive_inner_verifier_settings; typedef stdlib::recursion::verification_key VK; // Notice: no CircuitType for a Proof: we only ever handle native; the verify_proof() function swallows the // 'circuit-type-ness' of the proof. diff --git a/circuits/cpp/src/aztec3/utils/types/convert.hpp b/circuits/cpp/src/aztec3/utils/types/convert.hpp index 73094c2ecd6..a27aac9d551 100644 --- a/circuits/cpp/src/aztec3/utils/types/convert.hpp +++ b/circuits/cpp/src/aztec3/utils/types/convert.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/circuits/cpp/src/aztec3/utils/types/native_types.hpp b/circuits/cpp/src/aztec3/utils/types/native_types.hpp index 1f7dc0788d3..ab0e2479ec1 100644 --- a/circuits/cpp/src/aztec3/utils/types/native_types.hpp +++ b/circuits/cpp/src/aztec3/utils/types/native_types.hpp @@ -85,7 +85,8 @@ struct NativeTypes { static fr merkle_hash(fr left, fr right) { // use 0-generator for internal merkle hashing - return crypto::pedersen_hash::hash_multiple({ left, right }, 0); + // use lookup namespace since we now use ultraplonk + return crypto::pedersen_hash::lookup::hash_multiple({ left, right }, 0); } static grumpkin_point commit(const std::vector& inputs, const size_t hash_index = 0) diff --git a/l1-contracts/test/Decoder.t.sol b/l1-contracts/test/Decoder.t.sol index d84b20d7ad8..5efef377203 100644 --- a/l1-contracts/test/Decoder.t.sol +++ b/l1-contracts/test/Decoder.t.sol @@ -57,7 +57,7 @@ contract DecoderTest is Test { helper.decode(block_empty); assertEq( publicInputsHash, - 0x181161b4d0484ce98066b1c36289b0327f8782e9bc41f25ba77302511a2bd16b, + 0x0013b2202a3e48b039cda7eef0976060d86e610d77fc9bb8cd5b0f1b561df48c, "Invalid public input hash" ); } diff --git a/yarn-project/barretenberg.js/src/crypto/pedersen/pedersen.ts b/yarn-project/barretenberg.js/src/crypto/pedersen/pedersen.ts index 343e1109839..ec4d89a2df4 100644 --- a/yarn-project/barretenberg.js/src/crypto/pedersen/pedersen.ts +++ b/yarn-project/barretenberg.js/src/crypto/pedersen/pedersen.ts @@ -21,6 +21,22 @@ export function pedersenCompress(wasm: WasmWrapper, lhs: Uint8Array, rhs: Uint8A return Buffer.from(wasm.getMemorySlice(64, 96)); } +/** + * Combine an array of hashes using pedersen hash. + * @param wasm - The barretenberg module. + * @param lhs - The first hash. + * @param rhs - The second hash. + * @returns The new 32-byte hash. + */ +export function pedersenHashInputs(wasm: WasmWrapper, inputs: Buffer[]): Buffer { + // If not done already, precompute constants. + wasm.call('pedersen__init'); + const inputVectors = serializeBufferArrayToVector(inputs); + wasm.writeMemory(0, inputVectors); + wasm.call('pedersen__hash_multiple', 0, 0); + return Buffer.from(wasm.getMemorySlice(0, 32)); +} + /** * Compresses an array of buffers. * @param wasm - The barretenberg module. diff --git a/yarn-project/circuits.js/src/abis/__snapshots__/abis.test.ts.snap b/yarn-project/circuits.js/src/abis/__snapshots__/abis.test.ts.snap index 6b5c2ce5006..a47e4221abb 100644 --- a/yarn-project/circuits.js/src/abis/__snapshots__/abis.test.ts.snap +++ b/yarn-project/circuits.js/src/abis/__snapshots__/abis.test.ts.snap @@ -4,38 +4,38 @@ exports[`abis wasm bindings computes a contract address 1`] = ` AztecAddress { "buffer": { "data": [ - 39, - 161, - 170, - 28, - 81, - 154, - 13, - 101, + 0, + 125, + 9, + 65, + 203, + 244, 59, - 124, - 144, - 75, - 148, - 134, - 178, - 166, - 168, - 5, + 186, + 139, + 160, + 96, + 214, + 80, + 110, + 223, + 135, + 202, + 43, + 216, + 53, + 67, + 114, + 248, + 141, + 117, + 152, + 187, + 181, + 151, + 147, + 20, 185, - 75, - 140, - 68, - 204, - 24, - 163, - 51, - 0, - 45, - 101, - 82, - 170, - 143, ], "type": "Buffer", }, @@ -44,7 +44,7 @@ AztecAddress { exports[`abis wasm bindings computes a function leaf 1`] = ` Fr { - "value": 4561502337125734544623838483038987112287298230187358554089398390117787410340n, + "value": 587703305517770651443581700965463419402329990676290745771558099600379869110n, } `; @@ -89,51 +89,51 @@ exports[`abis wasm bindings computes a function selector 1`] = ` exports[`abis wasm bindings computes contract leaf 1`] = ` Fr { - "value": 13761632275218847273520262751574664149269181891159611676226614084913136324343n, + "value": 14753252017424563237038015065402454919037294146339173328174383872613705551896n, } `; exports[`abis wasm bindings computes function tree root 1`] = ` Fr { - "value": 16319202199654239754527012669017244744502052867589428662551071235519303124675n, + "value": 14183899854343735726273072423861389595545367822703803926156437266914765787587n, } `; exports[`abis wasm bindings hash constructor info (max args) 1`] = ` { "data": [ - 11, - 83, + 6, + 127, + 250, + 108, + 115, + 140, + 194, + 58, + 155, 126, - 59, - 216, - 223, - 139, - 197, - 97, - 118, - 93, - 86, - 72, - 166, - 146, - 183, - 120, - 217, - 74, - 66, + 77, + 172, + 138, + 33, + 56, 45, - 248, - 192, - 209, - 59, - 200, - 244, - 214, - 63, + 60, + 49, + 53, + 1, + 132, + 78, + 225, + 189, + 96, + 36, + 20, + 194, + 195, + 179, + 254, 239, - 67, - 177, ], "type": "Buffer", } @@ -142,38 +142,38 @@ exports[`abis wasm bindings hash constructor info (max args) 1`] = ` exports[`abis wasm bindings hash constructor info 2 args 1`] = ` { "data": [ - 6, 8, - 191, - 65, - 136, - 96, - 198, - 140, - 203, - 137, - 102, - 172, + 32, + 166, + 70, + 82, + 251, + 130, + 41, + 118, + 69, + 174, + 93, + 168, + 126, + 225, + 80, + 199, + 219, 105, - 89, - 77, - 15, - 15, - 196, - 42, - 213, + 158, + 51, 11, - 179, - 9, - 133, - 16, - 68, - 18, - 76, - 208, - 143, - 149, - 123, + 131, + 193, + 242, + 88, + 148, + 45, + 101, + 116, + 190, + 202, ], "type": "Buffer", } @@ -222,38 +222,38 @@ Object { exports[`abis wasm bindings hashes a tx request 1`] = ` { "data": [ - 13, - 190, - 226, - 203, - 10, + 22, + 104, + 90, + 0, + 199, + 89, + 155, + 69, + 214, + 179, 204, - 39, - 84, - 100, - 192, - 162, - 67, - 136, + 72, 181, - 14, - 129, - 247, - 2, - 200, - 119, - 238, - 121, - 125, - 98, - 82, - 60, - 23, - 238, - 206, - 4, - 213, - 200, + 157, + 142, + 51, + 170, + 40, + 49, + 177, + 215, + 225, + 132, + 122, + 50, + 209, + 161, + 11, + 43, + 123, + 45, + 134, ], "type": "Buffer", } diff --git a/yarn-project/end-to-end/package.json b/yarn-project/end-to-end/package.json index aefe5e2346b..f854622b7c9 100644 --- a/yarn-project/end-to-end/package.json +++ b/yarn-project/end-to-end/package.json @@ -11,7 +11,7 @@ "clean": "rm -rf ./dest .tsbuildinfo", "formatting": "run -T prettier --check ./src && run -T eslint ./src", "formatting:fix": "run -T prettier -w ./src", - "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --runInBand --passWithNoTests", + "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --runInBand --passWithNoTests --testTimeout=15000", "test:integration": "concurrently -k -s first -c reset,dim -n test,anvil \"yarn test:integration:run\" \"anvil\"", "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --runInBand --config jest.integration.config.json" }, diff --git a/yarn-project/foundation/src/wasm/wasm/async_wasm_wrapper.ts b/yarn-project/foundation/src/wasm/wasm/async_wasm_wrapper.ts index 74ccc2d3489..b075a3e3923 100644 --- a/yarn-project/foundation/src/wasm/wasm/async_wasm_wrapper.ts +++ b/yarn-project/foundation/src/wasm/wasm/async_wasm_wrapper.ts @@ -8,13 +8,13 @@ export abstract class AsyncWasmWrapper extends WasmWrapper { protected asyncCallState = new AsyncCallState(); /** - * 20 pages by default. 20*2**16 \> 1mb stack size plus other overheads. + * 30 pages by default. 30*2**16 \> 1mb stack size plus other overheads. * 8192 maximum by default. 512mb. * @param initial - Initial memory pages. * @param maximum - Max memory pages. * @returns The wrapper. */ - public async init(initial = 20, maximum = 8192): Promise { + public async init(initial = 30, maximum = 8192): Promise { await super.init(initial, maximum); this.asyncCallState.init(this.wasm); return this; diff --git a/yarn-project/foundation/src/wasm/wasm/wasm_module.ts b/yarn-project/foundation/src/wasm/wasm/wasm_module.ts index b9d7a9dd5d1..8b083eb0cf6 100644 --- a/yarn-project/foundation/src/wasm/wasm/wasm_module.ts +++ b/yarn-project/foundation/src/wasm/wasm/wasm_module.ts @@ -44,10 +44,10 @@ export class WasmModule { /** * Initialize this wasm module. * @param wasmImportEnv - Linked to a module called "env". Functions implementations referenced from e.g. C++. - * @param initial - 20 pages by default. 20*2**16 \> 1mb stack size plus other overheads. + * @param initial - 30 pages by default. 30*2**16 \> 1mb stack size plus other overheads. * @param maximum - 8192 maximum by default. 512mb. */ - public async init(initial = 20, maximum = 8192) { + public async init(initial = 30, maximum = 8192) { this.debug( `initial mem: ${initial} pages, ${(initial * 2 ** 16) / (1024 * 1024)}mb. max mem: ${maximum} pages, ${ (maximum * 2 ** 16) / (1024 * 1024) diff --git a/yarn-project/foundation/src/wasm/wasm/wasm_wrapper.ts b/yarn-project/foundation/src/wasm/wasm/wasm_wrapper.ts index 2f3a9cbed27..43543547ed3 100644 --- a/yarn-project/foundation/src/wasm/wasm/wasm_wrapper.ts +++ b/yarn-project/foundation/src/wasm/wasm/wasm_wrapper.ts @@ -29,13 +29,13 @@ export abstract class WasmWrapper { constructor(private loggerName?: string) {} /** - * 20 pages by default. 20*2**16 \> 1mb stack size plus other overheads. + * 30 pages by default. 30*2**16 \> 1mb stack size plus other overheads. * 8192 maximum by default. 512mb. * @param initial - Initial memory pages. * @param maximum - Max memory pages. * @returns The original instance of the wrapper. */ - public async init(initial = 20, maximum = 8192): Promise { + public async init(initial = 30, maximum = 8192): Promise { let wasm: WasmModule; this.wasm = wasm = new WasmModule( await fetchCode(this.codePath), diff --git a/yarn-project/merkle-tree/package.json b/yarn-project/merkle-tree/package.json index 192a95b84b8..d0702b89872 100644 --- a/yarn-project/merkle-tree/package.json +++ b/yarn-project/merkle-tree/package.json @@ -11,7 +11,7 @@ "clean": "rm -rf ./dest .tsbuildinfo", "formatting": "run -T prettier --check ./src && run -T eslint ./src", "formatting:fix": "run -T prettier -w ./src", - "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --passWithNoTests" + "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --passWithNoTests --testTimeout=15000" }, "jest": { "preset": "ts-jest/presets/default-esm", diff --git a/yarn-project/merkle-tree/src/pedersen.ts b/yarn-project/merkle-tree/src/pedersen.ts index 79ffa2b39a7..cee1760bf55 100644 --- a/yarn-project/merkle-tree/src/pedersen.ts +++ b/yarn-project/merkle-tree/src/pedersen.ts @@ -1,6 +1,6 @@ import { pedersenCompress, - pedersenCompressInputs, + pedersenHashInputs, pedersenGetHash, pedersenGetHashTree, } from '@aztec/barretenberg.js/crypto'; @@ -30,7 +30,7 @@ export class Pedersen implements Hasher { * @returns The resulting 32-byte hash. */ public compressInputs(inputs: Buffer[]): Buffer { - return pedersenCompressInputs(this.wasm, inputs); + return pedersenHashInputs(this.wasm, inputs); } /** diff --git a/yarn-project/merkle-tree/src/test/standard_based_test_suite.ts b/yarn-project/merkle-tree/src/test/standard_based_test_suite.ts index ca37435566d..111aa7420a3 100644 --- a/yarn-project/merkle-tree/src/test/standard_based_test_suite.ts +++ b/yarn-project/merkle-tree/src/test/standard_based_test_suite.ts @@ -37,7 +37,7 @@ export const standardBasedTreeTestSuite = ( const db = levelup(createMemDown()); const tree = await createDb(db, pedersen, 'test', 32); const root = tree.getRoot(false); - expect(root.toString('hex')).toEqual('18ceb5cd201e1cee669a5c3ad96d3c4e933a365b37046fc3178264bede32c68d'); + expect(root.toString('hex')).toEqual('20efbe2c7b675f26ab71689279908bbab33a6963e7e0dcb80e4c46583d094113'); }); it('should throw when appending beyond max index', async () => { diff --git a/yarn-project/noir-contracts/src/examples/child_contract.json b/yarn-project/noir-contracts/src/examples/child_contract.json index 12a687fc9e2..e2688f08211 100644 --- a/yarn-project/noir-contracts/src/examples/child_contract.json +++ b/yarn-project/noir-contracts/src/examples/child_contract.json @@ -7,7 +7,7 @@ "parameters": [], "returnTypes": [], "bytecode": "0000000046000000150000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f0000001000000011000000120000001300000014000000150000002f000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f0000002000000021000000220000002300000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000330000000001000000010000000000000000000000000000000000000000000000000000000000000000000001090000000900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000009000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010a0000000a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000a000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010b0000000b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000017000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000019000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000023000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000025000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000027000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000029000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000031000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000032000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000033000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000034000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000035000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000036000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000037000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000038000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000039000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000041000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000043000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000450000000000000000000000000000000000000000000000000000000000000000000000", - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" }, { "name": "value", @@ -27,7 +27,7 @@ } ], "bytecode": "0000000047000000150000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f0000001000000011000000120000001300000014000000150000002f000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f00000020000000210000002200000023000000250000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f00000040000000410000004200000043000000440000004500000046000000340000000001000000010000000000000000000000000000000000000000000000000000000000000000000001090000000900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000009000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010a0000000a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000a000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010b0000000b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000017000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000019000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000023000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000024000000000000000000000000000000000000000000000000000000000000000000002a00000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000025000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000027000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000029000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000031000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000032000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000033000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000034000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000035000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000036000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000037000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000038000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000039000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000041000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000043000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000045000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000460000000000000000000000000000000000000000000000000000000000000000000000", - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" } ] } diff --git a/yarn-project/noir-contracts/src/examples/parent_contract.json b/yarn-project/noir-contracts/src/examples/parent_contract.json index c69fefdc157..f15a494f39f 100644 --- a/yarn-project/noir-contracts/src/examples/parent_contract.json +++ b/yarn-project/noir-contracts/src/examples/parent_contract.json @@ -7,7 +7,7 @@ "parameters": [], "returnTypes": [], "bytecode": "0000000046000000150000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f0000001000000011000000120000001300000014000000150000002f000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f0000002000000021000000220000002300000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000330000000001000000010000000000000000000000000000000000000000000000000000000000000000000001090000000900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000009000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010a0000000a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000a000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010b0000000b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000017000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000019000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000023000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000025000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000027000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000029000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000031000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000032000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000033000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000034000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000035000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000036000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000037000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000038000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000039000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000041000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000043000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000450000000000000000000000000000000000000000000000000000000000000000000000", - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" }, { "name": "entryPoint", @@ -33,7 +33,7 @@ } ], "bytecode": "00000000c5000000150000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f0000001000000011000000120000001300000014000000150000002f00000095000000960000009700000098000000990000009a0000009b0000009c0000009d0000009e0000009f000000a0000000a1000000a2000000a3000000a5000000a6000000a7000000a8000000a9000000aa000000ab000000ac000000ad000000ae000000af000000b0000000b1000000b2000000b3000000b4000000b5000000b6000000b7000000b8000000b9000000ba000000bb000000bc000000bd000000be000000bf000000c0000000c1000000c2000000c3000000c4000000af0000000001000000010000000000000000000000000000000000000000000000000000000000000000000001090000000900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000009000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010a0000000a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000a000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010b0000000b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000b0000000000000000000000000000000000000000000000000000000000000000000000070a00000000000000000001000000000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000010033000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000ce0200009981a34a4d509103a454726170a453746f7081a34d6f769281a85265676973746572cd045581a8436f6e7374616e74d9403030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030363181a64f7261636c6595b363616c6c5072697661746546756e6374696f6e9a81b052656769737465724d656d496e64657881a85265676973746572cd043c81b052656769737465724d656d496e64657881a85265676973746572cd043d81b052656769737465724d656d496e64657881a85265676973746572cd043e81b052656769737465724d656d496e64657881a85265676973746572cd043f81b052656769737465724d656d496e64657881a85265676973746572cd044081b052656769737465724d656d496e64657881a85265676973746572cd044181b052656769737465724d656d496e64657881a85265676973746572cd044281b052656769737465724d656d496e64657881a85265676973746572cd044381b052656769737465724d656d496e64657881a85265676973746572cd044481b052656769737465724d656d496e64657881a85265676973746572cd0445909181a541727261799281a8436f6e7374616e74d94030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303631339081a34d6f769281a85265676973746572cd045581a8436f6e7374616e74d9403030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030363181a34d6f769281a852656769737465720081a85265676973746572cd0455a843616c6c4261636b81a9426f6f747374726170919acd043ccd043dcd043ecd043fcd0440cd0441cd0442cd0443cd0444cd0445010000000000000000000000000000000000000000000000000000000000000000000000000000000102010000000000010000000000000000000000000000000000000000000000000000000000000000000001180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024a00000049000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001490000004900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000490000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000014a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004c0000004b00000000010b00010000004b000000fc0000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000014c0000004c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004c000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004a00000000000000000000000000000000000000000000000000000000000000000000014b00000010000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001800000000000000000000000000000000000000000000000000000000000000000000014900000000000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000000000000002010000000000010000000000000000000000000000000000000000000000000000000000000000000001190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024e0000004d0000000000010000000100000000000000000000000000000000000000000000000000000000000000000000014d0000004d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004d0000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000014e000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000500000004f00000000010b00010000004f000000fc000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001500000005000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004e00000000000000000000000000000000000000000000000000000000000000000000014f000000100000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001900000000000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000000000024e0000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000011d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025200000051000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001510000005100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005100000000000000000000000000000000000000000000000000000000000000000000000201000000000001000000000000000000000000000000000000000000000000000000000000000000000152000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000540000005300000000010b000100000053000000fc000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001540000005400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000054000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000052000000000000000000000000000000000000000000000000000000000000000000000153000000100000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001d0000000000000000000000000000000000000000000000000000000000000000000001510000000000000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000011e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025600000055000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001550000005500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005500000000000000000000000000000000000000000000000000000000000000000000000201000000000001000000000000000000000000000000000000000000000000000000000000000000000156000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000580000005700000000010b000100000057000000fc000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001580000005800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000058000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000056000000000000000000000000000000000000000000000000000000000000000000000157000000100000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001e0000000000000000000000000000000000000000000000000000000000000000000001550000000000000000000000000000000000000000000000000000000000000000000002560000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000011f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025a00000059000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001590000005900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000590000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000015a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000005c0000005b00000000010b00010000005b000000fc0000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000015c0000005c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005c000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005a00000000000000000000000000000000000000000000000000000000000000000000015b00000010000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001f00000000000000000000000000000000000000000000000000000000000000000000015900000000000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000010100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005d00000000000000000000000000000000000000000000000000000000000000000000000200005d0000005e00000000010000000100000000000000000000000000000000000000000000000000000000000000000000015d0000005e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005f000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000015d0000005f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005d000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000015f000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000060000000000000000000000000000000000000000000000000000000000000000000000002000060000000610000000001000000010000000000000000000000000000000000000000000000000000000000000000000001600000006100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006200000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001600000006200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000600000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000162000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000063000000000000000000000000000000000000000000000000000000000000000000000002000063000000640000000001000000010000000000000000000000000000000000000000000000000000000000000000000001630000006400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006500000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001630000006500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000630000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000165000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000066000000000000000000000000000000000000000000000000000000000000000000000002000066000000670000000001000000010000000000000000000000000000000000000000000000000000000000000000000001660000006700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006800000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001660000006800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000660000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000168000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000690000000000000000000000000000000000000000000000000000000000000000000000020000690000006a0000000001000000010000000000000000000000000000000000000000000000000000000000000000000001690000006a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006b00000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001690000006b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000069000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000016b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006c00000000000000000000000000000000000000000000000000000000000000000000000200006c0000006d00000000010000000100000000000000000000000000000000000000000000000000000000000000000000016c0000006d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006e000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000016c0000006e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006c000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000016e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006f00000000000000000000000000000000000000000000000000000000000000000000000200006f0000007000000000010000000100000000000000000000000000000000000000000000000000000000000000000000016f0000007000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000071000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000016f0000007100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006f0000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000171000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000072000000000000000000000000000000000000000000000000000000000000000000000002000072000000730000000001000000010000000000000000000000000000000000000000000000000000000000000000000001720000007300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007400000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001720000007400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000720000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000174000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000075000000000000000000000000000000000000000000000000000000000000000000000002000075000000760000000001000000010000000000000000000000000000000000000000000000000000000000000000000001750000007600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007700000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001750000007700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000750000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000177000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000078000000000000000000000000000000000000000000000000000000000000000000000002000078000000790000000001000000010000000000000000000000000000000000000000000000000000000000000000000001780000007900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007a00000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001780000007a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000078000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000017a000000000000000000000000000000000000000000000000000000000000000000000002010000000000010000000000000000000000000000000000000000000000000000000000000000000001490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027c0000007b0000000000010000000100000000000000000000000000000000000000000000000000000000000000000000017b0000007b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007b0000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000017c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007e0000007d00000000010b00010000007d000000fc0000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000017e0000007e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007e000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007c00000000000000000000000000000000000000000000000000000000000000000000017d00000010000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004900000000000000000000000000000000000000000000000000000000000000000000017b00000000000000000000000000000000000000000000000000000000000000000000027c0000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000007f0000000000010000000100000000000000000000000000000000000000000000000000000000000000000000017f0000007f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007f00000000000000000000000000000000000000000000000000000000000000000000000201000000000001000000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000820000008100000000010b000100000081000000fc000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001820000008200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000082000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000080000000000000000000000000000000000000000000000000000000000000000000000181000000100000000000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004d00000000000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000105000300000017000000fe0000007b000000fe0000007f000000fe00000002000000830000008400000002010000000000010000000000000000000000000000000000000000000000000000000000000000000001510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028600000085000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001850000008500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008500000000000000000000000000000000000000000000000000000000000000000000000201000000000001000000000000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000880000008700000000010b000100000087000000fc000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001880000008800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000088000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000086000000000000000000000000000000000000000000000000000000000000000000000187000000100000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000051000000000000000000000000000000000000000000000000000000000000000000000185000000000000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000000000000002010000000000010000000000000000000000000000000000000000000000000000000000000000000001550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028a00000089000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001890000008900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000890000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000018a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008c0000008b00000000010b00010000008b000000fc0000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000018c0000008c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008c000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008a00000000000000000000000000000000000000000000000000000000000000000000018b00000010000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005500000000000000000000000000000000000000000000000000000000000000000000018900000000000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000000000000002010000000000010000000000000000000000000000000000000000000000000000000000000000000001590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028e0000008d0000000000010000000100000000000000000000000000000000000000000000000000000000000000000000018d0000008d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008d0000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000018e000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000900000008f00000000010b00010000008f000000fc000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001900000009000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008e00000000000000000000000000000000000000000000000000000000000000000000018f000000100000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005900000000000000000000000000000000000000000000000000000000000000000000018d00000000000000000000000000000000000000000000000000000000000000000000028e00000000000000000000000000000000000000000000000000000000000000000000000105002f0000001a000000fe0000001b000000fe0000001c000000fe00000085000000fe00000089000000fe0000008d000000fe00000020000000fe00000021000000fe00000022000000fe00000023000000fe00000024000000fe00000025000000fe00000026000000fe00000027000000fe00000028000000fe00000029000000fe0000002a000000fe0000002b000000fe0000002c000000fe0000002d000000fe0000002e000000fe0000002f000000fe00000030000000fe00000031000000fe00000032000000fe00000033000000fe00000034000000fe00000035000000fe00000036000000fe00000037000000fe00000038000000fe00000039000000fe0000003a000000fe0000003b000000fe0000003c000000fe0000003d000000fe0000003e000000fe0000003f000000fe00000040000000fe00000041000000fe00000042000000fe00000043000000fe00000044000000fe00000045000000fe00000046000000fe00000047000000fe00000048000000fe0000000200000091000000920000000105000300000016000000fe00000083000000fe00000091000000fe00000002000000930000009400000000000000000200000000000000000000000000000000000000000000000000000000000000000000010c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000095000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000096000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000097000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000098000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000099000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a1000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a2000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a3000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a400000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a500000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a600000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a700000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a800000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a900000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000aa00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ab00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ac00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ad00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ae00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000af00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b100000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b200000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b3000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000019300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b400000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b500000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b600000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b700000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b800000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b900000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ba00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000bb00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000bc00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000bd000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000be000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000bf000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c1000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c2000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c3000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c40000000000000000000000000000000000000000000000000000000000000000000000", - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" } ] } diff --git a/yarn-project/noir-contracts/src/examples/public_token_contract.json b/yarn-project/noir-contracts/src/examples/public_token_contract.json index e7be5a3f736..513e279f2af 100644 --- a/yarn-project/noir-contracts/src/examples/public_token_contract.json +++ b/yarn-project/noir-contracts/src/examples/public_token_contract.json @@ -7,7 +7,7 @@ "parameters": [], "returnTypes": [], "bytecode": "0000000046000000150000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f0000001000000011000000120000001300000014000000150000002f000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f0000002000000021000000220000002300000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000330000000001000000010000000000000000000000000000000000000000000000000000000000000000000001090000000900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000009000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010a0000000a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000a000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010b0000000b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000017000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000019000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000023000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000025000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000027000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000029000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000031000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000032000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000033000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000034000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000035000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000036000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000037000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000038000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000039000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000012400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000041000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000043000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000450000000000000000000000000000000000000000000000000000000000000000000000", - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" }, { "name": "mint", @@ -48,7 +48,7 @@ } ], "bytecode": "0000000011000000090000000100000002000000030000000400000005000000060000000700000008000000090000000100000010000000090000000001000000010000000000000000000000000000000000000000000000000000000000000000000001010000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000100000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001020000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000200000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001030000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000a000000000000000000000000000000000000000000000000000000000000000000000400000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000b0000000000000000000000000000000000000000000000000000000000000000000001010500030000000a000000fe0000000b000000fe00000008000000fe000000020000000c0000000d00000007010000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010c00000000000000000000000000000000000000000000000000000000000000000000000100000000000e0000008b0000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ab73746f72616765526561649181b052656769737465724d656d496e64657881a8526567697374657245909181ad5265676973746572496e646578499081a34d6f769281a852656769737465720081a8526567697374657249a843616c6c4261636b81a9426f6f747374726170919145010000000000000000000000000000000000000000000000000000000000000000000000000000000107020000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010c00000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010700000000000000000000000000000000000000000000000000000000000000000000010e00000000000000000000000000000000000000000000000000000000000000000000000100000000000f000000aa0000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ac73746f7261676557726974659281b052656769737465724d656d496e64657881a852656769737465723a81b052656769737465724d656d496e64657881a852656769737465723b909181ad5265676973746572496e646578409081a34d6f769281a852656769737465720081a8526567697374657240a843616c6c4261636b81a9426f6f74737472617091923a3b010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000200000000000000000000000000000000000000000000000000000000000000000000010f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000100000000000000000000000000000000000000000000000000000000000000000000000", - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" }, { "name": "transfer", @@ -89,7 +89,7 @@ } ], "bytecode": "000000002400000009000000010000000200000003000000040000000500000006000000070000000800000009000000010000001f000000250000000001000000010000000000000000000000000000000000000000000000000000000000000000000001010000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000100000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001020000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000200000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001030000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000a000000000000000000000000000000000000000000000000000000000000000000000400000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000b0000000000000000000000000000000000000000000000000000000000000000000001010500030000000a000000fe0000000b000000fe00000004000000fe000000020000000c0000000d000000010500030000000a000000fe0000000b000000fe00000008000000fe000000020000000e0000000f00000007010000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010c0000000000000000000000000000000000000000000000000000000000000000000000010000000000100000008b0000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ab73746f72616765526561649181b052656769737465724d656d496e64657881a8526567697374657245909181ad5265676973746572496e646578499081a34d6f769281a852656769737465720081a8526567697374657249a843616c6c4261636b81a9426f6f747374726170919145010000000000000000000000000000000000000000000000000000000000000000000000000000000107010000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010e0000000000000000000000000000000000000000000000000000000000000000000000010000000000110000008b0000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ab73746f72616765526561649181b052656769737465724d656d496e64657881a8526567697374657245909181ad5265676973746572496e646578499081a34d6f769281a852656769737465720081a8526567697374657249a843616c6c4261636b81a9426f6f74737472617091914501000000000000000000000000000000000000000000000000000000000000000000000000000000010201000000000001000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000130000001200000000010b0001000000120000007800000000000000010b000100000013000000860000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001000000000000000000000000000000000000000000000000000000000000000000000011200000000000000000000000000000000000000010000000000000000000000000000001300000000000000000000000000000000000000000000000000000000000000000000000201000000000001000000000000000000000000000000000000000000000000000000000000000000000107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000150000001400000000010b0001000000140000007800000000000000010b000100000015000000860000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000700000000000000000000000000000000000000000000000000000000000000000000011400000000000000000000000000000000000000010000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000000000000201000000000001000000000000000000000000000000000000000000000000000000000000000000000112000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000170000001600000000010b0001000000160000007800000000000000010b000100000017000000860000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001200000000000000000000000000000000000000000000000000000000000000000000011600000000000000000000000000000000000000010000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000000000000201000000000001000000000000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000190000001800000000010b0001000000180000007800000000000000010b000100000019000000860000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000014000000000000000000000000000000000000000000000000000000000000000000000118000000000000000000000000000000000000000100000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000016000000000000000000000000000000000000000000000000000000000000000000000118000000000000000000000000000000000000000000000000000000000000000000000121000000000000000000000000000000000000000100000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2733e84879b9709143e1f593f00000011a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000210000000000000000000000000000000000000000000000000000000000000000000000020100000000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000160000000000000000000000000000000000000000000000000000000000000000000001180000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000001a0000001b00000000010b00010000001b000000780000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000011a0000001a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001a000000000000000000000000000000000000000000000000000000000000000000000007020000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010c00000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000700000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000000000000100000000001c000000aa0000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ac73746f7261676557726974659281b052656769737465724d656d496e64657881a852656769737465725d81b052656769737465724d656d496e64657881a852656769737465725e909181ad5265676973746572496e646578639081a34d6f769281a852656769737465720081a8526567697374657263a843616c6c4261636b81a9426f6f74737472617091925d5e01000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001a000000000000000000000000000000000000000000000000000000000000000000000107020000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010e00000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010700000000000000000000000000000000000000000000000000000000000000000000011100000000000000000000000000000000000000000000000000000000000000000000000100000000001d000000aa0000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ac73746f7261676557726974659281b052656769737465724d656d496e64657881a852656769737465725d81b052656769737465724d656d496e64657881a852656769737465725e909181ad5265676973746572496e646578639081a34d6f769281a852656769737465720081a8526567697374657263a843616c6c4261636b81a9426f6f74737472617091925d5e01000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001a00000000000000000000000000000000000000000000000000000000000000000000010001000000010000000000000000000000000000000000000000000000000000000000000000000001110000001a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000022000000000000000000000000000000000000000000000000000000000000000000000000010000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001a0000001d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000023000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000011d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001e000000000000000000000000000000000000000000000000000000000000000000000124000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000012200000000000000000000000000000000000000000000000000000000000000000000012300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001f0000000000000000000000000000000000000000000000000000000000000000000000", - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" } ] } diff --git a/yarn-project/noir-contracts/src/examples/test_contract.json b/yarn-project/noir-contracts/src/examples/test_contract.json index 99f4b440087..c39c12af0df 100644 --- a/yarn-project/noir-contracts/src/examples/test_contract.json +++ b/yarn-project/noir-contracts/src/examples/test_contract.json @@ -7,7 +7,7 @@ "parameters": [], "returnTypes": [], "bytecode": "0000000056000000150000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f0000001000000011000000120000001300000014000000150000002f000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f0000003000000031000000320000003300000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000530000000001000000010000000000000000000000000000000000000000000000000000000000000000000001090000000900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000009000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010a0000000a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000a000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010b0000000b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000b000000000000000000000000000000000000000000000000000000000000000000000002000001000000160000000001000000010000000000000000000000000000000000000000000000000000000000000000000001010000001600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001700000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001010000001700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000010000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000117000000000000000000000000000000000000000000000000000000000000000000000002000002000000180000000001000000010000000000000000000000000000000000000000000000000000000000000000000001020000001800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001900000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001020000001900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000200000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001190000000000000000000000000000000000000000000000000000000000000000000000020000030000001a0000000001000000010000000000000000000000000000000000000000000000000000000000000000000001030000001a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001b00000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001030000001b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011b0000000000000000000000000000000000000000000000000000000000000000000000020000040000001c0000000001000000010000000000000000000000000000000000000000000000000000000000000000000001040000001c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001d00000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001040000001d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011d0000000000000000000000000000000000000000000000000000000000000000000000020000050000001e0000000001000000010000000000000000000000000000000000000000000000000000000000000000000001050000001e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001f00000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001050000001f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000000000000002000006000000200000000001000000010000000000000000000000000000000000000000000000000000000000000000000001060000002000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002100000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001060000002100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000060000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000121000000000000000000000000000000000000000000000000000000000000000000000002000007000000220000000001000000010000000000000000000000000000000000000000000000000000000000000000000001070000002200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002300000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001070000002300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000070000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000123000000000000000000000000000000000000000000000000000000000000000000000002000008000000240000000001000000010000000000000000000000000000000000000000000000000000000000000000000001080000002400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002500000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001080000002500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000080000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000125000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000027000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000029000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000031000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000032000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000033000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000034000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000035000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000036000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000037000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000038000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000039000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000041000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000043000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000045000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000046000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000047000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000048000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000049000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000051000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000052000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000053000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000054000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000550000000000000000000000000000000000000000000000000000000000000000000000", - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" } ] } diff --git a/yarn-project/noir-contracts/src/examples/zk_token_contract.json b/yarn-project/noir-contracts/src/examples/zk_token_contract.json index 53e2aff3b01..811f16de4b1 100644 --- a/yarn-project/noir-contracts/src/examples/zk_token_contract.json +++ b/yarn-project/noir-contracts/src/examples/zk_token_contract.json @@ -36,7 +36,7 @@ ], "returnTypes": [], "bytecode": "0000000052000000150000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f0000001000000011000000120000001300000014000000150000002f00000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f0000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f00000050000000510000003f0000000001000000010000000000000000000000000000000000000000000000000000000000000000000001090000000900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000009000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010a0000000a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000a000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010b0000000b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000016000000000000000000000000000000000000000000000000000000000000000000000400000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001700000000000000000000000000000000000000000000000000000000000000000000010105000300000016000000fe00000017000000fe00000002000000fe00000002000000180000001900000007000000000100000000001a000000740000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ae67657452616e646f6d4669656c6490909181ad5265676973746572496e646578cd042b9081a34d6f769281a852656769737465720081a85265676973746572cd042ba843616c6c4261636b81a9426f6f7473747261709190010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001b000000000000000000000000000000000000000000000000000000000000000000000200000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001c0000000000000000000000000000000000000000000000000000000000000000000003010500070000001b000000fe00000017000000fe0000001c000000fe00000002000000fe00000003000000fe0000001a000000fe00000001000000fe000000020000001d0000001e00000007090000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011800000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010200000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010300000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011700000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011c00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010200000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010300000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011a00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000000000000100000000001f000000a90100009781a34a4d509103a454726170a453746f7081a64f7261636c6595b16e6f74696679437265617465644e6f74659981b052656769737465724d656d496e64657881a85265676973746572cd091781b052656769737465724d656d496e64657881a85265676973746572cd091881b052656769737465724d656d496e64657881a85265676973746572cd091981b052656769737465724d656d496e64657881a85265676973746572cd091a81b052656769737465724d656d496e64657881a85265676973746572cd091b81b052656769737465724d656d496e64657881a85265676973746572cd091c81b052656769737465724d656d496e64657881a85265676973746572cd091d81b052656769737465724d656d496e64657881a85265676973746572cd091e81b052656769737465724d656d496e64657881a85265676973746572cd091f909181ad5265676973746572496e646578cd092b9081a34d6f769281a852656769737465720081a85265676973746572cd092ba843616c6c4261636b81a9426f6f7473747261709199cd0917cd0918cd0919cd091acd091bcd091ccd091dcd091ecd091f01000000000000000000000000000000000000000000000000000000000000000000000000000000010200001f0000002000000000010000000100000000000000000000000000000000000000000000000000000000000000000000011f0000002000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000021000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000011f0000002100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001f0000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000121000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000023000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000025000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000027000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000029000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002f000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000031000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000032000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000033000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000034000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000035000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000036000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000037000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000038000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000039000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000041000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000043000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000045000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000046000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000047000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000048000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000049000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000510000000000000000000000000000000000000000000000000000000000000000000000", - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" }, { "name": "getBalance", @@ -107,7 +107,7 @@ ], "returnTypes": [], "bytecode": "0000000052000000150000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f0000001000000011000000120000001300000014000000150000002f00000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f0000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f00000050000000510000003f0000000001000000010000000000000000000000000000000000000000000000000000000000000000000001090000000900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000009000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010a0000000a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000a000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010b0000000b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000016000000000000000000000000000000000000000000000000000000000000000000000400000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001700000000000000000000000000000000000000000000000000000000000000000000010105000300000016000000fe00000017000000fe00000002000000fe00000002000000180000001900000007000000000100000000001a000000740000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ae67657452616e646f6d4669656c6490909181ad5265676973746572496e646578cd042b9081a34d6f769281a852656769737465720081a85265676973746572cd042ba843616c6c4261636b81a9426f6f7473747261709190010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001b000000000000000000000000000000000000000000000000000000000000000000000200000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001c0000000000000000000000000000000000000000000000000000000000000000000003010500070000001b000000fe00000017000000fe0000001c000000fe00000002000000fe00000003000000fe0000001a000000fe00000001000000fe000000020000001d0000001e00000007090000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011800000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010200000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010300000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011700000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011c00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010200000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010300000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011a00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000000000000100000000001f000000a90100009781a34a4d509103a454726170a453746f7081a64f7261636c6595b16e6f74696679437265617465644e6f74659981b052656769737465724d656d496e64657881a85265676973746572cd091781b052656769737465724d656d496e64657881a85265676973746572cd091881b052656769737465724d656d496e64657881a85265676973746572cd091981b052656769737465724d656d496e64657881a85265676973746572cd091a81b052656769737465724d656d496e64657881a85265676973746572cd091b81b052656769737465724d656d496e64657881a85265676973746572cd091c81b052656769737465724d656d496e64657881a85265676973746572cd091d81b052656769737465724d656d496e64657881a85265676973746572cd091e81b052656769737465724d656d496e64657881a85265676973746572cd091f909181ad5265676973746572496e646578cd092b9081a34d6f769281a852656769737465720081a85265676973746572cd092ba843616c6c4261636b81a9426f6f7473747261709199cd0917cd0918cd0919cd091acd091bcd091ccd091dcd091ecd091f01000000000000000000000000000000000000000000000000000000000000000000000000000000010200001f0000002000000000010000000100000000000000000000000000000000000000000000000000000000000000000000011f0000002000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000021000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000011f0000002100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001f0000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000121000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000023000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000025000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000027000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000029000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002f000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000031000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000032000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000033000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000034000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000035000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000036000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000037000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000038000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000039000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000041000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000043000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000045000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000046000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000047000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000048000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000049000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004a000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004b000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004c000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004d000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004e000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004f000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000510000000000000000000000000000000000000000000000000000000000000000000000", - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" }, { "name": "transfer", @@ -165,7 +165,7 @@ ], "returnTypes": [], "bytecode": "00000000e0000000150000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f0000001000000011000000120000001300000014000000150000002f000000ad000000ae000000af000000b0000000b1000000b2000000b3000000b4000000b5000000b6000000b7000000b8000000b9000000ba000000bb000000bc000000be000000bf000000c0000000c1000000c2000000c3000000c4000000c5000000c6000000c7000000c8000000c9000000ca000000cb000000cc000000cd000000ce000000cf000000d0000000d1000000d2000000d3000000d4000000d5000000d6000000d7000000d8000000d9000000da000000db000000dc000000f00000000001000000010000000000000000000000000000000000000000000000000000000000000000000001090000000900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000009000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010a0000000a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000a000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000010b0000000b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000b000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000016000000000000000000000000000000000000000000000000000000000000000000000400000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001700000000000000000000000000000000000000000000000000000000000000000000010105000300000016000000fe00000017000000fe00000002000000fe0000000200000018000000190000000701000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001180000000000000000000000000000000000000000000000000000000000000000000000010000000100210000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a000000920100009981a34a4d509103a454726170a453746f7081a34d6f769281a85265676973746572cd049b81a8436f6e7374616e74d9403030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030363381a64f7261636c6595a96765744e6f746573329181b052656769737465724d656d496e64657881a85265676973746572cd0494909181a541727261799281a8436f6e7374616e74d94030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303633219081a34d6f769281a85265676973746572cd049b81a8436f6e7374616e74d9403030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030363381a34d6f769281a852656769737465720081a85265676973746572cd049ba843616c6c4261636b81a9426f6f7473747261709191cd04940100000000000000000000000000000000000000000000000000000000000000000000000000000001020100000000000100000000000000000000000000000000000000000000000000000000000000000000011b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023c0000003b0000000000010000000100000000000000000000000000000000000000000000000000000000000000000000013b0000003b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003b0000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000013c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003e0000003d00000000010b00010000003d000000fc0000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000013e0000003e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003e000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003c00000000000000000000000000000000000000000000000000000000000000000000013d00000010000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001b00000000000000000000000000000000000000000000000000000000000000000000013b00000000000000000000000000000000000000000000000000000000000000000000023c0000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000012b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000003f0000000000010000000100000000000000000000000000000000000000000000000000000000000000000000013f0000003f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003f00000000000000000000000000000000000000000000000000000000000000000000000201000000000001000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000420000004100000000010b000100000041000000fc000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001420000004200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000040000000000000000000000000000000000000000000000000000000000000000000000141000000100000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002b00000000000000000000000000000000000000000000000000000000000000000000013f000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001500000000000000000000000000000000000000000000000000000000000000000000012a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000043000000000000000000000000000000000000000000000000000000000000000000000002000043000000440000000001000000010000000000000000000000000000000000000000000000000000000000000000000001430000004400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004500000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001430000004500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000430000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000145000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001500000000000000000000000000000000000000000000000000000000000000000000013a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000046000000000000000000000000000000000000000000000000000000000000000000000002000046000000470000000001000000010000000000000000000000000000000000000000000000000000000000000000000001460000004700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004800000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001460000004800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004600000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001480000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000013b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024a00000049000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001490000004900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000490000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000014a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004c0000004b00000000010b00010000004b000000fc0000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000014c0000004c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004c000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004a00000000000000000000000000000000000000000000000000000000000000000000014b00000010000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003b00000000000000000000000000000000000000000000000000000000000000000000014900000000000000000000000000000000000000000000000000000000000000000000024a0000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000013f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024e0000004d0000000000010000000100000000000000000000000000000000000000000000000000000000000000000000014d0000004d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004d0000000000000000000000000000000000000000000000000000000000000000000000020100000000000100000000000000000000000000000000000000000000000000000000000000000000014e000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000500000004f00000000010b00010000004f000000fc000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001500000005000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004e00000000000000000000000000000000000000000000000000000000000000000000014f000000100000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000003f00000000000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000051000000000000000000000000000000000000000000000000000000000000000000000002000051000000520000000001000000010000000000000000000000000000000000000000000000000000000000000000000001510000005200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005300000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001510000005300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000051000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000014900000053000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000010300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000001e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000054000000000000000000000000000000000000000000000000000000000000000000000002000054000000550000000001000000010000000000000000000000000000000000000000000000000000000000000000000001540000005500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005600000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001540000005600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000054000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000014900000056000000000000000000000000000000000000000000000000000000000000000000000002000020000000570000000001000000010000000000000000000000000000000000000000000000000000000000000000000001200000005700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005800000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001200000005800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000020000000000000000000000000000000000000000000000000000000000000000000000000010000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004900000058000000000000000000000000000000000000000000000000000000000000000000000158000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000590000000000000000000000000000000000000000000000000000000000000000000000020000590000005a0000000001000000010000000000000000000000000000000000000000000000000000000000000000000001590000005a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005b00000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001590000005b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000059000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000014d0000005b000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000010300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005c00000000000000000000000000000000000000000000000000000000000000000000000200005c0000005d00000000010000000100000000000000000000000000000000000000000000000000000000000000000000015c0000005d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005e000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000015c0000005e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000005c000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000014d0000005e0000000000000000000000000000000000000000000000000000000000000000000000020000300000005f0000000001000000010000000000000000000000000000000000000000000000000000000000000000000001300000005f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006000000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001300000006000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000030000000000000000000000000000000000000000000000000000000000000000000000000010000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000004d0000006000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000201000000000002000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000620000006100000000010b0001000000610000004000000000000000010b000100000062000000be0000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000300000000000000000000000000000000000000000000000000000000000000000000001de000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000016100000000000000000000000000000000000000000000000000000100000000000000006200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000de00000000000000000000000000000000000000000000000000000000000000000000000201000000000001000000000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000640000006300000000010b0001000000630000004000000000000000010b000100000064000000be0000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000100000000000000000000000000000000000000000000000000000000000000000000016300000000000000000000000000000000000000000000000000000100000000000000006400000000000000000000000000000000000000000000000000000000000000000000000201000000000001000000000000000000000000000000000000000000000000000000000000000000000161000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000660000006500000000010b0001000000650000004000000000000000010b000100000066000000be0000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006100000000000000000000000000000000000000000000000000000000000000000000016500000000000000000000000000000000000000000000000000000100000000000000006600000000000000000000000000000000000000000000000000000000000000000000000201000000000001000000000000000000000000000000000000000000000000000000000000000000000163000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000680000006700000000010b0001000000670000004000000000000000010b000100000068000000be0000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000063000000000000000000000000000000000000000000000000000000000000000000000167000000000000000000000000000000000000000000000000000001000000000000000068000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000016500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000670000000000000000000000000000000000000000000000000000000000000000000001df000000000000000000000000000000000000000000000000000001000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709043e1f593f00000016900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000df0000000000000000000000000000000000000000000000000000000000000000000000020100000000000200000000000000000000000000000000000000000000000000000000000000000000016500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000067000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000690000006a00000000010b00010000006a00000040000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001690000006900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000069000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000069000000000000000000000000000000000000000000000000000000000000000000000100000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006b0000000000000000000000000000000000000000000000000000000000000000000002010500070000006b000000fe00000049000000fe0000001c000000fe0000001d000000fe0000001e000000fe0000001f000000fe00000020000000fe000000020000006c0000006d00000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006e0000000000000000000000000000000000000000000000000000000000000000000003010500040000006e000000fe0000006c000000fe00000018000000fe0000000e000000fe000000020000006f0000007000000007020000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011d00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000000000000001000000000071000000b60000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ac6765745365637265744b65799281b052656769737465724d656d496e64657881a85265676973746572cd0a1b81b052656769737465724d656d496e64657881a85265676973746572cd0a1c909181ad5265676973746572496e646578cd0a219081a34d6f769281a852656769737465720081a85265676973746572cd0a21a843616c6c4261636b81a9426f6f7473747261709192cd0a1bcd0a1c010000000001000000000000000000000000000000000000000000000000000000000000000000000149000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007200000000000000000000000000000000000000000000000000000000000000000000050001000000010000000000000000000000000000000000000000000000000000000000000000000001490000007100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007300000000000000000000000000000000000000000000000000000000000000000000000105000300000072000000fe0000006f000000fe00000073000000fe00000002000000740000007500000007020000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011d00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000000000000001000000000076000000b60000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ac6765745365637265744b65799281b052656769737465724d656d496e64657881a85265676973746572cd0a1b81b052656769737465724d656d496e64657881a85265676973746572cd0a1c909181ad5265676973746572496e646578cd0a219081a34d6f769281a852656769737465720081a85265676973746572cd0a21a843616c6c4261636b81a9426f6f7473747261709192cd0a1bcd0a1c01000000000100000000000000000000000000000000000000000000000000000000000000000000014900000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001490000007600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007700000000000000000000000000000000000000000000000000000000000000000000000105000300000072000000fe0000006c000000fe00000077000000fe00000002000000780000007900000007080000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011800000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000017800000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000014900000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011c00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011d00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011e00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011f00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000100000000007a000000890100009781a34a4d509103a454726170a453746f7081a64f7261636c6595b36e6f746966794e756c6c69666965644e6f74659881b052656769737465724d656d496e64657881a85265676973746572cd0a5981b052656769737465724d656d496e64657881a85265676973746572cd0a5a81b052656769737465724d656d496e64657881a85265676973746572cd0a5b81b052656769737465724d656d496e64657881a85265676973746572cd0a5c81b052656769737465724d656d496e64657881a85265676973746572cd0a5d81b052656769737465724d656d496e64657881a85265676973746572cd0a5e81b052656769737465724d656d496e64657881a85265676973746572cd0a5f81b052656769737465724d656d496e64657881a85265676973746572cd0a60909181ad5265676973746572496e646578cd0a6b9081a34d6f769281a852656769737465720081a85265676973746572cd0a6ba843616c6c4261636b81a9426f6f7473747261709198cd0a59cd0a5acd0a5bcd0a5ccd0a5dcd0a5ecd0a5fcd0a6001000000000000000000000000000000000000000000000000000000000000000000000000000000010200007a0000007b00000000010000000100000000000000000000000000000000000000000000000000000000000000000000017a0000007b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007c000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000017a0000007c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000007a000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000017c0000000000000000000000000000000000000000000000000000000000000000000000010500070000006b000000fe0000004d000000fe0000002c000000fe0000002d000000fe0000002e000000fe0000002f000000fe00000030000000fe000000020000007d0000007e000000010500040000006e000000fe0000007d000000fe00000018000000fe0000000e000000fe000000020000007f0000008000000007020000000000000000000100000000000000000000000000000000000000000000000000000000000000000000012d00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000012e000000000000000000000000000000000000000000000000000000000000000000000001000000000081000000b60000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ac6765745365637265744b65799281b052656769737465724d656d496e64657881a85265676973746572cd0a1b81b052656769737465724d656d496e64657881a85265676973746572cd0a1c909181ad5265676973746572496e646578cd0a219081a34d6f769281a852656769737465720081a85265676973746572cd0a21a843616c6c4261636b81a9426f6f7473747261709192cd0a1bcd0a1c01000000000100000000000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000014d0000008100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008200000000000000000000000000000000000000000000000000000000000000000000000105000300000072000000fe0000007f000000fe00000082000000fe00000002000000830000008400000007020000000000000000000100000000000000000000000000000000000000000000000000000000000000000000012d00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000012e000000000000000000000000000000000000000000000000000000000000000000000001000000000085000000b60000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ac6765745365637265744b65799281b052656769737465724d656d496e64657881a85265676973746572cd0a1b81b052656769737465724d656d496e64657881a85265676973746572cd0a1c909181ad5265676973746572496e646578cd0a219081a34d6f769281a852656769737465720081a85265676973746572cd0a21a843616c6c4261636b81a9426f6f7473747261709192cd0a1bcd0a1c01000000000100000000000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000014d0000008500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008600000000000000000000000000000000000000000000000000000000000000000000000105000300000072000000fe0000007d000000fe00000086000000fe00000002000000870000008800000007080000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011800000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000018700000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000012c00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000012d00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000012e00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000012f000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000001000000000089000000890100009781a34a4d509103a454726170a453746f7081a64f7261636c6595b36e6f746966794e756c6c69666965644e6f74659881b052656769737465724d656d496e64657881a85265676973746572cd0a5981b052656769737465724d656d496e64657881a85265676973746572cd0a5a81b052656769737465724d656d496e64657881a85265676973746572cd0a5b81b052656769737465724d656d496e64657881a85265676973746572cd0a5c81b052656769737465724d656d496e64657881a85265676973746572cd0a5d81b052656769737465724d656d496e64657881a85265676973746572cd0a5e81b052656769737465724d656d496e64657881a85265676973746572cd0a5f81b052656769737465724d656d496e64657881a85265676973746572cd0a60909181ad5265676973746572496e646578cd0a6b9081a34d6f769281a852656769737465720081a85265676973746572cd0a6ba843616c6c4261636b81a9426f6f7473747261709198cd0a59cd0a5acd0a5bcd0a5ccd0a5dcd0a5ecd0a5fcd0a600100000000000000000000000000000000000000000000000000000000000000000000000000000001020000890000008a0000000001000000010000000000000000000000000000000000000000000000000000000000000000000001890000008a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008b00000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001890000008b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000089000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000018b000000000000000000000000000000000000000000000000000000000000000000000007000000000100000000008c000000740000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ae67657452616e646f6d4669656c6490909181ad5265676973746572496e646578cd0cf79081a34d6f769281a852656769737465720081a85265676973746572cd0cf7a843616c6c4261636b81a9426f6f7473747261709190010000000000000000000000000000000000000000000000000000000000000000000000000000000107000000000100000000008d000000740000009781a34a4d509103a454726170a453746f7081a64f7261636c6595ae67657452616e646f6d4669656c6490909181ad5265676973746572496e646578cd0cf79081a34d6f769281a852656769737465720081a85265676973746572cd0cf7a843616c6c4261636b81a9426f6f747374726170919001000000000000000000000000000000000000000000000000000000000000000000000000000000010105000300000016000000fe00000017000000fe00000004000000fe000000020000008e0000008f000000010500070000006b000000fe00000017000000fe0000006e000000fe00000004000000fe00000005000000fe0000008d000000fe00000001000000fe00000002000000900000009100000007090000000000000000000100000000000000000000000000000000000000000000000000000000000000000000018e00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010400000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010500000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011700000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000016e00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010400000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010500000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000018d000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000001000000000092000000a90100009781a34a4d509103a454726170a453746f7081a64f7261636c6595b16e6f74696679437265617465644e6f74659981b052656769737465724d656d496e64657881a85265676973746572cd0dae81b052656769737465724d656d496e64657881a85265676973746572cd0daf81b052656769737465724d656d496e64657881a85265676973746572cd0db081b052656769737465724d656d496e64657881a85265676973746572cd0db181b052656769737465724d656d496e64657881a85265676973746572cd0db281b052656769737465724d656d496e64657881a85265676973746572cd0db381b052656769737465724d656d496e64657881a85265676973746572cd0db481b052656769737465724d656d496e64657881a85265676973746572cd0db581b052656769737465724d656d496e64657881a85265676973746572cd0db6909181ad5265676973746572496e646578cd0dc29081a34d6f769281a852656769737465720081a85265676973746572cd0dc2a843616c6c4261636b81a9426f6f7473747261709199cd0daecd0dafcd0db0cd0db1cd0db2cd0db3cd0db4cd0db5cd0db6010000000000000000000000000000000000000000000000000000000000000000000000000000000102000092000000930000000001000000010000000000000000000000000000000000000000000000000000000000000000000001920000009300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009400000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001920000009400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000920000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000194000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709043e1f593f00000019500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000096000000000000000000000000000000000000000000000000000000fffffffffffffffc0201000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffc00000000000000000000000000000000000000000000000000000000000000010000000000000000950000009600000000010b00010000009600000040000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001950000009500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709043e1f593f00000019700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000098000000000000000000000000000000000000000000000000000000fffffffffffffffc0201000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffc00000000000000000000000000000000000000000000000000000000000000010000000000000000970000009800000000010b00010000009800000040000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001970000009700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709043e1f593f00000019900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009a000000000000000000000000000000000000000000000000000000fffffffffffffffc0201000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffc00000000000000000000000000000000000000000000000000000000000000010000000000000000990000009a00000000010b00010000009a00000040000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001990000009900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709043e1f593f00000019b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009c000000000000000000000000000000000000000000000000000000fffffffffffffffc0201000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffc000000000000000000000000000000000000000000000000000000000000000100000000000000009b0000009c00000000010b00010000009c000000400000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000019b0000009b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709043e1f593f00000019d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009e000000000000000000000000000000000000000000000000000000fffffffffffffffc0201000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffc000000000000000000000000000000000000000000000000000000000000000100000000000000009d0000009e00000000010b00010000009e000000400000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000019d0000009d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709043e1f593f00000019f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a0000000000000000000000000000000000000000000000000000000fffffffffffffffc0201000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffc000000000000000000000000000000000000000000000000000000000000000100000000000000009f000000a000000000010b0001000000a0000000400000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000019f0000009f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000009f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709043e1f593f0000001a100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a2000000000000000000000000000000000000000000000000000000fffffffffffffffc0201000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffc00000000000000000000000000000000000000000000000000000000000000010000000000000000a1000000a200000000010b0001000000a200000040000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001a1000000a100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000010000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000013000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000e00000000000000000000000000000000000000000000000000000000000000000000000010500070000006b000000fe00000017000000fe0000006e000000fe00000002000000fe00000003000000fe0000008c000000fe000000a3000000fe00000002000000a4000000a500000007090000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011800000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010200000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010300000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000011700000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000016e00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010200000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000010300000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000018c0000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001a30000000000000000000000000000000000000000000000000000000000000000000000010000000000a6000000a90100009781a34a4d509103a454726170a453746f7081a64f7261636c6595b16e6f74696679437265617465644e6f74659981b052656769737465724d656d496e64657881a85265676973746572cd0dae81b052656769737465724d656d496e64657881a85265676973746572cd0daf81b052656769737465724d656d496e64657881a85265676973746572cd0db081b052656769737465724d656d496e64657881a85265676973746572cd0db181b052656769737465724d656d496e64657881a85265676973746572cd0db281b052656769737465724d656d496e64657881a85265676973746572cd0db381b052656769737465724d656d496e64657881a85265676973746572cd0db481b052656769737465724d656d496e64657881a85265676973746572cd0db581b052656769737465724d656d496e64657881a85265676973746572cd0db6909181ad5265676973746572496e646578cd0dc29081a34d6f769281a852656769737465720081a85265676973746572cd0dc2a843616c6c4261636b81a9426f6f7473747261709199cd0daecd0dafcd0db0cd0db1cd0db2cd0db3cd0db4cd0db5cd0db60100000000000000000000000000000000000000000000000000000000000000000000000000000001020000a6000000a70000000001000000010000000000000000000000000000000000000000000000000000000000000000000001a6000000a700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a800000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001a6000000a800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a600000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001a8000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709043e1f593f0000001a900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000aa000000000000000000000000000000000000000000000000000000fffffffffffffffd0201000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffd00000000000000000000000000000000000000000000000000000000000000010000000000000000a9000000aa00000000010b0001000000aa00000040000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001a9000000a900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000030644e72e131a029b85045b68181585d2833e84879b9709043e1f593f0000001ab00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ac000000000000000000000000000000000000000000000000000000fffffffffffffffd0201000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffd00000000000000000000000000000000000000000000000000000000000000010000000000000000ab000000ac00000000010b0001000000ac00000040000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000000001ab000000ab00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ab00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000001ab000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010c00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ad000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010e00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ae000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000af000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010a00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010b00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b1000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b2000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b3000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b4000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b5000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b6000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b7000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010600000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b8000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000b9000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ba000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000014900000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000bb000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000014d00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000bc000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000bd00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000be00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000bf00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c100000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c200000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c3000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000019000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c400000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001a400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c500000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c600000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c7000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000017800000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c8000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000018700000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000c900000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ca00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000cb00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000cc00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000cd00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000ce00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000cf00000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000d000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000d100000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000d200000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000d300000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000d400000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000001bd00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000d5000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011500000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000d6000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011400000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000d7000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011300000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000d8000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000010f00000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000d9000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011100000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000da000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000db000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000011200000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000dc0000000000000000000000000000000000000000000000000000000000000000000000", - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" } ] } diff --git a/yarn-project/noir-contracts/src/scripts/mockedKeys.json b/yarn-project/noir-contracts/src/scripts/mockedKeys.json index af7dc378706..71c2a966c7e 100644 --- a/yarn-project/noir-contracts/src/scripts/mockedKeys.json +++ b/yarn-project/noir-contracts/src/scripts/mockedKeys.json @@ -1,3 +1,3 @@ { - "verificationKey": "0000000100000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" }