From f879dfe892ea936a2f1bd67c3ba3d2e27c390f07 Mon Sep 17 00:00:00 2001 From: Akshay Date: Wed, 30 Oct 2024 10:08:02 +0000 Subject: [PATCH] min build --- bindings/src/address.rs | 4 +- bindings/src/attestation_auther.rs | 1498 ------- .../src/attestation_auther_upgradeable.rs | 4 +- bindings/src/attestation_verifier.rs | 3540 ----------------- bindings/src/base_ultra_verifier.rs | 584 --- bindings/src/context.rs | 70 - bindings/src/dispute.rs | 581 --- bindings/src/ecdsa.rs | 4 +- bindings/src/entity_key_registry.rs | 4 +- bindings/src/erc1967_utils.rs | 4 +- bindings/src/erc20.rs | 1328 ------- bindings/src/error.rs | 76 +- bindings/src/generator_registry.rs | 4 +- bindings/src/helper.rs | 4 +- bindings/src/i_plonk_vk.rs | 146 - bindings/src/i_transfer_verifier.rs | 154 - bindings/src/i_verifier_zksync.rs | 284 -- bindings/src/i_xor_2_verifier.rs | 190 - bindings/src/i_zksync_verifier.rs | 165 - bindings/src/ierc1155_errors.rs | 546 --- bindings/src/ierc20_errors.rs | 469 --- bindings/src/ierc20_metadata.rs | 932 ----- bindings/src/ierc721_errors.rs | 566 --- .../src/input_and_proof_format_registry.rs | 681 ---- bindings/src/lib.rs | 38 +- bindings/src/mock_attestation_verifier.rs | 387 -- bindings/src/mock_token.rs | 1408 ------- bindings/src/mock_verifier.rs | 573 --- bindings/src/pairing.rs | 119 - bindings/src/plonk_verifier_wrapper.rs | 1144 ------ bindings/src/priority_log.rs | 278 -- bindings/src/proof_marketplace.rs | 27 +- bindings/src/safe_erc20.rs | 4 +- bindings/src/set_pmp.rs | 230 -- bindings/src/shared_types.rs | 22 - bindings/src/storage_slot.rs | 4 +- bindings/src/tee_verifier_wrapper.rs | 2828 ------------- bindings/src/tee_verifier_wrapper_factory.rs | 263 -- bindings/src/transfer_verifier.rs | 203 - bindings/src/transfer_verifier_wrapper.rs | 1158 ------ bindings/src/uc.rs | 1181 ------ bindings/src/uc_rekt.rs | 1353 ------- bindings/src/uc_with_rg.rs | 1229 ------ bindings/src/ultra_verification_key.rs | 121 - bindings/src/ultra_verifier.rs | 633 --- bindings/src/xor_2_verifier_wrapper.rs | 1231 ------ bindings/src/xor_verifier.rs | 239 -- bindings/src/zk_sync_verifier.rs | 330 -- bindings/src/zkb_verifier.rs | 201 - bindings/src/zksync_verifier_wrapper.rs | 669 ---- listener/src/proof_generator/mod.rs | 2 +- 51 files changed, 118 insertions(+), 27595 deletions(-) delete mode 100644 bindings/src/attestation_auther.rs delete mode 100644 bindings/src/attestation_verifier.rs delete mode 100644 bindings/src/base_ultra_verifier.rs delete mode 100644 bindings/src/context.rs delete mode 100644 bindings/src/dispute.rs delete mode 100644 bindings/src/erc20.rs delete mode 100644 bindings/src/i_plonk_vk.rs delete mode 100644 bindings/src/i_transfer_verifier.rs delete mode 100644 bindings/src/i_verifier_zksync.rs delete mode 100644 bindings/src/i_xor_2_verifier.rs delete mode 100644 bindings/src/i_zksync_verifier.rs delete mode 100644 bindings/src/ierc1155_errors.rs delete mode 100644 bindings/src/ierc20_errors.rs delete mode 100644 bindings/src/ierc20_metadata.rs delete mode 100644 bindings/src/ierc721_errors.rs delete mode 100644 bindings/src/input_and_proof_format_registry.rs delete mode 100644 bindings/src/mock_attestation_verifier.rs delete mode 100644 bindings/src/mock_token.rs delete mode 100644 bindings/src/mock_verifier.rs delete mode 100644 bindings/src/pairing.rs delete mode 100644 bindings/src/plonk_verifier_wrapper.rs delete mode 100644 bindings/src/priority_log.rs delete mode 100644 bindings/src/set_pmp.rs delete mode 100644 bindings/src/tee_verifier_wrapper.rs delete mode 100644 bindings/src/tee_verifier_wrapper_factory.rs delete mode 100644 bindings/src/transfer_verifier.rs delete mode 100644 bindings/src/transfer_verifier_wrapper.rs delete mode 100644 bindings/src/uc.rs delete mode 100644 bindings/src/uc_rekt.rs delete mode 100644 bindings/src/uc_with_rg.rs delete mode 100644 bindings/src/ultra_verification_key.rs delete mode 100644 bindings/src/ultra_verifier.rs delete mode 100644 bindings/src/xor_2_verifier_wrapper.rs delete mode 100644 bindings/src/xor_verifier.rs delete mode 100644 bindings/src/zk_sync_verifier.rs delete mode 100644 bindings/src/zkb_verifier.rs delete mode 100644 bindings/src/zksync_verifier_wrapper.rs diff --git a/bindings/src/address.rs b/bindings/src/address.rs index 6cf7825..d60a22c 100644 --- a/bindings/src/address.rs +++ b/bindings/src/address.rs @@ -59,12 +59,12 @@ pub mod address { pub static ADDRESS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFCp\x86\x85\xA3\xEE\x0F\x15\xBD\xB0\x94c\x11\xF7\xB7}\0\xE3\xA2\x92\xA2\xE8\xD6\xFB\xE9oS\xDA\xD8Y$@dsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xB3\xC4\x8D\xE8\xAA\xF7o\x9D\x1C\x8D1\x80>\x0E\x9D\xC0<\x0Ce\xB6\x06\xDDi\xAD\xC0:P\x13\xF8\xEC\xFE\xD8dsolcC\0\x08\x14\x003"; /// The bytecode of the contract. pub static ADDRESS_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFCp\x86\x85\xA3\xEE\x0F\x15\xBD\xB0\x94c\x11\xF7\xB7}\0\xE3\xA2\x92\xA2\xE8\xD6\xFB\xE9oS\xDA\xD8Y$@dsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xB3\xC4\x8D\xE8\xAA\xF7o\x9D\x1C\x8D1\x80>\x0E\x9D\xC0<\x0Ce\xB6\x06\xDDi\xAD\xC0:P\x13\xF8\xEC\xFE\xD8dsolcC\0\x08\x14\x003"; /// The deployed bytecode of the contract. pub static ADDRESS_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); diff --git a/bindings/src/attestation_auther.rs b/bindings/src/attestation_auther.rs deleted file mode 100644 index 2091d9a..0000000 --- a/bindings/src/attestation_auther.rs +++ /dev/null @@ -1,1498 +0,0 @@ -pub use attestation_auther::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod attestation_auther { - pub use super::super::shared_types::*; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("attestationVerifier"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IAttestationVerifier",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("maxAge"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("ATTESTATION_MAX_AGE"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ATTESTATION_MAX_AGE",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ATTESTATION_VERIFIER"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ATTESTATION_VERIFIER",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IAttestationVerifier",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("getVerifiedKey"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("getVerifiedKey"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_key"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("getWhitelistedImage"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("getWhitelistedImage",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct AttestationAuther.EnclaveImage", - ), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("isImageInFamily"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("isImageInFamily"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("family"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyEnclaveKey"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyEnclaveKey"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("signature"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("attestation"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct IAttestationVerifier.Attestation", - ), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("EnclaveImageAddedToFamily"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveImageAddedToFamily",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("family"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveImageRemovedFromFamily"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveImageRemovedFromFamily",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("family"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveImageRevoked"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveImageRevoked",), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - },], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveImageWhitelisted"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveImageWhitelisted",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("PCR0"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("PCR1"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("PCR2"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveKeyRevoked"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveKeyRevoked"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclaveAddress"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - },], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveKeyVerified"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveKeyVerified"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclaveAddress"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclavePubKey"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveKeyWhitelisted"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveKeyWhitelisted",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclaveAddress"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclavePubKey"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - },], - ), - ]), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherAttestationTooOld"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationAutherAttestationTooOld", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherImageNotInFamily"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AttestationAutherImageNotInFamily",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherImageNotWhitelisted"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationAutherImageNotWhitelisted", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherKeyNotVerified"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AttestationAutherKeyNotVerified",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherMismatchedLengths"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationAutherMismatchedLengths", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherPCRsInvalid"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AttestationAutherPCRsInvalid",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherPubkeyLengthInvalid"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationAutherPubkeyLengthInvalid", - ), - inputs: ::std::vec![], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static ATTESTATIONAUTHER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\n\xE68\x03\x80a\n\xE6\x839\x81\x01`@\x81\x90Ra\0/\x91a\0EV[`\x01`\x01`\xA0\x1B\x03\x90\x91\x16`\x80R`\xA0Ra\0\x7FV[`\0\x80`@\x83\x85\x03\x12\x15a\0XW`\0\x80\xFD[\x82Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0oW`\0\x80\xFD[` \x93\x90\x93\x01Q\x92\x94\x92\x93PPPV[`\x80Q`\xA0Qa\n5a\0\xB1`\09`\0\x81\x81`\xFE\x01Ra\x04\x0C\x01R`\0\x81\x81a\x01%\x01Ra\x04x\x01Ra\n5`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0bW`\x005`\xE0\x1C\x80c\x01\xD5\x8F\xA3\x14a\0gW\x80c$\x10\xF6\xBA\x14a\0\xA3W\x80ck[!\xA6\x14a\0\xC3W\x80cu\x84{\x84\x14a\0\xE6W\x80c\x9A\xEC\x99\x0E\x14a\0\xF9W\x80c\xCDy\xF9\x06\x14a\x01 W[`\0\x80\xFD[a\0\x90a\0u6`\x04a\x05\xADV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xB6a\0\xB16`\x04a\x05\xD6V[a\x01_V[`@Qa\0\x9A\x91\x90a\x06?V[a\0\xD6a\0\xD16`\x04a\x06\xA0V[a\x03XV[`@Q\x90\x15\x15\x81R` \x01a\0\x9AV[a\0\xD6a\0\xF46`\x04a\x07\x8EV[a\x03|V[a\0\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01G\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\x9AV[a\x01\x83`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R` \x81\x90R`@\x90\x81\x90 \x81Q``\x81\x01\x90\x92R\x80T\x82\x90\x82\x90a\x01\xAB\x90a\x08\x98V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xD7\x90a\x08\x98V[\x80\x15a\x02$W\x80`\x1F\x10a\x01\xF9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02$V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\x07W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80Ta\x02=\x90a\x08\x98V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02i\x90a\x08\x98V[\x80\x15a\x02\xB6W\x80`\x1F\x10a\x02\x8BWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\xB6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\x99W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x02\x82\x01\x80Ta\x02\xCF\x90a\x08\x98V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xFB\x90a\x08\x98V[\x80\x15a\x03HW\x80`\x1F\x10a\x03\x1DWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03HV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03+W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[`\0\x81\x81R`\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x90 T`\xFF\x16[\x92\x91PPV[`\0a\x03\x88\x83\x83a\x03\x8FV[\x93\x92PPPV[`\0\x80\x82` \x01Q\x83`@\x01Q\x84``\x01Q`@Q` \x01a\x03\xB3\x93\x92\x91\x90a\x08\xD2V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90a\x03\xE5\x90a\x08\x98V[\x90P`\0\x03a\x04\x07W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x041\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba\t\x15V[a\x03\xE8\x84`\x80\x01Qa\x04C\x91\x90a\t6V[\x11a\x04aW`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\x04\xAF\x90\x87\x90\x87\x90`\x04\x01a\tXV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x04\xC7W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x04\xDBW=`\0\x80>=`\0\xFD[PPPP`\0a\x04\xEE\x84`\0\x01Qa\x05}V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01` R`@\x90 T\x90\x91P\x15a\x05\x1AW`\0\x92PPPa\x03vV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\x01` R`@\x90\x81\x90 \x84\x90U\x85Q\x90Q\x84\x92\x91\x7F\xBBMd(\xD5>\xA9$\xD9K\xE0H\x84s\xDE\xB5\xC0\xA7\x0C\x97\x9F\x84w\xD2\x19\x11\xCB[\xEE@7\xFD\x91a\x05j\x91\x90a\t\xECV[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0\x81Q`@\x14a\x05\xA1W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0` \x82\x84\x03\x12\x15a\x05\xBFW`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x03\x88W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x05\xE8W`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x06\nW\x81\x81\x01Q\x83\x82\x01R` \x01a\x05\xF2V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x06+\x81` \x86\x01` \x86\x01a\x05\xEFV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x06[`\x80\x84\x01\x82a\x06\x13V[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x06y\x83\x83a\x06\x13V[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x06\x97\x82\x82a\x06\x13V[\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x06\xB3W`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x06\xFBWa\x06\xFBa\x06\xC2V[`@R\x90V[`\0\x82`\x1F\x83\x01\x12a\x07\x12W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07-Wa\x07-a\x06\xC2V[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x07UWa\x07Ua\x06\xC2V[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\x07nW`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x07\xA1W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\xB9W`\0\x80\xFD[a\x07\xC5\x86\x83\x87\x01a\x07\x01V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x07\xDBW`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x07\xEFW`\0\x80\xFD[a\x07\xF7a\x06\xD8V[\x825\x82\x81\x11\x15a\x08\x06W`\0\x80\xFD[a\x08\x12\x88\x82\x86\x01a\x07\x01V[\x82RP` \x83\x015\x82\x81\x11\x15a\x08'W`\0\x80\xFD[a\x083\x88\x82\x86\x01a\x07\x01V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x08KW`\0\x80\xFD[a\x08W\x88\x82\x86\x01a\x07\x01V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\x08oW`\0\x80\xFD[a\x08{\x88\x82\x86\x01a\x07\x01V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x08\xACW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x08\xCCWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x84Qa\x08\xE4\x81\x84` \x89\x01a\x05\xEFV[\x84Q\x90\x83\x01\x90a\x08\xF8\x81\x83` \x89\x01a\x05\xEFV[\x84Q\x91\x01\x90a\t\x0B\x81\x83` \x88\x01a\x05\xEFV[\x01\x95\x94PPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x03vWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\tSWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a\tk`@\x83\x01\x85a\x06\x13V[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra\t\x86`\xA0\x83\x01\x82a\x06\x13V[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra\t\x9F\x82\x82a\x06\x13V[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra\t\xB9\x82\x82a\x06\x13V[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra\t\xD3\x82\x82a\x06\x13V[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[` \x81R`\0a\x03\x88` \x83\x01\x84a\x06\x13V\xFE\xA2dipfsX\"\x12 \xE6lm\x0EW;xg\xCC\xA0\xC7\xD95\xC5H(\xD6a\xCA\xB4\x15'\xDFp%U\xCC\xE3J\x83\xEC\ndsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static ATTESTATIONAUTHER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0bW`\x005`\xE0\x1C\x80c\x01\xD5\x8F\xA3\x14a\0gW\x80c$\x10\xF6\xBA\x14a\0\xA3W\x80ck[!\xA6\x14a\0\xC3W\x80cu\x84{\x84\x14a\0\xE6W\x80c\x9A\xEC\x99\x0E\x14a\0\xF9W\x80c\xCDy\xF9\x06\x14a\x01 W[`\0\x80\xFD[a\0\x90a\0u6`\x04a\x05\xADV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xB6a\0\xB16`\x04a\x05\xD6V[a\x01_V[`@Qa\0\x9A\x91\x90a\x06?V[a\0\xD6a\0\xD16`\x04a\x06\xA0V[a\x03XV[`@Q\x90\x15\x15\x81R` \x01a\0\x9AV[a\0\xD6a\0\xF46`\x04a\x07\x8EV[a\x03|V[a\0\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01G\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\x9AV[a\x01\x83`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R` \x81\x90R`@\x90\x81\x90 \x81Q``\x81\x01\x90\x92R\x80T\x82\x90\x82\x90a\x01\xAB\x90a\x08\x98V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xD7\x90a\x08\x98V[\x80\x15a\x02$W\x80`\x1F\x10a\x01\xF9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02$V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\x07W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80Ta\x02=\x90a\x08\x98V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02i\x90a\x08\x98V[\x80\x15a\x02\xB6W\x80`\x1F\x10a\x02\x8BWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\xB6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\x99W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x02\x82\x01\x80Ta\x02\xCF\x90a\x08\x98V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xFB\x90a\x08\x98V[\x80\x15a\x03HW\x80`\x1F\x10a\x03\x1DWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03HV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03+W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[`\0\x81\x81R`\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x90 T`\xFF\x16[\x92\x91PPV[`\0a\x03\x88\x83\x83a\x03\x8FV[\x93\x92PPPV[`\0\x80\x82` \x01Q\x83`@\x01Q\x84``\x01Q`@Q` \x01a\x03\xB3\x93\x92\x91\x90a\x08\xD2V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90a\x03\xE5\x90a\x08\x98V[\x90P`\0\x03a\x04\x07W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x041\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba\t\x15V[a\x03\xE8\x84`\x80\x01Qa\x04C\x91\x90a\t6V[\x11a\x04aW`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\x04\xAF\x90\x87\x90\x87\x90`\x04\x01a\tXV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x04\xC7W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x04\xDBW=`\0\x80>=`\0\xFD[PPPP`\0a\x04\xEE\x84`\0\x01Qa\x05}V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01` R`@\x90 T\x90\x91P\x15a\x05\x1AW`\0\x92PPPa\x03vV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\x01` R`@\x90\x81\x90 \x84\x90U\x85Q\x90Q\x84\x92\x91\x7F\xBBMd(\xD5>\xA9$\xD9K\xE0H\x84s\xDE\xB5\xC0\xA7\x0C\x97\x9F\x84w\xD2\x19\x11\xCB[\xEE@7\xFD\x91a\x05j\x91\x90a\t\xECV[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0\x81Q`@\x14a\x05\xA1W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0` \x82\x84\x03\x12\x15a\x05\xBFW`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x03\x88W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x05\xE8W`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x06\nW\x81\x81\x01Q\x83\x82\x01R` \x01a\x05\xF2V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x06+\x81` \x86\x01` \x86\x01a\x05\xEFV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x06[`\x80\x84\x01\x82a\x06\x13V[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x06y\x83\x83a\x06\x13V[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x06\x97\x82\x82a\x06\x13V[\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x06\xB3W`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x06\xFBWa\x06\xFBa\x06\xC2V[`@R\x90V[`\0\x82`\x1F\x83\x01\x12a\x07\x12W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07-Wa\x07-a\x06\xC2V[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x07UWa\x07Ua\x06\xC2V[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\x07nW`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x07\xA1W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\xB9W`\0\x80\xFD[a\x07\xC5\x86\x83\x87\x01a\x07\x01V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x07\xDBW`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x07\xEFW`\0\x80\xFD[a\x07\xF7a\x06\xD8V[\x825\x82\x81\x11\x15a\x08\x06W`\0\x80\xFD[a\x08\x12\x88\x82\x86\x01a\x07\x01V[\x82RP` \x83\x015\x82\x81\x11\x15a\x08'W`\0\x80\xFD[a\x083\x88\x82\x86\x01a\x07\x01V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x08KW`\0\x80\xFD[a\x08W\x88\x82\x86\x01a\x07\x01V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\x08oW`\0\x80\xFD[a\x08{\x88\x82\x86\x01a\x07\x01V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x08\xACW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x08\xCCWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x84Qa\x08\xE4\x81\x84` \x89\x01a\x05\xEFV[\x84Q\x90\x83\x01\x90a\x08\xF8\x81\x83` \x89\x01a\x05\xEFV[\x84Q\x91\x01\x90a\t\x0B\x81\x83` \x88\x01a\x05\xEFV[\x01\x95\x94PPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x03vWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\tSWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a\tk`@\x83\x01\x85a\x06\x13V[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra\t\x86`\xA0\x83\x01\x82a\x06\x13V[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra\t\x9F\x82\x82a\x06\x13V[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra\t\xB9\x82\x82a\x06\x13V[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra\t\xD3\x82\x82a\x06\x13V[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[` \x81R`\0a\x03\x88` \x83\x01\x84a\x06\x13V\xFE\xA2dipfsX\"\x12 \xE6lm\x0EW;xg\xCC\xA0\xC7\xD95\xC5H(\xD6a\xCA\xB4\x15'\xDFp%U\xCC\xE3J\x83\xEC\ndsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static ATTESTATIONAUTHER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct AttestationAuther(::ethers::contract::Contract); - impl ::core::clone::Clone for AttestationAuther { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for AttestationAuther { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for AttestationAuther { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for AttestationAuther { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(AttestationAuther)) - .field(&self.address()) - .finish() - } - } - impl AttestationAuther { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ATTESTATIONAUTHER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - ATTESTATIONAUTHER_ABI.clone(), - ATTESTATIONAUTHER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `ATTESTATION_MAX_AGE` (0x9aec990e) function - pub fn attestation_max_age( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([154, 236, 153, 14], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `ATTESTATION_VERIFIER` (0xcd79f906) function - pub fn attestation_verifier( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([205, 121, 249, 6], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `getVerifiedKey` (0x01d58fa3) function - pub fn get_verified_key( - &self, - key: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([1, 213, 143, 163], key) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `getWhitelistedImage` (0x2410f6ba) function - pub fn get_whitelisted_image( - &self, - image_id: [u8; 32], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([36, 16, 246, 186], image_id) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `isImageInFamily` (0x6b5b21a6) function - pub fn is_image_in_family( - &self, - image_id: [u8; 32], - family: [u8; 32], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([107, 91, 33, 166], (image_id, family)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyEnclaveKey` (0x75847b84) function - pub fn verify_enclave_key( - &self, - signature: ::ethers::core::types::Bytes, - attestation: Attestation, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([117, 132, 123, 132], (signature, attestation)) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `EnclaveImageAddedToFamily` event - pub fn enclave_image_added_to_family_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - EnclaveImageAddedToFamilyFilter, - > { - self.0.event() - } - ///Gets the contract's `EnclaveImageRemovedFromFamily` event - pub fn enclave_image_removed_from_family_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - EnclaveImageRemovedFromFamilyFilter, - > { - self.0.event() - } - ///Gets the contract's `EnclaveImageRevoked` event - pub fn enclave_image_revoked_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveImageRevokedFilter> - { - self.0.event() - } - ///Gets the contract's `EnclaveImageWhitelisted` event - pub fn enclave_image_whitelisted_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - EnclaveImageWhitelistedFilter, - > { - self.0.event() - } - ///Gets the contract's `EnclaveKeyRevoked` event - pub fn enclave_key_revoked_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveKeyRevokedFilter> - { - self.0.event() - } - ///Gets the contract's `EnclaveKeyVerified` event - pub fn enclave_key_verified_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveKeyVerifiedFilter> - { - self.0.event() - } - ///Gets the contract's `EnclaveKeyWhitelisted` event - pub fn enclave_key_whitelisted_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveKeyWhitelistedFilter> - { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AttestationAutherEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> - for AttestationAuther - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `AttestationAutherAttestationTooOld` with signature `AttestationAutherAttestationTooOld()` and selector `0x19605e0a` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherAttestationTooOld", - abi = "AttestationAutherAttestationTooOld()" - )] - pub struct AttestationAutherAttestationTooOld; - ///Custom Error type `AttestationAutherImageNotInFamily` with signature `AttestationAutherImageNotInFamily()` and selector `0x90cc4b02` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherImageNotInFamily", - abi = "AttestationAutherImageNotInFamily()" - )] - pub struct AttestationAutherImageNotInFamily; - ///Custom Error type `AttestationAutherImageNotWhitelisted` with signature `AttestationAutherImageNotWhitelisted()` and selector `0x38c4ac16` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherImageNotWhitelisted", - abi = "AttestationAutherImageNotWhitelisted()" - )] - pub struct AttestationAutherImageNotWhitelisted; - ///Custom Error type `AttestationAutherKeyNotVerified` with signature `AttestationAutherKeyNotVerified()` and selector `0x3dd8ca95` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherKeyNotVerified", - abi = "AttestationAutherKeyNotVerified()" - )] - pub struct AttestationAutherKeyNotVerified; - ///Custom Error type `AttestationAutherMismatchedLengths` with signature `AttestationAutherMismatchedLengths()` and selector `0xd30d02c5` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherMismatchedLengths", - abi = "AttestationAutherMismatchedLengths()" - )] - pub struct AttestationAutherMismatchedLengths; - ///Custom Error type `AttestationAutherPCRsInvalid` with signature `AttestationAutherPCRsInvalid()` and selector `0x84c61bb6` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherPCRsInvalid", - abi = "AttestationAutherPCRsInvalid()" - )] - pub struct AttestationAutherPCRsInvalid; - ///Custom Error type `AttestationAutherPubkeyLengthInvalid` with signature `AttestationAutherPubkeyLengthInvalid()` and selector `0xbd9c80c1` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherPubkeyLengthInvalid", - abi = "AttestationAutherPubkeyLengthInvalid()" - )] - pub struct AttestationAutherPubkeyLengthInvalid; - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum AttestationAutherErrors { - AttestationAutherAttestationTooOld(AttestationAutherAttestationTooOld), - AttestationAutherImageNotInFamily(AttestationAutherImageNotInFamily), - AttestationAutherImageNotWhitelisted(AttestationAutherImageNotWhitelisted), - AttestationAutherKeyNotVerified(AttestationAutherKeyNotVerified), - AttestationAutherMismatchedLengths(AttestationAutherMismatchedLengths), - AttestationAutherPCRsInvalid(AttestationAutherPCRsInvalid), - AttestationAutherPubkeyLengthInvalid(AttestationAutherPubkeyLengthInvalid), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for AttestationAutherErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationAutherAttestationTooOld(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationAutherImageNotInFamily(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::AttestationAutherImageNotWhitelisted(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationAutherKeyNotVerified(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationAutherMismatchedLengths(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationAutherPCRsInvalid(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::AttestationAutherPubkeyLengthInvalid(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for AttestationAutherErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::AttestationAutherAttestationTooOld(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherImageNotInFamily(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherImageNotWhitelisted(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherKeyNotVerified(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherMismatchedLengths(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherPCRsInvalid(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherPubkeyLengthInvalid(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for AttestationAutherErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for AttestationAutherErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::AttestationAutherAttestationTooOld(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherImageNotInFamily(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherImageNotWhitelisted(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherKeyNotVerified(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherMismatchedLengths(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherPCRsInvalid(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherPubkeyLengthInvalid(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for AttestationAutherErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for AttestationAutherErrors { - fn from(value: AttestationAutherAttestationTooOld) -> Self { - Self::AttestationAutherAttestationTooOld(value) - } - } - impl ::core::convert::From for AttestationAutherErrors { - fn from(value: AttestationAutherImageNotInFamily) -> Self { - Self::AttestationAutherImageNotInFamily(value) - } - } - impl ::core::convert::From for AttestationAutherErrors { - fn from(value: AttestationAutherImageNotWhitelisted) -> Self { - Self::AttestationAutherImageNotWhitelisted(value) - } - } - impl ::core::convert::From for AttestationAutherErrors { - fn from(value: AttestationAutherKeyNotVerified) -> Self { - Self::AttestationAutherKeyNotVerified(value) - } - } - impl ::core::convert::From for AttestationAutherErrors { - fn from(value: AttestationAutherMismatchedLengths) -> Self { - Self::AttestationAutherMismatchedLengths(value) - } - } - impl ::core::convert::From for AttestationAutherErrors { - fn from(value: AttestationAutherPCRsInvalid) -> Self { - Self::AttestationAutherPCRsInvalid(value) - } - } - impl ::core::convert::From for AttestationAutherErrors { - fn from(value: AttestationAutherPubkeyLengthInvalid) -> Self { - Self::AttestationAutherPubkeyLengthInvalid(value) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveImageAddedToFamily", - abi = "EnclaveImageAddedToFamily(bytes32,bytes32)" - )] - pub struct EnclaveImageAddedToFamilyFilter { - #[ethevent(indexed)] - pub image_id: [u8; 32], - pub family: [u8; 32], - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveImageRemovedFromFamily", - abi = "EnclaveImageRemovedFromFamily(bytes32,bytes32)" - )] - pub struct EnclaveImageRemovedFromFamilyFilter { - #[ethevent(indexed)] - pub image_id: [u8; 32], - pub family: [u8; 32], - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "EnclaveImageRevoked", abi = "EnclaveImageRevoked(bytes32)")] - pub struct EnclaveImageRevokedFilter { - #[ethevent(indexed)] - pub image_id: [u8; 32], - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveImageWhitelisted", - abi = "EnclaveImageWhitelisted(bytes32,bytes,bytes,bytes)" - )] - pub struct EnclaveImageWhitelistedFilter { - #[ethevent(indexed)] - pub image_id: [u8; 32], - pub pcr0: ::ethers::core::types::Bytes, - pub pcr1: ::ethers::core::types::Bytes, - pub pcr2: ::ethers::core::types::Bytes, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "EnclaveKeyRevoked", abi = "EnclaveKeyRevoked(address)")] - pub struct EnclaveKeyRevokedFilter { - #[ethevent(indexed)] - pub enclave_address: ::ethers::core::types::Address, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveKeyVerified", - abi = "EnclaveKeyVerified(address,bytes32,bytes)" - )] - pub struct EnclaveKeyVerifiedFilter { - #[ethevent(indexed)] - pub enclave_address: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub image_id: [u8; 32], - pub enclave_pub_key: ::ethers::core::types::Bytes, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveKeyWhitelisted", - abi = "EnclaveKeyWhitelisted(address,bytes32,bytes)" - )] - pub struct EnclaveKeyWhitelistedFilter { - #[ethevent(indexed)] - pub enclave_address: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub image_id: [u8; 32], - pub enclave_pub_key: ::ethers::core::types::Bytes, - } - ///Container type for all of the contract's events - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum AttestationAutherEvents { - EnclaveImageAddedToFamilyFilter(EnclaveImageAddedToFamilyFilter), - EnclaveImageRemovedFromFamilyFilter(EnclaveImageRemovedFromFamilyFilter), - EnclaveImageRevokedFilter(EnclaveImageRevokedFilter), - EnclaveImageWhitelistedFilter(EnclaveImageWhitelistedFilter), - EnclaveKeyRevokedFilter(EnclaveKeyRevokedFilter), - EnclaveKeyVerifiedFilter(EnclaveKeyVerifiedFilter), - EnclaveKeyWhitelistedFilter(EnclaveKeyWhitelistedFilter), - } - impl ::ethers::contract::EthLogDecode for AttestationAutherEvents { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = EnclaveImageAddedToFamilyFilter::decode_log(log) { - return Ok(AttestationAutherEvents::EnclaveImageAddedToFamilyFilter( - decoded, - )); - } - if let Ok(decoded) = EnclaveImageRemovedFromFamilyFilter::decode_log(log) { - return Ok(AttestationAutherEvents::EnclaveImageRemovedFromFamilyFilter(decoded)); - } - if let Ok(decoded) = EnclaveImageRevokedFilter::decode_log(log) { - return Ok(AttestationAutherEvents::EnclaveImageRevokedFilter(decoded)); - } - if let Ok(decoded) = EnclaveImageWhitelistedFilter::decode_log(log) { - return Ok(AttestationAutherEvents::EnclaveImageWhitelistedFilter( - decoded, - )); - } - if let Ok(decoded) = EnclaveKeyRevokedFilter::decode_log(log) { - return Ok(AttestationAutherEvents::EnclaveKeyRevokedFilter(decoded)); - } - if let Ok(decoded) = EnclaveKeyVerifiedFilter::decode_log(log) { - return Ok(AttestationAutherEvents::EnclaveKeyVerifiedFilter(decoded)); - } - if let Ok(decoded) = EnclaveKeyWhitelistedFilter::decode_log(log) { - return Ok(AttestationAutherEvents::EnclaveKeyWhitelistedFilter( - decoded, - )); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for AttestationAutherEvents { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::EnclaveImageAddedToFamilyFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::EnclaveImageRemovedFromFamilyFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::EnclaveImageRevokedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::EnclaveImageWhitelistedFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::EnclaveKeyRevokedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::EnclaveKeyVerifiedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::EnclaveKeyWhitelistedFilter(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for AttestationAutherEvents { - fn from(value: EnclaveImageAddedToFamilyFilter) -> Self { - Self::EnclaveImageAddedToFamilyFilter(value) - } - } - impl ::core::convert::From for AttestationAutherEvents { - fn from(value: EnclaveImageRemovedFromFamilyFilter) -> Self { - Self::EnclaveImageRemovedFromFamilyFilter(value) - } - } - impl ::core::convert::From for AttestationAutherEvents { - fn from(value: EnclaveImageRevokedFilter) -> Self { - Self::EnclaveImageRevokedFilter(value) - } - } - impl ::core::convert::From for AttestationAutherEvents { - fn from(value: EnclaveImageWhitelistedFilter) -> Self { - Self::EnclaveImageWhitelistedFilter(value) - } - } - impl ::core::convert::From for AttestationAutherEvents { - fn from(value: EnclaveKeyRevokedFilter) -> Self { - Self::EnclaveKeyRevokedFilter(value) - } - } - impl ::core::convert::From for AttestationAutherEvents { - fn from(value: EnclaveKeyVerifiedFilter) -> Self { - Self::EnclaveKeyVerifiedFilter(value) - } - } - impl ::core::convert::From for AttestationAutherEvents { - fn from(value: EnclaveKeyWhitelistedFilter) -> Self { - Self::EnclaveKeyWhitelistedFilter(value) - } - } - ///Container type for all input parameters for the `ATTESTATION_MAX_AGE` function with signature `ATTESTATION_MAX_AGE()` and selector `0x9aec990e` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "ATTESTATION_MAX_AGE", abi = "ATTESTATION_MAX_AGE()")] - pub struct AttestationMaxAgeCall; - ///Container type for all input parameters for the `ATTESTATION_VERIFIER` function with signature `ATTESTATION_VERIFIER()` and selector `0xcd79f906` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "ATTESTATION_VERIFIER", abi = "ATTESTATION_VERIFIER()")] - pub struct AttestationVerifierCall; - ///Container type for all input parameters for the `getVerifiedKey` function with signature `getVerifiedKey(address)` and selector `0x01d58fa3` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "getVerifiedKey", abi = "getVerifiedKey(address)")] - pub struct GetVerifiedKeyCall { - pub key: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `getWhitelistedImage` function with signature `getWhitelistedImage(bytes32)` and selector `0x2410f6ba` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "getWhitelistedImage", abi = "getWhitelistedImage(bytes32)")] - pub struct GetWhitelistedImageCall { - pub image_id: [u8; 32], - } - ///Container type for all input parameters for the `isImageInFamily` function with signature `isImageInFamily(bytes32,bytes32)` and selector `0x6b5b21a6` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "isImageInFamily", abi = "isImageInFamily(bytes32,bytes32)")] - pub struct IsImageInFamilyCall { - pub image_id: [u8; 32], - pub family: [u8; 32], - } - ///Container type for all input parameters for the `verifyEnclaveKey` function with signature `verifyEnclaveKey(bytes,(bytes,bytes,bytes,bytes,uint256))` and selector `0x75847b84` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyEnclaveKey", - abi = "verifyEnclaveKey(bytes,(bytes,bytes,bytes,bytes,uint256))" - )] - pub struct VerifyEnclaveKeyCall { - pub signature: ::ethers::core::types::Bytes, - pub attestation: Attestation, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum AttestationAutherCalls { - AttestationMaxAge(AttestationMaxAgeCall), - AttestationVerifier(AttestationVerifierCall), - GetVerifiedKey(GetVerifiedKeyCall), - GetWhitelistedImage(GetWhitelistedImageCall), - IsImageInFamily(IsImageInFamilyCall), - VerifyEnclaveKey(VerifyEnclaveKeyCall), - } - impl ::ethers::core::abi::AbiDecode for AttestationAutherCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationMaxAge(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationVerifier(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::GetVerifiedKey(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::GetWhitelistedImage(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::IsImageInFamily(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyEnclaveKey(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for AttestationAutherCalls { - fn encode(self) -> Vec { - match self { - Self::AttestationMaxAge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::AttestationVerifier(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::GetVerifiedKey(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::GetWhitelistedImage(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::IsImageInFamily(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyEnclaveKey(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for AttestationAutherCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::AttestationMaxAge(element) => ::core::fmt::Display::fmt(element, f), - Self::AttestationVerifier(element) => ::core::fmt::Display::fmt(element, f), - Self::GetVerifiedKey(element) => ::core::fmt::Display::fmt(element, f), - Self::GetWhitelistedImage(element) => ::core::fmt::Display::fmt(element, f), - Self::IsImageInFamily(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyEnclaveKey(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for AttestationAutherCalls { - fn from(value: AttestationMaxAgeCall) -> Self { - Self::AttestationMaxAge(value) - } - } - impl ::core::convert::From for AttestationAutherCalls { - fn from(value: AttestationVerifierCall) -> Self { - Self::AttestationVerifier(value) - } - } - impl ::core::convert::From for AttestationAutherCalls { - fn from(value: GetVerifiedKeyCall) -> Self { - Self::GetVerifiedKey(value) - } - } - impl ::core::convert::From for AttestationAutherCalls { - fn from(value: GetWhitelistedImageCall) -> Self { - Self::GetWhitelistedImage(value) - } - } - impl ::core::convert::From for AttestationAutherCalls { - fn from(value: IsImageInFamilyCall) -> Self { - Self::IsImageInFamily(value) - } - } - impl ::core::convert::From for AttestationAutherCalls { - fn from(value: VerifyEnclaveKeyCall) -> Self { - Self::VerifyEnclaveKey(value) - } - } - ///Container type for all return fields from the `ATTESTATION_MAX_AGE` function with signature `ATTESTATION_MAX_AGE()` and selector `0x9aec990e` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct AttestationMaxAgeReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `ATTESTATION_VERIFIER` function with signature `ATTESTATION_VERIFIER()` and selector `0xcd79f906` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct AttestationVerifierReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `getVerifiedKey` function with signature `getVerifiedKey(address)` and selector `0x01d58fa3` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct GetVerifiedKeyReturn(pub [u8; 32]); - ///Container type for all return fields from the `getWhitelistedImage` function with signature `getWhitelistedImage(bytes32)` and selector `0x2410f6ba` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct GetWhitelistedImageReturn(pub EnclaveImage); - ///Container type for all return fields from the `isImageInFamily` function with signature `isImageInFamily(bytes32,bytes32)` and selector `0x6b5b21a6` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct IsImageInFamilyReturn(pub bool); - ///Container type for all return fields from the `verifyEnclaveKey` function with signature `verifyEnclaveKey(bytes,(bytes,bytes,bytes,bytes,uint256))` and selector `0x75847b84` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyEnclaveKeyReturn(pub bool); -} diff --git a/bindings/src/attestation_auther_upgradeable.rs b/bindings/src/attestation_auther_upgradeable.rs index 69b831f..e4fd48e 100644 --- a/bindings/src/attestation_auther_upgradeable.rs +++ b/bindings/src/attestation_auther_upgradeable.rs @@ -411,12 +411,12 @@ pub mod attestation_auther_upgradeable { ::ethers::core::abi::Abi, > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0B\x828\x03\x80a\x0B\x82\x839\x81\x01`@\x81\x90Ra\0/\x91a\0EV[`\x01`\x01`\xA0\x1B\x03\x90\x91\x16`\x80R`\xA0Ra\0\x7FV[`\0\x80`@\x83\x85\x03\x12\x15a\0XW`\0\x80\xFD[\x82Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0oW`\0\x80\xFD[` \x93\x90\x93\x01Q\x92\x94\x92\x93PPPV[`\x80Q`\xA0Qa\n\xD0a\0\xB2`\09`\0\x81\x81a\x01\x1D\x01Ra\x04\x94\x01R`\0\x81\x81a\x01D\x01Ra\x05\0\x01Ra\n\xD0`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0bW`\x005`\xE0\x1C\x80c\x01\xD5\x8F\xA3\x14a\0gW\x80c$\x10\xF6\xBA\x14a\0\xC2W\x80ck[!\xA6\x14a\0\xE2W\x80cu\x84{\x84\x14a\x01\x05W\x80c\x9A\xEC\x99\x0E\x14a\x01\x18W\x80c\xCDy\xF9\x06\x14a\x01?W[`\0\x80\xFD[a\0\xAFa\0u6`\x04a\x06?V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xD5a\0\xD06`\x04a\x06hV[a\x01~V[`@Qa\0\xB9\x91\x90a\x06\xD1V[a\0\xF5a\0\xF06`\x04a\x072V[a\x03\x9CV[`@Q\x90\x15\x15\x81R` \x01a\0\xB9V[a\0\xF5a\x01\x136`\x04a\x08 V[a\x03\xDFV[a\0\xAF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01f\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xB9V[a\x01\xA2`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\0` \x81\x90R`@\x91\x82\x90 \x82Q``\x81\x01\x90\x93R\x80T\x91\x92\x91\x82\x90\x82\x90a\x01\xEE\x90a\t*V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x1A\x90a\t*V[\x80\x15a\x02gW\x80`\x1F\x10a\x02\x90a\t*V[\x80\x15a\x03\x8BW\x80`\x1F\x10a\x03`Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x8BV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03nW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x91PP\x91\x90PV[`\0\x81\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x90 T`\xFF\x16[\x92\x91PPV[`\0a\x03\xEB\x83\x83a\x03\xF2V[\x93\x92PPPV[`\0\x80\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\0\x90P`\0\x83` \x01Q\x84`@\x01Q\x85``\x01Q`@Q` \x01a\x04;\x93\x92\x91\x90a\tdV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x04m\x90a\t*V[\x90P`\0\x03a\x04\x8FW`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04\xB9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba\t\xA7V[a\x03\xE8\x85`\x80\x01Qa\x04\xCB\x91\x90a\t\xC8V[\x11a\x04\xE9W`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\x057\x90\x88\x90\x88\x90`\x04\x01a\t\xEAV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x05OW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x05cW=`\0\x80>=`\0\xFD[PPPP`\0a\x05v\x85`\0\x01Qa\x06\x0FV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x85\x01` R`@\x90 T\x90\x91P\x15a\x05\xA5W`\0\x93PPPPa\x03\xD9V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x84\x01` R`@\x90\x81\x90 \x83\x90U\x85Q\x90Q\x83\x91a\x05\xD3\x91a\n~V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF4\x83\x7F\x1Af\xA1\xE5\xFB\xDE,@\xD0\xF6\xEF\xF7Q\x83\x13\x9Ey\xB0\xFC\x1E\xAA\xB2\x80\xA3\xA0\xBE8\xE7\xB1\x90`\0\x90\xA3P`\x01\x95\x94PPPPPV[`\0\x81Q`@\x14a\x063W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0` \x82\x84\x03\x12\x15a\x06QW`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x03\xEBW`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x06zW`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x06\x9CW\x81\x81\x01Q\x83\x82\x01R` \x01a\x06\x84V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x06\xBD\x81` \x86\x01` \x86\x01a\x06\x81V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x06\xED`\x80\x84\x01\x82a\x06\xA5V[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x07\x0B\x83\x83a\x06\xA5V[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x07)\x82\x82a\x06\xA5V[\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x07EW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\x8DWa\x07\x8Da\x07TV[`@R\x90V[`\0\x82`\x1F\x83\x01\x12a\x07\xA4W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\xBFWa\x07\xBFa\x07TV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x07\xE7Wa\x07\xE7a\x07TV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\x08\0W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x083W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08KW`\0\x80\xFD[a\x08W\x86\x83\x87\x01a\x07\x93V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x08mW`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x08\x81W`\0\x80\xFD[a\x08\x89a\x07jV[\x825\x82\x81\x11\x15a\x08\x98W`\0\x80\xFD[a\x08\xA4\x88\x82\x86\x01a\x07\x93V[\x82RP` \x83\x015\x82\x81\x11\x15a\x08\xB9W`\0\x80\xFD[a\x08\xC5\x88\x82\x86\x01a\x07\x93V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x08\xDDW`\0\x80\xFD[a\x08\xE9\x88\x82\x86\x01a\x07\x93V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\t\x01W`\0\x80\xFD[a\t\r\x88\x82\x86\x01a\x07\x93V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\t>W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\t^WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x84Qa\tv\x81\x84` \x89\x01a\x06\x81V[\x84Q\x90\x83\x01\x90a\t\x8A\x81\x83` \x89\x01a\x06\x81V[\x84Q\x91\x01\x90a\t\x9D\x81\x83` \x88\x01a\x06\x81V[\x01\x95\x94PPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x03\xD9WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\t\xE5WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a\t\xFD`@\x83\x01\x85a\x06\xA5V[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra\n\x18`\xA0\x83\x01\x82a\x06\xA5V[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra\n1\x82\x82a\x06\xA5V[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra\nK\x82\x82a\x06\xA5V[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra\ne\x82\x82a\x06\xA5V[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[`\0\x82Qa\n\x90\x81\x84` \x87\x01a\x06\x81V[\x91\x90\x91\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 \xD5\xF7\x7F\x81\x1E\xEBO\xE5q1\xA4\xBE\xFE\xDB\x96l\xD5\x93\xA4J\xE2\x17\xE9t\x82\xD1\xAD\r\xA3\xFF\xBD\xC7dsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0B\x828\x03\x80a\x0B\x82\x839\x81\x01`@\x81\x90Ra\0/\x91a\0EV[`\x01`\x01`\xA0\x1B\x03\x90\x91\x16`\x80R`\xA0Ra\0\x7FV[`\0\x80`@\x83\x85\x03\x12\x15a\0XW`\0\x80\xFD[\x82Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0oW`\0\x80\xFD[` \x93\x90\x93\x01Q\x92\x94\x92\x93PPPV[`\x80Q`\xA0Qa\n\xD0a\0\xB2`\09`\0\x81\x81a\x01\x1D\x01Ra\x04\x94\x01R`\0\x81\x81a\x01D\x01Ra\x05\0\x01Ra\n\xD0`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0bW`\x005`\xE0\x1C\x80c\x01\xD5\x8F\xA3\x14a\0gW\x80c$\x10\xF6\xBA\x14a\0\xC2W\x80ck[!\xA6\x14a\0\xE2W\x80cu\x84{\x84\x14a\x01\x05W\x80c\x9A\xEC\x99\x0E\x14a\x01\x18W\x80c\xCDy\xF9\x06\x14a\x01?W[`\0\x80\xFD[a\0\xAFa\0u6`\x04a\x06?V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xD5a\0\xD06`\x04a\x06hV[a\x01~V[`@Qa\0\xB9\x91\x90a\x06\xD1V[a\0\xF5a\0\xF06`\x04a\x072V[a\x03\x9CV[`@Q\x90\x15\x15\x81R` \x01a\0\xB9V[a\0\xF5a\x01\x136`\x04a\x08 V[a\x03\xDFV[a\0\xAF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01f\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xB9V[a\x01\xA2`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\0` \x81\x90R`@\x91\x82\x90 \x82Q``\x81\x01\x90\x93R\x80T\x91\x92\x91\x82\x90\x82\x90a\x01\xEE\x90a\t*V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x1A\x90a\t*V[\x80\x15a\x02gW\x80`\x1F\x10a\x02\x90a\t*V[\x80\x15a\x03\x8BW\x80`\x1F\x10a\x03`Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x8BV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03nW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x91PP\x91\x90PV[`\0\x81\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x90 T`\xFF\x16[\x92\x91PPV[`\0a\x03\xEB\x83\x83a\x03\xF2V[\x93\x92PPPV[`\0\x80\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\0\x90P`\0\x83` \x01Q\x84`@\x01Q\x85``\x01Q`@Q` \x01a\x04;\x93\x92\x91\x90a\tdV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x04m\x90a\t*V[\x90P`\0\x03a\x04\x8FW`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04\xB9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba\t\xA7V[a\x03\xE8\x85`\x80\x01Qa\x04\xCB\x91\x90a\t\xC8V[\x11a\x04\xE9W`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\x057\x90\x88\x90\x88\x90`\x04\x01a\t\xEAV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x05OW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x05cW=`\0\x80>=`\0\xFD[PPPP`\0a\x05v\x85`\0\x01Qa\x06\x0FV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x85\x01` R`@\x90 T\x90\x91P\x15a\x05\xA5W`\0\x93PPPPa\x03\xD9V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x84\x01` R`@\x90\x81\x90 \x83\x90U\x85Q\x90Q\x83\x91a\x05\xD3\x91a\n~V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF4\x83\x7F\x1Af\xA1\xE5\xFB\xDE,@\xD0\xF6\xEF\xF7Q\x83\x13\x9Ey\xB0\xFC\x1E\xAA\xB2\x80\xA3\xA0\xBE8\xE7\xB1\x90`\0\x90\xA3P`\x01\x95\x94PPPPPV[`\0\x81Q`@\x14a\x063W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0` \x82\x84\x03\x12\x15a\x06QW`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x03\xEBW`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x06zW`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x06\x9CW\x81\x81\x01Q\x83\x82\x01R` \x01a\x06\x84V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x06\xBD\x81` \x86\x01` \x86\x01a\x06\x81V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x06\xED`\x80\x84\x01\x82a\x06\xA5V[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x07\x0B\x83\x83a\x06\xA5V[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x07)\x82\x82a\x06\xA5V[\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x07EW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\x8DWa\x07\x8Da\x07TV[`@R\x90V[`\0\x82`\x1F\x83\x01\x12a\x07\xA4W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\xBFWa\x07\xBFa\x07TV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x07\xE7Wa\x07\xE7a\x07TV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\x08\0W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x083W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08KW`\0\x80\xFD[a\x08W\x86\x83\x87\x01a\x07\x93V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x08mW`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x08\x81W`\0\x80\xFD[a\x08\x89a\x07jV[\x825\x82\x81\x11\x15a\x08\x98W`\0\x80\xFD[a\x08\xA4\x88\x82\x86\x01a\x07\x93V[\x82RP` \x83\x015\x82\x81\x11\x15a\x08\xB9W`\0\x80\xFD[a\x08\xC5\x88\x82\x86\x01a\x07\x93V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x08\xDDW`\0\x80\xFD[a\x08\xE9\x88\x82\x86\x01a\x07\x93V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\t\x01W`\0\x80\xFD[a\t\r\x88\x82\x86\x01a\x07\x93V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\t>W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\t^WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x84Qa\tv\x81\x84` \x89\x01a\x06\x81V[\x84Q\x90\x83\x01\x90a\t\x8A\x81\x83` \x89\x01a\x06\x81V[\x84Q\x91\x01\x90a\t\x9D\x81\x83` \x88\x01a\x06\x81V[\x01\x95\x94PPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x03\xD9WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\t\xE5WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a\t\xFD`@\x83\x01\x85a\x06\xA5V[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra\n\x18`\xA0\x83\x01\x82a\x06\xA5V[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra\n1\x82\x82a\x06\xA5V[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra\nK\x82\x82a\x06\xA5V[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra\ne\x82\x82a\x06\xA5V[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[`\0\x82Qa\n\x90\x81\x84` \x87\x01a\x06\x81V[\x91\x90\x91\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 R\x94\x98\xFA9\xD1Q\x0C\x1B\x1Ci\xD7\xE8s\x04\x87\xE4\x85P\xCDZZ\x1C\\\xD6\xBA\x7FZ\xDE3\xE3\x82dsolcC\0\x08\x14\x003"; /// The bytecode of the contract. pub static ATTESTATIONAUTHERUPGRADEABLE_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0bW`\x005`\xE0\x1C\x80c\x01\xD5\x8F\xA3\x14a\0gW\x80c$\x10\xF6\xBA\x14a\0\xC2W\x80ck[!\xA6\x14a\0\xE2W\x80cu\x84{\x84\x14a\x01\x05W\x80c\x9A\xEC\x99\x0E\x14a\x01\x18W\x80c\xCDy\xF9\x06\x14a\x01?W[`\0\x80\xFD[a\0\xAFa\0u6`\x04a\x06?V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xD5a\0\xD06`\x04a\x06hV[a\x01~V[`@Qa\0\xB9\x91\x90a\x06\xD1V[a\0\xF5a\0\xF06`\x04a\x072V[a\x03\x9CV[`@Q\x90\x15\x15\x81R` \x01a\0\xB9V[a\0\xF5a\x01\x136`\x04a\x08 V[a\x03\xDFV[a\0\xAF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01f\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xB9V[a\x01\xA2`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\0` \x81\x90R`@\x91\x82\x90 \x82Q``\x81\x01\x90\x93R\x80T\x91\x92\x91\x82\x90\x82\x90a\x01\xEE\x90a\t*V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x1A\x90a\t*V[\x80\x15a\x02gW\x80`\x1F\x10a\x02\x90a\t*V[\x80\x15a\x03\x8BW\x80`\x1F\x10a\x03`Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x8BV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03nW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x91PP\x91\x90PV[`\0\x81\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x90 T`\xFF\x16[\x92\x91PPV[`\0a\x03\xEB\x83\x83a\x03\xF2V[\x93\x92PPPV[`\0\x80\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\0\x90P`\0\x83` \x01Q\x84`@\x01Q\x85``\x01Q`@Q` \x01a\x04;\x93\x92\x91\x90a\tdV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x04m\x90a\t*V[\x90P`\0\x03a\x04\x8FW`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04\xB9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba\t\xA7V[a\x03\xE8\x85`\x80\x01Qa\x04\xCB\x91\x90a\t\xC8V[\x11a\x04\xE9W`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\x057\x90\x88\x90\x88\x90`\x04\x01a\t\xEAV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x05OW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x05cW=`\0\x80>=`\0\xFD[PPPP`\0a\x05v\x85`\0\x01Qa\x06\x0FV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x85\x01` R`@\x90 T\x90\x91P\x15a\x05\xA5W`\0\x93PPPPa\x03\xD9V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x84\x01` R`@\x90\x81\x90 \x83\x90U\x85Q\x90Q\x83\x91a\x05\xD3\x91a\n~V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF4\x83\x7F\x1Af\xA1\xE5\xFB\xDE,@\xD0\xF6\xEF\xF7Q\x83\x13\x9Ey\xB0\xFC\x1E\xAA\xB2\x80\xA3\xA0\xBE8\xE7\xB1\x90`\0\x90\xA3P`\x01\x95\x94PPPPPV[`\0\x81Q`@\x14a\x063W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0` \x82\x84\x03\x12\x15a\x06QW`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x03\xEBW`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x06zW`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x06\x9CW\x81\x81\x01Q\x83\x82\x01R` \x01a\x06\x84V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x06\xBD\x81` \x86\x01` \x86\x01a\x06\x81V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x06\xED`\x80\x84\x01\x82a\x06\xA5V[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x07\x0B\x83\x83a\x06\xA5V[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x07)\x82\x82a\x06\xA5V[\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x07EW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\x8DWa\x07\x8Da\x07TV[`@R\x90V[`\0\x82`\x1F\x83\x01\x12a\x07\xA4W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\xBFWa\x07\xBFa\x07TV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x07\xE7Wa\x07\xE7a\x07TV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\x08\0W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x083W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08KW`\0\x80\xFD[a\x08W\x86\x83\x87\x01a\x07\x93V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x08mW`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x08\x81W`\0\x80\xFD[a\x08\x89a\x07jV[\x825\x82\x81\x11\x15a\x08\x98W`\0\x80\xFD[a\x08\xA4\x88\x82\x86\x01a\x07\x93V[\x82RP` \x83\x015\x82\x81\x11\x15a\x08\xB9W`\0\x80\xFD[a\x08\xC5\x88\x82\x86\x01a\x07\x93V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x08\xDDW`\0\x80\xFD[a\x08\xE9\x88\x82\x86\x01a\x07\x93V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\t\x01W`\0\x80\xFD[a\t\r\x88\x82\x86\x01a\x07\x93V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\t>W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\t^WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x84Qa\tv\x81\x84` \x89\x01a\x06\x81V[\x84Q\x90\x83\x01\x90a\t\x8A\x81\x83` \x89\x01a\x06\x81V[\x84Q\x91\x01\x90a\t\x9D\x81\x83` \x88\x01a\x06\x81V[\x01\x95\x94PPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x03\xD9WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\t\xE5WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a\t\xFD`@\x83\x01\x85a\x06\xA5V[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra\n\x18`\xA0\x83\x01\x82a\x06\xA5V[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra\n1\x82\x82a\x06\xA5V[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra\nK\x82\x82a\x06\xA5V[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra\ne\x82\x82a\x06\xA5V[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[`\0\x82Qa\n\x90\x81\x84` \x87\x01a\x06\x81V[\x91\x90\x91\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 \xD5\xF7\x7F\x81\x1E\xEBO\xE5q1\xA4\xBE\xFE\xDB\x96l\xD5\x93\xA4J\xE2\x17\xE9t\x82\xD1\xAD\r\xA3\xFF\xBD\xC7dsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0bW`\x005`\xE0\x1C\x80c\x01\xD5\x8F\xA3\x14a\0gW\x80c$\x10\xF6\xBA\x14a\0\xC2W\x80ck[!\xA6\x14a\0\xE2W\x80cu\x84{\x84\x14a\x01\x05W\x80c\x9A\xEC\x99\x0E\x14a\x01\x18W\x80c\xCDy\xF9\x06\x14a\x01?W[`\0\x80\xFD[a\0\xAFa\0u6`\x04a\x06?V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xD5a\0\xD06`\x04a\x06hV[a\x01~V[`@Qa\0\xB9\x91\x90a\x06\xD1V[a\0\xF5a\0\xF06`\x04a\x072V[a\x03\x9CV[`@Q\x90\x15\x15\x81R` \x01a\0\xB9V[a\0\xF5a\x01\x136`\x04a\x08 V[a\x03\xDFV[a\0\xAF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01f\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xB9V[a\x01\xA2`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\0` \x81\x90R`@\x91\x82\x90 \x82Q``\x81\x01\x90\x93R\x80T\x91\x92\x91\x82\x90\x82\x90a\x01\xEE\x90a\t*V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x1A\x90a\t*V[\x80\x15a\x02gW\x80`\x1F\x10a\x02\x90a\t*V[\x80\x15a\x03\x8BW\x80`\x1F\x10a\x03`Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x8BV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03nW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x91PP\x91\x90PV[`\0\x81\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x90 T`\xFF\x16[\x92\x91PPV[`\0a\x03\xEB\x83\x83a\x03\xF2V[\x93\x92PPPV[`\0\x80\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\0\x90P`\0\x83` \x01Q\x84`@\x01Q\x85``\x01Q`@Q` \x01a\x04;\x93\x92\x91\x90a\tdV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x04m\x90a\t*V[\x90P`\0\x03a\x04\x8FW`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04\xB9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba\t\xA7V[a\x03\xE8\x85`\x80\x01Qa\x04\xCB\x91\x90a\t\xC8V[\x11a\x04\xE9W`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\x057\x90\x88\x90\x88\x90`\x04\x01a\t\xEAV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x05OW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x05cW=`\0\x80>=`\0\xFD[PPPP`\0a\x05v\x85`\0\x01Qa\x06\x0FV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x85\x01` R`@\x90 T\x90\x91P\x15a\x05\xA5W`\0\x93PPPPa\x03\xD9V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x84\x01` R`@\x90\x81\x90 \x83\x90U\x85Q\x90Q\x83\x91a\x05\xD3\x91a\n~V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF4\x83\x7F\x1Af\xA1\xE5\xFB\xDE,@\xD0\xF6\xEF\xF7Q\x83\x13\x9Ey\xB0\xFC\x1E\xAA\xB2\x80\xA3\xA0\xBE8\xE7\xB1\x90`\0\x90\xA3P`\x01\x95\x94PPPPPV[`\0\x81Q`@\x14a\x063W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0` \x82\x84\x03\x12\x15a\x06QW`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x03\xEBW`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x06zW`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x06\x9CW\x81\x81\x01Q\x83\x82\x01R` \x01a\x06\x84V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x06\xBD\x81` \x86\x01` \x86\x01a\x06\x81V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x06\xED`\x80\x84\x01\x82a\x06\xA5V[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x07\x0B\x83\x83a\x06\xA5V[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x07)\x82\x82a\x06\xA5V[\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x07EW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\x8DWa\x07\x8Da\x07TV[`@R\x90V[`\0\x82`\x1F\x83\x01\x12a\x07\xA4W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\xBFWa\x07\xBFa\x07TV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x07\xE7Wa\x07\xE7a\x07TV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\x08\0W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x083W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08KW`\0\x80\xFD[a\x08W\x86\x83\x87\x01a\x07\x93V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x08mW`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x08\x81W`\0\x80\xFD[a\x08\x89a\x07jV[\x825\x82\x81\x11\x15a\x08\x98W`\0\x80\xFD[a\x08\xA4\x88\x82\x86\x01a\x07\x93V[\x82RP` \x83\x015\x82\x81\x11\x15a\x08\xB9W`\0\x80\xFD[a\x08\xC5\x88\x82\x86\x01a\x07\x93V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x08\xDDW`\0\x80\xFD[a\x08\xE9\x88\x82\x86\x01a\x07\x93V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\t\x01W`\0\x80\xFD[a\t\r\x88\x82\x86\x01a\x07\x93V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\t>W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\t^WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x84Qa\tv\x81\x84` \x89\x01a\x06\x81V[\x84Q\x90\x83\x01\x90a\t\x8A\x81\x83` \x89\x01a\x06\x81V[\x84Q\x91\x01\x90a\t\x9D\x81\x83` \x88\x01a\x06\x81V[\x01\x95\x94PPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x03\xD9WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\t\xE5WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a\t\xFD`@\x83\x01\x85a\x06\xA5V[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra\n\x18`\xA0\x83\x01\x82a\x06\xA5V[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra\n1\x82\x82a\x06\xA5V[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra\nK\x82\x82a\x06\xA5V[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra\ne\x82\x82a\x06\xA5V[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[`\0\x82Qa\n\x90\x81\x84` \x87\x01a\x06\x81V[\x91\x90\x91\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 R\x94\x98\xFA9\xD1Q\x0C\x1B\x1Ci\xD7\xE8s\x04\x87\xE4\x85P\xCDZZ\x1C\\\xD6\xBA\x7FZ\xDE3\xE3\x82dsolcC\0\x08\x14\x003"; /// The deployed bytecode of the contract. pub static ATTESTATIONAUTHERUPGRADEABLE_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); diff --git a/bindings/src/attestation_verifier.rs b/bindings/src/attestation_verifier.rs deleted file mode 100644 index 96ad5f6..0000000 --- a/bindings/src/attestation_verifier.rs +++ /dev/null @@ -1,3540 +0,0 @@ -pub use attestation_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod attestation_verifier { - pub use super::super::shared_types::*; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("DEFAULT_ADMIN_ROLE"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("DEFAULT_ADMIN_ROLE"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("MAX_AGE"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("MAX_AGE"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("UPGRADE_INTERFACE_VERSION"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("UPGRADE_INTERFACE_VERSION",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("getRoleAdmin"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("getRoleAdmin"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("role"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("grantRole"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("grantRole"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("role"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("hasRole"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("hasRole"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("role"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("initialize"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("initialize"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("images"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct AttestationVerifier.EnclaveImage[]", - ), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("enclaveKeys"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Bytes, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_admin"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("proxiableUUID"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("proxiableUUID"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("pubKeyToAddress"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("pubKeyToAddress"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("pubKey"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("renounceRole"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("renounceRole"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("role"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("callerConfirmation",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("revokeEnclaveImage"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("revokeEnclaveImage"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("revokeEnclaveKey"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("revokeEnclaveKey"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("enclavePubKey"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("revokeRole"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("revokeRole"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("role"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("supportsInterface"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("supportsInterface"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("interfaceId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes4"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("upgradeToAndCall"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("upgradeToAndCall"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newImplementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("data"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifiedKeys"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifiedKeys"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("data"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("signature"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("attestation"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple( - ::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ], - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct IAttestationVerifier.Attestation", - ), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyEnclaveKey"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyEnclaveKey"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("signature"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("attestation"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct IAttestationVerifier.Attestation", - ), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("whitelistEnclaveImage"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("whitelistEnclaveImage",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("PCR0"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("PCR1"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("PCR2"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("whitelistEnclaveKey"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("whitelistEnclaveKey",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("enclavePubKey"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("whitelistedImages"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("whitelistedImages"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("PCR0"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("PCR1"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("PCR2"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("EnclaveImageRevoked"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveImageRevoked",), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - },], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveImageWhitelisted"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveImageWhitelisted",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("PCR0"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("PCR1"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("PCR2"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveKeyRevoked"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveKeyRevoked"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclavePubKey"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: true, - },], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveKeyVerified"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveKeyVerified"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclavePubKey"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveKeyWhitelisted"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveKeyWhitelisted",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclavePubKey"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("Initialized"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Initialized"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("version"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(64usize), - indexed: false, - },], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("RoleAdminChanged"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("RoleAdminChanged"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("role"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("previousAdminRole"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newAdminRole"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("RoleGranted"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("RoleGranted"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("role"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("RoleRevoked"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("RoleRevoked"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("role"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("Upgraded"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Upgraded"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("implementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - },], - anonymous: false, - },], - ), - ]), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("AccessControlBadConfirmation"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AccessControlBadConfirmation",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AccessControlUnauthorizedAccount"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AccessControlUnauthorizedAccount",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("neededRole"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AddressEmptyCode"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AddressEmptyCode"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("target"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationVerifierAttestationTooOld"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationVerifierAttestationTooOld", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationVerifierCannotRemoveAllAdmins"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationVerifierCannotRemoveAllAdmins", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationVerifierImageAlreadyWhitelisted"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationVerifierImageAlreadyWhitelisted", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationVerifierImageNotWhitelisted"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationVerifierImageNotWhitelisted", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationVerifierInitLengthMismatch"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationVerifierInitLengthMismatch", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationVerifierInvalidAdmin"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AttestationVerifierInvalidAdmin",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationVerifierKeyAlreadyVerified"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationVerifierKeyAlreadyVerified", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationVerifierKeyNotVerified"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AttestationVerifierKeyNotVerified",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationVerifierNoImageProvided"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationVerifierNoImageProvided", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationVerifierPCRsInvalid"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AttestationVerifierPCRsInvalid",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationVerifierPubkeyLengthInvalid"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationVerifierPubkeyLengthInvalid", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignature"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignature",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureLength"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureLength",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("length"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureS"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureS",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("s"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1967InvalidImplementation"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1967InvalidImplementation",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("implementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1967NonPayable"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1967NonPayable"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("FailedInnerCall"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("FailedInnerCall"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InvalidInitialization"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidInitialization",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("NotInitializing"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NotInitializing"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("UUPSUnauthorizedCallContext"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("UUPSUnauthorizedCallContext",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("UUPSUnsupportedProxiableUUID"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("UUPSUnsupportedProxiableUUID",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("slot"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static ATTESTATIONVERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R0`\x80R4\x80\x15a\0\x14W`\0\x80\xFD[Pa\0\x1Da\0\"V[a\0\xD4V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x90\x04`\xFF\x16\x15a\0rW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80T`\x01`\x01`@\x1B\x03\x90\x81\x16\x14a\0\xD1W\x80T`\x01`\x01`@\x1B\x03\x19\x16`\x01`\x01`@\x1B\x03\x90\x81\x17\x82U`@Q\x90\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PV[`\x80Qa#}b\0\0\xFE`\09`\0\x81\x81a\x0B>\x01R\x81\x81a\x0Bg\x01Ra\x0C\xB2\x01Ra#}`\0\xF3\xFE`\x80`@R`\x046\x10a\x015W`\x005`\xE0\x1C\x80c\x8Ev\n\xFE\x11a\0\xABW\x80c\xC6Z\x91j\x11a\0oW\x80c\xC6Z\x91j\x14a\x03wW\x80c\xD17\x14\xB4\x14a\x03\x97W\x80c\xD5Gt\x1F\x14a\x03\xB7W\x80c\xDA\x99L\xD8\x14a\x03\xD7W\x80c\xDE\xBFrk\x14a\x04\x05W\x80c\xEA\xC7\x08\xA3\x14a\x04%W`\0\x80\xFD[\x80c\x8Ev\n\xFE\x14a\x02\xC4W\x80c\x91\xD1HT\x14a\x02\xE4W\x80c\x95\xC6\x02\x94\x14a\x03\x04W\x80c\xA2\x17\xFD\xDF\x14a\x03$W\x80c\xAD<\xB1\xCC\x14a\x039W`\0\x80\xFD[\x80c6V\x8A\xBE\x11a\0\xFDW\x80c6V\x8A\xBE\x14a\x02\x04W\x80cO\x1E\xF2\x86\x14a\x02$W\x80cR\xD1\x90-\x14a\x027W\x80ci\x81^W\x14a\x02LW\x80cp\xAE\x99*\x14a\x02lW\x80cu\x84{\x84\x14a\x02\xA4W`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x01:W\x80c\r\xCA\xEA\xF2\x14a\x01oW\x80c$\x8A\x9C\xA3\x14a\x01\x93W\x80c//\xF1]\x14a\x01\xB3W\x80c/\x9B\n\xD7\x14a\x01\xD5W[`\0\x80\xFD[4\x80\x15a\x01FW`\0\x80\xFD[Pa\x01Za\x01U6`\x04a\x18\xCDV[a\x04EV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01{W`\0\x80\xFD[Pa\x01\x85a\x01,\x81V[`@Q\x90\x81R` \x01a\x01fV[4\x80\x15a\x01\x9FW`\0\x80\xFD[Pa\x01\x85a\x01\xAE6`\x04a\x18\xF7V[a\x04VV[4\x80\x15a\x01\xBFW`\0\x80\xFD[Pa\x01\xD3a\x01\xCE6`\x04a\x19,V[a\x04xV[\0[4\x80\x15a\x01\xE1W`\0\x80\xFD[Pa\x01\xF5a\x01\xF06`\x04a\x18\xF7V[a\x04\x9AV[`@Qa\x01f\x93\x92\x91\x90a\x19\xA8V[4\x80\x15a\x02\x10W`\0\x80\xFD[Pa\x01\xD3a\x02\x1F6`\x04a\x19,V[a\x06UV[a\x01\xD3a\x0226`\x04a\x1A\xF8V[a\x06\x8DV[4\x80\x15a\x02CW`\0\x80\xFD[Pa\x01\x85a\x06\xACV[4\x80\x15a\x02XW`\0\x80\xFD[Pa\x01\xD3a\x02g6`\x04a\x1BEV[a\x06\xC9V[4\x80\x15a\x02xW`\0\x80\xFD[Pa\x02\x8Ca\x02\x876`\x04a\x1B\xCCV[a\x06\xFEV[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01fV[4\x80\x15a\x02\xB0W`\0\x80\xFD[Pa\x01\xD3a\x02\xBF6`\x04a\x1C\x08V[a\x07\tV[4\x80\x15a\x02\xD0W`\0\x80\xFD[Pa\x01\xD3a\x02\xDF6`\x04a\x1B\xCCV[a\x07\x13V[4\x80\x15a\x02\xF0W`\0\x80\xFD[Pa\x01Za\x02\xFF6`\x04a\x19,V[a\x078V[4\x80\x15a\x03\x10W`\0\x80\xFD[Pa\x01\xD3a\x03\x1F6`\x04a\x18\xF7V[a\x07pV[4\x80\x15a\x030W`\0\x80\xFD[Pa\x01\x85`\0\x81V[4\x80\x15a\x03EW`\0\x80\xFD[Pa\x03j`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x01f\x91\x90a\x1D\x11V[4\x80\x15a\x03\x83W`\0\x80\xFD[Pa\x01\xD3a\x03\x926`\x04a\x1D\xD1V[a\x07\x84V[4\x80\x15a\x03\xA3W`\0\x80\xFD[Pa\x01\xD3a\x03\xB26`\x04a\x1B\xCCV[a\t\x81V[4\x80\x15a\x03\xC3W`\0\x80\xFD[Pa\x01\xD3a\x03\xD26`\x04a\x19,V[a\t\x95V[4\x80\x15a\x03\xE3W`\0\x80\xFD[Pa\x01\x85a\x03\xF26`\x04a\x1F2V[a\x01\xF5` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\x11W`\0\x80\xFD[Pa\x01\xD3a\x04 6`\x04a\x1FMV[a\t\xB1V[4\x80\x15a\x041W`\0\x80\xFD[Pa\x01\xD3a\x04@6`\x04a\x1C\x08V[a\t\xC6V[`\0a\x04P\x82a\t\xD0V[\x92\x91PPV[`\0\x90\x81R`\0\x80Q` a#(\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[a\x04\x81\x82a\x04VV[a\x04\x8A\x81a\n\x05V[a\x04\x94\x83\x83a\n\x12V[PPPPV[a\x01\xF4` R`\0\x90\x81R`@\x90 \x80T\x81\x90a\x04\xB6\x90a\x1F\x91V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x04\xE2\x90a\x1F\x91V[\x80\x15a\x05/W\x80`\x1F\x10a\x05\x04Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05/V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05\x12W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90\x80`\x01\x01\x80Ta\x05D\x90a\x1F\x91V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05p\x90a\x1F\x91V[\x80\x15a\x05\xBDW\x80`\x1F\x10a\x05\x92Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\xBDV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05\xA0W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90\x80`\x02\x01\x80Ta\x05\xD2\x90a\x1F\x91V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\xFE\x90a\x1F\x91V[\x80\x15a\x06KW\x80`\x1F\x10a\x06 Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06KV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06.W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x83V[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x06~W`@Qc3K\xD9\x19`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x06\x88\x82\x82a\n\xB7V[PPPV[a\x06\x95a\x0B3V[a\x06\x9E\x82a\x0B\xDAV[a\x06\xA8\x82\x82a\x0B\xE5V[PPV[`\0a\x06\xB6a\x0C\xA7V[P`\0\x80Q` a#\x08\x839\x81Q\x91R\x90V[`\0a\x06\xD4\x81a\n\x05V[a\x06\xF7`@Q\x80``\x01`@R\x80\x86\x81R` \x01\x85\x81R` \x01\x84\x81RPa\x0C\xF0V[PPPPPV[`\0a\x04P\x82a\x0EhV[a\x06\xA8\x82\x82a\x0E\x98V[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a\x07*\x91\x90a \x10V[\x91P\x91Pa\x06\x88\x82\x82a\x10\x04V[`\0\x91\x82R`\0\x80Q` a#(\x839\x81Q\x91R` \x90\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[`\0a\x07{\x81a\n\x05V[a\x06\xA8\x82a\x11\xF6V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\x07\xC9WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a\x07\xE5WP0;\x15[\x90P\x81\x15\x80\x15a\x07\xF3WP\x80\x15[\x15a\x08\x11W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x08;W\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[\x87Q`\0\x03a\x08]W`@Qc\xB6\x0F\"\xAF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x86Q\x88Q\x14a\x08\x7FW`@QcF\xD6\x0BW`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x86\x16a\x08\xA6W`@Qc\x1F`\xF3\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08\xAEa\x12\x98V[a\x08\xB6a\x12\x98V[a\x08\xBEa\x12\x98V[a\x08\xC6a\x12\x98V[a\x08\xD1`\0\x87a\n\x12V[P`\0[\x87Q\x81\x10\x15a\t0W`\0a\t\x02\x8A\x83\x81Q\x81\x10a\x08\xF5Wa\x08\xF5a!\x19V[` \x02` \x01\x01Qa\x0C\xF0V[\x90Pa\t'\x89\x83\x81Q\x81\x10a\t\x19Wa\t\x19a!\x19V[` \x02` \x01\x01Q\x82a\x12\xA0V[P`\x01\x01a\x08\xD5V[P\x83\x15a\twW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPPV[`\0a\t\x8C\x81a\n\x05V[a\x06\xA8\x82a\x13\x83V[a\t\x9E\x82a\x04VV[a\t\xA7\x81a\n\x05V[a\x04\x94\x83\x83a\n\xB7V[`\0a\t\xBC\x81a\n\x05V[a\x06\x88\x83\x83a\x12\xA0V[a\x06\xA8\x82\x82a\x10\x04V[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cye\xDB\x0B`\xE0\x1B\x14\x80a\x04PWPc\x01\xFF\xC9\xA7`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x14a\x04PV[a\n\x0F\x813a\x14&V[PV[`\0`\0\x80Q` a#(\x839\x81Q\x91Ra\n-\x84\x84a\x078V[a\n\xADW`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua\nc3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x85\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4`\x01\x91PPa\x04PV[`\0\x91PPa\x04PV[`\0`\0\x80Q` a#(\x839\x81Q\x91Ra\n\xD2\x84\x84a\x078V[\x15a\n\xADW`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x87\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4`\x01\x91PPa\x04PV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\x0B\xBAWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x0B\xAE`\0\x80Q` a#\x08\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a\x0B\xD8W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[V[`\0a\x06\xA8\x81a\n\x05V[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x0C?WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x0C<\x91\x81\x01\x90a!/V[`\x01[a\x0ClW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80Q` a#\x08\x839\x81Q\x91R\x81\x14a\x0C\x9DW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0CcV[a\x06\x88\x83\x83a\x14_V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x0B\xD8W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80QQ`\0\x90`0\x14\x80\x15a\r\nWP\x81` \x01QQ`0\x14[\x80\x15a\r\x1BWP\x81`@\x01QQ`0\x14[a\r8W`@Qc\x977P\xFF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\0\x01Q\x83` \x01Q\x84`@\x01Q`@Q` \x01a\r[\x93\x92\x91\x90a!HV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81Ra\x01\xF4\x90\x93R\x91 \x80T\x91\x92P\x90a\r\x8F\x90a\x1F\x91V[\x15\x90Pa\r\xAFW`@Qc\x1A3\x94i`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q``\x81\x01\x82R\x84Q\x81R` \x80\x86\x01Q\x81\x83\x01R\x85\x83\x01Q\x82\x84\x01R`\0\x84\x81Ra\x01\xF4\x90\x91R\x91\x90\x91 \x81Q\x81\x90a\r\xEC\x90\x82a!\xD3V[P` \x82\x01Q`\x01\x82\x01\x90a\x0E\x01\x90\x82a!\xD3V[P`@\x82\x01Q`\x02\x82\x01\x90a\x0E\x16\x90\x82a!\xD3V[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x84`\0\x01Q\x85` \x01Q\x86`@\x01Q`@Qa\x0EZ\x93\x92\x91\x90a\x19\xA8V[`@Q\x80\x91\x03\x90\xA2\x92\x91PPV[`\0\x81Q`@\x14a\x0E\x8CW`@Qc\x123\xAD\xCD`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[a\x0E\xA4a\x01,Ba\"\x92V[a\x03\xE8\x82`\x80\x01Qa\x0E\xB6\x91\x90a\"\xB3V[\x11a\x0E\xD4W`@Qci\xBB\x1F\xDD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81` \x01Q\x82`@\x01Q\x83``\x01Q`@Q` \x01a\x0E\xF7\x93\x92\x91\x90a!HV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81Ra\x01\xF4\x90\x93R\x91 \x80T\x91\x92P\x90a\x0F+\x90a\x1F\x91V[\x90P`\0\x03a\x0FMW`@Qcf\x08\x07\x11`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0F\\\x83`\0\x01Qa\x06\xFEV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90 T\x90\x91P\x15a\x0F\x97W`@Qc!u\x1C\xFB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0F\xA1\x84\x84a\x10\x04V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90\x81\x90 \x83\x90U\x83Q\x90Q\x83\x91a\x0F\xCE\x91a\"\xD5V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF4\x83\x7F\x1Af\xA1\xE5\xFB\xDE,@\xD0\xF6\xEF\xF7Q\x83\x13\x9Ey\xB0\xFC\x1E\xAA\xB2\x80\xA3\xA0\xBE8\xE7\xB1\x90`\0\x90\xA3PPPPV[`\0\x7Fh\x89\xDFGl\xA3\x8F?KA|\x17\xEBIf\x82\xEB@\x1BOA\xA2%\x97A\xA7\x8A\xCCH\x1E\xA8\x05\x82`\0\x01Q\x80Q\x90` \x01 \x83` \x01Q\x80Q\x90` \x01 \x84`@\x01Q\x80Q\x90` \x01 \x85``\x01Q\x80Q\x90` \x01 \x86`\x80\x01Q`@Q` \x01a\x10\x94\x96\x95\x94\x93\x92\x91\x90\x95\x86R` \x86\x01\x94\x90\x94R`@\x85\x01\x92\x90\x92R``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xC0\x01\x90V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 \x7F\xB09HDc4\xEB\x9B!\x96\xD5\xEB\x16oi\xB9\xD4\x94\x03\xEBJ\x12\xF3m\xE8\xD3\xF9\xF3\xCB\x8E\x15\xC3\x82\x85\x01R\x7F\xDD\xD5H\x1F\x81\x8A\xBBX\x93\xC8Re\x0Bu\xBD\x1F\x15T\x9C\xD1\xC0#1\xDB~\xD0\x10\xFCa\xE6Nr\x84\x84\x01R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x80\x86\x01\x91\x90\x91R\x83Q\x80\x86\x03\x90\x91\x01\x81R`\x80\x85\x01\x84R\x80Q\x90\x83\x01 a\x19\x01`\xF0\x1B`\xA0\x86\x01R`\xA2\x85\x01R`\xC2\x80\x85\x01\x82\x90R\x83Q\x80\x86\x03\x90\x91\x01\x81R`\xE2\x90\x94\x01\x90\x92R\x82Q\x92\x01\x91\x90\x91 \x90\x91P`\0a\x11w\x82\x86a\x14\xB5V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90 T\x90\x91P\x80a\x11\xB2W`@Qc\x0B\xFD\x93G`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80Ta\x11\xCC\x90a\x1F\x91V[\x90P`\0\x03a\x11\xEEW`@Qcf\x08\x07\x11`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80Ta\x12\x10\x90a\x1F\x91V[\x90P`\0\x03a\x122W`@Qcf\x08\x07\x11`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81Ra\x01\xF4` R`@\x81 \x90a\x12L\x82\x82a\x18\x7FV[a\x12Z`\x01\x83\x01`\0a\x18\x7FV[a\x12h`\x02\x83\x01`\0a\x18\x7FV[PP`@Q\x81\x90\x7FKq\xBE\xDD\xA4!yf\xEA\xC1\xAAI\xE3[\x15P\xE5\xAB\x87\x06J\xE1y\xD1\xB3k9;\xD0N\xB7C\x90`\0\x90\xA2PV[a\x0B\xD8a\x14\xDFV[`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80Ta\x12\xBA\x90a\x1F\x91V[\x90P`\0\x03a\x12\xDCW`@Qcf\x08\x07\x11`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x12\xE7\x83a\x0EhV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90 T\x90\x91P\x15a\x13\"W`@Qc!u\x1C\xFB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90\x81\x90 \x83\x90UQ\x82\x90a\x13N\x90\x85\x90a\"\xD5V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\x03\xE7\xF4\xEF\xA4\xEB\xC4J\xE1\xB5\x12T\xC9\x98\x96y7\xE7b\xB8\xEFx\xA5\xED\xD1P\x1A$\x03\xF6\xF3\x87\x90`\0\x90\xA3PPPV[`\0a\x13\x8E\x82a\x0EhV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90 T\x90\x91Pa\x13\xC8W`@Qc\x0B\xFD\x93G`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x80\x82 \x91\x90\x91UQa\x13\xF2\x90\x83\x90a\"\xD5V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF9\x10\xFDx\xB9\x8E\x95t\xE8\xB6\xF0\xE4+\xC3\xA9\x96\xA6\xAB\xA3wn\xC2\x0B\x9D\x85Q[\xD7Jl\x8F\xE9\x90`\0\x90\xA2PPV[a\x140\x82\x82a\x078V[a\x06\xA8W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a\x0CcV[a\x14h\x82a\x15(V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x14\xADWa\x06\x88\x82\x82a\x15\x8DV[a\x06\xA8a\x16\x03V[`\0\x80`\0\x80a\x14\xC5\x86\x86a\x16\"V[\x92P\x92P\x92Pa\x14\xD5\x82\x82a\x16oV[P\x90\x94\x93PPPPV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a\x0B\xD8W`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x15^W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0CcV[`\0\x80Q` a#\x08\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x15\xAA\x91\x90a\"\xD5V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x15\xE5W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x15\xEAV[``\x91P[P\x91P\x91Pa\x15\xFA\x85\x83\x83a\x17(V[\x95\x94PPPPPV[4\x15a\x0B\xD8W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x83Q`A\x03a\x16\\W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa\x16N\x88\x82\x85\x85a\x17\x87V[\x95P\x95P\x95PPPPa\x16hV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15a\x16\x83Wa\x16\x83a\"\xF1V[\x03a\x16\x8CWPPV[`\x01\x82`\x03\x81\x11\x15a\x16\xA0Wa\x16\xA0a\"\xF1V[\x03a\x16\xBEW`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a\x16\xD2Wa\x16\xD2a\"\xF1V[\x03a\x16\xF3W`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0CcV[`\x03\x82`\x03\x81\x11\x15a\x17\x07Wa\x17\x07a\"\xF1V[\x03a\x06\xA8W`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0CcV[``\x82a\x17=Wa\x178\x82a\x18VV[a\x17\x80V[\x81Q\x15\x80\x15a\x17TWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x17}W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x0CcV[P\x80[\x93\x92PPPV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a\x17\xC2WP`\0\x91P`\x03\x90P\x82a\x18LV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x18\x16W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a\x18BWP`\0\x92P`\x01\x91P\x82\x90Pa\x18LV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[\x80Q\x15a\x18fW\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Ta\x18\x8B\x90a\x1F\x91V[`\0\x82U\x80`\x1F\x10a\x18\x9BWPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\n\x0F\x91\x90[\x80\x82\x11\x15a\x18\xC9W`\0\x81U`\x01\x01a\x18\xB5V[P\x90V[`\0` \x82\x84\x03\x12\x15a\x18\xDFW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x17\x80W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x19\tW`\0\x80\xFD[P5\x91\x90PV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x19'W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x19?W`\0\x80\xFD[\x825\x91Pa\x19O` \x84\x01a\x19\x10V[\x90P\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x19sW\x81\x81\x01Q\x83\x82\x01R` \x01a\x19[V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x19\x94\x81` \x86\x01` \x86\x01a\x19XV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[``\x81R`\0a\x19\xBB``\x83\x01\x86a\x19|V[\x82\x81\x03` \x84\x01Ra\x19\xCD\x81\x86a\x19|V[\x90P\x82\x81\x03`@\x84\x01Ra\x19\xE1\x81\x85a\x19|V[\x96\x95PPPPPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1A#Wa\x1A#a\x19\xEBV[`@R\x90V[`@Q``\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1A#Wa\x1A#a\x19\xEBV[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1AsWa\x1Asa\x19\xEBV[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x1A\x94Wa\x1A\x94a\x19\xEBV[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x1A\xB3W`\0\x80\xFD[\x815a\x1A\xC6a\x1A\xC1\x82a\x1A{V[a\x1AKV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x1A\xDBW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1B\x0BW`\0\x80\xFD[a\x1B\x14\x83a\x19\x10V[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1B/W`\0\x80\xFD[a\x1B;\x85\x82\x86\x01a\x1A\xA2V[\x91PP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x1BZW`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x1BqW`\0\x80\xFD[a\x1B}\x87\x83\x88\x01a\x1A\xA2V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x1B\x93W`\0\x80\xFD[a\x1B\x9F\x87\x83\x88\x01a\x1A\xA2V[\x93P`@\x86\x015\x91P\x80\x82\x11\x15a\x1B\xB5W`\0\x80\xFD[Pa\x1B\xC2\x86\x82\x87\x01a\x1A\xA2V[\x91PP\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x1B\xDEW`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1B\xF4W`\0\x80\xFD[a\x1C\0\x84\x82\x85\x01a\x1A\xA2V[\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1C\x1BW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x1C2W`\0\x80\xFD[a\x1C>\x86\x83\x87\x01a\x1A\xA2V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x1CTW`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x1ChW`\0\x80\xFD[a\x1Cpa\x1A\x01V[\x825\x82\x81\x11\x15a\x1C\x7FW`\0\x80\xFD[a\x1C\x8B\x88\x82\x86\x01a\x1A\xA2V[\x82RP` \x83\x015\x82\x81\x11\x15a\x1C\xA0W`\0\x80\xFD[a\x1C\xAC\x88\x82\x86\x01a\x1A\xA2V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x1C\xC4W`\0\x80\xFD[a\x1C\xD0\x88\x82\x86\x01a\x1A\xA2V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\x1C\xE8W`\0\x80\xFD[a\x1C\xF4\x88\x82\x86\x01a\x1A\xA2V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[` \x81R`\0a\x17\x80` \x83\x01\x84a\x19|V[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x1D=Wa\x1D=a\x19\xEBV[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x1DXW`\0\x80\xFD[\x815` a\x1Dha\x1A\xC1\x83a\x1D$V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a\x1D\x87W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x1D\xC6W\x805`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1D\xAAW`\0\x80\x81\xFD[a\x1D\xB8\x89\x86\x83\x8B\x01\x01a\x1A\xA2V[\x84RP\x91\x83\x01\x91\x83\x01a\x1D\x8BV[P\x96\x95PPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x1D\xE6W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x1D\xFDW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\x1E\x11W`\0\x80\xFD[\x815` a\x1E!a\x1A\xC1\x83a\x1D$V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\x1E@W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x1E\xF6W\x805\x86\x81\x11\x15a\x1E[W`\0\x80\xFD[\x87\x01``\x81\x8E\x03`\x1F\x19\x01\x12\x15a\x1EqW`\0\x80\xFD[a\x1Eya\x1A)V[\x85\x82\x015\x88\x81\x11\x15a\x1E\x8AW`\0\x80\xFD[a\x1E\x98\x8F\x88\x83\x86\x01\x01a\x1A\xA2V[\x82RP`@\x82\x015\x88\x81\x11\x15a\x1E\xAEW`\0\x80\x81\xFD[a\x1E\xBC\x8F\x88\x83\x86\x01\x01a\x1A\xA2V[\x87\x83\x01RP``\x82\x015\x88\x81\x11\x15a\x1E\xD4W`\0\x80\x81\xFD[a\x1E\xE2\x8F\x88\x83\x86\x01\x01a\x1A\xA2V[`@\x83\x01RP\x84RP\x91\x83\x01\x91\x83\x01a\x1EDV[P\x97PP\x87\x015\x92PP\x80\x82\x11\x15a\x1F\rW`\0\x80\xFD[Pa\x1F\x1A\x86\x82\x87\x01a\x1DGV[\x92PPa\x1F)`@\x85\x01a\x19\x10V[\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x1FDW`\0\x80\xFD[a\x17\x80\x82a\x19\x10V[`\0\x80`@\x83\x85\x03\x12\x15a\x1F`W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1FvW`\0\x80\xFD[a\x1F\x82\x85\x82\x86\x01a\x1A\xA2V[\x95` \x94\x90\x94\x015\x94PPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x1F\xA5W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x1F\xC5WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x1F\xDCW`\0\x80\xFD[\x81Qa\x1F\xEAa\x1A\xC1\x82a\x1A{V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x1F\xFFW`\0\x80\xFD[a\x1C\0\x82` \x83\x01` \x87\x01a\x19XV[`\0\x80`@\x83\x85\x03\x12\x15a #W`\0\x80\xFD[\x82Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a :W`\0\x80\xFD[a F\x86\x83\x87\x01a\x1F\xCBV[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a \\W`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a pW`\0\x80\xFD[a xa\x1A\x01V[\x82Q\x82\x81\x11\x15a \x87W`\0\x80\xFD[a \x93\x88\x82\x86\x01a\x1F\xCBV[\x82RP` \x83\x01Q\x82\x81\x11\x15a \xA8W`\0\x80\xFD[a \xB4\x88\x82\x86\x01a\x1F\xCBV[` \x83\x01RP`@\x83\x01Q\x82\x81\x11\x15a \xCCW`\0\x80\xFD[a \xD8\x88\x82\x86\x01a\x1F\xCBV[`@\x83\x01RP``\x83\x01Q\x82\x81\x11\x15a \xF0W`\0\x80\xFD[a \xFC\x88\x82\x86\x01a\x1F\xCBV[``\x83\x01RP`\x80\x83\x01Q`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a!AW`\0\x80\xFD[PQ\x91\x90PV[`\0\x84Qa!Z\x81\x84` \x89\x01a\x19XV[\x84Q\x90\x83\x01\x90a!n\x81\x83` \x89\x01a\x19XV[\x84Q\x91\x01\x90a!\x81\x81\x83` \x88\x01a\x19XV[\x01\x95\x94PPPPPV[`\x1F\x82\x11\x15a\x06\x88W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a!\xB4WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x11\xEEW\x82\x81U`\x01\x01a!\xC0V[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a!\xECWa!\xECa\x19\xEBV[a\"\0\x81a!\xFA\x84Ta\x1F\x91V[\x84a!\x8BV[` \x80`\x1F\x83\x11`\x01\x81\x14a\"5W`\0\x84\x15a\"\x1DWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x11\xEEV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\"dW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\"EV[P\x85\x82\x10\x15a\"\x82W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[\x81\x81\x03\x81\x81\x11\x15a\x04PWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\"\xD0WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0\x82Qa\"\xE7\x81\x84` \x87\x01a\x19XV[\x91\x90\x91\x01\x92\x91PPV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\xA2dipfsX\"\x12 \x0C\x8A\nv\x01\xB8\xA3\xE4f\xA5\xB2N\x04Ks\xE9\x16\x9E\xBC\x82\xB1\xA4B\xFD9y\"e5\xEE\x9D\"dsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static ATTESTATIONVERIFIER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x015W`\x005`\xE0\x1C\x80c\x8Ev\n\xFE\x11a\0\xABW\x80c\xC6Z\x91j\x11a\0oW\x80c\xC6Z\x91j\x14a\x03wW\x80c\xD17\x14\xB4\x14a\x03\x97W\x80c\xD5Gt\x1F\x14a\x03\xB7W\x80c\xDA\x99L\xD8\x14a\x03\xD7W\x80c\xDE\xBFrk\x14a\x04\x05W\x80c\xEA\xC7\x08\xA3\x14a\x04%W`\0\x80\xFD[\x80c\x8Ev\n\xFE\x14a\x02\xC4W\x80c\x91\xD1HT\x14a\x02\xE4W\x80c\x95\xC6\x02\x94\x14a\x03\x04W\x80c\xA2\x17\xFD\xDF\x14a\x03$W\x80c\xAD<\xB1\xCC\x14a\x039W`\0\x80\xFD[\x80c6V\x8A\xBE\x11a\0\xFDW\x80c6V\x8A\xBE\x14a\x02\x04W\x80cO\x1E\xF2\x86\x14a\x02$W\x80cR\xD1\x90-\x14a\x027W\x80ci\x81^W\x14a\x02LW\x80cp\xAE\x99*\x14a\x02lW\x80cu\x84{\x84\x14a\x02\xA4W`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x01:W\x80c\r\xCA\xEA\xF2\x14a\x01oW\x80c$\x8A\x9C\xA3\x14a\x01\x93W\x80c//\xF1]\x14a\x01\xB3W\x80c/\x9B\n\xD7\x14a\x01\xD5W[`\0\x80\xFD[4\x80\x15a\x01FW`\0\x80\xFD[Pa\x01Za\x01U6`\x04a\x18\xCDV[a\x04EV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01{W`\0\x80\xFD[Pa\x01\x85a\x01,\x81V[`@Q\x90\x81R` \x01a\x01fV[4\x80\x15a\x01\x9FW`\0\x80\xFD[Pa\x01\x85a\x01\xAE6`\x04a\x18\xF7V[a\x04VV[4\x80\x15a\x01\xBFW`\0\x80\xFD[Pa\x01\xD3a\x01\xCE6`\x04a\x19,V[a\x04xV[\0[4\x80\x15a\x01\xE1W`\0\x80\xFD[Pa\x01\xF5a\x01\xF06`\x04a\x18\xF7V[a\x04\x9AV[`@Qa\x01f\x93\x92\x91\x90a\x19\xA8V[4\x80\x15a\x02\x10W`\0\x80\xFD[Pa\x01\xD3a\x02\x1F6`\x04a\x19,V[a\x06UV[a\x01\xD3a\x0226`\x04a\x1A\xF8V[a\x06\x8DV[4\x80\x15a\x02CW`\0\x80\xFD[Pa\x01\x85a\x06\xACV[4\x80\x15a\x02XW`\0\x80\xFD[Pa\x01\xD3a\x02g6`\x04a\x1BEV[a\x06\xC9V[4\x80\x15a\x02xW`\0\x80\xFD[Pa\x02\x8Ca\x02\x876`\x04a\x1B\xCCV[a\x06\xFEV[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01fV[4\x80\x15a\x02\xB0W`\0\x80\xFD[Pa\x01\xD3a\x02\xBF6`\x04a\x1C\x08V[a\x07\tV[4\x80\x15a\x02\xD0W`\0\x80\xFD[Pa\x01\xD3a\x02\xDF6`\x04a\x1B\xCCV[a\x07\x13V[4\x80\x15a\x02\xF0W`\0\x80\xFD[Pa\x01Za\x02\xFF6`\x04a\x19,V[a\x078V[4\x80\x15a\x03\x10W`\0\x80\xFD[Pa\x01\xD3a\x03\x1F6`\x04a\x18\xF7V[a\x07pV[4\x80\x15a\x030W`\0\x80\xFD[Pa\x01\x85`\0\x81V[4\x80\x15a\x03EW`\0\x80\xFD[Pa\x03j`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x01f\x91\x90a\x1D\x11V[4\x80\x15a\x03\x83W`\0\x80\xFD[Pa\x01\xD3a\x03\x926`\x04a\x1D\xD1V[a\x07\x84V[4\x80\x15a\x03\xA3W`\0\x80\xFD[Pa\x01\xD3a\x03\xB26`\x04a\x1B\xCCV[a\t\x81V[4\x80\x15a\x03\xC3W`\0\x80\xFD[Pa\x01\xD3a\x03\xD26`\x04a\x19,V[a\t\x95V[4\x80\x15a\x03\xE3W`\0\x80\xFD[Pa\x01\x85a\x03\xF26`\x04a\x1F2V[a\x01\xF5` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\x11W`\0\x80\xFD[Pa\x01\xD3a\x04 6`\x04a\x1FMV[a\t\xB1V[4\x80\x15a\x041W`\0\x80\xFD[Pa\x01\xD3a\x04@6`\x04a\x1C\x08V[a\t\xC6V[`\0a\x04P\x82a\t\xD0V[\x92\x91PPV[`\0\x90\x81R`\0\x80Q` a#(\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[a\x04\x81\x82a\x04VV[a\x04\x8A\x81a\n\x05V[a\x04\x94\x83\x83a\n\x12V[PPPPV[a\x01\xF4` R`\0\x90\x81R`@\x90 \x80T\x81\x90a\x04\xB6\x90a\x1F\x91V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x04\xE2\x90a\x1F\x91V[\x80\x15a\x05/W\x80`\x1F\x10a\x05\x04Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05/V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05\x12W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90\x80`\x01\x01\x80Ta\x05D\x90a\x1F\x91V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05p\x90a\x1F\x91V[\x80\x15a\x05\xBDW\x80`\x1F\x10a\x05\x92Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\xBDV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05\xA0W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90\x80`\x02\x01\x80Ta\x05\xD2\x90a\x1F\x91V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\xFE\x90a\x1F\x91V[\x80\x15a\x06KW\x80`\x1F\x10a\x06 Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06KV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06.W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x83V[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x06~W`@Qc3K\xD9\x19`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x06\x88\x82\x82a\n\xB7V[PPPV[a\x06\x95a\x0B3V[a\x06\x9E\x82a\x0B\xDAV[a\x06\xA8\x82\x82a\x0B\xE5V[PPV[`\0a\x06\xB6a\x0C\xA7V[P`\0\x80Q` a#\x08\x839\x81Q\x91R\x90V[`\0a\x06\xD4\x81a\n\x05V[a\x06\xF7`@Q\x80``\x01`@R\x80\x86\x81R` \x01\x85\x81R` \x01\x84\x81RPa\x0C\xF0V[PPPPPV[`\0a\x04P\x82a\x0EhV[a\x06\xA8\x82\x82a\x0E\x98V[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a\x07*\x91\x90a \x10V[\x91P\x91Pa\x06\x88\x82\x82a\x10\x04V[`\0\x91\x82R`\0\x80Q` a#(\x839\x81Q\x91R` \x90\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[`\0a\x07{\x81a\n\x05V[a\x06\xA8\x82a\x11\xF6V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\x07\xC9WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a\x07\xE5WP0;\x15[\x90P\x81\x15\x80\x15a\x07\xF3WP\x80\x15[\x15a\x08\x11W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x08;W\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[\x87Q`\0\x03a\x08]W`@Qc\xB6\x0F\"\xAF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x86Q\x88Q\x14a\x08\x7FW`@QcF\xD6\x0BW`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x86\x16a\x08\xA6W`@Qc\x1F`\xF3\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08\xAEa\x12\x98V[a\x08\xB6a\x12\x98V[a\x08\xBEa\x12\x98V[a\x08\xC6a\x12\x98V[a\x08\xD1`\0\x87a\n\x12V[P`\0[\x87Q\x81\x10\x15a\t0W`\0a\t\x02\x8A\x83\x81Q\x81\x10a\x08\xF5Wa\x08\xF5a!\x19V[` \x02` \x01\x01Qa\x0C\xF0V[\x90Pa\t'\x89\x83\x81Q\x81\x10a\t\x19Wa\t\x19a!\x19V[` \x02` \x01\x01Q\x82a\x12\xA0V[P`\x01\x01a\x08\xD5V[P\x83\x15a\twW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPPV[`\0a\t\x8C\x81a\n\x05V[a\x06\xA8\x82a\x13\x83V[a\t\x9E\x82a\x04VV[a\t\xA7\x81a\n\x05V[a\x04\x94\x83\x83a\n\xB7V[`\0a\t\xBC\x81a\n\x05V[a\x06\x88\x83\x83a\x12\xA0V[a\x06\xA8\x82\x82a\x10\x04V[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cye\xDB\x0B`\xE0\x1B\x14\x80a\x04PWPc\x01\xFF\xC9\xA7`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x14a\x04PV[a\n\x0F\x813a\x14&V[PV[`\0`\0\x80Q` a#(\x839\x81Q\x91Ra\n-\x84\x84a\x078V[a\n\xADW`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua\nc3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x85\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4`\x01\x91PPa\x04PV[`\0\x91PPa\x04PV[`\0`\0\x80Q` a#(\x839\x81Q\x91Ra\n\xD2\x84\x84a\x078V[\x15a\n\xADW`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x87\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4`\x01\x91PPa\x04PV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\x0B\xBAWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x0B\xAE`\0\x80Q` a#\x08\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a\x0B\xD8W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[V[`\0a\x06\xA8\x81a\n\x05V[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x0C?WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x0C<\x91\x81\x01\x90a!/V[`\x01[a\x0ClW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80Q` a#\x08\x839\x81Q\x91R\x81\x14a\x0C\x9DW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0CcV[a\x06\x88\x83\x83a\x14_V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x0B\xD8W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80QQ`\0\x90`0\x14\x80\x15a\r\nWP\x81` \x01QQ`0\x14[\x80\x15a\r\x1BWP\x81`@\x01QQ`0\x14[a\r8W`@Qc\x977P\xFF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\0\x01Q\x83` \x01Q\x84`@\x01Q`@Q` \x01a\r[\x93\x92\x91\x90a!HV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81Ra\x01\xF4\x90\x93R\x91 \x80T\x91\x92P\x90a\r\x8F\x90a\x1F\x91V[\x15\x90Pa\r\xAFW`@Qc\x1A3\x94i`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q``\x81\x01\x82R\x84Q\x81R` \x80\x86\x01Q\x81\x83\x01R\x85\x83\x01Q\x82\x84\x01R`\0\x84\x81Ra\x01\xF4\x90\x91R\x91\x90\x91 \x81Q\x81\x90a\r\xEC\x90\x82a!\xD3V[P` \x82\x01Q`\x01\x82\x01\x90a\x0E\x01\x90\x82a!\xD3V[P`@\x82\x01Q`\x02\x82\x01\x90a\x0E\x16\x90\x82a!\xD3V[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x84`\0\x01Q\x85` \x01Q\x86`@\x01Q`@Qa\x0EZ\x93\x92\x91\x90a\x19\xA8V[`@Q\x80\x91\x03\x90\xA2\x92\x91PPV[`\0\x81Q`@\x14a\x0E\x8CW`@Qc\x123\xAD\xCD`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[a\x0E\xA4a\x01,Ba\"\x92V[a\x03\xE8\x82`\x80\x01Qa\x0E\xB6\x91\x90a\"\xB3V[\x11a\x0E\xD4W`@Qci\xBB\x1F\xDD`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81` \x01Q\x82`@\x01Q\x83``\x01Q`@Q` \x01a\x0E\xF7\x93\x92\x91\x90a!HV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81Ra\x01\xF4\x90\x93R\x91 \x80T\x91\x92P\x90a\x0F+\x90a\x1F\x91V[\x90P`\0\x03a\x0FMW`@Qcf\x08\x07\x11`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0F\\\x83`\0\x01Qa\x06\xFEV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90 T\x90\x91P\x15a\x0F\x97W`@Qc!u\x1C\xFB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0F\xA1\x84\x84a\x10\x04V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90\x81\x90 \x83\x90U\x83Q\x90Q\x83\x91a\x0F\xCE\x91a\"\xD5V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF4\x83\x7F\x1Af\xA1\xE5\xFB\xDE,@\xD0\xF6\xEF\xF7Q\x83\x13\x9Ey\xB0\xFC\x1E\xAA\xB2\x80\xA3\xA0\xBE8\xE7\xB1\x90`\0\x90\xA3PPPPV[`\0\x7Fh\x89\xDFGl\xA3\x8F?KA|\x17\xEBIf\x82\xEB@\x1BOA\xA2%\x97A\xA7\x8A\xCCH\x1E\xA8\x05\x82`\0\x01Q\x80Q\x90` \x01 \x83` \x01Q\x80Q\x90` \x01 \x84`@\x01Q\x80Q\x90` \x01 \x85``\x01Q\x80Q\x90` \x01 \x86`\x80\x01Q`@Q` \x01a\x10\x94\x96\x95\x94\x93\x92\x91\x90\x95\x86R` \x86\x01\x94\x90\x94R`@\x85\x01\x92\x90\x92R``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xC0\x01\x90V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 \x7F\xB09HDc4\xEB\x9B!\x96\xD5\xEB\x16oi\xB9\xD4\x94\x03\xEBJ\x12\xF3m\xE8\xD3\xF9\xF3\xCB\x8E\x15\xC3\x82\x85\x01R\x7F\xDD\xD5H\x1F\x81\x8A\xBBX\x93\xC8Re\x0Bu\xBD\x1F\x15T\x9C\xD1\xC0#1\xDB~\xD0\x10\xFCa\xE6Nr\x84\x84\x01R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x80\x86\x01\x91\x90\x91R\x83Q\x80\x86\x03\x90\x91\x01\x81R`\x80\x85\x01\x84R\x80Q\x90\x83\x01 a\x19\x01`\xF0\x1B`\xA0\x86\x01R`\xA2\x85\x01R`\xC2\x80\x85\x01\x82\x90R\x83Q\x80\x86\x03\x90\x91\x01\x81R`\xE2\x90\x94\x01\x90\x92R\x82Q\x92\x01\x91\x90\x91 \x90\x91P`\0a\x11w\x82\x86a\x14\xB5V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90 T\x90\x91P\x80a\x11\xB2W`@Qc\x0B\xFD\x93G`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80Ta\x11\xCC\x90a\x1F\x91V[\x90P`\0\x03a\x11\xEEW`@Qcf\x08\x07\x11`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80Ta\x12\x10\x90a\x1F\x91V[\x90P`\0\x03a\x122W`@Qcf\x08\x07\x11`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81Ra\x01\xF4` R`@\x81 \x90a\x12L\x82\x82a\x18\x7FV[a\x12Z`\x01\x83\x01`\0a\x18\x7FV[a\x12h`\x02\x83\x01`\0a\x18\x7FV[PP`@Q\x81\x90\x7FKq\xBE\xDD\xA4!yf\xEA\xC1\xAAI\xE3[\x15P\xE5\xAB\x87\x06J\xE1y\xD1\xB3k9;\xD0N\xB7C\x90`\0\x90\xA2PV[a\x0B\xD8a\x14\xDFV[`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80Ta\x12\xBA\x90a\x1F\x91V[\x90P`\0\x03a\x12\xDCW`@Qcf\x08\x07\x11`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x12\xE7\x83a\x0EhV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90 T\x90\x91P\x15a\x13\"W`@Qc!u\x1C\xFB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90\x81\x90 \x83\x90UQ\x82\x90a\x13N\x90\x85\x90a\"\xD5V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\x03\xE7\xF4\xEF\xA4\xEB\xC4J\xE1\xB5\x12T\xC9\x98\x96y7\xE7b\xB8\xEFx\xA5\xED\xD1P\x1A$\x03\xF6\xF3\x87\x90`\0\x90\xA3PPPV[`\0a\x13\x8E\x82a\x0EhV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x90 T\x90\x91Pa\x13\xC8W`@Qc\x0B\xFD\x93G`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF5` R`@\x80\x82 \x91\x90\x91UQa\x13\xF2\x90\x83\x90a\"\xD5V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF9\x10\xFDx\xB9\x8E\x95t\xE8\xB6\xF0\xE4+\xC3\xA9\x96\xA6\xAB\xA3wn\xC2\x0B\x9D\x85Q[\xD7Jl\x8F\xE9\x90`\0\x90\xA2PPV[a\x140\x82\x82a\x078V[a\x06\xA8W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a\x0CcV[a\x14h\x82a\x15(V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x14\xADWa\x06\x88\x82\x82a\x15\x8DV[a\x06\xA8a\x16\x03V[`\0\x80`\0\x80a\x14\xC5\x86\x86a\x16\"V[\x92P\x92P\x92Pa\x14\xD5\x82\x82a\x16oV[P\x90\x94\x93PPPPV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a\x0B\xD8W`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x15^W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0CcV[`\0\x80Q` a#\x08\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x15\xAA\x91\x90a\"\xD5V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x15\xE5W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x15\xEAV[``\x91P[P\x91P\x91Pa\x15\xFA\x85\x83\x83a\x17(V[\x95\x94PPPPPV[4\x15a\x0B\xD8W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x83Q`A\x03a\x16\\W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa\x16N\x88\x82\x85\x85a\x17\x87V[\x95P\x95P\x95PPPPa\x16hV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15a\x16\x83Wa\x16\x83a\"\xF1V[\x03a\x16\x8CWPPV[`\x01\x82`\x03\x81\x11\x15a\x16\xA0Wa\x16\xA0a\"\xF1V[\x03a\x16\xBEW`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a\x16\xD2Wa\x16\xD2a\"\xF1V[\x03a\x16\xF3W`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0CcV[`\x03\x82`\x03\x81\x11\x15a\x17\x07Wa\x17\x07a\"\xF1V[\x03a\x06\xA8W`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0CcV[``\x82a\x17=Wa\x178\x82a\x18VV[a\x17\x80V[\x81Q\x15\x80\x15a\x17TWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x17}W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x0CcV[P\x80[\x93\x92PPPV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a\x17\xC2WP`\0\x91P`\x03\x90P\x82a\x18LV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x18\x16W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a\x18BWP`\0\x92P`\x01\x91P\x82\x90Pa\x18LV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[\x80Q\x15a\x18fW\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Ta\x18\x8B\x90a\x1F\x91V[`\0\x82U\x80`\x1F\x10a\x18\x9BWPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\n\x0F\x91\x90[\x80\x82\x11\x15a\x18\xC9W`\0\x81U`\x01\x01a\x18\xB5V[P\x90V[`\0` \x82\x84\x03\x12\x15a\x18\xDFW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x17\x80W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x19\tW`\0\x80\xFD[P5\x91\x90PV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x19'W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x19?W`\0\x80\xFD[\x825\x91Pa\x19O` \x84\x01a\x19\x10V[\x90P\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x19sW\x81\x81\x01Q\x83\x82\x01R` \x01a\x19[V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x19\x94\x81` \x86\x01` \x86\x01a\x19XV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[``\x81R`\0a\x19\xBB``\x83\x01\x86a\x19|V[\x82\x81\x03` \x84\x01Ra\x19\xCD\x81\x86a\x19|V[\x90P\x82\x81\x03`@\x84\x01Ra\x19\xE1\x81\x85a\x19|V[\x96\x95PPPPPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1A#Wa\x1A#a\x19\xEBV[`@R\x90V[`@Q``\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1A#Wa\x1A#a\x19\xEBV[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1AsWa\x1Asa\x19\xEBV[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x1A\x94Wa\x1A\x94a\x19\xEBV[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x1A\xB3W`\0\x80\xFD[\x815a\x1A\xC6a\x1A\xC1\x82a\x1A{V[a\x1AKV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x1A\xDBW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1B\x0BW`\0\x80\xFD[a\x1B\x14\x83a\x19\x10V[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1B/W`\0\x80\xFD[a\x1B;\x85\x82\x86\x01a\x1A\xA2V[\x91PP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x1BZW`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x1BqW`\0\x80\xFD[a\x1B}\x87\x83\x88\x01a\x1A\xA2V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x1B\x93W`\0\x80\xFD[a\x1B\x9F\x87\x83\x88\x01a\x1A\xA2V[\x93P`@\x86\x015\x91P\x80\x82\x11\x15a\x1B\xB5W`\0\x80\xFD[Pa\x1B\xC2\x86\x82\x87\x01a\x1A\xA2V[\x91PP\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x1B\xDEW`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1B\xF4W`\0\x80\xFD[a\x1C\0\x84\x82\x85\x01a\x1A\xA2V[\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1C\x1BW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x1C2W`\0\x80\xFD[a\x1C>\x86\x83\x87\x01a\x1A\xA2V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x1CTW`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x1ChW`\0\x80\xFD[a\x1Cpa\x1A\x01V[\x825\x82\x81\x11\x15a\x1C\x7FW`\0\x80\xFD[a\x1C\x8B\x88\x82\x86\x01a\x1A\xA2V[\x82RP` \x83\x015\x82\x81\x11\x15a\x1C\xA0W`\0\x80\xFD[a\x1C\xAC\x88\x82\x86\x01a\x1A\xA2V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x1C\xC4W`\0\x80\xFD[a\x1C\xD0\x88\x82\x86\x01a\x1A\xA2V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\x1C\xE8W`\0\x80\xFD[a\x1C\xF4\x88\x82\x86\x01a\x1A\xA2V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[` \x81R`\0a\x17\x80` \x83\x01\x84a\x19|V[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x1D=Wa\x1D=a\x19\xEBV[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x1DXW`\0\x80\xFD[\x815` a\x1Dha\x1A\xC1\x83a\x1D$V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a\x1D\x87W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x1D\xC6W\x805`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1D\xAAW`\0\x80\x81\xFD[a\x1D\xB8\x89\x86\x83\x8B\x01\x01a\x1A\xA2V[\x84RP\x91\x83\x01\x91\x83\x01a\x1D\x8BV[P\x96\x95PPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x1D\xE6W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x1D\xFDW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\x1E\x11W`\0\x80\xFD[\x815` a\x1E!a\x1A\xC1\x83a\x1D$V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\x1E@W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x1E\xF6W\x805\x86\x81\x11\x15a\x1E[W`\0\x80\xFD[\x87\x01``\x81\x8E\x03`\x1F\x19\x01\x12\x15a\x1EqW`\0\x80\xFD[a\x1Eya\x1A)V[\x85\x82\x015\x88\x81\x11\x15a\x1E\x8AW`\0\x80\xFD[a\x1E\x98\x8F\x88\x83\x86\x01\x01a\x1A\xA2V[\x82RP`@\x82\x015\x88\x81\x11\x15a\x1E\xAEW`\0\x80\x81\xFD[a\x1E\xBC\x8F\x88\x83\x86\x01\x01a\x1A\xA2V[\x87\x83\x01RP``\x82\x015\x88\x81\x11\x15a\x1E\xD4W`\0\x80\x81\xFD[a\x1E\xE2\x8F\x88\x83\x86\x01\x01a\x1A\xA2V[`@\x83\x01RP\x84RP\x91\x83\x01\x91\x83\x01a\x1EDV[P\x97PP\x87\x015\x92PP\x80\x82\x11\x15a\x1F\rW`\0\x80\xFD[Pa\x1F\x1A\x86\x82\x87\x01a\x1DGV[\x92PPa\x1F)`@\x85\x01a\x19\x10V[\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x1FDW`\0\x80\xFD[a\x17\x80\x82a\x19\x10V[`\0\x80`@\x83\x85\x03\x12\x15a\x1F`W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1FvW`\0\x80\xFD[a\x1F\x82\x85\x82\x86\x01a\x1A\xA2V[\x95` \x94\x90\x94\x015\x94PPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x1F\xA5W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x1F\xC5WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x1F\xDCW`\0\x80\xFD[\x81Qa\x1F\xEAa\x1A\xC1\x82a\x1A{V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x1F\xFFW`\0\x80\xFD[a\x1C\0\x82` \x83\x01` \x87\x01a\x19XV[`\0\x80`@\x83\x85\x03\x12\x15a #W`\0\x80\xFD[\x82Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a :W`\0\x80\xFD[a F\x86\x83\x87\x01a\x1F\xCBV[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a \\W`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a pW`\0\x80\xFD[a xa\x1A\x01V[\x82Q\x82\x81\x11\x15a \x87W`\0\x80\xFD[a \x93\x88\x82\x86\x01a\x1F\xCBV[\x82RP` \x83\x01Q\x82\x81\x11\x15a \xA8W`\0\x80\xFD[a \xB4\x88\x82\x86\x01a\x1F\xCBV[` \x83\x01RP`@\x83\x01Q\x82\x81\x11\x15a \xCCW`\0\x80\xFD[a \xD8\x88\x82\x86\x01a\x1F\xCBV[`@\x83\x01RP``\x83\x01Q\x82\x81\x11\x15a \xF0W`\0\x80\xFD[a \xFC\x88\x82\x86\x01a\x1F\xCBV[``\x83\x01RP`\x80\x83\x01Q`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a!AW`\0\x80\xFD[PQ\x91\x90PV[`\0\x84Qa!Z\x81\x84` \x89\x01a\x19XV[\x84Q\x90\x83\x01\x90a!n\x81\x83` \x89\x01a\x19XV[\x84Q\x91\x01\x90a!\x81\x81\x83` \x88\x01a\x19XV[\x01\x95\x94PPPPPV[`\x1F\x82\x11\x15a\x06\x88W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a!\xB4WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x11\xEEW\x82\x81U`\x01\x01a!\xC0V[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a!\xECWa!\xECa\x19\xEBV[a\"\0\x81a!\xFA\x84Ta\x1F\x91V[\x84a!\x8BV[` \x80`\x1F\x83\x11`\x01\x81\x14a\"5W`\0\x84\x15a\"\x1DWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x11\xEEV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\"dW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\"EV[P\x85\x82\x10\x15a\"\x82W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[\x81\x81\x03\x81\x81\x11\x15a\x04PWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\"\xD0WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0\x82Qa\"\xE7\x81\x84` \x87\x01a\x19XV[\x91\x90\x91\x01\x92\x91PPV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\xA2dipfsX\"\x12 \x0C\x8A\nv\x01\xB8\xA3\xE4f\xA5\xB2N\x04Ks\xE9\x16\x9E\xBC\x82\xB1\xA4B\xFD9y\"e5\xEE\x9D\"dsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static ATTESTATIONVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct AttestationVerifier(::ethers::contract::Contract); - impl ::core::clone::Clone for AttestationVerifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for AttestationVerifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for AttestationVerifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for AttestationVerifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(AttestationVerifier)) - .field(&self.address()) - .finish() - } - } - impl AttestationVerifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ATTESTATIONVERIFIER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - ATTESTATIONVERIFIER_ABI.clone(), - ATTESTATIONVERIFIER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `DEFAULT_ADMIN_ROLE` (0xa217fddf) function - pub fn default_admin_role( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([162, 23, 253, 223], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `MAX_AGE` (0x0dcaeaf2) function - pub fn max_age( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([13, 202, 234, 242], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `UPGRADE_INTERFACE_VERSION` (0xad3cb1cc) function - pub fn upgrade_interface_version( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([173, 60, 177, 204], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `getRoleAdmin` (0x248a9ca3) function - pub fn get_role_admin( - &self, - role: [u8; 32], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([36, 138, 156, 163], role) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `grantRole` (0x2f2ff15d) function - pub fn grant_role( - &self, - role: [u8; 32], - account: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([47, 47, 241, 93], (role, account)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `hasRole` (0x91d14854) function - pub fn has_role( - &self, - role: [u8; 32], - account: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([145, 209, 72, 84], (role, account)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `initialize` (0xc65a916a) function - pub fn initialize( - &self, - images: ::std::vec::Vec, - enclave_keys: ::std::vec::Vec<::ethers::core::types::Bytes>, - admin: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([198, 90, 145, 106], (images, enclave_keys, admin)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `proxiableUUID` (0x52d1902d) function - pub fn proxiable_uuid(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([82, 209, 144, 45], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `pubKeyToAddress` (0x70ae992a) function - pub fn pub_key_to_address( - &self, - pub_key: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([112, 174, 153, 42], pub_key) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `renounceRole` (0x36568abe) function - pub fn renounce_role( - &self, - role: [u8; 32], - caller_confirmation: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([54, 86, 138, 190], (role, caller_confirmation)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `revokeEnclaveImage` (0x95c60294) function - pub fn revoke_enclave_image( - &self, - image_id: [u8; 32], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([149, 198, 2, 148], image_id) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `revokeEnclaveKey` (0xd13714b4) function - pub fn revoke_enclave_key( - &self, - enclave_pub_key: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([209, 55, 20, 180], enclave_pub_key) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `revokeRole` (0xd547741f) function - pub fn revoke_role( - &self, - role: [u8; 32], - account: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([213, 71, 116, 31], (role, account)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `supportsInterface` (0x01ffc9a7) function - pub fn supports_interface( - &self, - interface_id: [u8; 4], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([1, 255, 201, 167], interface_id) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `upgradeToAndCall` (0x4f1ef286) function - pub fn upgrade_to_and_call( - &self, - new_implementation: ::ethers::core::types::Address, - data: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([79, 30, 242, 134], (new_implementation, data)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifiedKeys` (0xda994cd8) function - pub fn verified_keys( - &self, - p0: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([218, 153, 76, 216], p0) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0x8e760afe) function - pub fn verify( - &self, - data: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([142, 118, 10, 254], data) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0xeac708a3) function - pub fn verify_with_signature( - &self, - signature: ::ethers::core::types::Bytes, - attestation: Attestation, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([234, 199, 8, 163], (signature, attestation)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyEnclaveKey` (0x75847b84) function - pub fn verify_enclave_key( - &self, - signature: ::ethers::core::types::Bytes, - attestation: Attestation, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([117, 132, 123, 132], (signature, attestation)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `whitelistEnclaveImage` (0x69815e57) function - pub fn whitelist_enclave_image( - &self, - pcr0: ::ethers::core::types::Bytes, - pcr1: ::ethers::core::types::Bytes, - pcr2: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([105, 129, 94, 87], (pcr0, pcr1, pcr2)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `whitelistEnclaveKey` (0xdebf726b) function - pub fn whitelist_enclave_key( - &self, - enclave_pub_key: ::ethers::core::types::Bytes, - image_id: [u8; 32], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([222, 191, 114, 107], (enclave_pub_key, image_id)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `whitelistedImages` (0x2f9b0ad7) function - pub fn whitelisted_images( - &self, - p0: [u8; 32], - ) -> ::ethers::contract::builders::ContractCall< - M, - ( - ::ethers::core::types::Bytes, - ::ethers::core::types::Bytes, - ::ethers::core::types::Bytes, - ), - > { - self.0 - .method_hash([47, 155, 10, 215], p0) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `EnclaveImageRevoked` event - pub fn enclave_image_revoked_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveImageRevokedFilter> - { - self.0.event() - } - ///Gets the contract's `EnclaveImageWhitelisted` event - pub fn enclave_image_whitelisted_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - EnclaveImageWhitelistedFilter, - > { - self.0.event() - } - ///Gets the contract's `EnclaveKeyRevoked` event - pub fn enclave_key_revoked_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveKeyRevokedFilter> - { - self.0.event() - } - ///Gets the contract's `EnclaveKeyVerified` event - pub fn enclave_key_verified_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveKeyVerifiedFilter> - { - self.0.event() - } - ///Gets the contract's `EnclaveKeyWhitelisted` event - pub fn enclave_key_whitelisted_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveKeyWhitelistedFilter> - { - self.0.event() - } - ///Gets the contract's `Initialized` event - pub fn initialized_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, InitializedFilter> - { - self.0.event() - } - ///Gets the contract's `RoleAdminChanged` event - pub fn role_admin_changed_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, RoleAdminChangedFilter> - { - self.0.event() - } - ///Gets the contract's `RoleGranted` event - pub fn role_granted_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, RoleGrantedFilter> - { - self.0.event() - } - ///Gets the contract's `RoleRevoked` event - pub fn role_revoked_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, RoleRevokedFilter> - { - self.0.event() - } - ///Gets the contract's `Upgraded` event - pub fn upgraded_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, UpgradedFilter> { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AttestationVerifierEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> - for AttestationVerifier - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `AccessControlBadConfirmation` with signature `AccessControlBadConfirmation()` and selector `0x6697b232` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AccessControlBadConfirmation", - abi = "AccessControlBadConfirmation()" - )] - pub struct AccessControlBadConfirmation; - ///Custom Error type `AccessControlUnauthorizedAccount` with signature `AccessControlUnauthorizedAccount(address,bytes32)` and selector `0xe2517d3f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AccessControlUnauthorizedAccount", - abi = "AccessControlUnauthorizedAccount(address,bytes32)" - )] - pub struct AccessControlUnauthorizedAccount { - pub account: ::ethers::core::types::Address, - pub needed_role: [u8; 32], - } - ///Custom Error type `AddressEmptyCode` with signature `AddressEmptyCode(address)` and selector `0x9996b315` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "AddressEmptyCode", abi = "AddressEmptyCode(address)")] - pub struct AddressEmptyCode { - pub target: ::ethers::core::types::Address, - } - ///Custom Error type `AttestationVerifierAttestationTooOld` with signature `AttestationVerifierAttestationTooOld()` and selector `0x69bb1fdd` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationVerifierAttestationTooOld", - abi = "AttestationVerifierAttestationTooOld()" - )] - pub struct AttestationVerifierAttestationTooOld; - ///Custom Error type `AttestationVerifierCannotRemoveAllAdmins` with signature `AttestationVerifierCannotRemoveAllAdmins()` and selector `0x86421fd4` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationVerifierCannotRemoveAllAdmins", - abi = "AttestationVerifierCannotRemoveAllAdmins()" - )] - pub struct AttestationVerifierCannotRemoveAllAdmins; - ///Custom Error type `AttestationVerifierImageAlreadyWhitelisted` with signature `AttestationVerifierImageAlreadyWhitelisted()` and selector `0xd19ca348` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationVerifierImageAlreadyWhitelisted", - abi = "AttestationVerifierImageAlreadyWhitelisted()" - )] - pub struct AttestationVerifierImageAlreadyWhitelisted; - ///Custom Error type `AttestationVerifierImageNotWhitelisted` with signature `AttestationVerifierImageNotWhitelisted()` and selector `0x66080711` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationVerifierImageNotWhitelisted", - abi = "AttestationVerifierImageNotWhitelisted()" - )] - pub struct AttestationVerifierImageNotWhitelisted; - ///Custom Error type `AttestationVerifierInitLengthMismatch` with signature `AttestationVerifierInitLengthMismatch()` and selector `0x46d60b57` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationVerifierInitLengthMismatch", - abi = "AttestationVerifierInitLengthMismatch()" - )] - pub struct AttestationVerifierInitLengthMismatch; - ///Custom Error type `AttestationVerifierInvalidAdmin` with signature `AttestationVerifierInvalidAdmin()` and selector `0xfb079cf8` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationVerifierInvalidAdmin", - abi = "AttestationVerifierInvalidAdmin()" - )] - pub struct AttestationVerifierInvalidAdmin; - ///Custom Error type `AttestationVerifierKeyAlreadyVerified` with signature `AttestationVerifierKeyAlreadyVerified()` and selector `0x21751cfb` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationVerifierKeyAlreadyVerified", - abi = "AttestationVerifierKeyAlreadyVerified()" - )] - pub struct AttestationVerifierKeyAlreadyVerified; - ///Custom Error type `AttestationVerifierKeyNotVerified` with signature `AttestationVerifierKeyNotVerified()` and selector `0x17fb268e` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationVerifierKeyNotVerified", - abi = "AttestationVerifierKeyNotVerified()" - )] - pub struct AttestationVerifierKeyNotVerified; - ///Custom Error type `AttestationVerifierNoImageProvided` with signature `AttestationVerifierNoImageProvided()` and selector `0xb60f22af` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationVerifierNoImageProvided", - abi = "AttestationVerifierNoImageProvided()" - )] - pub struct AttestationVerifierNoImageProvided; - ///Custom Error type `AttestationVerifierPCRsInvalid` with signature `AttestationVerifierPCRsInvalid()` and selector `0x973750ff` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationVerifierPCRsInvalid", - abi = "AttestationVerifierPCRsInvalid()" - )] - pub struct AttestationVerifierPCRsInvalid; - ///Custom Error type `AttestationVerifierPubkeyLengthInvalid` with signature `AttestationVerifierPubkeyLengthInvalid()` and selector `0x48ceb734` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationVerifierPubkeyLengthInvalid", - abi = "AttestationVerifierPubkeyLengthInvalid()" - )] - pub struct AttestationVerifierPubkeyLengthInvalid; - ///Custom Error type `ECDSAInvalidSignature` with signature `ECDSAInvalidSignature()` and selector `0xf645eedf` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ECDSAInvalidSignature", abi = "ECDSAInvalidSignature()")] - pub struct ECDSAInvalidSignature; - ///Custom Error type `ECDSAInvalidSignatureLength` with signature `ECDSAInvalidSignatureLength(uint256)` and selector `0xfce698f7` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ECDSAInvalidSignatureLength", - abi = "ECDSAInvalidSignatureLength(uint256)" - )] - pub struct ECDSAInvalidSignatureLength { - pub length: ::ethers::core::types::U256, - } - ///Custom Error type `ECDSAInvalidSignatureS` with signature `ECDSAInvalidSignatureS(bytes32)` and selector `0xd78bce0c` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ECDSAInvalidSignatureS", - abi = "ECDSAInvalidSignatureS(bytes32)" - )] - pub struct ECDSAInvalidSignatureS { - pub s: [u8; 32], - } - ///Custom Error type `ERC1967InvalidImplementation` with signature `ERC1967InvalidImplementation(address)` and selector `0x4c9c8ce3` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC1967InvalidImplementation", - abi = "ERC1967InvalidImplementation(address)" - )] - pub struct ERC1967InvalidImplementation { - pub implementation: ::ethers::core::types::Address, - } - ///Custom Error type `ERC1967NonPayable` with signature `ERC1967NonPayable()` and selector `0xb398979f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC1967NonPayable", abi = "ERC1967NonPayable()")] - pub struct ERC1967NonPayable; - ///Custom Error type `FailedInnerCall` with signature `FailedInnerCall()` and selector `0x1425ea42` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "FailedInnerCall", abi = "FailedInnerCall()")] - pub struct FailedInnerCall; - ///Custom Error type `InvalidInitialization` with signature `InvalidInitialization()` and selector `0xf92ee8a9` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "InvalidInitialization", abi = "InvalidInitialization()")] - pub struct InvalidInitialization; - ///Custom Error type `NotInitializing` with signature `NotInitializing()` and selector `0xd7e6bcf8` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "NotInitializing", abi = "NotInitializing()")] - pub struct NotInitializing; - ///Custom Error type `UUPSUnauthorizedCallContext` with signature `UUPSUnauthorizedCallContext()` and selector `0xe07c8dba` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "UUPSUnauthorizedCallContext", - abi = "UUPSUnauthorizedCallContext()" - )] - pub struct UUPSUnauthorizedCallContext; - ///Custom Error type `UUPSUnsupportedProxiableUUID` with signature `UUPSUnsupportedProxiableUUID(bytes32)` and selector `0xaa1d49a4` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "UUPSUnsupportedProxiableUUID", - abi = "UUPSUnsupportedProxiableUUID(bytes32)" - )] - pub struct UUPSUnsupportedProxiableUUID { - pub slot: [u8; 32], - } - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum AttestationVerifierErrors { - AccessControlBadConfirmation(AccessControlBadConfirmation), - AccessControlUnauthorizedAccount(AccessControlUnauthorizedAccount), - AddressEmptyCode(AddressEmptyCode), - AttestationVerifierAttestationTooOld(AttestationVerifierAttestationTooOld), - AttestationVerifierCannotRemoveAllAdmins(AttestationVerifierCannotRemoveAllAdmins), - AttestationVerifierImageAlreadyWhitelisted(AttestationVerifierImageAlreadyWhitelisted), - AttestationVerifierImageNotWhitelisted(AttestationVerifierImageNotWhitelisted), - AttestationVerifierInitLengthMismatch(AttestationVerifierInitLengthMismatch), - AttestationVerifierInvalidAdmin(AttestationVerifierInvalidAdmin), - AttestationVerifierKeyAlreadyVerified(AttestationVerifierKeyAlreadyVerified), - AttestationVerifierKeyNotVerified(AttestationVerifierKeyNotVerified), - AttestationVerifierNoImageProvided(AttestationVerifierNoImageProvided), - AttestationVerifierPCRsInvalid(AttestationVerifierPCRsInvalid), - AttestationVerifierPubkeyLengthInvalid(AttestationVerifierPubkeyLengthInvalid), - ECDSAInvalidSignature(ECDSAInvalidSignature), - ECDSAInvalidSignatureLength(ECDSAInvalidSignatureLength), - ECDSAInvalidSignatureS(ECDSAInvalidSignatureS), - ERC1967InvalidImplementation(ERC1967InvalidImplementation), - ERC1967NonPayable(ERC1967NonPayable), - FailedInnerCall(FailedInnerCall), - InvalidInitialization(InvalidInitialization), - NotInitializing(NotInitializing), - UUPSUnauthorizedCallContext(UUPSUnauthorizedCallContext), - UUPSUnsupportedProxiableUUID(UUPSUnsupportedProxiableUUID), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for AttestationVerifierErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AccessControlBadConfirmation(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AccessControlUnauthorizedAccount(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::AddressEmptyCode(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::AttestationVerifierAttestationTooOld(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::AttestationVerifierCannotRemoveAllAdmins(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::AttestationVerifierImageAlreadyWhitelisted(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::AttestationVerifierImageNotWhitelisted(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::AttestationVerifierInitLengthMismatch(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationVerifierInvalidAdmin(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::AttestationVerifierKeyAlreadyVerified(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationVerifierKeyNotVerified(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationVerifierNoImageProvided(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationVerifierPCRsInvalid(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::AttestationVerifierPubkeyLengthInvalid(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ECDSAInvalidSignature(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ECDSAInvalidSignatureLength(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ECDSAInvalidSignatureS(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC1967InvalidImplementation(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::ERC1967NonPayable(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::FailedInnerCall(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InvalidInitialization(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::NotInitializing(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UUPSUnauthorizedCallContext(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UUPSUnsupportedProxiableUUID(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for AttestationVerifierErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::AccessControlBadConfirmation(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AccessControlUnauthorizedAccount(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AddressEmptyCode(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::AttestationVerifierAttestationTooOld(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationVerifierCannotRemoveAllAdmins(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationVerifierImageAlreadyWhitelisted(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationVerifierImageNotWhitelisted(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationVerifierInitLengthMismatch(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationVerifierInvalidAdmin(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationVerifierKeyAlreadyVerified(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationVerifierKeyNotVerified(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationVerifierNoImageProvided(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationVerifierPCRsInvalid(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationVerifierPubkeyLengthInvalid(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ECDSAInvalidSignature(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ECDSAInvalidSignatureLength(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ECDSAInvalidSignatureS(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC1967InvalidImplementation(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC1967NonPayable(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::FailedInnerCall(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidInitialization(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::NotInitializing(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::UUPSUnauthorizedCallContext(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::UUPSUnsupportedProxiableUUID(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for AttestationVerifierErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for AttestationVerifierErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::AccessControlBadConfirmation(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AccessControlUnauthorizedAccount(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AddressEmptyCode(element) => ::core::fmt::Display::fmt(element, f), - Self::AttestationVerifierAttestationTooOld(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationVerifierCannotRemoveAllAdmins(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationVerifierImageAlreadyWhitelisted(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationVerifierImageNotWhitelisted(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationVerifierInitLengthMismatch(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationVerifierInvalidAdmin(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationVerifierKeyAlreadyVerified(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationVerifierKeyNotVerified(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationVerifierNoImageProvided(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationVerifierPCRsInvalid(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationVerifierPubkeyLengthInvalid(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ECDSAInvalidSignature(element) => ::core::fmt::Display::fmt(element, f), - Self::ECDSAInvalidSignatureLength(element) => ::core::fmt::Display::fmt(element, f), - Self::ECDSAInvalidSignatureS(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC1967InvalidImplementation(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC1967NonPayable(element) => ::core::fmt::Display::fmt(element, f), - Self::FailedInnerCall(element) => ::core::fmt::Display::fmt(element, f), - Self::InvalidInitialization(element) => ::core::fmt::Display::fmt(element, f), - Self::NotInitializing(element) => ::core::fmt::Display::fmt(element, f), - Self::UUPSUnauthorizedCallContext(element) => ::core::fmt::Display::fmt(element, f), - Self::UUPSUnsupportedProxiableUUID(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for AttestationVerifierErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AccessControlBadConfirmation) -> Self { - Self::AccessControlBadConfirmation(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AccessControlUnauthorizedAccount) -> Self { - Self::AccessControlUnauthorizedAccount(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AddressEmptyCode) -> Self { - Self::AddressEmptyCode(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AttestationVerifierAttestationTooOld) -> Self { - Self::AttestationVerifierAttestationTooOld(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AttestationVerifierCannotRemoveAllAdmins) -> Self { - Self::AttestationVerifierCannotRemoveAllAdmins(value) - } - } - impl ::core::convert::From - for AttestationVerifierErrors - { - fn from(value: AttestationVerifierImageAlreadyWhitelisted) -> Self { - Self::AttestationVerifierImageAlreadyWhitelisted(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AttestationVerifierImageNotWhitelisted) -> Self { - Self::AttestationVerifierImageNotWhitelisted(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AttestationVerifierInitLengthMismatch) -> Self { - Self::AttestationVerifierInitLengthMismatch(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AttestationVerifierInvalidAdmin) -> Self { - Self::AttestationVerifierInvalidAdmin(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AttestationVerifierKeyAlreadyVerified) -> Self { - Self::AttestationVerifierKeyAlreadyVerified(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AttestationVerifierKeyNotVerified) -> Self { - Self::AttestationVerifierKeyNotVerified(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AttestationVerifierNoImageProvided) -> Self { - Self::AttestationVerifierNoImageProvided(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AttestationVerifierPCRsInvalid) -> Self { - Self::AttestationVerifierPCRsInvalid(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: AttestationVerifierPubkeyLengthInvalid) -> Self { - Self::AttestationVerifierPubkeyLengthInvalid(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: ECDSAInvalidSignature) -> Self { - Self::ECDSAInvalidSignature(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: ECDSAInvalidSignatureLength) -> Self { - Self::ECDSAInvalidSignatureLength(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: ECDSAInvalidSignatureS) -> Self { - Self::ECDSAInvalidSignatureS(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: ERC1967InvalidImplementation) -> Self { - Self::ERC1967InvalidImplementation(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: ERC1967NonPayable) -> Self { - Self::ERC1967NonPayable(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: FailedInnerCall) -> Self { - Self::FailedInnerCall(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: InvalidInitialization) -> Self { - Self::InvalidInitialization(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: NotInitializing) -> Self { - Self::NotInitializing(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: UUPSUnauthorizedCallContext) -> Self { - Self::UUPSUnauthorizedCallContext(value) - } - } - impl ::core::convert::From for AttestationVerifierErrors { - fn from(value: UUPSUnsupportedProxiableUUID) -> Self { - Self::UUPSUnsupportedProxiableUUID(value) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "EnclaveImageRevoked", abi = "EnclaveImageRevoked(bytes32)")] - pub struct EnclaveImageRevokedFilter { - #[ethevent(indexed)] - pub image_id: [u8; 32], - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveImageWhitelisted", - abi = "EnclaveImageWhitelisted(bytes32,bytes,bytes,bytes)" - )] - pub struct EnclaveImageWhitelistedFilter { - #[ethevent(indexed)] - pub image_id: [u8; 32], - pub pcr0: ::ethers::core::types::Bytes, - pub pcr1: ::ethers::core::types::Bytes, - pub pcr2: ::ethers::core::types::Bytes, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "EnclaveKeyRevoked", abi = "EnclaveKeyRevoked(bytes)")] - pub struct EnclaveKeyRevokedFilter { - #[ethevent(indexed)] - pub enclave_pub_key: ::ethers::core::types::H256, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "EnclaveKeyVerified", abi = "EnclaveKeyVerified(bytes,bytes32)")] - pub struct EnclaveKeyVerifiedFilter { - #[ethevent(indexed)] - pub enclave_pub_key: ::ethers::core::types::H256, - #[ethevent(indexed)] - pub image_id: [u8; 32], - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveKeyWhitelisted", - abi = "EnclaveKeyWhitelisted(bytes,bytes32)" - )] - pub struct EnclaveKeyWhitelistedFilter { - #[ethevent(indexed)] - pub enclave_pub_key: ::ethers::core::types::H256, - #[ethevent(indexed)] - pub image_id: [u8; 32], - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Initialized", abi = "Initialized(uint64)")] - pub struct InitializedFilter { - pub version: u64, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "RoleAdminChanged", - abi = "RoleAdminChanged(bytes32,bytes32,bytes32)" - )] - pub struct RoleAdminChangedFilter { - #[ethevent(indexed)] - pub role: [u8; 32], - #[ethevent(indexed)] - pub previous_admin_role: [u8; 32], - #[ethevent(indexed)] - pub new_admin_role: [u8; 32], - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "RoleGranted", abi = "RoleGranted(bytes32,address,address)")] - pub struct RoleGrantedFilter { - #[ethevent(indexed)] - pub role: [u8; 32], - #[ethevent(indexed)] - pub account: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub sender: ::ethers::core::types::Address, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "RoleRevoked", abi = "RoleRevoked(bytes32,address,address)")] - pub struct RoleRevokedFilter { - #[ethevent(indexed)] - pub role: [u8; 32], - #[ethevent(indexed)] - pub account: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub sender: ::ethers::core::types::Address, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Upgraded", abi = "Upgraded(address)")] - pub struct UpgradedFilter { - #[ethevent(indexed)] - pub implementation: ::ethers::core::types::Address, - } - ///Container type for all of the contract's events - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum AttestationVerifierEvents { - EnclaveImageRevokedFilter(EnclaveImageRevokedFilter), - EnclaveImageWhitelistedFilter(EnclaveImageWhitelistedFilter), - EnclaveKeyRevokedFilter(EnclaveKeyRevokedFilter), - EnclaveKeyVerifiedFilter(EnclaveKeyVerifiedFilter), - EnclaveKeyWhitelistedFilter(EnclaveKeyWhitelistedFilter), - InitializedFilter(InitializedFilter), - RoleAdminChangedFilter(RoleAdminChangedFilter), - RoleGrantedFilter(RoleGrantedFilter), - RoleRevokedFilter(RoleRevokedFilter), - UpgradedFilter(UpgradedFilter), - } - impl ::ethers::contract::EthLogDecode for AttestationVerifierEvents { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = EnclaveImageRevokedFilter::decode_log(log) { - return Ok(AttestationVerifierEvents::EnclaveImageRevokedFilter( - decoded, - )); - } - if let Ok(decoded) = EnclaveImageWhitelistedFilter::decode_log(log) { - return Ok(AttestationVerifierEvents::EnclaveImageWhitelistedFilter( - decoded, - )); - } - if let Ok(decoded) = EnclaveKeyRevokedFilter::decode_log(log) { - return Ok(AttestationVerifierEvents::EnclaveKeyRevokedFilter(decoded)); - } - if let Ok(decoded) = EnclaveKeyVerifiedFilter::decode_log(log) { - return Ok(AttestationVerifierEvents::EnclaveKeyVerifiedFilter(decoded)); - } - if let Ok(decoded) = EnclaveKeyWhitelistedFilter::decode_log(log) { - return Ok(AttestationVerifierEvents::EnclaveKeyWhitelistedFilter( - decoded, - )); - } - if let Ok(decoded) = InitializedFilter::decode_log(log) { - return Ok(AttestationVerifierEvents::InitializedFilter(decoded)); - } - if let Ok(decoded) = RoleAdminChangedFilter::decode_log(log) { - return Ok(AttestationVerifierEvents::RoleAdminChangedFilter(decoded)); - } - if let Ok(decoded) = RoleGrantedFilter::decode_log(log) { - return Ok(AttestationVerifierEvents::RoleGrantedFilter(decoded)); - } - if let Ok(decoded) = RoleRevokedFilter::decode_log(log) { - return Ok(AttestationVerifierEvents::RoleRevokedFilter(decoded)); - } - if let Ok(decoded) = UpgradedFilter::decode_log(log) { - return Ok(AttestationVerifierEvents::UpgradedFilter(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for AttestationVerifierEvents { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::EnclaveImageRevokedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::EnclaveImageWhitelistedFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::EnclaveKeyRevokedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::EnclaveKeyVerifiedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::EnclaveKeyWhitelistedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::InitializedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::RoleAdminChangedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::RoleGrantedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::RoleRevokedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::UpgradedFilter(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for AttestationVerifierEvents { - fn from(value: EnclaveImageRevokedFilter) -> Self { - Self::EnclaveImageRevokedFilter(value) - } - } - impl ::core::convert::From for AttestationVerifierEvents { - fn from(value: EnclaveImageWhitelistedFilter) -> Self { - Self::EnclaveImageWhitelistedFilter(value) - } - } - impl ::core::convert::From for AttestationVerifierEvents { - fn from(value: EnclaveKeyRevokedFilter) -> Self { - Self::EnclaveKeyRevokedFilter(value) - } - } - impl ::core::convert::From for AttestationVerifierEvents { - fn from(value: EnclaveKeyVerifiedFilter) -> Self { - Self::EnclaveKeyVerifiedFilter(value) - } - } - impl ::core::convert::From for AttestationVerifierEvents { - fn from(value: EnclaveKeyWhitelistedFilter) -> Self { - Self::EnclaveKeyWhitelistedFilter(value) - } - } - impl ::core::convert::From for AttestationVerifierEvents { - fn from(value: InitializedFilter) -> Self { - Self::InitializedFilter(value) - } - } - impl ::core::convert::From for AttestationVerifierEvents { - fn from(value: RoleAdminChangedFilter) -> Self { - Self::RoleAdminChangedFilter(value) - } - } - impl ::core::convert::From for AttestationVerifierEvents { - fn from(value: RoleGrantedFilter) -> Self { - Self::RoleGrantedFilter(value) - } - } - impl ::core::convert::From for AttestationVerifierEvents { - fn from(value: RoleRevokedFilter) -> Self { - Self::RoleRevokedFilter(value) - } - } - impl ::core::convert::From for AttestationVerifierEvents { - fn from(value: UpgradedFilter) -> Self { - Self::UpgradedFilter(value) - } - } - ///Container type for all input parameters for the `DEFAULT_ADMIN_ROLE` function with signature `DEFAULT_ADMIN_ROLE()` and selector `0xa217fddf` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "DEFAULT_ADMIN_ROLE", abi = "DEFAULT_ADMIN_ROLE()")] - pub struct DefaultAdminRoleCall; - ///Container type for all input parameters for the `MAX_AGE` function with signature `MAX_AGE()` and selector `0x0dcaeaf2` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "MAX_AGE", abi = "MAX_AGE()")] - pub struct MaxAgeCall; - ///Container type for all input parameters for the `UPGRADE_INTERFACE_VERSION` function with signature `UPGRADE_INTERFACE_VERSION()` and selector `0xad3cb1cc` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "UPGRADE_INTERFACE_VERSION", - abi = "UPGRADE_INTERFACE_VERSION()" - )] - pub struct UpgradeInterfaceVersionCall; - ///Container type for all input parameters for the `getRoleAdmin` function with signature `getRoleAdmin(bytes32)` and selector `0x248a9ca3` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "getRoleAdmin", abi = "getRoleAdmin(bytes32)")] - pub struct GetRoleAdminCall { - pub role: [u8; 32], - } - ///Container type for all input parameters for the `grantRole` function with signature `grantRole(bytes32,address)` and selector `0x2f2ff15d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "grantRole", abi = "grantRole(bytes32,address)")] - pub struct GrantRoleCall { - pub role: [u8; 32], - pub account: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `hasRole` function with signature `hasRole(bytes32,address)` and selector `0x91d14854` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "hasRole", abi = "hasRole(bytes32,address)")] - pub struct HasRoleCall { - pub role: [u8; 32], - pub account: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `initialize` function with signature `initialize((bytes,bytes,bytes)[],bytes[],address)` and selector `0xc65a916a` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "initialize", - abi = "initialize((bytes,bytes,bytes)[],bytes[],address)" - )] - pub struct InitializeCall { - pub images: ::std::vec::Vec, - pub enclave_keys: ::std::vec::Vec<::ethers::core::types::Bytes>, - pub admin: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `proxiableUUID` function with signature `proxiableUUID()` and selector `0x52d1902d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "proxiableUUID", abi = "proxiableUUID()")] - pub struct ProxiableUUIDCall; - ///Container type for all input parameters for the `pubKeyToAddress` function with signature `pubKeyToAddress(bytes)` and selector `0x70ae992a` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "pubKeyToAddress", abi = "pubKeyToAddress(bytes)")] - pub struct PubKeyToAddressCall { - pub pub_key: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `renounceRole` function with signature `renounceRole(bytes32,address)` and selector `0x36568abe` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "renounceRole", abi = "renounceRole(bytes32,address)")] - pub struct RenounceRoleCall { - pub role: [u8; 32], - pub caller_confirmation: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `revokeEnclaveImage` function with signature `revokeEnclaveImage(bytes32)` and selector `0x95c60294` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "revokeEnclaveImage", abi = "revokeEnclaveImage(bytes32)")] - pub struct RevokeEnclaveImageCall { - pub image_id: [u8; 32], - } - ///Container type for all input parameters for the `revokeEnclaveKey` function with signature `revokeEnclaveKey(bytes)` and selector `0xd13714b4` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "revokeEnclaveKey", abi = "revokeEnclaveKey(bytes)")] - pub struct RevokeEnclaveKeyCall { - pub enclave_pub_key: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `revokeRole` function with signature `revokeRole(bytes32,address)` and selector `0xd547741f` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "revokeRole", abi = "revokeRole(bytes32,address)")] - pub struct RevokeRoleCall { - pub role: [u8; 32], - pub account: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")] - pub struct SupportsInterfaceCall { - pub interface_id: [u8; 4], - } - ///Container type for all input parameters for the `upgradeToAndCall` function with signature `upgradeToAndCall(address,bytes)` and selector `0x4f1ef286` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "upgradeToAndCall", abi = "upgradeToAndCall(address,bytes)")] - pub struct UpgradeToAndCallCall { - pub new_implementation: ::ethers::core::types::Address, - pub data: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verifiedKeys` function with signature `verifiedKeys(address)` and selector `0xda994cd8` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verifiedKeys", abi = "verifiedKeys(address)")] - pub struct VerifiedKeysCall(pub ::ethers::core::types::Address); - ///Container type for all input parameters for the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes)")] - pub struct VerifyCall { - pub data: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verify` function with signature `verify(bytes,(bytes,bytes,bytes,bytes,uint256))` and selector `0xeac708a3` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verify", - abi = "verify(bytes,(bytes,bytes,bytes,bytes,uint256))" - )] - pub struct VerifyWithSignatureCall { - pub signature: ::ethers::core::types::Bytes, - pub attestation: Attestation, - } - ///Container type for all input parameters for the `verifyEnclaveKey` function with signature `verifyEnclaveKey(bytes,(bytes,bytes,bytes,bytes,uint256))` and selector `0x75847b84` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyEnclaveKey", - abi = "verifyEnclaveKey(bytes,(bytes,bytes,bytes,bytes,uint256))" - )] - pub struct VerifyEnclaveKeyCall { - pub signature: ::ethers::core::types::Bytes, - pub attestation: Attestation, - } - ///Container type for all input parameters for the `whitelistEnclaveImage` function with signature `whitelistEnclaveImage(bytes,bytes,bytes)` and selector `0x69815e57` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "whitelistEnclaveImage", - abi = "whitelistEnclaveImage(bytes,bytes,bytes)" - )] - pub struct WhitelistEnclaveImageCall { - pub pcr0: ::ethers::core::types::Bytes, - pub pcr1: ::ethers::core::types::Bytes, - pub pcr2: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `whitelistEnclaveKey` function with signature `whitelistEnclaveKey(bytes,bytes32)` and selector `0xdebf726b` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "whitelistEnclaveKey", - abi = "whitelistEnclaveKey(bytes,bytes32)" - )] - pub struct WhitelistEnclaveKeyCall { - pub enclave_pub_key: ::ethers::core::types::Bytes, - pub image_id: [u8; 32], - } - ///Container type for all input parameters for the `whitelistedImages` function with signature `whitelistedImages(bytes32)` and selector `0x2f9b0ad7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "whitelistedImages", abi = "whitelistedImages(bytes32)")] - pub struct WhitelistedImagesCall(pub [u8; 32]); - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum AttestationVerifierCalls { - DefaultAdminRole(DefaultAdminRoleCall), - MaxAge(MaxAgeCall), - UpgradeInterfaceVersion(UpgradeInterfaceVersionCall), - GetRoleAdmin(GetRoleAdminCall), - GrantRole(GrantRoleCall), - HasRole(HasRoleCall), - Initialize(InitializeCall), - ProxiableUUID(ProxiableUUIDCall), - PubKeyToAddress(PubKeyToAddressCall), - RenounceRole(RenounceRoleCall), - RevokeEnclaveImage(RevokeEnclaveImageCall), - RevokeEnclaveKey(RevokeEnclaveKeyCall), - RevokeRole(RevokeRoleCall), - SupportsInterface(SupportsInterfaceCall), - UpgradeToAndCall(UpgradeToAndCallCall), - VerifiedKeys(VerifiedKeysCall), - Verify(VerifyCall), - VerifyWithSignature(VerifyWithSignatureCall), - VerifyEnclaveKey(VerifyEnclaveKeyCall), - WhitelistEnclaveImage(WhitelistEnclaveImageCall), - WhitelistEnclaveKey(WhitelistEnclaveKeyCall), - WhitelistedImages(WhitelistedImagesCall), - } - impl ::ethers::core::abi::AbiDecode for AttestationVerifierCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::DefaultAdminRole(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::MaxAge(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UpgradeInterfaceVersion(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::GetRoleAdmin(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::GrantRole(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::HasRole(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Initialize(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::ProxiableUUID(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::PubKeyToAddress(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::RenounceRole(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::RevokeEnclaveImage(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::RevokeEnclaveKey(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::RevokeRole(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::SupportsInterface(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UpgradeToAndCall(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::VerifiedKeys(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyWithSignature(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyEnclaveKey(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::WhitelistEnclaveImage(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::WhitelistEnclaveKey(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::WhitelistedImages(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for AttestationVerifierCalls { - fn encode(self) -> Vec { - match self { - Self::DefaultAdminRole(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::MaxAge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::UpgradeInterfaceVersion(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::GetRoleAdmin(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::GrantRole(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::HasRole(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Initialize(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ProxiableUUID(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::PubKeyToAddress(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::RenounceRole(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::RevokeEnclaveImage(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevokeEnclaveKey(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::RevokeRole(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SupportsInterface(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::UpgradeToAndCall(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifiedKeys(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyWithSignature(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::VerifyEnclaveKey(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::WhitelistEnclaveImage(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::WhitelistEnclaveKey(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::WhitelistedImages(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for AttestationVerifierCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::DefaultAdminRole(element) => ::core::fmt::Display::fmt(element, f), - Self::MaxAge(element) => ::core::fmt::Display::fmt(element, f), - Self::UpgradeInterfaceVersion(element) => ::core::fmt::Display::fmt(element, f), - Self::GetRoleAdmin(element) => ::core::fmt::Display::fmt(element, f), - Self::GrantRole(element) => ::core::fmt::Display::fmt(element, f), - Self::HasRole(element) => ::core::fmt::Display::fmt(element, f), - Self::Initialize(element) => ::core::fmt::Display::fmt(element, f), - Self::ProxiableUUID(element) => ::core::fmt::Display::fmt(element, f), - Self::PubKeyToAddress(element) => ::core::fmt::Display::fmt(element, f), - Self::RenounceRole(element) => ::core::fmt::Display::fmt(element, f), - Self::RevokeEnclaveImage(element) => ::core::fmt::Display::fmt(element, f), - Self::RevokeEnclaveKey(element) => ::core::fmt::Display::fmt(element, f), - Self::RevokeRole(element) => ::core::fmt::Display::fmt(element, f), - Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f), - Self::UpgradeToAndCall(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifiedKeys(element) => ::core::fmt::Display::fmt(element, f), - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyWithSignature(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyEnclaveKey(element) => ::core::fmt::Display::fmt(element, f), - Self::WhitelistEnclaveImage(element) => ::core::fmt::Display::fmt(element, f), - Self::WhitelistEnclaveKey(element) => ::core::fmt::Display::fmt(element, f), - Self::WhitelistedImages(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: DefaultAdminRoleCall) -> Self { - Self::DefaultAdminRole(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: MaxAgeCall) -> Self { - Self::MaxAge(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: UpgradeInterfaceVersionCall) -> Self { - Self::UpgradeInterfaceVersion(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: GetRoleAdminCall) -> Self { - Self::GetRoleAdmin(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: GrantRoleCall) -> Self { - Self::GrantRole(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: HasRoleCall) -> Self { - Self::HasRole(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: InitializeCall) -> Self { - Self::Initialize(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: ProxiableUUIDCall) -> Self { - Self::ProxiableUUID(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: PubKeyToAddressCall) -> Self { - Self::PubKeyToAddress(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: RenounceRoleCall) -> Self { - Self::RenounceRole(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: RevokeEnclaveImageCall) -> Self { - Self::RevokeEnclaveImage(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: RevokeEnclaveKeyCall) -> Self { - Self::RevokeEnclaveKey(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: RevokeRoleCall) -> Self { - Self::RevokeRole(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: SupportsInterfaceCall) -> Self { - Self::SupportsInterface(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: UpgradeToAndCallCall) -> Self { - Self::UpgradeToAndCall(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: VerifiedKeysCall) -> Self { - Self::VerifiedKeys(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: VerifyWithSignatureCall) -> Self { - Self::VerifyWithSignature(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: VerifyEnclaveKeyCall) -> Self { - Self::VerifyEnclaveKey(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: WhitelistEnclaveImageCall) -> Self { - Self::WhitelistEnclaveImage(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: WhitelistEnclaveKeyCall) -> Self { - Self::WhitelistEnclaveKey(value) - } - } - impl ::core::convert::From for AttestationVerifierCalls { - fn from(value: WhitelistedImagesCall) -> Self { - Self::WhitelistedImages(value) - } - } - ///Container type for all return fields from the `DEFAULT_ADMIN_ROLE` function with signature `DEFAULT_ADMIN_ROLE()` and selector `0xa217fddf` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct DefaultAdminRoleReturn(pub [u8; 32]); - ///Container type for all return fields from the `MAX_AGE` function with signature `MAX_AGE()` and selector `0x0dcaeaf2` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct MaxAgeReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `UPGRADE_INTERFACE_VERSION` function with signature `UPGRADE_INTERFACE_VERSION()` and selector `0xad3cb1cc` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct UpgradeInterfaceVersionReturn(pub ::std::string::String); - ///Container type for all return fields from the `getRoleAdmin` function with signature `getRoleAdmin(bytes32)` and selector `0x248a9ca3` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct GetRoleAdminReturn(pub [u8; 32]); - ///Container type for all return fields from the `hasRole` function with signature `hasRole(bytes32,address)` and selector `0x91d14854` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct HasRoleReturn(pub bool); - ///Container type for all return fields from the `proxiableUUID` function with signature `proxiableUUID()` and selector `0x52d1902d` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ProxiableUUIDReturn(pub [u8; 32]); - ///Container type for all return fields from the `pubKeyToAddress` function with signature `pubKeyToAddress(bytes)` and selector `0x70ae992a` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct PubKeyToAddressReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SupportsInterfaceReturn(pub bool); - ///Container type for all return fields from the `verifiedKeys` function with signature `verifiedKeys(address)` and selector `0xda994cd8` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifiedKeysReturn(pub [u8; 32]); - ///Container type for all return fields from the `whitelistedImages` function with signature `whitelistedImages(bytes32)` and selector `0x2f9b0ad7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct WhitelistedImagesReturn { - pub pcr0: ::ethers::core::types::Bytes, - pub pcr1: ::ethers::core::types::Bytes, - pub pcr2: ::ethers::core::types::Bytes, - } - ///`EnclaveImage(bytes,bytes,bytes)` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EnclaveImage { - pub pcr0: ::ethers::core::types::Bytes, - pub pcr1: ::ethers::core::types::Bytes, - pub pcr2: ::ethers::core::types::Bytes, - } -} diff --git a/bindings/src/base_ultra_verifier.rs b/bindings/src/base_ultra_verifier.rs deleted file mode 100644 index db0be82..0000000 --- a/bindings/src/base_ultra_verifier.rs +++ /dev/null @@ -1,584 +0,0 @@ -pub use base_ultra_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod base_ultra_verifier { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("getVerificationKeyHash"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("getVerificationKeyHash",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_proof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_publicInputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32[]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("EC_SCALAR_MUL_FAILURE"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("EC_SCALAR_MUL_FAILURE",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("MOD_EXP_FAILURE"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("MOD_EXP_FAILURE"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("PROOF_FAILURE"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("PROOF_FAILURE"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("PUBLIC_INPUT_COUNT_INVALID"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("PUBLIC_INPUT_COUNT_INVALID",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("expected"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actual"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("PUBLIC_INPUT_GE_P"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("PUBLIC_INPUT_GE_P"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("PUBLIC_INPUT_INVALID_BN128_G1_POINT"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "PUBLIC_INPUT_INVALID_BN128_G1_POINT", - ), - inputs: ::std::vec![], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static BASEULTRAVERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct BaseUltraVerifier(::ethers::contract::Contract); - impl ::core::clone::Clone for BaseUltraVerifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for BaseUltraVerifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for BaseUltraVerifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for BaseUltraVerifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(BaseUltraVerifier)) - .field(&self.address()) - .finish() - } - } - impl BaseUltraVerifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - BASEULTRAVERIFIER_ABI.clone(), - client, - )) - } - ///Calls the contract's `getVerificationKeyHash` (0x937f6a10) function - pub fn get_verification_key_hash( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([147, 127, 106, 16], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0xea50d0e4) function - pub fn verify( - &self, - proof: ::ethers::core::types::Bytes, - public_inputs: ::std::vec::Vec<[u8; 32]>, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([234, 80, 208, 228], (proof, public_inputs)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for BaseUltraVerifier - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `EC_SCALAR_MUL_FAILURE` with signature `EC_SCALAR_MUL_FAILURE()` and selector `0xf755f369` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "EC_SCALAR_MUL_FAILURE", abi = "EC_SCALAR_MUL_FAILURE()")] - pub struct EC_SCALAR_MUL_FAILURE; - ///Custom Error type `MOD_EXP_FAILURE` with signature `MOD_EXP_FAILURE()` and selector `0xf894a7bc` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "MOD_EXP_FAILURE", abi = "MOD_EXP_FAILURE()")] - pub struct MOD_EXP_FAILURE; - ///Custom Error type `PROOF_FAILURE` with signature `PROOF_FAILURE()` and selector `0x0711fcec` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "PROOF_FAILURE", abi = "PROOF_FAILURE()")] - pub struct PROOF_FAILURE; - ///Custom Error type `PUBLIC_INPUT_COUNT_INVALID` with signature `PUBLIC_INPUT_COUNT_INVALID(uint256,uint256)` and selector `0x7667dc9b` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "PUBLIC_INPUT_COUNT_INVALID", - abi = "PUBLIC_INPUT_COUNT_INVALID(uint256,uint256)" - )] - pub struct PUBLIC_INPUT_COUNT_INVALID { - pub expected: ::ethers::core::types::U256, - pub actual: ::ethers::core::types::U256, - } - ///Custom Error type `PUBLIC_INPUT_GE_P` with signature `PUBLIC_INPUT_GE_P()` and selector `0x374a972f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "PUBLIC_INPUT_GE_P", abi = "PUBLIC_INPUT_GE_P()")] - pub struct PUBLIC_INPUT_GE_P; - ///Custom Error type `PUBLIC_INPUT_INVALID_BN128_G1_POINT` with signature `PUBLIC_INPUT_INVALID_BN128_G1_POINT()` and selector `0xeba9f4a6` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "PUBLIC_INPUT_INVALID_BN128_G1_POINT", - abi = "PUBLIC_INPUT_INVALID_BN128_G1_POINT()" - )] - pub struct PUBLIC_INPUT_INVALID_BN128_G1_POINT; - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum BaseUltraVerifierErrors { - EC_SCALAR_MUL_FAILURE(EC_SCALAR_MUL_FAILURE), - MOD_EXP_FAILURE(MOD_EXP_FAILURE), - PROOF_FAILURE(PROOF_FAILURE), - PUBLIC_INPUT_COUNT_INVALID(PUBLIC_INPUT_COUNT_INVALID), - PUBLIC_INPUT_GE_P(PUBLIC_INPUT_GE_P), - PUBLIC_INPUT_INVALID_BN128_G1_POINT(PUBLIC_INPUT_INVALID_BN128_G1_POINT), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for BaseUltraVerifierErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::EC_SCALAR_MUL_FAILURE(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::MOD_EXP_FAILURE(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::PROOF_FAILURE(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::PUBLIC_INPUT_COUNT_INVALID(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::PUBLIC_INPUT_GE_P(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::PUBLIC_INPUT_INVALID_BN128_G1_POINT(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for BaseUltraVerifierErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::EC_SCALAR_MUL_FAILURE(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::MOD_EXP_FAILURE(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::PROOF_FAILURE(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::PUBLIC_INPUT_COUNT_INVALID(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::PUBLIC_INPUT_GE_P(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::PUBLIC_INPUT_INVALID_BN128_G1_POINT(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for BaseUltraVerifierErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for BaseUltraVerifierErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::EC_SCALAR_MUL_FAILURE(element) => ::core::fmt::Display::fmt(element, f), - Self::MOD_EXP_FAILURE(element) => ::core::fmt::Display::fmt(element, f), - Self::PROOF_FAILURE(element) => ::core::fmt::Display::fmt(element, f), - Self::PUBLIC_INPUT_COUNT_INVALID(element) => ::core::fmt::Display::fmt(element, f), - Self::PUBLIC_INPUT_GE_P(element) => ::core::fmt::Display::fmt(element, f), - Self::PUBLIC_INPUT_INVALID_BN128_G1_POINT(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for BaseUltraVerifierErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for BaseUltraVerifierErrors { - fn from(value: EC_SCALAR_MUL_FAILURE) -> Self { - Self::EC_SCALAR_MUL_FAILURE(value) - } - } - impl ::core::convert::From for BaseUltraVerifierErrors { - fn from(value: MOD_EXP_FAILURE) -> Self { - Self::MOD_EXP_FAILURE(value) - } - } - impl ::core::convert::From for BaseUltraVerifierErrors { - fn from(value: PROOF_FAILURE) -> Self { - Self::PROOF_FAILURE(value) - } - } - impl ::core::convert::From for BaseUltraVerifierErrors { - fn from(value: PUBLIC_INPUT_COUNT_INVALID) -> Self { - Self::PUBLIC_INPUT_COUNT_INVALID(value) - } - } - impl ::core::convert::From for BaseUltraVerifierErrors { - fn from(value: PUBLIC_INPUT_GE_P) -> Self { - Self::PUBLIC_INPUT_GE_P(value) - } - } - impl ::core::convert::From for BaseUltraVerifierErrors { - fn from(value: PUBLIC_INPUT_INVALID_BN128_G1_POINT) -> Self { - Self::PUBLIC_INPUT_INVALID_BN128_G1_POINT(value) - } - } - ///Container type for all input parameters for the `getVerificationKeyHash` function with signature `getVerificationKeyHash()` and selector `0x937f6a10` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "getVerificationKeyHash", abi = "getVerificationKeyHash()")] - pub struct GetVerificationKeyHashCall; - ///Container type for all input parameters for the `verify` function with signature `verify(bytes,bytes32[])` and selector `0xea50d0e4` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes,bytes32[])")] - pub struct VerifyCall { - pub proof: ::ethers::core::types::Bytes, - pub public_inputs: ::std::vec::Vec<[u8; 32]>, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum BaseUltraVerifierCalls { - GetVerificationKeyHash(GetVerificationKeyHashCall), - Verify(VerifyCall), - } - impl ::ethers::core::abi::AbiDecode for BaseUltraVerifierCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::GetVerificationKeyHash(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for BaseUltraVerifierCalls { - fn encode(self) -> Vec { - match self { - Self::GetVerificationKeyHash(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for BaseUltraVerifierCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::GetVerificationKeyHash(element) => ::core::fmt::Display::fmt(element, f), - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for BaseUltraVerifierCalls { - fn from(value: GetVerificationKeyHashCall) -> Self { - Self::GetVerificationKeyHash(value) - } - } - impl ::core::convert::From for BaseUltraVerifierCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - ///Container type for all return fields from the `getVerificationKeyHash` function with signature `getVerificationKeyHash()` and selector `0x937f6a10` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct GetVerificationKeyHashReturn(pub [u8; 32]); - ///Container type for all return fields from the `verify` function with signature `verify(bytes,bytes32[])` and selector `0xea50d0e4` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); -} diff --git a/bindings/src/context.rs b/bindings/src/context.rs deleted file mode 100644 index 51b7a77..0000000 --- a/bindings/src/context.rs +++ /dev/null @@ -1,70 +0,0 @@ -pub use context::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod context { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::std::collections::BTreeMap::new(), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static CONTEXT_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct Context(::ethers::contract::Contract); - impl ::core::clone::Clone for Context { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for Context { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for Context { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for Context { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(Context)) - .field(&self.address()) - .finish() - } - } - impl Context { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - CONTEXT_ABI.clone(), - client, - )) - } - } - impl From<::ethers::contract::Contract> for Context { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } -} diff --git a/bindings/src/dispute.rs b/bindings/src/dispute.rs deleted file mode 100644 index 444733b..0000000 --- a/bindings/src/dispute.rs +++ /dev/null @@ -1,581 +0,0 @@ -pub use dispute::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod dispute { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_er"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( - "contract EntityKeyRegistry", - ),), - },], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("ENTITY_KEY_REGISTRY"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ENTITY_KEY_REGISTRY",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract EntityKeyRegistry",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("checkDispute"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("checkDispute"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("askId"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("proverData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("invalidProofSignature",), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("expectedFamilyId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("CannotBeZero"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("CannotBeZero"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignature"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignature",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureLength"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureLength",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("length"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureS"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureS",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("s"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static DISPUTE_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x06(8\x03\x80a\x06(\x839\x81\x01`@\x81\x90Ra\0/\x91a\0@V[`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0pV[`\0` \x82\x84\x03\x12\x15a\0RW`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0iW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x05\x97a\0\x91`\09`\0\x81\x81`@\x01Ra\x01\xD9\x01Ra\x05\x97`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80cf\x1D\xE5\xAC\x14a\0;W\x80cs\x0F\xEC)\x14a\0\x7FW[`\0\x80\xFD[a\0b\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\x92a\0\x8D6`\x04a\x04\x93V[a\0\xA2V[`@Q\x90\x15\x15\x81R` \x01a\0vV[`\0a\0\xE8\x87\x87\x87\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x89\x92Pa\0\xF3\x91PPV[\x97\x96PPPPPPPV[`\0\x80\x86\x86\x86`@Q` \x01a\x01\x0B\x93\x92\x91\x90a\x05\x15V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a\x01|\x82`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[\x90P`\0a\x01\x8A\x82\x87a\x02BV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\x01\xB3W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qcr\x10Z\xAF`\xE0\x1B\x81R`\x04\x81\x01\x86\x90R`\x01`\x01`\xA0\x1B\x03\x82\x81\x16`$\x83\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cr\x10Z\xAF\x90`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x02\x1BW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x02/W=`\0\x80>=`\0\xFD[P`\x01\x9C\x9BPPPPPPPPPPPPV[`\0\x80`\0\x80a\x02R\x86\x86a\x02lV[\x92P\x92P\x92Pa\x02b\x82\x82a\x02\xB9V[P\x90\x94\x93PPPPV[`\0\x80`\0\x83Q`A\x03a\x02\xA6W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa\x02\x98\x88\x82\x85\x85a\x03{V[\x95P\x95P\x95PPPPa\x02\xB2V[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15a\x02\xCDWa\x02\xCDa\x05KV[\x03a\x02\xD6WPPV[`\x01\x82`\x03\x81\x11\x15a\x02\xEAWa\x02\xEAa\x05KV[\x03a\x03\x08W`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a\x03\x1CWa\x03\x1Ca\x05KV[\x03a\x03BW`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\x03\x82`\x03\x81\x11\x15a\x03VWa\x03Va\x05KV[\x03a\x03wW`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x039V[PPV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a\x03\xB6WP`\0\x91P`\x03\x90P\x82a\x04@V[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x04\nW=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a\x046WP`\0\x92P`\x01\x91P\x82\x90Pa\x04@V[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[`\0\x80\x83`\x1F\x84\x01\x12a\x04\\W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04tW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x04\x8CW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a\x04\xACW`\0\x80\xFD[\x865\x95P` \x87\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xCBW`\0\x80\xFD[a\x04\xD7\x8A\x83\x8B\x01a\x04JV[\x90\x97P\x95P`@\x89\x015\x91P\x80\x82\x11\x15a\x04\xF0W`\0\x80\xFD[Pa\x04\xFD\x89\x82\x8A\x01a\x04JV[\x97\x9A\x96\x99P\x94\x97\x94\x96\x95``\x90\x95\x015\x94\x93PPPPV[\x83\x81R`@` \x82\x01R\x81`@\x82\x01R\x81\x83``\x83\x017`\0\x81\x83\x01``\x90\x81\x01\x91\x90\x91R`\x1F\x90\x92\x01`\x1F\x19\x16\x01\x01\x92\x91PPV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xA9d\x16\x88\xE8s@ '\xCEQp\x81\x95\xED\xDD\xC4\x9B\x99\x1F\xE3\xE6\xC9\xB0\xC2%\xE6\xB0\xBFNK\xC5dsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static DISPUTE_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80cf\x1D\xE5\xAC\x14a\0;W\x80cs\x0F\xEC)\x14a\0\x7FW[`\0\x80\xFD[a\0b\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\x92a\0\x8D6`\x04a\x04\x93V[a\0\xA2V[`@Q\x90\x15\x15\x81R` \x01a\0vV[`\0a\0\xE8\x87\x87\x87\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x89\x92Pa\0\xF3\x91PPV[\x97\x96PPPPPPPV[`\0\x80\x86\x86\x86`@Q` \x01a\x01\x0B\x93\x92\x91\x90a\x05\x15V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a\x01|\x82`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[\x90P`\0a\x01\x8A\x82\x87a\x02BV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\x01\xB3W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qcr\x10Z\xAF`\xE0\x1B\x81R`\x04\x81\x01\x86\x90R`\x01`\x01`\xA0\x1B\x03\x82\x81\x16`$\x83\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cr\x10Z\xAF\x90`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x02\x1BW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x02/W=`\0\x80>=`\0\xFD[P`\x01\x9C\x9BPPPPPPPPPPPPV[`\0\x80`\0\x80a\x02R\x86\x86a\x02lV[\x92P\x92P\x92Pa\x02b\x82\x82a\x02\xB9V[P\x90\x94\x93PPPPV[`\0\x80`\0\x83Q`A\x03a\x02\xA6W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa\x02\x98\x88\x82\x85\x85a\x03{V[\x95P\x95P\x95PPPPa\x02\xB2V[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15a\x02\xCDWa\x02\xCDa\x05KV[\x03a\x02\xD6WPPV[`\x01\x82`\x03\x81\x11\x15a\x02\xEAWa\x02\xEAa\x05KV[\x03a\x03\x08W`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a\x03\x1CWa\x03\x1Ca\x05KV[\x03a\x03BW`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\x03\x82`\x03\x81\x11\x15a\x03VWa\x03Va\x05KV[\x03a\x03wW`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x039V[PPV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a\x03\xB6WP`\0\x91P`\x03\x90P\x82a\x04@V[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x04\nW=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a\x046WP`\0\x92P`\x01\x91P\x82\x90Pa\x04@V[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[`\0\x80\x83`\x1F\x84\x01\x12a\x04\\W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04tW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x04\x8CW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a\x04\xACW`\0\x80\xFD[\x865\x95P` \x87\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xCBW`\0\x80\xFD[a\x04\xD7\x8A\x83\x8B\x01a\x04JV[\x90\x97P\x95P`@\x89\x015\x91P\x80\x82\x11\x15a\x04\xF0W`\0\x80\xFD[Pa\x04\xFD\x89\x82\x8A\x01a\x04JV[\x97\x9A\x96\x99P\x94\x97\x94\x96\x95``\x90\x95\x015\x94\x93PPPPV[\x83\x81R`@` \x82\x01R\x81`@\x82\x01R\x81\x83``\x83\x017`\0\x81\x83\x01``\x90\x81\x01\x91\x90\x91R`\x1F\x90\x92\x01`\x1F\x19\x16\x01\x01\x92\x91PPV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xA9d\x16\x88\xE8s@ '\xCEQp\x81\x95\xED\xDD\xC4\x9B\x99\x1F\xE3\xE6\xC9\xB0\xC2%\xE6\xB0\xBFNK\xC5dsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static DISPUTE_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct Dispute(::ethers::contract::Contract); - impl ::core::clone::Clone for Dispute { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for Dispute { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for Dispute { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for Dispute { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(Dispute)) - .field(&self.address()) - .finish() - } - } - impl Dispute { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - DISPUTE_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - DISPUTE_ABI.clone(), - DISPUTE_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `ENTITY_KEY_REGISTRY` (0x661de5ac) function - pub fn entity_key_registry( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([102, 29, 229, 172], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `checkDispute` (0x730fec29) function - pub fn check_dispute( - &self, - ask_id: ::ethers::core::types::U256, - prover_data: ::ethers::core::types::Bytes, - invalid_proof_signature: ::ethers::core::types::Bytes, - expected_family_id: [u8; 32], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash( - [115, 15, 236, 41], - ( - ask_id, - prover_data, - invalid_proof_signature, - expected_family_id, - ), - ) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> for Dispute { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `CannotBeZero` with signature `CannotBeZero()` and selector `0x1e1d0ab5` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "CannotBeZero", abi = "CannotBeZero()")] - pub struct CannotBeZero; - ///Custom Error type `ECDSAInvalidSignature` with signature `ECDSAInvalidSignature()` and selector `0xf645eedf` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ECDSAInvalidSignature", abi = "ECDSAInvalidSignature()")] - pub struct ECDSAInvalidSignature; - ///Custom Error type `ECDSAInvalidSignatureLength` with signature `ECDSAInvalidSignatureLength(uint256)` and selector `0xfce698f7` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ECDSAInvalidSignatureLength", - abi = "ECDSAInvalidSignatureLength(uint256)" - )] - pub struct ECDSAInvalidSignatureLength { - pub length: ::ethers::core::types::U256, - } - ///Custom Error type `ECDSAInvalidSignatureS` with signature `ECDSAInvalidSignatureS(bytes32)` and selector `0xd78bce0c` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ECDSAInvalidSignatureS", - abi = "ECDSAInvalidSignatureS(bytes32)" - )] - pub struct ECDSAInvalidSignatureS { - pub s: [u8; 32], - } - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum DisputeErrors { - CannotBeZero(CannotBeZero), - ECDSAInvalidSignature(ECDSAInvalidSignature), - ECDSAInvalidSignatureLength(ECDSAInvalidSignatureLength), - ECDSAInvalidSignatureS(ECDSAInvalidSignatureS), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for DisputeErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::CannotBeZero(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ECDSAInvalidSignature(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ECDSAInvalidSignatureLength(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ECDSAInvalidSignatureS(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for DisputeErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::CannotBeZero(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ECDSAInvalidSignature(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ECDSAInvalidSignatureLength(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ECDSAInvalidSignatureS(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for DisputeErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector == ::selector() => true, - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for DisputeErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::CannotBeZero(element) => ::core::fmt::Display::fmt(element, f), - Self::ECDSAInvalidSignature(element) => ::core::fmt::Display::fmt(element, f), - Self::ECDSAInvalidSignatureLength(element) => ::core::fmt::Display::fmt(element, f), - Self::ECDSAInvalidSignatureS(element) => ::core::fmt::Display::fmt(element, f), - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for DisputeErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for DisputeErrors { - fn from(value: CannotBeZero) -> Self { - Self::CannotBeZero(value) - } - } - impl ::core::convert::From for DisputeErrors { - fn from(value: ECDSAInvalidSignature) -> Self { - Self::ECDSAInvalidSignature(value) - } - } - impl ::core::convert::From for DisputeErrors { - fn from(value: ECDSAInvalidSignatureLength) -> Self { - Self::ECDSAInvalidSignatureLength(value) - } - } - impl ::core::convert::From for DisputeErrors { - fn from(value: ECDSAInvalidSignatureS) -> Self { - Self::ECDSAInvalidSignatureS(value) - } - } - ///Container type for all input parameters for the `ENTITY_KEY_REGISTRY` function with signature `ENTITY_KEY_REGISTRY()` and selector `0x661de5ac` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "ENTITY_KEY_REGISTRY", abi = "ENTITY_KEY_REGISTRY()")] - pub struct EntityKeyRegistryCall; - ///Container type for all input parameters for the `checkDispute` function with signature `checkDispute(uint256,bytes,bytes,bytes32)` and selector `0x730fec29` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "checkDispute", - abi = "checkDispute(uint256,bytes,bytes,bytes32)" - )] - pub struct CheckDisputeCall { - pub ask_id: ::ethers::core::types::U256, - pub prover_data: ::ethers::core::types::Bytes, - pub invalid_proof_signature: ::ethers::core::types::Bytes, - pub expected_family_id: [u8; 32], - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum DisputeCalls { - EntityKeyRegistry(EntityKeyRegistryCall), - CheckDispute(CheckDisputeCall), - } - impl ::ethers::core::abi::AbiDecode for DisputeCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::EntityKeyRegistry(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::CheckDispute(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for DisputeCalls { - fn encode(self) -> Vec { - match self { - Self::EntityKeyRegistry(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::CheckDispute(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for DisputeCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::EntityKeyRegistry(element) => ::core::fmt::Display::fmt(element, f), - Self::CheckDispute(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for DisputeCalls { - fn from(value: EntityKeyRegistryCall) -> Self { - Self::EntityKeyRegistry(value) - } - } - impl ::core::convert::From for DisputeCalls { - fn from(value: CheckDisputeCall) -> Self { - Self::CheckDispute(value) - } - } - ///Container type for all return fields from the `ENTITY_KEY_REGISTRY` function with signature `ENTITY_KEY_REGISTRY()` and selector `0x661de5ac` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EntityKeyRegistryReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `checkDispute` function with signature `checkDispute(uint256,bytes,bytes,bytes32)` and selector `0x730fec29` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct CheckDisputeReturn(pub bool); -} diff --git a/bindings/src/ecdsa.rs b/bindings/src/ecdsa.rs index c0d9afa..5860ea5 100644 --- a/bindings/src/ecdsa.rs +++ b/bindings/src/ecdsa.rs @@ -59,12 +59,12 @@ pub mod ecdsa { pub static ECDSA_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 s\xDE \x0BL\x8Cq\x1A\r\xD5VY\x9A\xA4\xD6\xE1~\x9B\xDC\xB6w,\xA2\xC6\x97\x9F\xA1\xD9\xA8\xD1s\xC8dsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xF7\xA7\xEB\x87\x8F=\xBD\xA4\x0F\xF7\xBF\xB3\x80\xAB\x94\xA5\xAAqy\x84\xDF\xFE>\x02\xF3D\xC7\xC7\xE3\xBCe\x16dsolcC\0\x08\x14\x003"; /// The bytecode of the contract. pub static ECDSA_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 s\xDE \x0BL\x8Cq\x1A\r\xD5VY\x9A\xA4\xD6\xE1~\x9B\xDC\xB6w,\xA2\xC6\x97\x9F\xA1\xD9\xA8\xD1s\xC8dsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xF7\xA7\xEB\x87\x8F=\xBD\xA4\x0F\xF7\xBF\xB3\x80\xAB\x94\xA5\xAAqy\x84\xDF\xFE>\x02\xF3D\xC7\xC7\xE3\xBCe\x16dsolcC\0\x08\x14\x003"; /// The deployed bytecode of the contract. pub static ECDSA_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); diff --git a/bindings/src/entity_key_registry.rs b/bindings/src/entity_key_registry.rs index 678e980..686d213 100644 --- a/bindings/src/entity_key_registry.rs +++ b/bindings/src/entity_key_registry.rs @@ -1221,12 +1221,12 @@ pub mod entity_key_registry { pub static ENTITYKEYREGISTRY_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xE0`@R0`\x80R4\x80\x15b\0\0\x15W`\0\x80\xFD[P`@Qb\0+W8\x03\x80b\0+W\x839\x81\x01`@\x81\x90Rb\0\08\x91b\0\x01cV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\xA0Ra\xEA``\xC0R\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15b\0\0\x96WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15b\0\0\xB3WP0;\x15[\x90P\x81\x15\x80\x15b\0\0\xC2WP\x80\x15[\x15b\0\0\xE1W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T`\x01`\x01`@\x1B\x03\x19\x16`\x01\x17\x85U\x83\x15b\0\x01\x10W\x84T`\xFF`@\x1B\x19\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[\x83\x15b\0\x01WW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPb\0\x01\x95V[`\0` \x82\x84\x03\x12\x15b\0\x01vW`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01\x8EW`\0\x80\xFD[\x93\x92PPPV[`\x80Q`\xA0Q`\xC0Qa)vb\0\x01\xE1`\09`\0\x81\x81a\x04\xE6\x01Ra\x14\xAA\x01R`\0\x81\x81a\x05\xAF\x01Ra\x15\x16\x01R`\0\x81\x81a\x11\x92\x01R\x81\x81a\x11\xBB\x01Ra\x12\xFF\x01Ra)v`\0\xF3\xFE`\x80`@R`\x046\x10a\x01\xC2W`\x005`\xE0\x1C\x80cr\xB5a\xF9\x11a\0\xF7W\x80c\xAA\x0E\xD0\x9F\x11a\0\x95W\x80c\xD5Gt\x1F\x11a\0dW\x80c\xD5Gt\x1F\x14a\x05\xE9W\x80c\xE1\xA610\x14a\x06\tW\x80c\xED8\r\x03\x14a\x06)W\x80c\xFF\x11J\xE1\x14a\x06IW`\0\x80\xFD[\x80c\xAA\x0E\xD0\x9F\x14a\x05\x1DW\x80c\xAD<\xB1\xCC\x14a\x05=W\x80c\xB8\n\xAA\x89\x14a\x05{W\x80c\xCDy\xF9\x06\x14a\x05\x9DW`\0\x80\xFD[\x80c\x88R!\t\x11a\0\xD1W\x80c\x88R!\t\x14a\x04\x94W\x80c\x91\xD1HT\x14a\x04\xB4W\x80c\x9A\xEC\x99\x0E\x14a\x04\xD4W\x80c\xA2\x17\xFD\xDF\x14a\x05\x08W`\0\x80\xFD[\x80cr\xB5a\xF9\x14a\x04\x0FW\x80cu\x84{\x84\x14a\x04@W\x80cyvi\xC9\x14a\x04`W`\0\x80\xFD[\x80c//\xF1]\x11a\x01dW\x80cR\xD1\x90-\x11a\x01>W\x80cR\xD1\x90-\x14a\x03aW\x80ci\xFD\xBC\xCA\x14a\x03vW\x80ck[!\xA6\x14a\x03\x96W\x80cr\x10Z\xAF\x14a\x03\xEFW`\0\x80\xFD[\x80c//\xF1]\x14a\x03\x0EW\x80c6V\x8A\xBE\x14a\x03.W\x80cO\x1E\xF2\x86\x14a\x03NW`\0\x80\xFD[\x80c\x14\x13\xA9*\x11a\x01\xA0W\x80c\x14\x13\xA9*\x14a\x02\x81W\x80c$\x10\xF6\xBA\x14a\x02\xA1W\x80c$\x8A\x9C\xA3\x14a\x02\xCEW\x80c.\xB3\x9E\xE9\x14a\x02\xEEW`\0\x80\xFD[\x80c\x01\xD5\x8F\xA3\x14a\x01\xC7W\x80c\x01\xFF\xC9\xA7\x14a\x02/W\x80c\x07\x07Y\x1F\x14a\x02_W[`\0\x80\xFD[4\x80\x15a\x01\xD3W`\0\x80\xFD[Pa\x02\x1Ca\x01\xE26`\x04a\x1D\x15V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02;W`\0\x80\xFD[Pa\x02Oa\x02J6`\x04a\x1D0V[a\x06iV[`@Q\x90\x15\x15\x81R` \x01a\x02&V[4\x80\x15a\x02kW`\0\x80\xFD[Pa\x02\x7Fa\x02z6`\x04a\x1D\xA2V[a\x06zV[\0[4\x80\x15a\x02\x8DW`\0\x80\xFD[Pa\x02\x7Fa\x02\x9C6`\x04a\x1D\xE3V[a\x06\xA1V[4\x80\x15a\x02\xADW`\0\x80\xFD[Pa\x02\xC1a\x02\xBC6`\x04a\x1E\x05V[a\x06\xC9V[`@Qa\x02&\x91\x90a\x1EnV[4\x80\x15a\x02\xDAW`\0\x80\xFD[Pa\x02\x1Ca\x02\xE96`\x04a\x1E\x05V[a\x08\xD5V[4\x80\x15a\x02\xFAW`\0\x80\xFD[Pa\x02\x7Fa\x03\t6`\x04a\x1F\xC5V[a\x08\xF7V[4\x80\x15a\x03\x1AW`\0\x80\xFD[Pa\x02\x7Fa\x03)6`\x04a!\x1CV[a\n]V[4\x80\x15a\x03:W`\0\x80\xFD[Pa\x02\x7Fa\x03I6`\x04a!\x1CV[a\nyV[a\x02\x7Fa\x03\\6`\x04a!HV[a\n\xACV[4\x80\x15a\x03mW`\0\x80\xFD[Pa\x02\x1Ca\n\xCBV[4\x80\x15a\x03\x82W`\0\x80\xFD[Pa\x02\x7Fa\x03\x916`\x04a!\x95V[a\n\xE8V[4\x80\x15a\x03\xA2W`\0\x80\xFD[Pa\x02Oa\x03\xB16`\x04a\x1D\xE3V[`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x90V[4\x80\x15a\x03\xFBW`\0\x80\xFD[Pa\x02\x7Fa\x04\n6`\x04a!\x1CV[a\x0B\x9AV[4\x80\x15a\x04\x1BW`\0\x80\xFD[Pa\x02Oa\x04*6`\x04a\x1E\x05V[a\x01\xF5` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[4\x80\x15a\x04LW`\0\x80\xFD[Pa\x02Oa\x04[6`\x04a\"\x1EV[a\x0B\xA4V[4\x80\x15a\x04lW`\0\x80\xFD[Pa\x02\x1C\x7Fq\xF3\xD5XV\xE4\x05\x8E\xD0n\xE0W\xD7\x9A\xDAa_e\xCD\xF5\xF9\xEE\x88\x18\x1B\x91B%\x08\x8F\x83O\x81V[4\x80\x15a\x04\xA0W`\0\x80\xFD[Pa\x02\x7Fa\x04\xAF6`\x04a\x1E\x05V[a\x0B\xB7V[4\x80\x15a\x04\xC0W`\0\x80\xFD[Pa\x02Oa\x04\xCF6`\x04a!\x1CV[a\x0CdV[4\x80\x15a\x04\xE0W`\0\x80\xFD[Pa\x02\x1C\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\x14W`\0\x80\xFD[Pa\x02\x1C`\0\x81V[4\x80\x15a\x05)W`\0\x80\xFD[Pa\x02\x7Fa\x0586`\x04a\x1D\x15V[a\x0C\x9CV[4\x80\x15a\x05IW`\0\x80\xFD[Pa\x05n`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02&\x91\x90a#'V[4\x80\x15a\x05\x87W`\0\x80\xFD[Pa\x02\x1C`\0\x80Q` a)\x01\x839\x81Q\x91R\x81V[4\x80\x15a\x05\xA9W`\0\x80\xFD[Pa\x05\xD1\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02&V[4\x80\x15a\x05\xF5W`\0\x80\xFD[Pa\x02\x7Fa\x06\x046`\x04a!\x1CV[a\x0C\xBFV[4\x80\x15a\x06\x15W`\0\x80\xFD[Pa\x05na\x06$6`\x04a#:V[a\x0C\xDBV[4\x80\x15a\x065W`\0\x80\xFD[Pa\x02\x7Fa\x06D6`\x04a#:V[a\r\x81V[4\x80\x15a\x06UW`\0\x80\xFD[Pa\x02\x7Fa\x06d6`\x04a#dV[a\x0E\x01V[`\0a\x06t\x82a\x0E;V[\x92\x91PPV[`\0\x80Q` a)\x01\x839\x81Q\x91Ra\x06\x92\x81a\x0EpV[a\x06\x9C\x83\x83a\x0E}V[PPPV[`\0\x80Q` a)\x01\x839\x81Q\x91Ra\x06\xB9\x81a\x0EpV[a\x06\xC3\x83\x83a\x0E\xF9V[PPPPV[a\x06\xED`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R`\0\x80Q` a(\xC1\x839\x81Q\x91R` \x81\x90R`@\x91\x82\x90 \x82Q``\x81\x01\x90\x93R\x80T\x91\x92\x91\x82\x90\x82\x90a\x07'\x90a#\xAFV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07S\x90a#\xAFV[\x80\x15a\x07\xA0W\x80`\x1F\x10a\x07uWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\xA0V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x07\x83W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80Ta\x07\xB9\x90a#\xAFV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07\xE5\x90a#\xAFV[\x80\x15a\x082W\x80`\x1F\x10a\x08\x07Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x082V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08\x15W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x02\x82\x01\x80Ta\x08K\x90a#\xAFV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x08w\x90a#\xAFV[\x80\x15a\x08\xC4W\x80`\x1F\x10a\x08\x99Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x08\xC4V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08\xA7W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x91PP\x91\x90PV[`\0\x90\x81R`\0\x80Q` a)!\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\tF\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\n\xC7\x81a\x0EpV[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x12\x91WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x12\x8E\x91\x81\x01\x90a&oV[`\x01[a\x12\xB9W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x0C\x11V[`\0\x80Q` a(\xE1\x839\x81Q\x91R\x81\x14a\x12\xEAW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[a\x06\x9C\x83\x83a\x19\x87V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x0F\xC1W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T`\0\x80Q` a(\xC1\x839\x81Q\x91R\x90\x80a\x13\xA3W`@Qc=\xD8\xCA\x95`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81R` \x83\x90R`@\x90 \x80Ta\x13\xBC\x90a#\xAFV[\x90P`\0\x03a\x13\xDEW`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x81R`\x02\x83\x01` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x90 T`\xFF\x16a\x06\xC3W`@QcHf%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x80Q` a(\xC1\x839\x81Q\x91R\x90P`\0\x83` \x01Q\x84`@\x01Q\x85``\x01Q`@Q` \x01a\x14Q\x93\x92\x91\x90a&\x88V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x14\x83\x90a#\xAFV[\x90P`\0\x03a\x14\xA5W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x14\xCF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba&\xCBV[a\x03\xE8\x85`\x80\x01Qa\x14\xE1\x91\x90a&\xECV[\x11a\x14\xFFW`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\x15M\x90\x88\x90\x88\x90`\x04\x01a'\x0EV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x15eW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x15yW=`\0\x80>=`\0\xFD[PPPP`\0a\x15\x8C\x85`\0\x01Qa\x19\xDDV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x85\x01` R`@\x90 T\x90\x91P\x15a\x15\xBBW`\0\x93PPPPa\x06tV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x84\x01` R`@\x90\x81\x90 \x83\x90U\x85Q\x90Q\x83\x91a\x15\xE9\x91a'\xA2V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF4\x83\x7F\x1Af\xA1\xE5\xFB\xDE,@\xD0\xF6\xEF\xF7Q\x83\x13\x9Ey\xB0\xFC\x1E\xAA\xB2\x80\xA3\xA0\xBE8\xE7\xB1\x90`\0\x90\xA3P`\x01\x95\x94PPPPPV[`\0\x81\x81R`\0\x80Q` a(\xC1\x839\x81Q\x91R` \x81\x90R`@\x82 \x80Ta\x16M\x90a#\xAFV[\x90P`\0\x03a\x16_WP`\0\x92\x91PPV[`\0\x83\x81R` \x82\x90R`@\x81 \x90a\x16x\x82\x82a\x1C\xABV[a\x16\x86`\x01\x83\x01`\0a\x1C\xABV[a\x16\x94`\x02\x83\x01`\0a\x1C\xABV[PP`@Q\x83\x90\x7FKq\xBE\xDD\xA4!yf\xEA\xC1\xAAI\xE3[\x15P\xE5\xAB\x87\x06J\xE1y\xD1\xB3k9;\xD0N\xB7C\x90`\0\x90\xA2P`\x01\x92\x91PPV[`\0a\x16\xD7\x84\x84\x84a\x1A\rV[\x90Pa\x16\xE2\x81a\x1AFV[a\x17\x02W`@Qc\x065l\xB3`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[`\0\x81\x81Ra\x01\xF5` R`@\x90 T`\xFF\x16\x15a\x176W`@Qc\"m\xD8\xA3`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[`\0a\x17[`@Q\x80``\x01`@R\x80\x87\x81R` \x01\x86\x81R` \x01\x85\x81RPa\x18\nV[P\x90P\x81\x81\x14a\x17~W`@Qc\x0CZ\x1A\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\nT\x82\x87a\x1A{V[a\x17\x92\x82\x82a\x0CdV[a\n\xC7W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a\x0C\x11V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a\x0F\xC1W`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80QQ`\0\x90\x81\x90`\0\x80Q` a(\xC1\x839\x81Q\x91R\x90`0\x14\x80\x15a\x186WP\x83` \x01QQ`0\x14[\x80\x15a\x18GWP\x83`@\x01QQ`0\x14[a\x18dW`@QcBc\r\xDB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x84`\0\x01Q\x85` \x01Q\x86`@\x01Q`@Q` \x01a\x18\x87\x93\x92\x91\x90a&\x88V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x18\xB9\x90a#\xAFV[\x15\x90Pa\x18\xCBW\x94`\0\x94P\x92PPPV[`@\x80Q``\x81\x01\x82R\x86Q\x81R` \x80\x88\x01Q\x81\x83\x01R\x87\x83\x01Q\x82\x84\x01R`\0\x84\x81R\x90\x85\x90R\x91\x90\x91 \x81Q\x81\x90a\x19\x06\x90\x82a'\xBEV[P` \x82\x01Q`\x01\x82\x01\x90a\x19\x1B\x90\x82a'\xBEV[P`@\x82\x01Q`\x02\x82\x01\x90a\x190\x90\x82a'\xBEV[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x86`\0\x01Q\x87` \x01Q\x88`@\x01Q`@Qa\x19t\x93\x92\x91\x90a(}V[`@Q\x80\x91\x03\x90\xA2\x94`\x01\x94P\x92PPPV[a\x19\x90\x82a\x1B,V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x19\xD5Wa\x06\x9C\x82\x82a\x1B\x91V[a\n\xC7a\x1C\x07V[`\0\x81Q`@\x14a\x1A\x01W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80\x84\x84\x84`@Q` \x01a\x1A%\x93\x92\x91\x90a&\x88V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`\0\x81\x15\x80a\x1AtWP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x81\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x81 T`\0\x80Q` a(\xC1\x839\x81Q\x91R\x90`\xFF\x16\x15a\x1A\xD6W`\0\x91PPa\x06tV[`\0\x83\x81R`\x02\x82\x01` \x90\x81R`@\x80\x83 \x87\x84R\x82R\x91\x82\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U\x90Q\x84\x81R\x85\x91\x7F\xBF\xB1&\xE7B\xCE\x96\x18\xB5\xBFkT\x83\x99\x16\x92o\\9wR\xBE5@L\x83h\xDD\xCFh\xC1\n\x91\x01a\x0F\xA7V[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x1BbW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0C\x11V[`\0\x80Q` a(\xE1\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x1B\xAE\x91\x90a'\xA2V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x1B\xE9W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1B\xEEV[``\x91P[P\x91P\x91Pa\x1B\xFE\x85\x83\x83a\x1C&V[\x95\x94PPPPPV[4\x15a\x0F\xC1W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a\x1C;Wa\x1C6\x82a\x1C\x82V[a\x0B\xB0V[\x81Q\x15\x80\x15a\x1CRWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x1C{W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x0C\x11V[P\x80a\x0B\xB0V[\x80Q\x15a\x1C\x92W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Ta\x1C\xB7\x90a#\xAFV[`\0\x82U\x80`\x1F\x10a\x1C\xC7WPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x0Ez\x91\x90[\x80\x82\x11\x15a\x1C\xF5W`\0\x81U`\x01\x01a\x1C\xE1V[P\x90V[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x1D\x10W`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x1D'W`\0\x80\xFD[a\x0B\xB0\x82a\x1C\xF9V[`\0` \x82\x84\x03\x12\x15a\x1DBW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x0B\xB0W`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a\x1DlW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1D\x83W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1D\x9BW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80` \x83\x85\x03\x12\x15a\x1D\xB5W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1D\xCBW`\0\x80\xFD[a\x1D\xD7\x85\x82\x86\x01a\x1DZV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1D\xF6W`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0` \x82\x84\x03\x12\x15a\x1E\x17W`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x1E9W\x81\x81\x01Q\x83\x82\x01R` \x01a\x1E!V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x1EZ\x81` \x86\x01` \x86\x01a\x1E\x1EV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x1E\x8A`\x80\x84\x01\x82a\x1EBV[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x1E\xA8\x83\x83a\x1EBV[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x1B\xFE\x82\x82a\x1EBV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1E\xFEWa\x1E\xFEa\x1E\xC6V[`@R\x90V[`@Q`\xA0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1E\xFEWa\x1E\xFEa\x1E\xC6V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1FNWa\x1FNa\x1E\xC6V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x1FgW`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1F\x80Wa\x1F\x80a\x1E\xC6V[a\x1F\x93`\x1F\x82\x01`\x1F\x19\x16` \x01a\x1F&V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x1F\xA8W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1F\xD8W`\0\x80\xFD[a\x1F\xE1\x83a\x1C\xF9V[\x91P` \x80\x84\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x1F\xFEW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a \x12W`\0\x80\xFD[\x815\x81\x81\x11\x15a $Wa $a\x1E\xC6V[\x80`\x05\x1Ba 3\x85\x82\x01a\x1F&V[\x91\x82R\x83\x81\x01\x85\x01\x91\x85\x81\x01\x90\x8A\x84\x11\x15a MW`\0\x80\xFD[\x86\x86\x01\x92P[\x83\x83\x10\x15a!\x0BW\x825\x85\x81\x11\x15a kW`\0\x80\x81\xFD[\x86\x01``\x81\x8D\x03`\x1F\x19\x01\x81\x13\x15a \x83W`\0\x80\x81\xFD[a \x8Ba\x1E\xDCV[\x89\x83\x015\x88\x81\x11\x15a \x9DW`\0\x80\x81\xFD[a \xAB\x8F\x8C\x83\x87\x01\x01a\x1FVV[\x82RP`@\x83\x015\x88\x81\x11\x15a \xC1W`\0\x80\x81\xFD[a \xCF\x8F\x8C\x83\x87\x01\x01a\x1FVV[\x82\x8C\x01RP\x90\x82\x015\x90\x87\x82\x11\x15a \xE7W`\0\x80\x81\xFD[a \xF5\x8E\x8B\x84\x86\x01\x01a\x1FVV[`@\x82\x01R\x84RPP\x91\x86\x01\x91\x90\x86\x01\x90a SV[\x80\x97PPPPPPPP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a!/W`\0\x80\xFD[\x825\x91Pa!?` \x84\x01a\x1C\xF9V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a![W`\0\x80\xFD[a!d\x83a\x1C\xF9V[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a!\x7FW`\0\x80\xFD[a!\x8B\x85\x82\x86\x01a\x1FVV[\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a!\xAEW`\0\x80\xFD[a!\xB7\x87a\x1C\xF9V[\x95P` \x87\x015\x94P`@\x87\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a!\xDAW`\0\x80\xFD[a!\xE6\x8A\x83\x8B\x01a\x1DZV[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15a!\xFFW`\0\x80\xFD[Pa\"\x0C\x89\x82\x8A\x01a\x1DZV[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\"1W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\"HW`\0\x80\xFD[a\"T\x86\x83\x87\x01a\x1FVV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\"jW`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\"~W`\0\x80\xFD[a\"\x86a\x1F\x04V[\x825\x82\x81\x11\x15a\"\x95W`\0\x80\xFD[a\"\xA1\x88\x82\x86\x01a\x1FVV[\x82RP` \x83\x015\x82\x81\x11\x15a\"\xB6W`\0\x80\xFD[a\"\xC2\x88\x82\x86\x01a\x1FVV[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\"\xDAW`\0\x80\xFD[a\"\xE6\x88\x82\x86\x01a\x1FVV[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\"\xFEW`\0\x80\xFD[a#\n\x88\x82\x86\x01a\x1FVV[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[` \x81R`\0a\x0B\xB0` \x83\x01\x84a\x1EBV[`\0\x80`@\x83\x85\x03\x12\x15a#MW`\0\x80\xFD[a#V\x83a\x1C\xF9V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15a#yW`\0\x80\xFD[\x835\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a#\x96W`\0\x80\xFD[a#\xA2\x86\x82\x87\x01a\x1DZV[\x94\x97\x90\x96P\x93\x94PPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a#\xC3W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a#\xE3WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x06\x9CW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a$\x12WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a$1W\x82\x81U`\x01\x01a$\x1EV[PPPPPPV[`\x01`\x01`@\x1B\x03\x83\x11\x15a$PWa$Pa\x1E\xC6V[a$d\x83a$^\x83Ta#\xAFV[\x83a#\xE9V[`\0`\x1F\x84\x11`\x01\x81\x14a$\x98W`\0\x85\x15a$\x80WP\x83\x82\x015[`\0\x19`\x03\x87\x90\x1B\x1C\x19\x16`\x01\x86\x90\x1B\x17\x83Ua$\xF2V[`\0\x83\x81R` \x90 `\x1F\x19\x86\x16\x90\x83[\x82\x81\x10\x15a$\xC9W\x86\x85\x015\x82U` \x94\x85\x01\x94`\x01\x90\x92\x01\x91\x01a$\xA9V[P\x86\x82\x10\x15a$\xE6W`\0\x19`\xF8\x88`\x03\x1B\x16\x1C\x19\x84\x87\x015\x16\x81U[PP`\x01\x85`\x01\x1B\x01\x83U[PPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a%\x0EW`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a%%W`\0\x80\xFD[a%1\x87\x83\x88\x01a\x1FVV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a%GW`\0\x80\xFD[a%S\x87\x83\x88\x01a\x1FVV[\x93P`@\x86\x015\x91P\x80\x82\x11\x15a%iW`\0\x80\xFD[Pa%v\x86\x82\x87\x01a\x1FVV[\x91PP\x92P\x92P\x92V[`\0\x80`\0\x80`\0\x80`\xC0\x87\x89\x03\x12\x15a%\x99W`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a%\xB0W`\0\x80\xFD[a%\xBC\x8A\x83\x8B\x01a\x1FVV[\x97P` \x89\x015\x91P\x80\x82\x11\x15a%\xD2W`\0\x80\xFD[a%\xDE\x8A\x83\x8B\x01a\x1FVV[\x96P`@\x89\x015\x91P\x80\x82\x11\x15a%\xF4W`\0\x80\xFD[a&\0\x8A\x83\x8B\x01a\x1FVV[\x95P``\x89\x015\x91P\x80\x82\x11\x15a&\x16W`\0\x80\xFD[a&\"\x8A\x83\x8B\x01a\x1FVV[\x94P`\x80\x89\x015\x91P\x80\x82\x11\x15a&8W`\0\x80\xFD[Pa&E\x89\x82\x8A\x01a\x1FVV[\x92PP`\xA0\x87\x015\x90P\x92\x95P\x92\x95P\x92\x95V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a&\x81W`\0\x80\xFD[PQ\x91\x90PV[`\0\x84Qa&\x9A\x81\x84` \x89\x01a\x1E\x1EV[\x84Q\x90\x83\x01\x90a&\xAE\x81\x83` \x89\x01a\x1E\x1EV[\x84Q\x91\x01\x90a&\xC1\x81\x83` \x88\x01a\x1E\x1EV[\x01\x95\x94PPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x06tWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a'\tWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a'!`@\x83\x01\x85a\x1EBV[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra'<`\xA0\x83\x01\x82a\x1EBV[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra'U\x82\x82a\x1EBV[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra'o\x82\x82a\x1EBV[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra'\x89\x82\x82a\x1EBV[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[`\0\x82Qa'\xB4\x81\x84` \x87\x01a\x1E\x1EV[\x91\x90\x91\x01\x92\x91PPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a'\xD7Wa'\xD7a\x1E\xC6V[a'\xEB\x81a'\xE5\x84Ta#\xAFV[\x84a#\xE9V[` \x80`\x1F\x83\x11`\x01\x81\x14a( W`\0\x84\x15a(\x08WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua$1V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a(OW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a(0V[P\x85\x82\x10\x15a(mW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[``\x81R`\0a(\x90``\x83\x01\x86a\x1EBV[\x82\x81\x03` \x84\x01Ra(\xA2\x81\x86a\x1EBV[\x90P\x82\x81\x03`@\x84\x01Ra(\xB6\x81\x85a\x1EBV[\x96\x95PPPPPPV\xFE\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x006\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\xDCi|\xE6\xC0\xC3\xF8\x86\xFB\xBC\x8E\r#:\xBF\xACZ\xC56S\xAC\x08\xB3c[\xB0\xAE\xC7\x0C9\\B\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\xA2dipfsX\"\x12 \xDA\x8C\x90\x07\xA7\xE5:\xC7\x8Eqlp~\x13L\xD3\xF6\x1Ak\x7F\xC2\xF4\xED\xB75\x1F#\x0F\xC6\xAF{\x18dsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`\xE0`@R0`\x80R4\x80\x15b\0\0\x15W`\0\x80\xFD[P`@Qb\0+\x818\x03\x80b\0+\x81\x839\x81\x01`@\x81\x90Rb\0\08\x91b\0\x01cV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\xA0Ra\xEA``\xC0R\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15b\0\0\x96WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15b\0\0\xB3WP0;\x15[\x90P\x81\x15\x80\x15b\0\0\xC2WP\x80\x15[\x15b\0\0\xE1W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T`\x01`\x01`@\x1B\x03\x19\x16`\x01\x17\x85U\x83\x15b\0\x01\x10W\x84T`\xFF`@\x1B\x19\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[\x83\x15b\0\x01WW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPb\0\x01\x95V[`\0` \x82\x84\x03\x12\x15b\0\x01vW`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01\x8EW`\0\x80\xFD[\x93\x92PPPV[`\x80Q`\xA0Q`\xC0Qa)\xA0b\0\x01\xE1`\09`\0\x81\x81a\x04\xE6\x01Ra\x14\xB5\x01R`\0\x81\x81a\x05\xAF\x01Ra\x15!\x01R`\0\x81\x81a\x11\x9D\x01R\x81\x81a\x11\xC6\x01Ra\x13\n\x01Ra)\xA0`\0\xF3\xFE`\x80`@R`\x046\x10a\x01\xC2W`\x005`\xE0\x1C\x80cr\xB5a\xF9\x11a\0\xF7W\x80c\xAA\x0E\xD0\x9F\x11a\0\x95W\x80c\xD5Gt\x1F\x11a\0dW\x80c\xD5Gt\x1F\x14a\x05\xE9W\x80c\xE1\xA610\x14a\x06\tW\x80c\xED8\r\x03\x14a\x06)W\x80c\xFF\x11J\xE1\x14a\x06IW`\0\x80\xFD[\x80c\xAA\x0E\xD0\x9F\x14a\x05\x1DW\x80c\xAD<\xB1\xCC\x14a\x05=W\x80c\xB8\n\xAA\x89\x14a\x05{W\x80c\xCDy\xF9\x06\x14a\x05\x9DW`\0\x80\xFD[\x80c\x88R!\t\x11a\0\xD1W\x80c\x88R!\t\x14a\x04\x94W\x80c\x91\xD1HT\x14a\x04\xB4W\x80c\x9A\xEC\x99\x0E\x14a\x04\xD4W\x80c\xA2\x17\xFD\xDF\x14a\x05\x08W`\0\x80\xFD[\x80cr\xB5a\xF9\x14a\x04\x0FW\x80cu\x84{\x84\x14a\x04@W\x80cyvi\xC9\x14a\x04`W`\0\x80\xFD[\x80c//\xF1]\x11a\x01dW\x80cR\xD1\x90-\x11a\x01>W\x80cR\xD1\x90-\x14a\x03aW\x80ci\xFD\xBC\xCA\x14a\x03vW\x80ck[!\xA6\x14a\x03\x96W\x80cr\x10Z\xAF\x14a\x03\xEFW`\0\x80\xFD[\x80c//\xF1]\x14a\x03\x0EW\x80c6V\x8A\xBE\x14a\x03.W\x80cO\x1E\xF2\x86\x14a\x03NW`\0\x80\xFD[\x80c\x14\x13\xA9*\x11a\x01\xA0W\x80c\x14\x13\xA9*\x14a\x02\x81W\x80c$\x10\xF6\xBA\x14a\x02\xA1W\x80c$\x8A\x9C\xA3\x14a\x02\xCEW\x80c.\xB3\x9E\xE9\x14a\x02\xEEW`\0\x80\xFD[\x80c\x01\xD5\x8F\xA3\x14a\x01\xC7W\x80c\x01\xFF\xC9\xA7\x14a\x02/W\x80c\x07\x07Y\x1F\x14a\x02_W[`\0\x80\xFD[4\x80\x15a\x01\xD3W`\0\x80\xFD[Pa\x02\x1Ca\x01\xE26`\x04a\x1D V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02;W`\0\x80\xFD[Pa\x02Oa\x02J6`\x04a\x1D;V[a\x06iV[`@Q\x90\x15\x15\x81R` \x01a\x02&V[4\x80\x15a\x02kW`\0\x80\xFD[Pa\x02\x7Fa\x02z6`\x04a\x1D\xADV[a\x06zV[\0[4\x80\x15a\x02\x8DW`\0\x80\xFD[Pa\x02\x7Fa\x02\x9C6`\x04a\x1D\xEEV[a\x06\xA1V[4\x80\x15a\x02\xADW`\0\x80\xFD[Pa\x02\xC1a\x02\xBC6`\x04a\x1E\x10V[a\x06\xC9V[`@Qa\x02&\x91\x90a\x1EyV[4\x80\x15a\x02\xDAW`\0\x80\xFD[Pa\x02\x1Ca\x02\xE96`\x04a\x1E\x10V[a\x08\xD5V[4\x80\x15a\x02\xFAW`\0\x80\xFD[Pa\x02\x7Fa\x03\t6`\x04a\x1F\xD0V[a\x08\xF7V[4\x80\x15a\x03\x1AW`\0\x80\xFD[Pa\x02\x7Fa\x03)6`\x04a!'V[a\n]V[4\x80\x15a\x03:W`\0\x80\xFD[Pa\x02\x7Fa\x03I6`\x04a!'V[a\nyV[a\x02\x7Fa\x03\\6`\x04a!SV[a\n\xACV[4\x80\x15a\x03mW`\0\x80\xFD[Pa\x02\x1Ca\n\xCBV[4\x80\x15a\x03\x82W`\0\x80\xFD[Pa\x02\x7Fa\x03\x916`\x04a!\xA0V[a\n\xE8V[4\x80\x15a\x03\xA2W`\0\x80\xFD[Pa\x02Oa\x03\xB16`\x04a\x1D\xEEV[`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x90V[4\x80\x15a\x03\xFBW`\0\x80\xFD[Pa\x02\x7Fa\x04\n6`\x04a!'V[a\x0B\x9AV[4\x80\x15a\x04\x1BW`\0\x80\xFD[Pa\x02Oa\x04*6`\x04a\x1E\x10V[a\x01\xF5` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[4\x80\x15a\x04LW`\0\x80\xFD[Pa\x02Oa\x04[6`\x04a\")V[a\x0B\xA4V[4\x80\x15a\x04lW`\0\x80\xFD[Pa\x02\x1C\x7Fq\xF3\xD5XV\xE4\x05\x8E\xD0n\xE0W\xD7\x9A\xDAa_e\xCD\xF5\xF9\xEE\x88\x18\x1B\x91B%\x08\x8F\x83O\x81V[4\x80\x15a\x04\xA0W`\0\x80\xFD[Pa\x02\x7Fa\x04\xAF6`\x04a\x1E\x10V[a\x0B\xB7V[4\x80\x15a\x04\xC0W`\0\x80\xFD[Pa\x02Oa\x04\xCF6`\x04a!'V[a\x0CdV[4\x80\x15a\x04\xE0W`\0\x80\xFD[Pa\x02\x1C\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\x14W`\0\x80\xFD[Pa\x02\x1C`\0\x81V[4\x80\x15a\x05)W`\0\x80\xFD[Pa\x02\x7Fa\x0586`\x04a\x1D V[a\x0C\x9CV[4\x80\x15a\x05IW`\0\x80\xFD[Pa\x05n`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02&\x91\x90a#2V[4\x80\x15a\x05\x87W`\0\x80\xFD[Pa\x02\x1C`\0\x80Q` a)+\x839\x81Q\x91R\x81V[4\x80\x15a\x05\xA9W`\0\x80\xFD[Pa\x05\xD1\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02&V[4\x80\x15a\x05\xF5W`\0\x80\xFD[Pa\x02\x7Fa\x06\x046`\x04a!'V[a\x0C\xBFV[4\x80\x15a\x06\x15W`\0\x80\xFD[Pa\x05na\x06$6`\x04a#EV[a\x0C\xDBV[4\x80\x15a\x065W`\0\x80\xFD[Pa\x02\x7Fa\x06D6`\x04a#EV[a\r\x81V[4\x80\x15a\x06UW`\0\x80\xFD[Pa\x02\x7Fa\x06d6`\x04a#oV[a\x0E\x01V[`\0a\x06t\x82a\x0E;V[\x92\x91PPV[`\0\x80Q` a)+\x839\x81Q\x91Ra\x06\x92\x81a\x0EpV[a\x06\x9C\x83\x83a\x0E}V[PPPV[`\0\x80Q` a)+\x839\x81Q\x91Ra\x06\xB9\x81a\x0EpV[a\x06\xC3\x83\x83a\x0E\xF9V[PPPPV[a\x06\xED`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R`\0\x80Q` a(\xEB\x839\x81Q\x91R` \x81\x90R`@\x91\x82\x90 \x82Q``\x81\x01\x90\x93R\x80T\x91\x92\x91\x82\x90\x82\x90a\x07'\x90a#\xBAV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07S\x90a#\xBAV[\x80\x15a\x07\xA0W\x80`\x1F\x10a\x07uWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\xA0V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x07\x83W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80Ta\x07\xB9\x90a#\xBAV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07\xE5\x90a#\xBAV[\x80\x15a\x082W\x80`\x1F\x10a\x08\x07Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x082V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08\x15W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x02\x82\x01\x80Ta\x08K\x90a#\xBAV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x08w\x90a#\xBAV[\x80\x15a\x08\xC4W\x80`\x1F\x10a\x08\x99Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x08\xC4V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08\xA7W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x91PP\x91\x90PV[`\0\x90\x81R`\0\x80Q` a)K\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\tF\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\n\xC7\x81a\x0EpV[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x12\x9CWP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x12\x99\x91\x81\x01\x90a&\xA7V[`\x01[a\x12\xC4W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x0C\x11V[`\0\x80Q` a)\x0B\x839\x81Q\x91R\x81\x14a\x12\xF5W`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[a\x06\x9C\x83\x83a\x19\x92V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x0F\xC1W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T`\0\x80Q` a(\xEB\x839\x81Q\x91R\x90\x80a\x13\xAEW`@Qc=\xD8\xCA\x95`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81R` \x83\x90R`@\x90 \x80Ta\x13\xC7\x90a#\xBAV[\x90P`\0\x03a\x13\xE9W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x81R`\x02\x83\x01` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x90 T`\xFF\x16a\x06\xC3W`@QcHf%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x80Q` a(\xEB\x839\x81Q\x91R\x90P`\0\x83` \x01Q\x84`@\x01Q\x85``\x01Q`@Q` \x01a\x14\\\x93\x92\x91\x90a&\xC0V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x14\x8E\x90a#\xBAV[\x90P`\0\x03a\x14\xB0W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x14\xDA\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba'\x03V[a\x03\xE8\x85`\x80\x01Qa\x14\xEC\x91\x90a'\x16V[\x11a\x15\nW`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\x15X\x90\x88\x90\x88\x90`\x04\x01a'8V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x15pW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x15\x84W=`\0\x80>=`\0\xFD[PPPP`\0a\x15\x97\x85`\0\x01Qa\x19\xE8V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x85\x01` R`@\x90 T\x90\x91P\x15a\x15\xC6W`\0\x93PPPPa\x06tV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x84\x01` R`@\x90\x81\x90 \x83\x90U\x85Q\x90Q\x83\x91a\x15\xF4\x91a'\xCCV[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF4\x83\x7F\x1Af\xA1\xE5\xFB\xDE,@\xD0\xF6\xEF\xF7Q\x83\x13\x9Ey\xB0\xFC\x1E\xAA\xB2\x80\xA3\xA0\xBE8\xE7\xB1\x90`\0\x90\xA3P`\x01\x95\x94PPPPPV[`\0\x81\x81R`\0\x80Q` a(\xEB\x839\x81Q\x91R` \x81\x90R`@\x82 \x80Ta\x16X\x90a#\xBAV[\x90P`\0\x03a\x16jWP`\0\x92\x91PPV[`\0\x83\x81R` \x82\x90R`@\x81 \x90a\x16\x83\x82\x82a\x1C\xB6V[a\x16\x91`\x01\x83\x01`\0a\x1C\xB6V[a\x16\x9F`\x02\x83\x01`\0a\x1C\xB6V[PP`@Q\x83\x90\x7FKq\xBE\xDD\xA4!yf\xEA\xC1\xAAI\xE3[\x15P\xE5\xAB\x87\x06J\xE1y\xD1\xB3k9;\xD0N\xB7C\x90`\0\x90\xA2P`\x01\x92\x91PPV[`\0a\x16\xE2\x84\x84\x84a\x1A\x18V[\x90Pa\x16\xED\x81a\x1AQV[a\x17\rW`@Qc\x065l\xB3`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[`\0\x81\x81Ra\x01\xF5` R`@\x90 T`\xFF\x16\x15a\x17AW`@Qc\"m\xD8\xA3`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[`\0a\x17f`@Q\x80``\x01`@R\x80\x87\x81R` \x01\x86\x81R` \x01\x85\x81RPa\x18\x15V[P\x90P\x81\x81\x14a\x17\x89W`@Qc\x0CZ\x1A\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\nT\x82\x87a\x1A\x86V[a\x17\x9D\x82\x82a\x0CdV[a\n\xC7W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a\x0C\x11V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a\x0F\xC1W`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80QQ`\0\x90\x81\x90`\0\x80Q` a(\xEB\x839\x81Q\x91R\x90`0\x14\x80\x15a\x18AWP\x83` \x01QQ`0\x14[\x80\x15a\x18RWP\x83`@\x01QQ`0\x14[a\x18oW`@QcBc\r\xDB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x84`\0\x01Q\x85` \x01Q\x86`@\x01Q`@Q` \x01a\x18\x92\x93\x92\x91\x90a&\xC0V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x18\xC4\x90a#\xBAV[\x15\x90Pa\x18\xD6W\x94`\0\x94P\x92PPPV[`@\x80Q``\x81\x01\x82R\x86Q\x81R` \x80\x88\x01Q\x81\x83\x01R\x87\x83\x01Q\x82\x84\x01R`\0\x84\x81R\x90\x85\x90R\x91\x90\x91 \x81Q\x81\x90a\x19\x11\x90\x82a'\xE8V[P` \x82\x01Q`\x01\x82\x01\x90a\x19&\x90\x82a'\xE8V[P`@\x82\x01Q`\x02\x82\x01\x90a\x19;\x90\x82a'\xE8V[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x86`\0\x01Q\x87` \x01Q\x88`@\x01Q`@Qa\x19\x7F\x93\x92\x91\x90a(\xA7V[`@Q\x80\x91\x03\x90\xA2\x94`\x01\x94P\x92PPPV[a\x19\x9B\x82a\x1B7V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x19\xE0Wa\x06\x9C\x82\x82a\x1B\x9CV[a\n\xC7a\x1C\x12V[`\0\x81Q`@\x14a\x1A\x0CW`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80\x84\x84\x84`@Q` \x01a\x1A0\x93\x92\x91\x90a&\xC0V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`\0\x81\x15\x80a\x1A\x7FWP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x81\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x81 T`\0\x80Q` a(\xEB\x839\x81Q\x91R\x90`\xFF\x16\x15a\x1A\xE1W`\0\x91PPa\x06tV[`\0\x83\x81R`\x02\x82\x01` \x90\x81R`@\x80\x83 \x87\x84R\x82R\x91\x82\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U\x90Q\x84\x81R\x85\x91\x7F\xBF\xB1&\xE7B\xCE\x96\x18\xB5\xBFkT\x83\x99\x16\x92o\\9wR\xBE5@L\x83h\xDD\xCFh\xC1\n\x91\x01a\x0F\xA7V[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x1BmW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0C\x11V[`\0\x80Q` a)\x0B\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x1B\xB9\x91\x90a'\xCCV[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x1B\xF4W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1B\xF9V[``\x91P[P\x91P\x91Pa\x1C\t\x85\x83\x83a\x1C1V[\x95\x94PPPPPV[4\x15a\x0F\xC1W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a\x1CFWa\x1CA\x82a\x1C\x8DV[a\x0B\xB0V[\x81Q\x15\x80\x15a\x1C]WP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x1C\x86W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x0C\x11V[P\x80a\x0B\xB0V[\x80Q\x15a\x1C\x9DW\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Ta\x1C\xC2\x90a#\xBAV[`\0\x82U\x80`\x1F\x10a\x1C\xD2WPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x0Ez\x91\x90[\x80\x82\x11\x15a\x1D\0W`\0\x81U`\x01\x01a\x1C\xECV[P\x90V[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x1D\x1BW`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x1D2W`\0\x80\xFD[a\x0B\xB0\x82a\x1D\x04V[`\0` \x82\x84\x03\x12\x15a\x1DMW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x0B\xB0W`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a\x1DwW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1D\x8EW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1D\xA6W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80` \x83\x85\x03\x12\x15a\x1D\xC0W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1D\xD6W`\0\x80\xFD[a\x1D\xE2\x85\x82\x86\x01a\x1DeV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1E\x01W`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0` \x82\x84\x03\x12\x15a\x1E\"W`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x1EDW\x81\x81\x01Q\x83\x82\x01R` \x01a\x1E,V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x1Ee\x81` \x86\x01` \x86\x01a\x1E)V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x1E\x95`\x80\x84\x01\x82a\x1EMV[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x1E\xB3\x83\x83a\x1EMV[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x1C\t\x82\x82a\x1EMV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1F\tWa\x1F\ta\x1E\xD1V[`@R\x90V[`@Q`\xA0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1F\tWa\x1F\ta\x1E\xD1V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1FYWa\x1FYa\x1E\xD1V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x1FrW`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1F\x8BWa\x1F\x8Ba\x1E\xD1V[a\x1F\x9E`\x1F\x82\x01`\x1F\x19\x16` \x01a\x1F1V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x1F\xB3W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1F\xE3W`\0\x80\xFD[a\x1F\xEC\x83a\x1D\x04V[\x91P` \x80\x84\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a \tW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a \x1DW`\0\x80\xFD[\x815\x81\x81\x11\x15a /Wa /a\x1E\xD1V[\x80`\x05\x1Ba >\x85\x82\x01a\x1F1V[\x91\x82R\x83\x81\x01\x85\x01\x91\x85\x81\x01\x90\x8A\x84\x11\x15a XW`\0\x80\xFD[\x86\x86\x01\x92P[\x83\x83\x10\x15a!\x16W\x825\x85\x81\x11\x15a vW`\0\x80\x81\xFD[\x86\x01``\x81\x8D\x03`\x1F\x19\x01\x81\x13\x15a \x8EW`\0\x80\x81\xFD[a \x96a\x1E\xE7V[\x89\x83\x015\x88\x81\x11\x15a \xA8W`\0\x80\x81\xFD[a \xB6\x8F\x8C\x83\x87\x01\x01a\x1FaV[\x82RP`@\x83\x015\x88\x81\x11\x15a \xCCW`\0\x80\x81\xFD[a \xDA\x8F\x8C\x83\x87\x01\x01a\x1FaV[\x82\x8C\x01RP\x90\x82\x015\x90\x87\x82\x11\x15a \xF2W`\0\x80\x81\xFD[a!\0\x8E\x8B\x84\x86\x01\x01a\x1FaV[`@\x82\x01R\x84RPP\x91\x86\x01\x91\x90\x86\x01\x90a ^V[\x80\x97PPPPPPPP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a!:W`\0\x80\xFD[\x825\x91Pa!J` \x84\x01a\x1D\x04V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a!fW`\0\x80\xFD[a!o\x83a\x1D\x04V[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a!\x8AW`\0\x80\xFD[a!\x96\x85\x82\x86\x01a\x1FaV[\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a!\xB9W`\0\x80\xFD[a!\xC2\x87a\x1D\x04V[\x95P` \x87\x015\x94P`@\x87\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a!\xE5W`\0\x80\xFD[a!\xF1\x8A\x83\x8B\x01a\x1DeV[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15a\"\nW`\0\x80\xFD[Pa\"\x17\x89\x82\x8A\x01a\x1DeV[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\" v\xCC75\xA9 \xA3\xCAP]8+\xBC\xDCi|\xE6\xC0\xC3\xF8\x86\xFB\xBC\x8E\r#:\xBF\xACZ\xC56S\xAC\x08\xB3c[\xB0\xAE\xC7\x0C9\\B\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\xA2dipfsX\"\x12 \xBA\xAA\xB9E\xBA\xB9\xD5W$\x9E\x94\x93\xA47\xA2S\xE2P\xCE\xD5}+\x01\xB6N\xFC\x04vu_\xE8EdsolcC\0\x08\x14\x003"; /// The bytecode of the contract. pub static ENTITYKEYREGISTRY_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x01\xC2W`\x005`\xE0\x1C\x80cr\xB5a\xF9\x11a\0\xF7W\x80c\xAA\x0E\xD0\x9F\x11a\0\x95W\x80c\xD5Gt\x1F\x11a\0dW\x80c\xD5Gt\x1F\x14a\x05\xE9W\x80c\xE1\xA610\x14a\x06\tW\x80c\xED8\r\x03\x14a\x06)W\x80c\xFF\x11J\xE1\x14a\x06IW`\0\x80\xFD[\x80c\xAA\x0E\xD0\x9F\x14a\x05\x1DW\x80c\xAD<\xB1\xCC\x14a\x05=W\x80c\xB8\n\xAA\x89\x14a\x05{W\x80c\xCDy\xF9\x06\x14a\x05\x9DW`\0\x80\xFD[\x80c\x88R!\t\x11a\0\xD1W\x80c\x88R!\t\x14a\x04\x94W\x80c\x91\xD1HT\x14a\x04\xB4W\x80c\x9A\xEC\x99\x0E\x14a\x04\xD4W\x80c\xA2\x17\xFD\xDF\x14a\x05\x08W`\0\x80\xFD[\x80cr\xB5a\xF9\x14a\x04\x0FW\x80cu\x84{\x84\x14a\x04@W\x80cyvi\xC9\x14a\x04`W`\0\x80\xFD[\x80c//\xF1]\x11a\x01dW\x80cR\xD1\x90-\x11a\x01>W\x80cR\xD1\x90-\x14a\x03aW\x80ci\xFD\xBC\xCA\x14a\x03vW\x80ck[!\xA6\x14a\x03\x96W\x80cr\x10Z\xAF\x14a\x03\xEFW`\0\x80\xFD[\x80c//\xF1]\x14a\x03\x0EW\x80c6V\x8A\xBE\x14a\x03.W\x80cO\x1E\xF2\x86\x14a\x03NW`\0\x80\xFD[\x80c\x14\x13\xA9*\x11a\x01\xA0W\x80c\x14\x13\xA9*\x14a\x02\x81W\x80c$\x10\xF6\xBA\x14a\x02\xA1W\x80c$\x8A\x9C\xA3\x14a\x02\xCEW\x80c.\xB3\x9E\xE9\x14a\x02\xEEW`\0\x80\xFD[\x80c\x01\xD5\x8F\xA3\x14a\x01\xC7W\x80c\x01\xFF\xC9\xA7\x14a\x02/W\x80c\x07\x07Y\x1F\x14a\x02_W[`\0\x80\xFD[4\x80\x15a\x01\xD3W`\0\x80\xFD[Pa\x02\x1Ca\x01\xE26`\x04a\x1D\x15V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02;W`\0\x80\xFD[Pa\x02Oa\x02J6`\x04a\x1D0V[a\x06iV[`@Q\x90\x15\x15\x81R` \x01a\x02&V[4\x80\x15a\x02kW`\0\x80\xFD[Pa\x02\x7Fa\x02z6`\x04a\x1D\xA2V[a\x06zV[\0[4\x80\x15a\x02\x8DW`\0\x80\xFD[Pa\x02\x7Fa\x02\x9C6`\x04a\x1D\xE3V[a\x06\xA1V[4\x80\x15a\x02\xADW`\0\x80\xFD[Pa\x02\xC1a\x02\xBC6`\x04a\x1E\x05V[a\x06\xC9V[`@Qa\x02&\x91\x90a\x1EnV[4\x80\x15a\x02\xDAW`\0\x80\xFD[Pa\x02\x1Ca\x02\xE96`\x04a\x1E\x05V[a\x08\xD5V[4\x80\x15a\x02\xFAW`\0\x80\xFD[Pa\x02\x7Fa\x03\t6`\x04a\x1F\xC5V[a\x08\xF7V[4\x80\x15a\x03\x1AW`\0\x80\xFD[Pa\x02\x7Fa\x03)6`\x04a!\x1CV[a\n]V[4\x80\x15a\x03:W`\0\x80\xFD[Pa\x02\x7Fa\x03I6`\x04a!\x1CV[a\nyV[a\x02\x7Fa\x03\\6`\x04a!HV[a\n\xACV[4\x80\x15a\x03mW`\0\x80\xFD[Pa\x02\x1Ca\n\xCBV[4\x80\x15a\x03\x82W`\0\x80\xFD[Pa\x02\x7Fa\x03\x916`\x04a!\x95V[a\n\xE8V[4\x80\x15a\x03\xA2W`\0\x80\xFD[Pa\x02Oa\x03\xB16`\x04a\x1D\xE3V[`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x90V[4\x80\x15a\x03\xFBW`\0\x80\xFD[Pa\x02\x7Fa\x04\n6`\x04a!\x1CV[a\x0B\x9AV[4\x80\x15a\x04\x1BW`\0\x80\xFD[Pa\x02Oa\x04*6`\x04a\x1E\x05V[a\x01\xF5` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[4\x80\x15a\x04LW`\0\x80\xFD[Pa\x02Oa\x04[6`\x04a\"\x1EV[a\x0B\xA4V[4\x80\x15a\x04lW`\0\x80\xFD[Pa\x02\x1C\x7Fq\xF3\xD5XV\xE4\x05\x8E\xD0n\xE0W\xD7\x9A\xDAa_e\xCD\xF5\xF9\xEE\x88\x18\x1B\x91B%\x08\x8F\x83O\x81V[4\x80\x15a\x04\xA0W`\0\x80\xFD[Pa\x02\x7Fa\x04\xAF6`\x04a\x1E\x05V[a\x0B\xB7V[4\x80\x15a\x04\xC0W`\0\x80\xFD[Pa\x02Oa\x04\xCF6`\x04a!\x1CV[a\x0CdV[4\x80\x15a\x04\xE0W`\0\x80\xFD[Pa\x02\x1C\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\x14W`\0\x80\xFD[Pa\x02\x1C`\0\x81V[4\x80\x15a\x05)W`\0\x80\xFD[Pa\x02\x7Fa\x0586`\x04a\x1D\x15V[a\x0C\x9CV[4\x80\x15a\x05IW`\0\x80\xFD[Pa\x05n`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02&\x91\x90a#'V[4\x80\x15a\x05\x87W`\0\x80\xFD[Pa\x02\x1C`\0\x80Q` a)\x01\x839\x81Q\x91R\x81V[4\x80\x15a\x05\xA9W`\0\x80\xFD[Pa\x05\xD1\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02&V[4\x80\x15a\x05\xF5W`\0\x80\xFD[Pa\x02\x7Fa\x06\x046`\x04a!\x1CV[a\x0C\xBFV[4\x80\x15a\x06\x15W`\0\x80\xFD[Pa\x05na\x06$6`\x04a#:V[a\x0C\xDBV[4\x80\x15a\x065W`\0\x80\xFD[Pa\x02\x7Fa\x06D6`\x04a#:V[a\r\x81V[4\x80\x15a\x06UW`\0\x80\xFD[Pa\x02\x7Fa\x06d6`\x04a#dV[a\x0E\x01V[`\0a\x06t\x82a\x0E;V[\x92\x91PPV[`\0\x80Q` a)\x01\x839\x81Q\x91Ra\x06\x92\x81a\x0EpV[a\x06\x9C\x83\x83a\x0E}V[PPPV[`\0\x80Q` a)\x01\x839\x81Q\x91Ra\x06\xB9\x81a\x0EpV[a\x06\xC3\x83\x83a\x0E\xF9V[PPPPV[a\x06\xED`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R`\0\x80Q` a(\xC1\x839\x81Q\x91R` \x81\x90R`@\x91\x82\x90 \x82Q``\x81\x01\x90\x93R\x80T\x91\x92\x91\x82\x90\x82\x90a\x07'\x90a#\xAFV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07S\x90a#\xAFV[\x80\x15a\x07\xA0W\x80`\x1F\x10a\x07uWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\xA0V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x07\x83W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80Ta\x07\xB9\x90a#\xAFV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07\xE5\x90a#\xAFV[\x80\x15a\x082W\x80`\x1F\x10a\x08\x07Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x082V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08\x15W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x02\x82\x01\x80Ta\x08K\x90a#\xAFV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x08w\x90a#\xAFV[\x80\x15a\x08\xC4W\x80`\x1F\x10a\x08\x99Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x08\xC4V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08\xA7W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x91PP\x91\x90PV[`\0\x90\x81R`\0\x80Q` a)!\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\tF\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\n\xC7\x81a\x0EpV[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x12\x91WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x12\x8E\x91\x81\x01\x90a&oV[`\x01[a\x12\xB9W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x0C\x11V[`\0\x80Q` a(\xE1\x839\x81Q\x91R\x81\x14a\x12\xEAW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[a\x06\x9C\x83\x83a\x19\x87V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x0F\xC1W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T`\0\x80Q` a(\xC1\x839\x81Q\x91R\x90\x80a\x13\xA3W`@Qc=\xD8\xCA\x95`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81R` \x83\x90R`@\x90 \x80Ta\x13\xBC\x90a#\xAFV[\x90P`\0\x03a\x13\xDEW`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x81R`\x02\x83\x01` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x90 T`\xFF\x16a\x06\xC3W`@QcHf%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x80Q` a(\xC1\x839\x81Q\x91R\x90P`\0\x83` \x01Q\x84`@\x01Q\x85``\x01Q`@Q` \x01a\x14Q\x93\x92\x91\x90a&\x88V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x14\x83\x90a#\xAFV[\x90P`\0\x03a\x14\xA5W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x14\xCF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba&\xCBV[a\x03\xE8\x85`\x80\x01Qa\x14\xE1\x91\x90a&\xECV[\x11a\x14\xFFW`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\x15M\x90\x88\x90\x88\x90`\x04\x01a'\x0EV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x15eW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x15yW=`\0\x80>=`\0\xFD[PPPP`\0a\x15\x8C\x85`\0\x01Qa\x19\xDDV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x85\x01` R`@\x90 T\x90\x91P\x15a\x15\xBBW`\0\x93PPPPa\x06tV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x84\x01` R`@\x90\x81\x90 \x83\x90U\x85Q\x90Q\x83\x91a\x15\xE9\x91a'\xA2V[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF4\x83\x7F\x1Af\xA1\xE5\xFB\xDE,@\xD0\xF6\xEF\xF7Q\x83\x13\x9Ey\xB0\xFC\x1E\xAA\xB2\x80\xA3\xA0\xBE8\xE7\xB1\x90`\0\x90\xA3P`\x01\x95\x94PPPPPV[`\0\x81\x81R`\0\x80Q` a(\xC1\x839\x81Q\x91R` \x81\x90R`@\x82 \x80Ta\x16M\x90a#\xAFV[\x90P`\0\x03a\x16_WP`\0\x92\x91PPV[`\0\x83\x81R` \x82\x90R`@\x81 \x90a\x16x\x82\x82a\x1C\xABV[a\x16\x86`\x01\x83\x01`\0a\x1C\xABV[a\x16\x94`\x02\x83\x01`\0a\x1C\xABV[PP`@Q\x83\x90\x7FKq\xBE\xDD\xA4!yf\xEA\xC1\xAAI\xE3[\x15P\xE5\xAB\x87\x06J\xE1y\xD1\xB3k9;\xD0N\xB7C\x90`\0\x90\xA2P`\x01\x92\x91PPV[`\0a\x16\xD7\x84\x84\x84a\x1A\rV[\x90Pa\x16\xE2\x81a\x1AFV[a\x17\x02W`@Qc\x065l\xB3`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[`\0\x81\x81Ra\x01\xF5` R`@\x90 T`\xFF\x16\x15a\x176W`@Qc\"m\xD8\xA3`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[`\0a\x17[`@Q\x80``\x01`@R\x80\x87\x81R` \x01\x86\x81R` \x01\x85\x81RPa\x18\nV[P\x90P\x81\x81\x14a\x17~W`@Qc\x0CZ\x1A\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\nT\x82\x87a\x1A{V[a\x17\x92\x82\x82a\x0CdV[a\n\xC7W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a\x0C\x11V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a\x0F\xC1W`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80QQ`\0\x90\x81\x90`\0\x80Q` a(\xC1\x839\x81Q\x91R\x90`0\x14\x80\x15a\x186WP\x83` \x01QQ`0\x14[\x80\x15a\x18GWP\x83`@\x01QQ`0\x14[a\x18dW`@QcBc\r\xDB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x84`\0\x01Q\x85` \x01Q\x86`@\x01Q`@Q` \x01a\x18\x87\x93\x92\x91\x90a&\x88V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x18\xB9\x90a#\xAFV[\x15\x90Pa\x18\xCBW\x94`\0\x94P\x92PPPV[`@\x80Q``\x81\x01\x82R\x86Q\x81R` \x80\x88\x01Q\x81\x83\x01R\x87\x83\x01Q\x82\x84\x01R`\0\x84\x81R\x90\x85\x90R\x91\x90\x91 \x81Q\x81\x90a\x19\x06\x90\x82a'\xBEV[P` \x82\x01Q`\x01\x82\x01\x90a\x19\x1B\x90\x82a'\xBEV[P`@\x82\x01Q`\x02\x82\x01\x90a\x190\x90\x82a'\xBEV[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x86`\0\x01Q\x87` \x01Q\x88`@\x01Q`@Qa\x19t\x93\x92\x91\x90a(}V[`@Q\x80\x91\x03\x90\xA2\x94`\x01\x94P\x92PPPV[a\x19\x90\x82a\x1B,V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x19\xD5Wa\x06\x9C\x82\x82a\x1B\x91V[a\n\xC7a\x1C\x07V[`\0\x81Q`@\x14a\x1A\x01W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80\x84\x84\x84`@Q` \x01a\x1A%\x93\x92\x91\x90a&\x88V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`\0\x81\x15\x80a\x1AtWP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x81\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x81 T`\0\x80Q` a(\xC1\x839\x81Q\x91R\x90`\xFF\x16\x15a\x1A\xD6W`\0\x91PPa\x06tV[`\0\x83\x81R`\x02\x82\x01` \x90\x81R`@\x80\x83 \x87\x84R\x82R\x91\x82\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U\x90Q\x84\x81R\x85\x91\x7F\xBF\xB1&\xE7B\xCE\x96\x18\xB5\xBFkT\x83\x99\x16\x92o\\9wR\xBE5@L\x83h\xDD\xCFh\xC1\n\x91\x01a\x0F\xA7V[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x1BbW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0C\x11V[`\0\x80Q` a(\xE1\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x1B\xAE\x91\x90a'\xA2V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x1B\xE9W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1B\xEEV[``\x91P[P\x91P\x91Pa\x1B\xFE\x85\x83\x83a\x1C&V[\x95\x94PPPPPV[4\x15a\x0F\xC1W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a\x1C;Wa\x1C6\x82a\x1C\x82V[a\x0B\xB0V[\x81Q\x15\x80\x15a\x1CRWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x1C{W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x0C\x11V[P\x80a\x0B\xB0V[\x80Q\x15a\x1C\x92W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Ta\x1C\xB7\x90a#\xAFV[`\0\x82U\x80`\x1F\x10a\x1C\xC7WPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x0Ez\x91\x90[\x80\x82\x11\x15a\x1C\xF5W`\0\x81U`\x01\x01a\x1C\xE1V[P\x90V[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x1D\x10W`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x1D'W`\0\x80\xFD[a\x0B\xB0\x82a\x1C\xF9V[`\0` \x82\x84\x03\x12\x15a\x1DBW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x0B\xB0W`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a\x1DlW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1D\x83W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1D\x9BW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80` \x83\x85\x03\x12\x15a\x1D\xB5W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1D\xCBW`\0\x80\xFD[a\x1D\xD7\x85\x82\x86\x01a\x1DZV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1D\xF6W`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0` \x82\x84\x03\x12\x15a\x1E\x17W`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x1E9W\x81\x81\x01Q\x83\x82\x01R` \x01a\x1E!V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x1EZ\x81` \x86\x01` \x86\x01a\x1E\x1EV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x1E\x8A`\x80\x84\x01\x82a\x1EBV[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x1E\xA8\x83\x83a\x1EBV[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x1B\xFE\x82\x82a\x1EBV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1E\xFEWa\x1E\xFEa\x1E\xC6V[`@R\x90V[`@Q`\xA0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1E\xFEWa\x1E\xFEa\x1E\xC6V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1FNWa\x1FNa\x1E\xC6V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x1FgW`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1F\x80Wa\x1F\x80a\x1E\xC6V[a\x1F\x93`\x1F\x82\x01`\x1F\x19\x16` \x01a\x1F&V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x1F\xA8W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1F\xD8W`\0\x80\xFD[a\x1F\xE1\x83a\x1C\xF9V[\x91P` \x80\x84\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x1F\xFEW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a \x12W`\0\x80\xFD[\x815\x81\x81\x11\x15a $Wa $a\x1E\xC6V[\x80`\x05\x1Ba 3\x85\x82\x01a\x1F&V[\x91\x82R\x83\x81\x01\x85\x01\x91\x85\x81\x01\x90\x8A\x84\x11\x15a MW`\0\x80\xFD[\x86\x86\x01\x92P[\x83\x83\x10\x15a!\x0BW\x825\x85\x81\x11\x15a kW`\0\x80\x81\xFD[\x86\x01``\x81\x8D\x03`\x1F\x19\x01\x81\x13\x15a \x83W`\0\x80\x81\xFD[a \x8Ba\x1E\xDCV[\x89\x83\x015\x88\x81\x11\x15a \x9DW`\0\x80\x81\xFD[a \xAB\x8F\x8C\x83\x87\x01\x01a\x1FVV[\x82RP`@\x83\x015\x88\x81\x11\x15a \xC1W`\0\x80\x81\xFD[a \xCF\x8F\x8C\x83\x87\x01\x01a\x1FVV[\x82\x8C\x01RP\x90\x82\x015\x90\x87\x82\x11\x15a \xE7W`\0\x80\x81\xFD[a \xF5\x8E\x8B\x84\x86\x01\x01a\x1FVV[`@\x82\x01R\x84RPP\x91\x86\x01\x91\x90\x86\x01\x90a SV[\x80\x97PPPPPPPP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a!/W`\0\x80\xFD[\x825\x91Pa!?` \x84\x01a\x1C\xF9V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a![W`\0\x80\xFD[a!d\x83a\x1C\xF9V[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a!\x7FW`\0\x80\xFD[a!\x8B\x85\x82\x86\x01a\x1FVV[\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a!\xAEW`\0\x80\xFD[a!\xB7\x87a\x1C\xF9V[\x95P` \x87\x015\x94P`@\x87\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a!\xDAW`\0\x80\xFD[a!\xE6\x8A\x83\x8B\x01a\x1DZV[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15a!\xFFW`\0\x80\xFD[Pa\"\x0C\x89\x82\x8A\x01a\x1DZV[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\"1W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\"HW`\0\x80\xFD[a\"T\x86\x83\x87\x01a\x1FVV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\"jW`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\"~W`\0\x80\xFD[a\"\x86a\x1F\x04V[\x825\x82\x81\x11\x15a\"\x95W`\0\x80\xFD[a\"\xA1\x88\x82\x86\x01a\x1FVV[\x82RP` \x83\x015\x82\x81\x11\x15a\"\xB6W`\0\x80\xFD[a\"\xC2\x88\x82\x86\x01a\x1FVV[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\"\xDAW`\0\x80\xFD[a\"\xE6\x88\x82\x86\x01a\x1FVV[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\"\xFEW`\0\x80\xFD[a#\n\x88\x82\x86\x01a\x1FVV[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[` \x81R`\0a\x0B\xB0` \x83\x01\x84a\x1EBV[`\0\x80`@\x83\x85\x03\x12\x15a#MW`\0\x80\xFD[a#V\x83a\x1C\xF9V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15a#yW`\0\x80\xFD[\x835\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a#\x96W`\0\x80\xFD[a#\xA2\x86\x82\x87\x01a\x1DZV[\x94\x97\x90\x96P\x93\x94PPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a#\xC3W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a#\xE3WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x06\x9CW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a$\x12WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a$1W\x82\x81U`\x01\x01a$\x1EV[PPPPPPV[`\x01`\x01`@\x1B\x03\x83\x11\x15a$PWa$Pa\x1E\xC6V[a$d\x83a$^\x83Ta#\xAFV[\x83a#\xE9V[`\0`\x1F\x84\x11`\x01\x81\x14a$\x98W`\0\x85\x15a$\x80WP\x83\x82\x015[`\0\x19`\x03\x87\x90\x1B\x1C\x19\x16`\x01\x86\x90\x1B\x17\x83Ua$\xF2V[`\0\x83\x81R` \x90 `\x1F\x19\x86\x16\x90\x83[\x82\x81\x10\x15a$\xC9W\x86\x85\x015\x82U` \x94\x85\x01\x94`\x01\x90\x92\x01\x91\x01a$\xA9V[P\x86\x82\x10\x15a$\xE6W`\0\x19`\xF8\x88`\x03\x1B\x16\x1C\x19\x84\x87\x015\x16\x81U[PP`\x01\x85`\x01\x1B\x01\x83U[PPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a%\x0EW`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a%%W`\0\x80\xFD[a%1\x87\x83\x88\x01a\x1FVV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a%GW`\0\x80\xFD[a%S\x87\x83\x88\x01a\x1FVV[\x93P`@\x86\x015\x91P\x80\x82\x11\x15a%iW`\0\x80\xFD[Pa%v\x86\x82\x87\x01a\x1FVV[\x91PP\x92P\x92P\x92V[`\0\x80`\0\x80`\0\x80`\xC0\x87\x89\x03\x12\x15a%\x99W`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a%\xB0W`\0\x80\xFD[a%\xBC\x8A\x83\x8B\x01a\x1FVV[\x97P` \x89\x015\x91P\x80\x82\x11\x15a%\xD2W`\0\x80\xFD[a%\xDE\x8A\x83\x8B\x01a\x1FVV[\x96P`@\x89\x015\x91P\x80\x82\x11\x15a%\xF4W`\0\x80\xFD[a&\0\x8A\x83\x8B\x01a\x1FVV[\x95P``\x89\x015\x91P\x80\x82\x11\x15a&\x16W`\0\x80\xFD[a&\"\x8A\x83\x8B\x01a\x1FVV[\x94P`\x80\x89\x015\x91P\x80\x82\x11\x15a&8W`\0\x80\xFD[Pa&E\x89\x82\x8A\x01a\x1FVV[\x92PP`\xA0\x87\x015\x90P\x92\x95P\x92\x95P\x92\x95V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a&\x81W`\0\x80\xFD[PQ\x91\x90PV[`\0\x84Qa&\x9A\x81\x84` \x89\x01a\x1E\x1EV[\x84Q\x90\x83\x01\x90a&\xAE\x81\x83` \x89\x01a\x1E\x1EV[\x84Q\x91\x01\x90a&\xC1\x81\x83` \x88\x01a\x1E\x1EV[\x01\x95\x94PPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x06tWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a'\tWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a'!`@\x83\x01\x85a\x1EBV[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra'<`\xA0\x83\x01\x82a\x1EBV[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra'U\x82\x82a\x1EBV[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra'o\x82\x82a\x1EBV[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra'\x89\x82\x82a\x1EBV[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[`\0\x82Qa'\xB4\x81\x84` \x87\x01a\x1E\x1EV[\x91\x90\x91\x01\x92\x91PPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a'\xD7Wa'\xD7a\x1E\xC6V[a'\xEB\x81a'\xE5\x84Ta#\xAFV[\x84a#\xE9V[` \x80`\x1F\x83\x11`\x01\x81\x14a( W`\0\x84\x15a(\x08WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua$1V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a(OW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a(0V[P\x85\x82\x10\x15a(mW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[``\x81R`\0a(\x90``\x83\x01\x86a\x1EBV[\x82\x81\x03` \x84\x01Ra(\xA2\x81\x86a\x1EBV[\x90P\x82\x81\x03`@\x84\x01Ra(\xB6\x81\x85a\x1EBV[\x96\x95PPPPPPV\xFE\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x006\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\xDCi|\xE6\xC0\xC3\xF8\x86\xFB\xBC\x8E\r#:\xBF\xACZ\xC56S\xAC\x08\xB3c[\xB0\xAE\xC7\x0C9\\B\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\xA2dipfsX\"\x12 \xDA\x8C\x90\x07\xA7\xE5:\xC7\x8Eqlp~\x13L\xD3\xF6\x1Ak\x7F\xC2\xF4\xED\xB75\x1F#\x0F\xC6\xAF{\x18dsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x01\xC2W`\x005`\xE0\x1C\x80cr\xB5a\xF9\x11a\0\xF7W\x80c\xAA\x0E\xD0\x9F\x11a\0\x95W\x80c\xD5Gt\x1F\x11a\0dW\x80c\xD5Gt\x1F\x14a\x05\xE9W\x80c\xE1\xA610\x14a\x06\tW\x80c\xED8\r\x03\x14a\x06)W\x80c\xFF\x11J\xE1\x14a\x06IW`\0\x80\xFD[\x80c\xAA\x0E\xD0\x9F\x14a\x05\x1DW\x80c\xAD<\xB1\xCC\x14a\x05=W\x80c\xB8\n\xAA\x89\x14a\x05{W\x80c\xCDy\xF9\x06\x14a\x05\x9DW`\0\x80\xFD[\x80c\x88R!\t\x11a\0\xD1W\x80c\x88R!\t\x14a\x04\x94W\x80c\x91\xD1HT\x14a\x04\xB4W\x80c\x9A\xEC\x99\x0E\x14a\x04\xD4W\x80c\xA2\x17\xFD\xDF\x14a\x05\x08W`\0\x80\xFD[\x80cr\xB5a\xF9\x14a\x04\x0FW\x80cu\x84{\x84\x14a\x04@W\x80cyvi\xC9\x14a\x04`W`\0\x80\xFD[\x80c//\xF1]\x11a\x01dW\x80cR\xD1\x90-\x11a\x01>W\x80cR\xD1\x90-\x14a\x03aW\x80ci\xFD\xBC\xCA\x14a\x03vW\x80ck[!\xA6\x14a\x03\x96W\x80cr\x10Z\xAF\x14a\x03\xEFW`\0\x80\xFD[\x80c//\xF1]\x14a\x03\x0EW\x80c6V\x8A\xBE\x14a\x03.W\x80cO\x1E\xF2\x86\x14a\x03NW`\0\x80\xFD[\x80c\x14\x13\xA9*\x11a\x01\xA0W\x80c\x14\x13\xA9*\x14a\x02\x81W\x80c$\x10\xF6\xBA\x14a\x02\xA1W\x80c$\x8A\x9C\xA3\x14a\x02\xCEW\x80c.\xB3\x9E\xE9\x14a\x02\xEEW`\0\x80\xFD[\x80c\x01\xD5\x8F\xA3\x14a\x01\xC7W\x80c\x01\xFF\xC9\xA7\x14a\x02/W\x80c\x07\x07Y\x1F\x14a\x02_W[`\0\x80\xFD[4\x80\x15a\x01\xD3W`\0\x80\xFD[Pa\x02\x1Ca\x01\xE26`\x04a\x1D V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02;W`\0\x80\xFD[Pa\x02Oa\x02J6`\x04a\x1D;V[a\x06iV[`@Q\x90\x15\x15\x81R` \x01a\x02&V[4\x80\x15a\x02kW`\0\x80\xFD[Pa\x02\x7Fa\x02z6`\x04a\x1D\xADV[a\x06zV[\0[4\x80\x15a\x02\x8DW`\0\x80\xFD[Pa\x02\x7Fa\x02\x9C6`\x04a\x1D\xEEV[a\x06\xA1V[4\x80\x15a\x02\xADW`\0\x80\xFD[Pa\x02\xC1a\x02\xBC6`\x04a\x1E\x10V[a\x06\xC9V[`@Qa\x02&\x91\x90a\x1EyV[4\x80\x15a\x02\xDAW`\0\x80\xFD[Pa\x02\x1Ca\x02\xE96`\x04a\x1E\x10V[a\x08\xD5V[4\x80\x15a\x02\xFAW`\0\x80\xFD[Pa\x02\x7Fa\x03\t6`\x04a\x1F\xD0V[a\x08\xF7V[4\x80\x15a\x03\x1AW`\0\x80\xFD[Pa\x02\x7Fa\x03)6`\x04a!'V[a\n]V[4\x80\x15a\x03:W`\0\x80\xFD[Pa\x02\x7Fa\x03I6`\x04a!'V[a\nyV[a\x02\x7Fa\x03\\6`\x04a!SV[a\n\xACV[4\x80\x15a\x03mW`\0\x80\xFD[Pa\x02\x1Ca\n\xCBV[4\x80\x15a\x03\x82W`\0\x80\xFD[Pa\x02\x7Fa\x03\x916`\x04a!\xA0V[a\n\xE8V[4\x80\x15a\x03\xA2W`\0\x80\xFD[Pa\x02Oa\x03\xB16`\x04a\x1D\xEEV[`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x90V[4\x80\x15a\x03\xFBW`\0\x80\xFD[Pa\x02\x7Fa\x04\n6`\x04a!'V[a\x0B\x9AV[4\x80\x15a\x04\x1BW`\0\x80\xFD[Pa\x02Oa\x04*6`\x04a\x1E\x10V[a\x01\xF5` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[4\x80\x15a\x04LW`\0\x80\xFD[Pa\x02Oa\x04[6`\x04a\")V[a\x0B\xA4V[4\x80\x15a\x04lW`\0\x80\xFD[Pa\x02\x1C\x7Fq\xF3\xD5XV\xE4\x05\x8E\xD0n\xE0W\xD7\x9A\xDAa_e\xCD\xF5\xF9\xEE\x88\x18\x1B\x91B%\x08\x8F\x83O\x81V[4\x80\x15a\x04\xA0W`\0\x80\xFD[Pa\x02\x7Fa\x04\xAF6`\x04a\x1E\x10V[a\x0B\xB7V[4\x80\x15a\x04\xC0W`\0\x80\xFD[Pa\x02Oa\x04\xCF6`\x04a!'V[a\x0CdV[4\x80\x15a\x04\xE0W`\0\x80\xFD[Pa\x02\x1C\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\x14W`\0\x80\xFD[Pa\x02\x1C`\0\x81V[4\x80\x15a\x05)W`\0\x80\xFD[Pa\x02\x7Fa\x0586`\x04a\x1D V[a\x0C\x9CV[4\x80\x15a\x05IW`\0\x80\xFD[Pa\x05n`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02&\x91\x90a#2V[4\x80\x15a\x05\x87W`\0\x80\xFD[Pa\x02\x1C`\0\x80Q` a)+\x839\x81Q\x91R\x81V[4\x80\x15a\x05\xA9W`\0\x80\xFD[Pa\x05\xD1\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02&V[4\x80\x15a\x05\xF5W`\0\x80\xFD[Pa\x02\x7Fa\x06\x046`\x04a!'V[a\x0C\xBFV[4\x80\x15a\x06\x15W`\0\x80\xFD[Pa\x05na\x06$6`\x04a#EV[a\x0C\xDBV[4\x80\x15a\x065W`\0\x80\xFD[Pa\x02\x7Fa\x06D6`\x04a#EV[a\r\x81V[4\x80\x15a\x06UW`\0\x80\xFD[Pa\x02\x7Fa\x06d6`\x04a#oV[a\x0E\x01V[`\0a\x06t\x82a\x0E;V[\x92\x91PPV[`\0\x80Q` a)+\x839\x81Q\x91Ra\x06\x92\x81a\x0EpV[a\x06\x9C\x83\x83a\x0E}V[PPPV[`\0\x80Q` a)+\x839\x81Q\x91Ra\x06\xB9\x81a\x0EpV[a\x06\xC3\x83\x83a\x0E\xF9V[PPPPV[a\x06\xED`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R`\0\x80Q` a(\xEB\x839\x81Q\x91R` \x81\x90R`@\x91\x82\x90 \x82Q``\x81\x01\x90\x93R\x80T\x91\x92\x91\x82\x90\x82\x90a\x07'\x90a#\xBAV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07S\x90a#\xBAV[\x80\x15a\x07\xA0W\x80`\x1F\x10a\x07uWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\xA0V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x07\x83W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80Ta\x07\xB9\x90a#\xBAV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07\xE5\x90a#\xBAV[\x80\x15a\x082W\x80`\x1F\x10a\x08\x07Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x082V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08\x15W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x02\x82\x01\x80Ta\x08K\x90a#\xBAV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x08w\x90a#\xBAV[\x80\x15a\x08\xC4W\x80`\x1F\x10a\x08\x99Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x08\xC4V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08\xA7W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x91PP\x91\x90PV[`\0\x90\x81R`\0\x80Q` a)K\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\tF\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\n\xC7\x81a\x0EpV[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x12\x9CWP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x12\x99\x91\x81\x01\x90a&\xA7V[`\x01[a\x12\xC4W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x0C\x11V[`\0\x80Q` a)\x0B\x839\x81Q\x91R\x81\x14a\x12\xF5W`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[a\x06\x9C\x83\x83a\x19\x92V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x0F\xC1W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x01` R`@\x90 T`\0\x80Q` a(\xEB\x839\x81Q\x91R\x90\x80a\x13\xAEW`@Qc=\xD8\xCA\x95`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81R` \x83\x90R`@\x90 \x80Ta\x13\xC7\x90a#\xBAV[\x90P`\0\x03a\x13\xE9W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x81R`\x02\x83\x01` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x90 T`\xFF\x16a\x06\xC3W`@QcHf%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x80Q` a(\xEB\x839\x81Q\x91R\x90P`\0\x83` \x01Q\x84`@\x01Q\x85``\x01Q`@Q` \x01a\x14\\\x93\x92\x91\x90a&\xC0V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x14\x8E\x90a#\xBAV[\x90P`\0\x03a\x14\xB0W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x14\xDA\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba'\x03V[a\x03\xE8\x85`\x80\x01Qa\x14\xEC\x91\x90a'\x16V[\x11a\x15\nW`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\x15X\x90\x88\x90\x88\x90`\x04\x01a'8V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x15pW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x15\x84W=`\0\x80>=`\0\xFD[PPPP`\0a\x15\x97\x85`\0\x01Qa\x19\xE8V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x85\x01` R`@\x90 T\x90\x91P\x15a\x15\xC6W`\0\x93PPPPa\x06tV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01\x84\x01` R`@\x90\x81\x90 \x83\x90U\x85Q\x90Q\x83\x91a\x15\xF4\x91a'\xCCV[`@Q\x90\x81\x90\x03\x81 \x90\x7F\xF4\x83\x7F\x1Af\xA1\xE5\xFB\xDE,@\xD0\xF6\xEF\xF7Q\x83\x13\x9Ey\xB0\xFC\x1E\xAA\xB2\x80\xA3\xA0\xBE8\xE7\xB1\x90`\0\x90\xA3P`\x01\x95\x94PPPPPV[`\0\x81\x81R`\0\x80Q` a(\xEB\x839\x81Q\x91R` \x81\x90R`@\x82 \x80Ta\x16X\x90a#\xBAV[\x90P`\0\x03a\x16jWP`\0\x92\x91PPV[`\0\x83\x81R` \x82\x90R`@\x81 \x90a\x16\x83\x82\x82a\x1C\xB6V[a\x16\x91`\x01\x83\x01`\0a\x1C\xB6V[a\x16\x9F`\x02\x83\x01`\0a\x1C\xB6V[PP`@Q\x83\x90\x7FKq\xBE\xDD\xA4!yf\xEA\xC1\xAAI\xE3[\x15P\xE5\xAB\x87\x06J\xE1y\xD1\xB3k9;\xD0N\xB7C\x90`\0\x90\xA2P`\x01\x92\x91PPV[`\0a\x16\xE2\x84\x84\x84a\x1A\x18V[\x90Pa\x16\xED\x81a\x1AQV[a\x17\rW`@Qc\x065l\xB3`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[`\0\x81\x81Ra\x01\xF5` R`@\x90 T`\xFF\x16\x15a\x17AW`@Qc\"m\xD8\xA3`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0C\x11V[`\0a\x17f`@Q\x80``\x01`@R\x80\x87\x81R` \x01\x86\x81R` \x01\x85\x81RPa\x18\x15V[P\x90P\x81\x81\x14a\x17\x89W`@Qc\x0CZ\x1A\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\nT\x82\x87a\x1A\x86V[a\x17\x9D\x82\x82a\x0CdV[a\n\xC7W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a\x0C\x11V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a\x0F\xC1W`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80QQ`\0\x90\x81\x90`\0\x80Q` a(\xEB\x839\x81Q\x91R\x90`0\x14\x80\x15a\x18AWP\x83` \x01QQ`0\x14[\x80\x15a\x18RWP\x83`@\x01QQ`0\x14[a\x18oW`@QcBc\r\xDB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x84`\0\x01Q\x85` \x01Q\x86`@\x01Q`@Q` \x01a\x18\x92\x93\x92\x91\x90a&\xC0V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x85\x90R\x91 \x80T\x91\x92P\x90a\x18\xC4\x90a#\xBAV[\x15\x90Pa\x18\xD6W\x94`\0\x94P\x92PPPV[`@\x80Q``\x81\x01\x82R\x86Q\x81R` \x80\x88\x01Q\x81\x83\x01R\x87\x83\x01Q\x82\x84\x01R`\0\x84\x81R\x90\x85\x90R\x91\x90\x91 \x81Q\x81\x90a\x19\x11\x90\x82a'\xE8V[P` \x82\x01Q`\x01\x82\x01\x90a\x19&\x90\x82a'\xE8V[P`@\x82\x01Q`\x02\x82\x01\x90a\x19;\x90\x82a'\xE8V[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x86`\0\x01Q\x87` \x01Q\x88`@\x01Q`@Qa\x19\x7F\x93\x92\x91\x90a(\xA7V[`@Q\x80\x91\x03\x90\xA2\x94`\x01\x94P\x92PPPV[a\x19\x9B\x82a\x1B7V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x19\xE0Wa\x06\x9C\x82\x82a\x1B\x9CV[a\n\xC7a\x1C\x12V[`\0\x81Q`@\x14a\x1A\x0CW`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80\x84\x84\x84`@Q` \x01a\x1A0\x93\x92\x91\x90a&\xC0V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`\0\x81\x15\x80a\x1A\x7FWP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x81\x81R\x7F\xC1{Kp\x8BoD%\\ \x91:\x9D\x97\xA0S\0\xB6p4,q\xFEZ\xE5\xB6\x17\xBDM\xB5P\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x81 T`\0\x80Q` a(\xEB\x839\x81Q\x91R\x90`\xFF\x16\x15a\x1A\xE1W`\0\x91PPa\x06tV[`\0\x83\x81R`\x02\x82\x01` \x90\x81R`@\x80\x83 \x87\x84R\x82R\x91\x82\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U\x90Q\x84\x81R\x85\x91\x7F\xBF\xB1&\xE7B\xCE\x96\x18\xB5\xBFkT\x83\x99\x16\x92o\\9wR\xBE5@L\x83h\xDD\xCFh\xC1\n\x91\x01a\x0F\xA7V[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x1BmW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0C\x11V[`\0\x80Q` a)\x0B\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x1B\xB9\x91\x90a'\xCCV[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x1B\xF4W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1B\xF9V[``\x91P[P\x91P\x91Pa\x1C\t\x85\x83\x83a\x1C1V[\x95\x94PPPPPV[4\x15a\x0F\xC1W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a\x1CFWa\x1CA\x82a\x1C\x8DV[a\x0B\xB0V[\x81Q\x15\x80\x15a\x1C]WP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x1C\x86W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x0C\x11V[P\x80a\x0B\xB0V[\x80Q\x15a\x1C\x9DW\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Ta\x1C\xC2\x90a#\xBAV[`\0\x82U\x80`\x1F\x10a\x1C\xD2WPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x0Ez\x91\x90[\x80\x82\x11\x15a\x1D\0W`\0\x81U`\x01\x01a\x1C\xECV[P\x90V[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x1D\x1BW`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x1D2W`\0\x80\xFD[a\x0B\xB0\x82a\x1D\x04V[`\0` \x82\x84\x03\x12\x15a\x1DMW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x0B\xB0W`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a\x1DwW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1D\x8EW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1D\xA6W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80` \x83\x85\x03\x12\x15a\x1D\xC0W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1D\xD6W`\0\x80\xFD[a\x1D\xE2\x85\x82\x86\x01a\x1DeV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1E\x01W`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0` \x82\x84\x03\x12\x15a\x1E\"W`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x1EDW\x81\x81\x01Q\x83\x82\x01R` \x01a\x1E,V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x1Ee\x81` \x86\x01` \x86\x01a\x1E)V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x1E\x95`\x80\x84\x01\x82a\x1EMV[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x1E\xB3\x83\x83a\x1EMV[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x1C\t\x82\x82a\x1EMV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1F\tWa\x1F\ta\x1E\xD1V[`@R\x90V[`@Q`\xA0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1F\tWa\x1F\ta\x1E\xD1V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x1FYWa\x1FYa\x1E\xD1V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x1FrW`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x1F\x8BWa\x1F\x8Ba\x1E\xD1V[a\x1F\x9E`\x1F\x82\x01`\x1F\x19\x16` \x01a\x1F1V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x1F\xB3W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x1F\xE3W`\0\x80\xFD[a\x1F\xEC\x83a\x1D\x04V[\x91P` \x80\x84\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a \tW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a \x1DW`\0\x80\xFD[\x815\x81\x81\x11\x15a /Wa /a\x1E\xD1V[\x80`\x05\x1Ba >\x85\x82\x01a\x1F1V[\x91\x82R\x83\x81\x01\x85\x01\x91\x85\x81\x01\x90\x8A\x84\x11\x15a XW`\0\x80\xFD[\x86\x86\x01\x92P[\x83\x83\x10\x15a!\x16W\x825\x85\x81\x11\x15a vW`\0\x80\x81\xFD[\x86\x01``\x81\x8D\x03`\x1F\x19\x01\x81\x13\x15a \x8EW`\0\x80\x81\xFD[a \x96a\x1E\xE7V[\x89\x83\x015\x88\x81\x11\x15a \xA8W`\0\x80\x81\xFD[a \xB6\x8F\x8C\x83\x87\x01\x01a\x1FaV[\x82RP`@\x83\x015\x88\x81\x11\x15a \xCCW`\0\x80\x81\xFD[a \xDA\x8F\x8C\x83\x87\x01\x01a\x1FaV[\x82\x8C\x01RP\x90\x82\x015\x90\x87\x82\x11\x15a \xF2W`\0\x80\x81\xFD[a!\0\x8E\x8B\x84\x86\x01\x01a\x1FaV[`@\x82\x01R\x84RPP\x91\x86\x01\x91\x90\x86\x01\x90a ^V[\x80\x97PPPPPPPP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a!:W`\0\x80\xFD[\x825\x91Pa!J` \x84\x01a\x1D\x04V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a!fW`\0\x80\xFD[a!o\x83a\x1D\x04V[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a!\x8AW`\0\x80\xFD[a!\x96\x85\x82\x86\x01a\x1FaV[\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a!\xB9W`\0\x80\xFD[a!\xC2\x87a\x1D\x04V[\x95P` \x87\x015\x94P`@\x87\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a!\xE5W`\0\x80\xFD[a!\xF1\x8A\x83\x8B\x01a\x1DeV[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15a\"\nW`\0\x80\xFD[Pa\"\x17\x89\x82\x8A\x01a\x1DeV[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\" v\xCC75\xA9 \xA3\xCAP]8+\xBC\xDCi|\xE6\xC0\xC3\xF8\x86\xFB\xBC\x8E\r#:\xBF\xACZ\xC56S\xAC\x08\xB3c[\xB0\xAE\xC7\x0C9\\B\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\xA2dipfsX\"\x12 \xBA\xAA\xB9E\xBA\xB9\xD5W$\x9E\x94\x93\xA47\xA2S\xE2P\xCE\xD5}+\x01\xB6N\xFC\x04vu_\xE8EdsolcC\0\x08\x14\x003"; /// The deployed bytecode of the contract. pub static ENTITYKEYREGISTRY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); diff --git a/bindings/src/erc1967_utils.rs b/bindings/src/erc1967_utils.rs index 027937d..87a46b4 100644 --- a/bindings/src/erc1967_utils.rs +++ b/bindings/src/erc1967_utils.rs @@ -116,12 +116,12 @@ pub mod erc1967_utils { pub static ERC1967UTILS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xA3\xFD\xE6\x0F\x91\xC5\xB0\xB7\x18\xFD\xDB\x85%\x14+\x87\xBC\xD9\xB4?;f\x0CN\x1A\xC1\x9F\0Q\xE9\xB0[dsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 D\x9A\xC6\x98\xB3\x0C\xEF\0Z\x14W)\xBCs\xD7\x9A8\xB0\x19\x04\xE4\xA2(\xCDN\xA3~\xBF\x87\xF9}\xDDdsolcC\0\x08\x14\x003"; /// The bytecode of the contract. pub static ERC1967UTILS_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xA3\xFD\xE6\x0F\x91\xC5\xB0\xB7\x18\xFD\xDB\x85%\x14+\x87\xBC\xD9\xB4?;f\x0CN\x1A\xC1\x9F\0Q\xE9\xB0[dsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 D\x9A\xC6\x98\xB3\x0C\xEF\0Z\x14W)\xBCs\xD7\x9A8\xB0\x19\x04\xE4\xA2(\xCDN\xA3~\xBF\x87\xF9}\xDDdsolcC\0\x08\x14\x003"; /// The deployed bytecode of the contract. pub static ERC1967UTILS_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); diff --git a/bindings/src/erc20.rs b/bindings/src/erc20.rs deleted file mode 100644 index a94aefb..0000000 --- a/bindings/src/erc20.rs +++ /dev/null @@ -1,1328 +0,0 @@ -pub use erc20::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod erc20 { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ]), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("allowance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("balance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static ERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct ERC20(::ethers::contract::Contract); - impl ::core::clone::Clone for ERC20 { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for ERC20 { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for ERC20 { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for ERC20 { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(ERC20)) - .field(&self.address()) - .finish() - } - } - impl ERC20 { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ERC20_ABI.clone(), - client, - )) - } - ///Calls the contract's `allowance` (0xdd62ed3e) function - pub fn allowance( - &self, - owner: ::ethers::core::types::Address, - spender: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([221, 98, 237, 62], (owner, spender)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `approve` (0x095ea7b3) function - pub fn approve( - &self, - spender: ::ethers::core::types::Address, - value: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([9, 94, 167, 179], (spender, value)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `balanceOf` (0x70a08231) function - pub fn balance_of( - &self, - account: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([112, 160, 130, 49], account) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `decimals` (0x313ce567) function - pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([49, 60, 229, 103], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `name` (0x06fdde03) function - pub fn name(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([6, 253, 222, 3], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `symbol` (0x95d89b41) function - pub fn symbol( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([149, 216, 155, 65], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `totalSupply` (0x18160ddd) function - pub fn total_supply( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([24, 22, 13, 221], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `transfer` (0xa9059cbb) function - pub fn transfer( - &self, - to: ::ethers::core::types::Address, - value: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([169, 5, 156, 187], (to, value)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `transferFrom` (0x23b872dd) function - pub fn transfer_from( - &self, - from: ::ethers::core::types::Address, - to: ::ethers::core::types::Address, - value: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([35, 184, 114, 221], (from, to, value)) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `Approval` event - pub fn approval_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { - self.0.event() - } - ///Gets the contract's `Transfer` event - pub fn transfer_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ERC20Events> { - self.0 - .event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> for ERC20 { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `ERC20InsufficientAllowance` with signature `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC20InsufficientAllowance", - abi = "ERC20InsufficientAllowance(address,uint256,uint256)" - )] - pub struct ERC20InsufficientAllowance { - pub spender: ::ethers::core::types::Address, - pub allowance: ::ethers::core::types::U256, - pub needed: ::ethers::core::types::U256, - } - ///Custom Error type `ERC20InsufficientBalance` with signature `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC20InsufficientBalance", - abi = "ERC20InsufficientBalance(address,uint256,uint256)" - )] - pub struct ERC20InsufficientBalance { - pub sender: ::ethers::core::types::Address, - pub balance: ::ethers::core::types::U256, - pub needed: ::ethers::core::types::U256, - } - ///Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and selector `0xe602df05` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidApprover", abi = "ERC20InvalidApprover(address)")] - pub struct ERC20InvalidApprover { - pub approver: ::ethers::core::types::Address, - } - ///Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and selector `0xec442f05` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidReceiver", abi = "ERC20InvalidReceiver(address)")] - pub struct ERC20InvalidReceiver { - pub receiver: ::ethers::core::types::Address, - } - ///Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and selector `0x96c6fd1e` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidSender", abi = "ERC20InvalidSender(address)")] - pub struct ERC20InvalidSender { - pub sender: ::ethers::core::types::Address, - } - ///Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and selector `0x94280d62` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidSpender", abi = "ERC20InvalidSpender(address)")] - pub struct ERC20InvalidSpender { - pub spender: ::ethers::core::types::Address, - } - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum ERC20Errors { - ERC20InsufficientAllowance(ERC20InsufficientAllowance), - ERC20InsufficientBalance(ERC20InsufficientBalance), - ERC20InvalidApprover(ERC20InvalidApprover), - ERC20InvalidReceiver(ERC20InvalidReceiver), - ERC20InvalidSender(ERC20InvalidSender), - ERC20InvalidSpender(ERC20InvalidSpender), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for ERC20Errors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InsufficientAllowance(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InsufficientBalance(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidApprover(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidReceiver(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidSender(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidSpender(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for ERC20Errors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::ERC20InsufficientAllowance(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InsufficientBalance(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidApprover(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidReceiver(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidSender(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidSpender(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for ERC20Errors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for ERC20Errors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSender(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSpender(element) => ::core::fmt::Display::fmt(element, f), - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for ERC20Errors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for ERC20Errors { - fn from(value: ERC20InsufficientAllowance) -> Self { - Self::ERC20InsufficientAllowance(value) - } - } - impl ::core::convert::From for ERC20Errors { - fn from(value: ERC20InsufficientBalance) -> Self { - Self::ERC20InsufficientBalance(value) - } - } - impl ::core::convert::From for ERC20Errors { - fn from(value: ERC20InvalidApprover) -> Self { - Self::ERC20InvalidApprover(value) - } - } - impl ::core::convert::From for ERC20Errors { - fn from(value: ERC20InvalidReceiver) -> Self { - Self::ERC20InvalidReceiver(value) - } - } - impl ::core::convert::From for ERC20Errors { - fn from(value: ERC20InvalidSender) -> Self { - Self::ERC20InvalidSender(value) - } - } - impl ::core::convert::From for ERC20Errors { - fn from(value: ERC20InvalidSpender) -> Self { - Self::ERC20InvalidSpender(value) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] - pub struct ApprovalFilter { - #[ethevent(indexed)] - pub owner: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub spender: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] - pub struct TransferFilter { - #[ethevent(indexed)] - pub from: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub to: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all of the contract's events - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum ERC20Events { - ApprovalFilter(ApprovalFilter), - TransferFilter(TransferFilter), - } - impl ::ethers::contract::EthLogDecode for ERC20Events { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = ApprovalFilter::decode_log(log) { - return Ok(ERC20Events::ApprovalFilter(decoded)); - } - if let Ok(decoded) = TransferFilter::decode_log(log) { - return Ok(ERC20Events::TransferFilter(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for ERC20Events { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for ERC20Events { - fn from(value: ApprovalFilter) -> Self { - Self::ApprovalFilter(value) - } - } - impl ::core::convert::From for ERC20Events { - fn from(value: TransferFilter) -> Self { - Self::TransferFilter(value) - } - } - ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "allowance", abi = "allowance(address,address)")] - pub struct AllowanceCall { - pub owner: ::ethers::core::types::Address, - pub spender: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "approve", abi = "approve(address,uint256)")] - pub struct ApproveCall { - pub spender: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] - pub struct BalanceOfCall { - pub account: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "decimals", abi = "decimals()")] - pub struct DecimalsCall; - ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "name", abi = "name()")] - pub struct NameCall; - ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "symbol", abi = "symbol()")] - pub struct SymbolCall; - ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "totalSupply", abi = "totalSupply()")] - pub struct TotalSupplyCall; - ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] - pub struct TransferCall { - pub to: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] - pub struct TransferFromCall { - pub from: ::ethers::core::types::Address, - pub to: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum ERC20Calls { - Allowance(AllowanceCall), - Approve(ApproveCall), - BalanceOf(BalanceOfCall), - Decimals(DecimalsCall), - Name(NameCall), - Symbol(SymbolCall), - TotalSupply(TotalSupplyCall), - Transfer(TransferCall), - TransferFrom(TransferFromCall), - } - impl ::ethers::core::abi::AbiDecode for ERC20Calls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Allowance(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Approve(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::BalanceOf(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Decimals(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Name(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Symbol(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::TotalSupply(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Transfer(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::TransferFrom(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for ERC20Calls { - fn encode(self) -> Vec { - match self { - Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for ERC20Calls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), - Self::Approve(element) => ::core::fmt::Display::fmt(element, f), - Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f), - Self::Decimals(element) => ::core::fmt::Display::fmt(element, f), - Self::Name(element) => ::core::fmt::Display::fmt(element, f), - Self::Symbol(element) => ::core::fmt::Display::fmt(element, f), - Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), - Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), - Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for ERC20Calls { - fn from(value: AllowanceCall) -> Self { - Self::Allowance(value) - } - } - impl ::core::convert::From for ERC20Calls { - fn from(value: ApproveCall) -> Self { - Self::Approve(value) - } - } - impl ::core::convert::From for ERC20Calls { - fn from(value: BalanceOfCall) -> Self { - Self::BalanceOf(value) - } - } - impl ::core::convert::From for ERC20Calls { - fn from(value: DecimalsCall) -> Self { - Self::Decimals(value) - } - } - impl ::core::convert::From for ERC20Calls { - fn from(value: NameCall) -> Self { - Self::Name(value) - } - } - impl ::core::convert::From for ERC20Calls { - fn from(value: SymbolCall) -> Self { - Self::Symbol(value) - } - } - impl ::core::convert::From for ERC20Calls { - fn from(value: TotalSupplyCall) -> Self { - Self::TotalSupply(value) - } - } - impl ::core::convert::From for ERC20Calls { - fn from(value: TransferCall) -> Self { - Self::Transfer(value) - } - } - impl ::core::convert::From for ERC20Calls { - fn from(value: TransferFromCall) -> Self { - Self::TransferFrom(value) - } - } - ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct AllowanceReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ApproveReturn(pub bool); - ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct BalanceOfReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct DecimalsReturn(pub u8); - ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct NameReturn(pub ::std::string::String); - ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SymbolReturn(pub ::std::string::String); - ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TransferReturn(pub bool); - ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TransferFromReturn(pub bool); -} diff --git a/bindings/src/error.rs b/bindings/src/error.rs index c94918c..5d8316f 100644 --- a/bindings/src/error.rs +++ b/bindings/src/error.rs @@ -568,6 +568,35 @@ pub mod error { },], },], ), + ( + ::std::borrow::ToOwned::to_owned("TeeVerifierEnclaveKeyNotVerified"), + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("TeeVerifierEnclaveKeyNotVerified",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("PCR0"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("PCR1"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("PCR2"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + },], + ), ( ::std::borrow::ToOwned::to_owned("UnstakeRequestNotInPlace"), ::std::vec![::ethers::core::abi::ethabi::AbiError { @@ -584,12 +613,12 @@ pub mod error { pub static ERROR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 Q\xC4-\x0F@\xFF\x15T\xBF\xD9A\xEE\xB1\xAA\xB6nc\xAF\xE8Lq3\x97\xEC^\x90\xDF\xF4}\x94 XdsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xBE{\xB8-\xD66\xF9D\xEC.\xBF\x83\0\xA6\xFB\xF5\x14\x85_\xD3\x9B\x9E\x0E\x13J\xA4<]\x1DE]\xEBdsolcC\0\x08\x14\x003"; /// The bytecode of the contract. pub static ERROR_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 Q\xC4-\x0F@\xFF\x15T\xBF\xD9A\xEE\xB1\xAA\xB6nc\xAF\xE8Lq3\x97\xEC^\x90\xDF\xF4}\x94 XdsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xBE{\xB8-\xD66\xF9D\xEC.\xBF\x83\0\xA6\xFB\xF5\x14\x85_\xD3\x9B\x9E\x0E\x13J\xA4<]\x1DE]\xEBdsolcC\0\x08\x14\x003"; /// The deployed bytecode of the contract. pub static ERROR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); @@ -1659,6 +1688,28 @@ pub mod error { pub struct ShouldBeInCrossedDeadlineState { pub ask_id: ::ethers::core::types::U256, } + ///Custom Error type `TeeVerifierEnclaveKeyNotVerified` with signature `TeeVerifierEnclaveKeyNotVerified(bytes,bytes,bytes)` and selector `0xda7977ba` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[etherror( + name = "TeeVerifierEnclaveKeyNotVerified", + abi = "TeeVerifierEnclaveKeyNotVerified(bytes,bytes,bytes)" + )] + pub struct TeeVerifierEnclaveKeyNotVerified { + pub pcr0: ::ethers::core::types::Bytes, + pub pcr1: ::ethers::core::types::Bytes, + pub pcr2: ::ethers::core::types::Bytes, + } ///Custom Error type `UnstakeRequestNotInPlace` with signature `UnstakeRequestNotInPlace()` and selector `0xb28c1c0e` #[derive( Clone, @@ -1744,6 +1795,7 @@ pub mod error { ShouldBeInAssignedState(ShouldBeInAssignedState), ShouldBeInCreateState(ShouldBeInCreateState), ShouldBeInCrossedDeadlineState(ShouldBeInCrossedDeadlineState), + TeeVerifierEnclaveKeyNotVerified(TeeVerifierEnclaveKeyNotVerified), UnstakeRequestNotInPlace(UnstakeRequestNotInPlace), /// The standard solidity revert string, with selector /// Error(string) -- 0x08c379a0 @@ -2026,6 +2078,11 @@ pub mod error { { return Ok(Self::ShouldBeInCrossedDeadlineState(decoded)); } + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::TeeVerifierEnclaveKeyNotVerified(decoded)); + } if let Ok(decoded) = ::decode(data) { @@ -2175,6 +2232,9 @@ pub mod error { Self::ShouldBeInCrossedDeadlineState(element) => { ::ethers::core::abi::AbiEncode::encode(element) } + Self::TeeVerifierEnclaveKeyNotVerified(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::UnstakeRequestNotInPlace(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -2414,6 +2474,10 @@ pub mod error { == ::selector() => { true } + _ if selector + == ::selector() => { + true + } _ if selector == ::selector() => { true @@ -2507,6 +2571,9 @@ pub mod error { Self::ShouldBeInCrossedDeadlineState(element) => { ::core::fmt::Display::fmt(element, f) } + Self::TeeVerifierEnclaveKeyNotVerified(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::UnstakeRequestNotInPlace(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } @@ -2807,6 +2874,11 @@ pub mod error { Self::ShouldBeInCrossedDeadlineState(value) } } + impl ::core::convert::From for ErrorErrors { + fn from(value: TeeVerifierEnclaveKeyNotVerified) -> Self { + Self::TeeVerifierEnclaveKeyNotVerified(value) + } + } impl ::core::convert::From for ErrorErrors { fn from(value: UnstakeRequestNotInPlace) -> Self { Self::UnstakeRequestNotInPlace(value) diff --git a/bindings/src/generator_registry.rs b/bindings/src/generator_registry.rs index 6931686..899b67f 100644 --- a/bindings/src/generator_registry.rs +++ b/bindings/src/generator_registry.rs @@ -1957,12 +1957,12 @@ pub mod generator_registry { pub static GENERATORREGISTRY_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xE0`@R0`\x80R4\x80\x15b\0\0\x15W`\0\x80\xFD[P`@Qb\0M\xED8\x03\x80b\0M\xED\x839\x81\x01`@\x81\x90Rb\0\08\x91b\0\x01}V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15b\0\0\x83WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15b\0\0\xA0WP0;\x15[\x90P\x81\x15\x80\x15b\0\0\xAFWP\x80\x15[\x15b\0\0\xCEW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T`\x01`\x01`@\x1B\x03\x19\x16`\x01\x17\x85U\x83\x15b\0\0\xFDW\x84T`\xFF`@\x1B\x19\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[`\x01`\x01`\xA0\x1B\x03\x80\x88\x16`\xA0R\x86\x16`\xC0R\x83\x15b\0\x01WW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPb\0\x01\xBCV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01zW`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\x01\x91W`\0\x80\xFD[\x82Qb\0\x01\x9E\x81b\0\x01dV[` \x84\x01Q\x90\x92Pb\0\x01\xB1\x81b\0\x01dV[\x80\x91PP\x92P\x92\x90PV[`\x80Q`\xA0Q`\xC0QaK\xADb\0\x02@`\09`\0\x81\x81a\x05/\x01R\x81\x81a\x0C\x9B\x01R\x81\x81a\r\x7F\x01R\x81\x81a\x14\xAB\x01R\x81\x81a5\x13\x01Ra6\x04\x01R`\0\x81\x81a\x02\x9D\x01R\x81\x81a\x0Bl\x01R\x81\x81a\x19\xF7\x01R\x81\x81a\x1F\xA2\x01R\x81\x81a(\"\x01Ra)R\x01R`\0\x81\x81a0C\x01R\x81\x81a0l\x01Ra1\xB0\x01RaK\xAD`\0\xF3\xFE`\x80`@R`\x046\x10a\x02QW`\x005`\xE0\x1C\x80cz\x14\xC4c\x11a\x019W\x80c\xA2\x17\xFD\xDF\x11a\0\xB6W\x80c\xD5Gt\x1F\x11a\0zW\x80c\xD5Gt\x1F\x14a\x07\xA6W\x80c\xE2\xFA3\xCE\x14a\x07\xC6W\x80c\xE7\xBC\x96\0\x14a\x07\xE6W\x80c\xE9\xE94\xA0\x14a\x08\x06W\x80c\xEA\xAC\xAE\x94\x14a\x08&W\x80c\xF2\x88\x8D\xBB\x14a\x08FW`\0\x80\xFD[\x80c\xA2\x17\xFD\xDF\x14a\x06\xF3W\x80c\xAD<\xB1\xCC\x14a\x07\x08W\x80c\xAD\xC9w.\x14a\x07FW\x80c\xC4\x92\xEE9\x14a\x07fW\x80c\xD0n\x1F{\x14a\x07\x86W`\0\x80\xFD[\x80c\x92\xEB\x91\xE2\x11a\0\xFDW\x80c\x92\xEB\x91\xE2\x14a\x06\x08W\x80c\x96\xDE\x0E\xEF\x14a\x06(W\x80c\x98*A]\x14a\x06HW\x80c\x9A\x7F\xCA\x8E\x14a\x06hW\x80c\x9F]\xB9\x86\x14a\x06\xD3W`\0\x80\xFD[\x80cz\x14\xC4c\x14a\x04RW\x80c\x81\xC4\\p\x14a\x05qW\x80c\x84\xAC3\xEC\x14a\x05\x92W\x80c\x8C\xFCV\xD8\x14a\x05\xB2W\x80c\x91\xD1HT\x14a\x05\xE8W`\0\x80\xFD[\x80c/\x8FJ;\x11a\x01\xD2W\x80cO\x1E\xF2\x86\x11a\x01\x96W\x80cO\x1E\xF2\x86\x14a\x04\xA7W\x80cR\xD1\x90-\x14a\x04\xBAW\x80cT\x1A\x8C\x18\x14a\x04\xCFW\x80cdmQ\xB4\x14a\x04\xEFW\x80cf\x1D\xE5\xAC\x14a\x05\x1DW\x80cm@Xw\x14a\x05QW`\0\x80\xFD[\x80c/\x8FJ;\x14a\x04\x1DW\x80c6V\x8A\xBE\x14a\x042W\x80c<^\xB5|\x14a\x04RW\x80cH\\\xC9U\x14a\x04gW\x80cM*\xAB\x9A\x14a\x04\x87W`\0\x80\xFD[\x80c!\x80\xDE]\x11a\x02\x19W\x80c!\x80\xDE]\x14a\x03NW\x80c$\x8A\x9C\xA3\x14a\x03nW\x80c+a\x0C-\x14a\x03\x9CW\x80c,\x1F\xBD\x03\x14a\x03\xDBW\x80c//\xF1]\x14a\x03\xFDW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02VW\x80c\x04y\xD6D\x14a\x02\x8BW\x80c\x08\xBEk\xAD\x14a\x02\xD7W\x80c\x13m\xFB\xF5\x14a\x02\xF9W\x80c\x1C~\xAEe\x14a\x03\x19W[`\0\x80\xFD[4\x80\x15a\x02bW`\0\x80\xFD[Pa\x02va\x02q6`\x04a@!V[a\x08fV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02\x97W`\0\x80\xFD[Pa\x02\xBF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x82V[4\x80\x15a\x02\xE3W`\0\x80\xFD[Pa\x02\xF7a\x02\xF26`\x04a@KV[a\x08wV[\0[4\x80\x15a\x03\x05W`\0\x80\xFD[Pa\x02\xF7a\x03\x146`\x04aA\x97V[a\x08\xB1V[4\x80\x15a\x03%W`\0\x80\xFD[Pa\x039a\x0346`\x04aA\xF9V[a\x0B\xF7V[`@\x80Q\x92\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x82V[4\x80\x15a\x03ZW`\0\x80\xFD[Pa\x02\xF7a\x03i6`\x04aBfV[a\x0C\x99V[4\x80\x15a\x03zW`\0\x80\xFD[Pa\x03\x8Ea\x03\x896`\x04aB\xD5V[a\x0E+V[`@Q\x90\x81R` \x01a\x02\x82V[4\x80\x15a\x03\xA8W`\0\x80\xFD[Pa\x03\xBCa\x03\xB76`\x04aA\xF9V[a\x0EMV[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x90\x93\x16\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x82V[4\x80\x15a\x03\xE7W`\0\x80\xFD[Pa\x03\x8E`\0\x80Q` aJ\xF8\x839\x81Q\x91R\x81V[4\x80\x15a\x04\tW`\0\x80\xFD[Pa\x02\xF7a\x04\x186`\x04aB\xEEV[a\x104V[4\x80\x15a\x04)W`\0\x80\xFD[Pa\x02\xF7a\x10PV[4\x80\x15a\x04>W`\0\x80\xFD[Pa\x02\xF7a\x04M6`\x04aB\xEEV[a\x12'V[4\x80\x15a\x04^W`\0\x80\xFD[Pa\x03\x8E`d\x81V[4\x80\x15a\x04sW`\0\x80\xFD[Pa\x02\xF7a\x04\x826`\x04aC\x1EV[a\x12ZV[4\x80\x15a\x04\x93W`\0\x80\xFD[Pa\x02\xF7a\x04\xA26`\x04aCLV[a\x13\xC1V[a\x02\xF7a\x04\xB56`\x04aCiV[a\x14eV[4\x80\x15a\x04\xC6W`\0\x80\xFD[Pa\x03\x8Ea\x14\x84V[4\x80\x15a\x04\xDBW`\0\x80\xFD[Pa\x02\xF7a\x04\xEA6`\x04aB\xD5V[a\x14\xA1V[4\x80\x15a\x04\xFBW`\0\x80\xFD[Pa\x05\x0Fa\x05\n6`\x04aA\xF9V[a\x154V[`@Qa\x02\x82\x92\x91\x90aC\xF0V[4\x80\x15a\x05)W`\0\x80\xFD[Pa\x02\xBF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05]W`\0\x80\xFD[Pa\x02\xF7a\x05l6`\x04aB\xD5V[a\x17\xF8V[4\x80\x15a\x05}W`\0\x80\xFD[Pa\x01\xF8Ta\x02\xBF\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x05\x9EW`\0\x80\xFD[Pa\x02\xF7a\x05\xAD6`\x04aCLV[a\x18\x9FV[4\x80\x15a\x05\xBEW`\0\x80\xFD[Pa\x05\xD2a\x05\xCD6`\x04aCLV[a\x1A\xDEV[`@Qa\x02\x82\x9A\x99\x98\x97\x96\x95\x94\x93\x92\x91\x90aD[V[4\x80\x15a\x05\xF4W`\0\x80\xFD[Pa\x02va\x06\x036`\x04aB\xEEV[a\x1B\xC6V[4\x80\x15a\x06\x14W`\0\x80\xFD[Pa\x02\xF7a\x06#6`\x04aBfV[a\x1B\xFEV[4\x80\x15a\x064W`\0\x80\xFD[Pa\x02\xF7a\x06C6`\x04aB\xD5V[a\x1C\x0BV[4\x80\x15a\x06TW`\0\x80\xFD[Pa\x02\xF7a\x06c6`\x04aD\xC0V[a\x1D\x8AV[4\x80\x15a\x06tW`\0\x80\xFD[Pa\x06\xC2a\x06\x836`\x04aA\xF9V[a\x01\xF5` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 \x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x90\x94\x01T`\xFF\x90\x93\x16\x93\x91\x92\x90\x91\x90\x85V[`@Qa\x02\x82\x95\x94\x93\x92\x91\x90aD\xF5V[4\x80\x15a\x06\xDFW`\0\x80\xFD[Pa\x02\xF7a\x06\xEE6`\x04aB\xD5V[a\x1F\x0CV[4\x80\x15a\x06\xFFW`\0\x80\xFD[Pa\x03\x8E`\0\x81V[4\x80\x15a\x07\x14W`\0\x80\xFD[Pa\x079`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02\x82\x91\x90aE%V[4\x80\x15a\x07RW`\0\x80\xFD[Pa\x03\x8Ea\x07a6`\x04aA\xF9V[a\x1F\x16V[4\x80\x15a\x07rW`\0\x80\xFD[Pa\x02\xF7a\x07\x816`\x04aD\xC0V[a FV[4\x80\x15a\x07\x92W`\0\x80\xFD[Pa\x02\xF7a\x07\xA16`\x04a@KV[a\"_V[4\x80\x15a\x07\xB2W`\0\x80\xFD[Pa\x02\xF7a\x07\xC16`\x04aB\xEEV[a\"\x94V[4\x80\x15a\x07\xD2W`\0\x80\xFD[Pa\x02\xF7a\x07\xE16`\x04aEFV[a\"\xB0V[4\x80\x15a\x07\xF2W`\0\x80\xFD[Pa\x02\xF7a\x08\x016`\x04aB\xD5V[a%TV[4\x80\x15a\x08\x12W`\0\x80\xFD[Pa\x02\xF7a\x08!6`\x04aB\xD5V[a%^V[4\x80\x15a\x082W`\0\x80\xFD[Pa\x03\x8Ea\x08A6`\x04aE\xE8V[a&\x83V[4\x80\x15a\x08RW`\0\x80\xFD[Pa\x02\xF7a\x08a6`\x04aCLV[a(ZV[`\0a\x08q\x82a*]V[\x92\x91PPV[`\0[\x81\x81\x10\x15a\x08\xACWa\x08\xA43\x84\x84\x84\x81\x81\x10a\x08\x98Wa\x08\x98aF2V[\x90P` \x02\x015a*\x92V[`\x01\x01a\x08zV[PPPV[a\x08\xB9a,\xEBV[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T`\xA0\x83\x01R`\x06\x81\x01T`\xC0\x83\x01R`\x07\x81\x01T`\xE0\x83\x01R`\x08\x81\x01Ta\x01\0\x83\x01R`\t\x81\x01\x80Ta\x01 \x84\x01\x91\x90a\tM\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\ty\x90aFHV[\x80\x15a\t\xC6W\x80`\x1F\x10a\t\x9BWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t\xC6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\xA9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x82Q`\0\x14\x80a\t\xE8WP`\x01`\x01`\xA0\x1B\x03\x86\x16\x15[\x80a\t\xF1WP\x84\x15[\x15a\n\x0FW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80Q`\x01`\x01`\xA0\x1B\x03\x16\x15a\n8W`@QcXt\xF9{`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x80a\x01@\x01`@R\x80\x87`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x85\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01\x86\x81R` \x01g\r\xE0\xB6\xB3\xA7d\0\0\x81R` \x01g\r\xE0\xB6\xB3\xA7d\0\0\x81R` \x01\x84\x81RPa\x01\xF4`\0\x84`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0\x82\x01Q\x81`\0\x01`\0a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP` \x82\x01Q\x81`\x01\x01U`@\x82\x01Q\x81`\x02\x01U``\x82\x01Q\x81`\x03\x01U`\x80\x82\x01Q\x81`\x04\x01U`\xA0\x82\x01Q\x81`\x05\x01U`\xC0\x82\x01Q\x81`\x06\x01U`\xE0\x82\x01Q\x81`\x07\x01Ua\x01\0\x82\x01Q\x81`\x08\x01Ua\x01 \x82\x01Q\x81`\t\x01\x90\x81a\x0BU\x91\x90aF\xD2V[PP\x84\x15\x90Pa\x0B\x94Wa\x0B\x94`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x830\x87a-#V[`@\x80Q\x86\x81R` \x81\x01\x86\x90R`\x01`\x01`\xA0\x1B\x03\x84\x16\x91\x7FI\x1B\x0FF\x1D\x05\xB7\x9B\xFCi\x04\xA9\xBA\x9D\xF5#\xD7fP?\x11\x04k+^n\xDD\xAA\xE3\xA7#\x1C\x91\x01`@Q\x80\x91\x03\x90\xA2PPa\x0B\xF1`\x01`\0\x80Q` aKX\x839\x81Q\x91RUV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x0CCWa\x0CCaC\xB8V[`\x04\x81\x11\x15a\x0CTWa\x0CTaC\xB8V[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P\x80`@\x01Q\x81``\x01Q\x92P\x92PP[\x92P\x92\x90PV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16ck[!\xA6a\x0C\xD1\x85a-\x8AV[a\x0C\xDA\x87a-\xC3V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r\x1BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r?\x91\x90aG\x91V[a\r\\W`@Qc\xC4e\xE6\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\rh\x83\x83\x833a.\x0BV[`@Qc\x07\x07Y\x1F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x07\x07Y\x1F\x90a\r\xB4\x90\x86\x90`\x04\x01aE%V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\r\xCEW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\r\xE2W=`\0\x80>=`\0\xFD[PPPPa\r\xEF\x83a.\xD3V[`\x01`\x01`\xA0\x1B\x03\x16\x84\x7F\xC3\xFB\xBD\xB6\xAA\x8D\x99\xF6\xEF\xE2J:\"\xE9\xA9\x9F\xFE\xF2J/9\x9C\x0B\x1ET\x99F\xF9\x1B\xF06\xE4`@Q`@Q\x80\x91\x03\x90\xA3PPPPV[`\0\x90\x81R`\0\x80Q` aK8\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x0E\x99Wa\x0E\x99aC\xB8V[`\x04\x81\x11\x15a\x0E\xAAWa\x0E\xAAaC\xB8V[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P`\0a\x01\xF4`\0\x87`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `@Q\x80a\x01@\x01`@R\x90\x81`\0\x82\x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81R` \x01`\x05\x82\x01T\x81R` \x01`\x06\x82\x01T\x81R` \x01`\x07\x82\x01T\x81R` \x01`\x08\x82\x01T\x81R` \x01`\t\x82\x01\x80Ta\x0F\x9B\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x0F\xC7\x90aFHV[\x80\x15a\x10\x14W\x80`\x1F\x10a\x0F\xE9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x10\x14V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x0F\xF7W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP\x90Q`@\x90\x93\x01Q\x92\x94P\x91\x92PPP\x92P\x92\x90PV[a\x10=\x82a\x0E+V[a\x10F\x81a/\x03V[a\x0B\xF1\x83\x83a/\rV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\t\x81\x01\x80Ta\x10o\x90aFHV[\x15\x90P\x80a\x10\x85WP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a\x10\xA3W`@QcdF\xF9\x17`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x03a\x10\xCFW`@Qc\x89\x83`\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\x06\x01T\x83`\x08\x01Ta\x10\xEE\x91\x90aG\xC4V[a\x10\xF8\x91\x90aG\xDBV[\x90P`\0\x81\x83`\x06\x01Ta\x11\x0C\x91\x90aG\xFDV[\x90P\x82`\x03\x01T\x82\x10\x15a\x113W`@Qc\x01\x19\"\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82`\x02\x01T\x82\x10\x15a\x11XW`@Qc\x01\x19\"\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x06\x83\x01\x82\x90Ug\r\xE0\xB6\xB3\xA7d\0\0`\x08\x84\x01U`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF7` R`@\x90 TC\x10\x80\x15\x90a\x11\xAEWP`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF7` R`@\x90 T\x15\x15[a\x11\xCBW`@Qc8l\xF4\x07`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x81\x81Ra\x01\xF7` R`@\x80\x82 \x91\x90\x91UQ\x7F\x11\xDE\xAE(\x9Epx\xFC\xE2\x88\xF4\xE9sN\x9C=\xF6{U\xEA\xC4\xFFA\xB8\x90\xB6\xD68\x1A\xCE\xE7b\x90a\x12\x19\x90\x84\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x12PW`@Qc3K\xD9\x19`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08\xAC\x82\x82a/\xB2V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\x12\x9FWP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a\x12\xBBWP0;\x15[\x90P\x81\x15\x80\x15a\x12\xC9WP\x80\x15[\x15a\x12\xE7W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x13\x11W\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a\x13\x19a0.V[a\x13!a0.V[a\x13)a0.V[a\x131a0.V[a\x13<`\0\x88a/\rV[Pa\x13U`\0\x80Q` aJ\xF8\x839\x81Q\x91R\x87a/\rV[Pa\x01\xF8\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x88\x16\x17\x90U\x83\x15a\x13\xB8W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\x01`\x01`\xA0\x1B\x03\x83\x16\x15\x80a\x13\xEFWP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a\x14\rW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x91\x82\x17\x83U`@Q\x91\x82R\x83\x16\x90\x7F\xB1\x95\xA9K\xEC\xD3\x88\xC9\xA0\x7F\xE8\x18qh3\xBD\xF9\x8Bu\\x\xC9\xB48\xF4\xC8\xF0o5O\xA3h\x90` \x01[`@Q\x80\x91\x03\x90\xA2PPPV[a\x14ma08V[a\x14v\x82a0\xDDV[a\x14\x80\x82\x82a0\xE8V[PPV[`\0a\x14\x8Ea1\xA5V[P`\0\x80Q` aK\x18\x839\x81Q\x91R\x90V[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16c\xED8\r\x033`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x84\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16`\x04\x82\x01R`$\x81\x01\x84\x90R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x15\x19W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x15-W=`\0\x80>=`\0\xFD[PPPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x15\x80Wa\x15\x80aC\xB8V[`\x04\x81\x11\x15a\x15\x91Wa\x15\x91aC\xB8V[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P`\0a\x01\xF4`\0\x87`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `@Q\x80a\x01@\x01`@R\x90\x81`\0\x82\x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81R` \x01`\x05\x82\x01T\x81R` \x01`\x06\x82\x01T\x81R` \x01`\x07\x82\x01T\x81R` \x01`\x08\x82\x01T\x81R` \x01`\t\x82\x01\x80Ta\x16\x82\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x16\xAE\x90aFHV[\x80\x15a\x16\xFBW\x80`\x1F\x10a\x16\xD0Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x16\xFBV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x16\xDEW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0`\x04\x81\x11\x15a\x17\x19Wa\x17\x19aC\xB8V[\x82Q`\x04\x81\x11\x15a\x17,Wa\x17,aC\xB8V[\x03a\x17?W`\0\x80\x93P\x93PPPa\x0C\x92V[`\x04\x82Q`\x04\x81\x11\x15a\x17TWa\x17TaC\xB8V[\x03a\x17hW`\x04`\0\x93P\x93PPPa\x0C\x92V[`\0a\x17s\x87a1\xEEV[\x90P`\0\x83Q`\x04\x81\x11\x15a\x17\x8AWa\x17\x8AaC\xB8V[\x14\x15\x80\x15a\x17\x96WP\x80\x15[\x15a\x17\xABW`\x02`\0\x94P\x94PPPPa\x0C\x92V[\x81`\xC0\x01Q\x81\x03a\x17\xC4W`\x01\x94P\x92Pa\x0C\x92\x91PPV[\x80\x15\x80\x15\x90a\x17\xD6WP\x81`\xC0\x01Q\x81\x10[\x15a\x17\xE9W`\x03\x94P\x92Pa\x0C\x92\x91PPV[P`\0\x96\x87\x96P\x94PPPPPV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a\x18-WP\x80`\t\x01\x80Ta\x18)\x90aFHV[\x15\x90P[\x15a\x18KW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82\x81`\x06\x01`\0\x82\x82Ta\x18_\x91\x90aH\x10V[\x90\x91UPP`@Q\x83\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F \x98X\xCE\xC2\x8CQ\x8A\xEAD\xAA?\xA7\n\x93\"S\xF8\xBD\xF7j\x1C\x9A\x0B\x08\"j\x13\xE6\x975\xA3\x90` \x01a\x14XV[a\x18\xA7a,\xEBV[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T`\xA0\x83\x01R`\x06\x81\x01T`\xC0\x83\x01R`\x07\x81\x01T`\xE0\x83\x01R`\x08\x81\x01Ta\x01\0\x83\x01R`\t\x81\x01\x80Ta\x01 \x84\x01\x91\x90a\x19;\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x19g\x90aFHV[\x80\x15a\x19\xB4W\x80`\x1F\x10a\x19\x89Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x19\xB4V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x19\x97W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`@\x01Q`\0\x14a\x19\xE4W`@Qc\xF8\xC20S`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x1A\x1F\x90`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90\x85\x90a3fV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF4` R`@\x81 \x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x81U`\x01\x81\x01\x82\x90U`\x02\x81\x01\x82\x90U`\x03\x81\x01\x82\x90U`\x04\x81\x01\x82\x90U`\x05\x81\x01\x82\x90U`\x06\x81\x01\x82\x90U`\x07\x81\x01\x82\x90U`\x08\x81\x01\x82\x90U\x90a\x1A\x8C`\t\x83\x01\x82a?\xD3V[PP`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\x9F70\xAD\xE9K\xE5\xCE?\xAD\x97;\x88\x8At\x86j:\x91]\0\x8E\x8C\xBD\xE2\x13\x82\xB91\xB6|c\x90`\0\x90\xA2PPa\x1A\xDB`\x01`\0\x80Q` aKX\x839\x81Q\x91RUV[PV[a\x01\xF4` R`\0\x90\x81R`@\x90 \x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x85\x01T`\x05\x86\x01T`\x06\x87\x01T`\x07\x88\x01T`\x08\x89\x01T`\t\x8A\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x9A\x16\x9A\x98\x99\x97\x98\x96\x97\x95\x96\x94\x95\x93\x94\x92\x93\x91\x92\x91a\x1BC\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1Bo\x90aFHV[\x80\x15a\x1B\xBCW\x80`\x1F\x10a\x1B\x91Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x1B\xBCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1B\x9FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x8AV[`\0\x91\x82R`\0\x80Q` aK8\x839\x81Q\x91R` \x90\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[a\x0B\xF13\x85\x85\x85\x85a3\x97V[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a\x1C@WP\x80`\t\x01\x80Ta\x1C<\x90aFHV[\x15\x90P[\x80a\x1CIWP\x82\x15[\x15a\x1CgW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x14a\x1C\x93W`@Qc\x07\xECv9`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x82`\x06\x01Ta\x1C\xA5\x91\x90aG\xFDV[\x90P\x81`\x02\x01T\x81\x11a\x1C\xCBW`@Qc\xCA^b/`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x06\x82\x01T`\0\x90a\x1C\xE5g\r\xE0\xB6\xB3\xA7d\0\0\x84aG\xC4V[a\x1C\xEF\x91\x90aG\xDBV[\x90Pg\r\xE0\xB6\xB3\xA7d\0\0\x81\x10a\x1D\x19W`@Qc\xCA^b/`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x08\x83\x01\x81\x90Ua\x1D+`\x01CaH\x10V[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF7` R`@\x90\x81\x90 \x92\x90\x92U\x90Q\x7Fv\x12,\xFD_W`@Qc\xCA\xBDP\xD7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a!I\x89a6{V[\x90P\x86\x81\x10\x15a!lW`@Qcp1\x8A1`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\x01\x01T\x90P\x87\x84`\x04\x01`\0\x82\x82Ta!\x89\x91\x90aH\x10V[\x92PP\x81\x90UP\x80\x84`\x03\x01`\0\x82\x82Ta!\xA4\x91\x90aH\x10V[\x90\x91UPP`@Q\x88\x81R`\x01`\x01`\xA0\x1B\x03\x8B\x16\x90\x7F\xED.\xDCnq\xBE\xB93\xF1\xE0\xC8\xCC\xFD\xF8E%\x8F7\x10\xD6l6t\xACP\xF3\x90\x08$c\xF7\xF0\x90` \x01`@Q\x80\x91\x03\x90\xA2\x89`\x01`\x01`\xA0\x1B\x03\x16\x7F\xD2\x9B\x9A\xDE\xE3+\xAF\x11\xBE\x04\0\x0Bsc\x99c\xD2\xC7n\x89\x9Fh0\xD3\xB5\xC1q]\xF1}\x82\xBD\x82`@Qa\"\"\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2`\x04\x83\x01\x80T\x90`\0a\"<\x83aH:V[\x91\x90PUPPPPPPPPa\x08\xAC`\x01`\0\x80Q` aKX\x839\x81Q\x91RUV[`\0[\x81\x81\x10\x15a\x08\xACWa\"\x8C3\x84\x84\x84\x81\x81\x10a\"\x80Wa\"\x80aF2V[\x90P` \x02\x015a7\xEAV[`\x01\x01a\"bV[a\"\x9D\x82a\x0E+V[a\"\xA6\x81a/\x03V[a\x0B\xF1\x83\x83a/\xB2V[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x8D\x85R\x90\x92R\x80\x83 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x92\x93\x92\x82\x90`\xFF\x16`\x04\x81\x11\x15a\"\xF8Wa\"\xF8aC\xB8V[`\x04\x81\x11\x15a#\tWa#\taC\xB8V[\x81R`\x01\x82\x01T` \x82\x01R`\x02\x82\x01T`@\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x90\x91\x01T`\x80\x90\x91\x01R\x82T\x90\x91P`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a#MWP\x87\x15[\x80a#VWP\x89\x15[\x15a#tW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a#\x7F\x8Ca8\xBCV[P\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a#\xA9W`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82Q`\x04\x81\x11\x15a#\xBEWa#\xBEaC\xB8V[\x14a#\xDCW`@Qc+[X\x0F`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x8A\x83`\x02\x01`\0\x82\x82Ta#\xF0\x91\x90aH\x10V[\x90\x91UPP`\x06\x83\x01T`\x02\x84\x01T\x11\x15a$\x1EW`@Qc\x07\xD9\x93\x89`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x05\x83\x01\x80T\x90`\0a$0\x83aH:V[\x90\x91UPP`@\x80Q`\xA0\x81\x01\x90\x91R\x80`\x01\x81R` \x01\x8C\x81R` \x01\x8B\x81R` \x01\x8A\x81R` \x01`\0\x81RPa\x01\xF5`\0\x86`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0\x8E\x81R` \x01\x90\x81R` \x01`\0 `\0\x82\x01Q\x81`\0\x01`\0a\x01\0\n\x81T\x81`\xFF\x02\x19\x16\x90\x83`\x04\x81\x11\x15a$\xC0Wa$\xC0aC\xB8V[\x02\x17\x90UP` \x82\x01Q`\x01\x82\x01U`@\x82\x01Q`\x02\x82\x01U``\x82\x01Q`\x03\x82\x01U`\x80\x90\x91\x01Q`\x04\x90\x91\x01U\x87\x15a%\x02Wa%\x02\x84\x8D\x89\x89\x89a3\x97V[\x8B\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x04Y\xABWU\x08\xB4\xA5\x89O{\x13\x87\xBF6-\x03!;;\xF81\xDAE&!\x8C3\xE4\xA9\x06\xD8\x8D`@Qa%>\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPPPPPPPPPV[a\x1A\xDB3\x82a7\xEAV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a%\x93WP\x80`\t\x01\x80Ta%\x8F\x90aFHV[\x15\x90P[\x80a%\x9CWP\x82\x15[\x15a%\xBAW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x14a%\xE6W`@Qc\x07\xECv9`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x82`\x01\x01Ta%\xF8\x91\x90aG\xFDV[\x90P`\0\x82`\x01\x01Tg\r\xE0\xB6\xB3\xA7d\0\0\x83a&\x15\x91\x90aG\xC4V[a&\x1F\x91\x90aG\xDBV[`\x07\x84\x01\x81\x90U\x90Pa&3`\x01CaH\x10V[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF6` R`@\x90\x81\x90 \x92\x90\x92U\x90Q\x7F\x13\x9A\xD7\xA0\xC3\xF6\xC0\xAD\x0F\x0F\xC5+vx`jq\xFF\x08\x1B\x99&\xA5do\xE5:\x8Eg\xC6\x8Ar\x90a\x1D{\x90\x84\x81R` \x01\x90V[`\0`\0\x80Q` aJ\xF8\x839\x81Q\x91Ra&\x9D\x81a/\x03V[`\0a&\xA9\x87\x87a\x154V[P\x90P`\0\x81`\x04\x81\x11\x15a&\xC0Wa&\xC0aC\xB8V[\x14\x80a&\xDDWP`\x01\x81`\x04\x81\x11\x15a&\xDBWa&\xDBaC\xB8V[\x14[\x15a&\xFAW`@Qb\xED=\xF3`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x87\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x8A\x85R\x90\x92R\x82 `\x04\x81\x01\x80T\x92\x93\x91\x92\x91a':\x83aH#V[\x91\x90PUP\x86\x82`\x01\x01`\0\x82\x82Ta'S\x91\x90aG\xFDV[\x92PP\x81\x90UP\x86\x82`\x04\x01`\0\x82\x82Ta'n\x91\x90aG\xFDV[\x90\x91UPP`\x01\x81\x01T`\x03\x83\x01\x80T\x82\x91\x90`\0\x90a'\x8F\x90\x84\x90aG\xFDV[\x90\x91UPP`@Q\x88\x81R`\x01`\x01`\xA0\x1B\x03\x8B\x16\x90\x7F\x83\xF5\xEA\x8B\xEAv'\xD9Rt\xE9M\xD7\xE9\xE3\xD7\xE8,\xB5_\xEA\xB5\x13\xEDI\xE3%#-\xCCa\xE0\x90` \x01`@Q\x80\x91\x03\x90\xA2\x89`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Bi \xA1i\xFB\x88\x9C\x15T\x91\x06\xAE\xE0p\xDA\x98\x18kz\xB4\x06\xDD\x93\x84\xA0\xD3\x18\x99\xFD\xF0\x8A\x82`@Qa(\r\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2a(I`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x88\x8Aa3fV[PP`\x01\x01T\x97\x96PPPPPPPV[a(ba,\xEBV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\t\x81\x01\x80Ta(\x81\x90aFHV[\x15\x90P\x80a(\x97WP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a(\xB5W`@QcdF\xF9\x17`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x07\x01T\x03a(\xE1W`@QcYF\x0E\x07`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\x01\x01T\x83`\x07\x01Ta)\0\x91\x90aG\xC4V[a)\n\x91\x90aG\xDBV[\x90P`\0\x81\x83`\x01\x01Ta)\x1E\x91\x90aG\xFDV[\x90P\x82`\x04\x01T\x82\x10\x15a)EW`@Qcp1\x8A1`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a)y`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x86\x83a3fV[`\x01\x83\x01\x82\x90Ug\r\xE0\xB6\xB3\xA7d\0\0`\x07\x84\x01U`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF6` R`@\x90 TC\x10\x80\x15\x90a)\xCFWP`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF6` R`@\x90 T\x15\x15[a)\xECW`@Qc8l\xF4\x07`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x81\x81Ra\x01\xF6` R`@\x80\x82 \x91\x90\x91UQ\x7F\xE5+=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra+\x05\x91\x90\x81\x01\x90aH\x98V[P\x94\x95PP`\x01`\x01`\xA0\x1B\x03\x85\x16\x93Pa+7\x92PPPW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x82\x90`\xFF\x16`\x04\x81\x11\x15a+}Wa+}aC\xB8V[`\x04\x81\x11\x15a+\x8EWa+\x8EaC\xB8V[\x81R`\x01\x82\x01T` \x82\x01R`\x02\x82\x01T`@\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x90\x91\x01T`\x80\x90\x91\x01R\x90P`\0\x81Q`\x04\x81\x11\x15a+\xD1Wa+\xD1aC\xB8V[\x03a+\xEFW`@Qc\x04\xC9\xDE\x83`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x81\x01Q\x15a,\x12W`@Qc\x02\xE0}\x87`\xE6\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF4`\0\x86`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 \x90P\x81` \x01Q\x81`\x02\x01`\0\x82\x82Ta,T\x91\x90aG\xFDV[\x92PP\x81\x90UP`\x01\x81`\x05\x01`\0\x82\x82Ta,p\x91\x90aG\xFDV[\x90\x91UPP`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x88\x84R\x90\x91R\x80\x82 \x80T`\xFF\x19\x16\x81U`\x01\x81\x01\x83\x90U`\x02\x81\x01\x83\x90U`\x03\x81\x01\x83\x90U`\x04\x01\x82\x90UQ\x86\x92\x91\x7F\x83\x1C\xD5\xB7S\x83\x80\xB0\xA2\xA3\x14\x14\xD64\xECBq\x16\x07V\x84\xA2v\x82\x8A\xB4\xD2ut\xA2\xDF\xDF\x91\xA3PPPPPV[`\0\x80Q` aKX\x839\x81Q\x91R\x80T`\x01\x19\x01a-\x1DW`@Qc>\xE5\xAE\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x90UV[`@Q`\x01`\x01`\xA0\x1B\x03\x84\x81\x16`$\x83\x01R\x83\x81\x16`D\x83\x01R`d\x82\x01\x83\x90Ra\x0B\xF1\x91\x86\x91\x82\x16\x90c#\xB8r\xDD\x90`\x84\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x91P`\xE0\x1B` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x83\x81\x83\x16\x17\x83RPPPPa9IV[`\0\x80`\0\x80\x84\x80` \x01\x90Q\x81\x01\x90a-\xA4\x91\x90aI#V[PPP\x94P\x94P\x94PPPa-\xBA\x83\x83\x83a9\xACV[\x95\x94PPPPPV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rbivs`\xE8\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\0\x84\x82`@Q` \x01a. \x92\x91\x90aJ\x11V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a.C\x82a9\xE5V[\x90P`\0a.\x87\x82\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa: \x92PPPV[\x90Pa.\x92\x87a.\xD3V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a\x13\xB8W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a.\xEA\x91\x90aI#V[PPPPPP\x91PPa.\xFC\x81a:JV[\x93\x92PPPV[a\x1A\xDB\x813a:zV[`\0`\0\x80Q` aK8\x839\x81Q\x91Ra/(\x84\x84a\x1B\xC6V[a/\xA8W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua/^3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x85\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4`\x01\x91PPa\x08qV[`\0\x91PPa\x08qV[`\0`\0\x80Q` aK8\x839\x81Q\x91Ra/\xCD\x84\x84a\x1B\xC6V[\x15a/\xA8W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x87\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4`\x01\x91PPa\x08qV[a06a:\xB3V[V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a0\xBFWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a0\xB3`\0\x80Q` aK\x18\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a06W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x14\x80\x81a/\x03V[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a1BWP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra1?\x91\x81\x01\x90aJ;V[`\x01[a1jW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a.\xCAV[`\0\x80Q` aK\x18\x839\x81Q\x91R\x81\x14a1\x9BW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a.\xCAV[a\x08\xAC\x83\x83a:\xFCV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a06W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x82\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x84\x93\x90\x92\x91a\x01 \x84\x01\x91a2\x89\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta2\xB5\x90aFHV[\x80\x15a3\x02W\x80`\x1F\x10a2\xD7Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a3\x02V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a2\xE5W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82a\x01\0\x01Q\x83`\xC0\x01Qa3-\x91\x90aG\xC4V[a37\x91\x90aG\xDBV[\x90P\x81``\x01Q\x81\x10\x15a3OWP`\0\x93\x92PPPV[``\x82\x01Qa3^\x90\x82aG\xFDV[\x94\x93PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`$\x83\x01R`D\x82\x01\x83\x90Ra\x08\xAC\x91\x85\x91\x82\x16\x90c\xA9\x05\x9C\xBB\x90`d\x01a-XV[`\x01`\x01`\xA0\x1B\x03\x80\x86\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x92a\x01 \x84\x01\x91\x90a4/\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta4[\x90aFHV[\x80\x15a4\xA8W\x80`\x1F\x10a4}Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a4\xA8V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a4\x8BW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP\x81Q\x91\x92PP`\x01`\x01`\xA0\x1B\x03\x16a4\xDDW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a4\xE8\x86a8\xBCV[\x91PPa4\xF4\x81a;RV[a5\x11W`@Qc!\xA4\x8B\x8B`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16ck[!\xA6a5I\x87a-\x8AV[a5R\x89a;\x87V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a5\x93W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a5\xB7\x91\x90aG\x91V[a5\xD4W`@Qc\xC4e\xE6\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a5\xDF\x86a;\xB6V[\x90Pa5\xED\x86\x86\x86\x8Ba.\x0BV[`@Qc4\xFE\xDEe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90ci\xFD\xBC\xCA\x90a6?\x90\x8B\x90\x8B\x90\x86\x90\x8C\x90`\x04\x01aJTV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a6YW`\0\x80\xFD[PZ\xF1\x15\x80\x15a6mW=`\0\x80>=`\0\xFD[PPPPPPPPPPPPV[`\x01`\x01`\xA0\x1B\x03\x80\x82\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x84\x93\x90\x92\x91a\x01 \x84\x01\x91a7\x16\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta7B\x90aFHV[\x80\x15a7\x8FW\x80`\x1F\x10a7dWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a7\x8FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a7rW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\xE0\x01Q\x83` \x01Qa7\xB9\x91\x90aG\xC4V[a7\xC3\x91\x90aG\xDBV[\x90P\x81`\x80\x01Q\x81\x10\x15a7\xDBWP`\0\x93\x92PPPV[`\x80\x82\x01Qa3^\x90\x82aG\xFDV[`\0a7\xF6\x83\x83a\x154V[P\x90P`\0\x81`\x04\x81\x11\x15a8\rWa8\raC\xB8V[\x14\x15\x80\x15a8-WP`\x04\x81`\x04\x81\x11\x15a8*Wa8*aC\xB8V[\x14\x15[a8JW`@Qc0\x04\x82\x87`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x81\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x86\x84R\x90\x91R\x80\x82 \x80T`\xFF\x19\x16`\x04\x17\x81U\x90Q\x90\x92\x85\x92\x90\x91\x7F\xF9\xE1yp\xDFW\xA6\xA8E}\xCB\xB5\xC2\x91gkF1\xD37\xCFv\xB0\xC8\x01\xF6\xB8\xADj|_\x92\x91\x90\xA3\x80`\x04\x01T`\0\x03a\x0B\xF1Wa\x0B\xF1\x84\x84a*\x92V[a\x01\xF8T`@Qc\xF8\xA9H/`\xE0\x1B\x81R`\x04\x81\x01\x83\x90R`\0\x91\x82\x91\x82\x91\x82\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\xF8\xA9H/\x90`$\x01`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a9\x0FW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra97\x91\x90\x81\x01\x90aH\x98V[P\x94\x9A\x93\x99P\x92\x97PPPPPPPPV[`\0a9^`\x01`\x01`\xA0\x1B\x03\x84\x16\x83a;\xDDV[\x90P\x80Q`\0\x14\x15\x80\x15a9\x83WP\x80\x80` \x01\x90Q\x81\x01\x90a9\x81\x91\x90aG\x91V[\x15[\x15a\x08\xACW`@QcRt\xAF\xE7`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x01a.\xCAV[`\0\x80\x84\x84\x84`@Q` \x01a9\xC4\x93\x92\x91\x90aJ\x98V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01a-\xEEV[`\0\x80`\0\x80a:0\x86\x86a;\xEBV[\x92P\x92P\x92Pa:@\x82\x82a<8V[P\x90\x94\x93PPPPV[`\0\x81Q`@\x14a:nW`@Qc\xD2\x833]`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[a:\x84\x82\x82a\x1B\xC6V[a\x14\x80W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a.\xCAV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a06W`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a;\x05\x82a<\xF1V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a;JWa\x08\xAC\x82\x82a=VV[a\x14\x80a=\xC3V[`\0\x81\x15\x80a;\x80WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rb3\xB2\xB7`\xE9\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01a-\xEEV[```\0\x82\x80` \x01\x90Q\x81\x01\x90a;\xCE\x91\x90aI#V[P\x94\x99\x98PPPPPPPPPV[``a.\xFC\x83\x83`\0a=\xE2V[`\0\x80`\0\x83Q`A\x03a<%W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa<\x17\x88\x82\x85\x85a>\x7FV[\x95P\x95P\x95PPPPa<1V[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15aa=\xB3V[``\x91P[P\x91P\x91Pa-\xBA\x85\x83\x83a?NV[4\x15a06W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81G\x10\x15a>\x07W`@Qc\xCDx`Y`\xE0\x1B\x81R0`\x04\x82\x01R`$\x01a.\xCAV[`\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x84\x86`@Qa>#\x91\x90aJ\xDBV[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a>`W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a>eV[``\x91P[P\x91P\x91Pa>u\x86\x83\x83a?NV[\x96\x95PPPPPPV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a>\xBAWP`\0\x91P`\x03\x90P\x82a?DV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a?\x0EW=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a?:WP`\0\x92P`\x01\x91P\x82\x90Pa?DV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[``\x82a?cWa?^\x82a?\xAAV[a.\xFCV[\x81Q\x15\x80\x15a?zWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a?\xA3W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a.\xCAV[P\x80a.\xFCV[\x80Q\x15a?\xBAW\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Ta?\xDF\x90aFHV[`\0\x82U\x80`\x1F\x10a?\xEFWPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x1A\xDB\x91\x90[\x80\x82\x11\x15a@\x1DW`\0\x81U`\x01\x01a@\tV[P\x90V[`\0` \x82\x84\x03\x12\x15a@3W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a.\xFCW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a@^W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a@uW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a@\x89W`\0\x80\xFD[\x815\x81\x81\x11\x15a@\x98W`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a@\xADW`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x1A\xDBW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aA\x12WaA\x12a@\xD4V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aA3WaA3a@\xD4V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aARW`\0\x80\xFD[\x815aAeaA`\x82aA\x1AV[a@\xEAV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aAzW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15aA\xADW`\0\x80\xFD[\x845aA\xB8\x81a@\xBFV[\x93P` \x85\x015\x92P`@\x85\x015\x91P``\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aA\xE1W`\0\x80\xFD[aA\xED\x87\x82\x88\x01aAAV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15aB\x0CW`\0\x80\xFD[\x825aB\x17\x81a@\xBFV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80\x83`\x1F\x84\x01\x12aB7W`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aBNW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x0C\x92W`\0\x80\xFD[`\0\x80`\0\x80``\x85\x87\x03\x12\x15aB|W`\0\x80\xFD[\x845\x93P` \x85\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aB\x9AW`\0\x80\xFD[aB\xA6\x88\x83\x89\x01aAAV[\x94P`@\x87\x015\x91P\x80\x82\x11\x15aB\xBCW`\0\x80\xFD[PaB\xC9\x87\x82\x88\x01aB%V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15aB\xE7W`\0\x80\xFD[P5\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15aC\x01W`\0\x80\xFD[\x825\x91P` \x83\x015aC\x13\x81a@\xBFV[\x80\x91PP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15aC1W`\0\x80\xFD[\x825aC<\x81a@\xBFV[\x91P` \x83\x015aC\x13\x81a@\xBFV[`\0` \x82\x84\x03\x12\x15aC^W`\0\x80\xFD[\x815a.\xFC\x81a@\xBFV[`\0\x80`@\x83\x85\x03\x12\x15aC|W`\0\x80\xFD[\x825aC\x87\x81a@\xBFV[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aC\xA2W`\0\x80\xFD[aC\xAE\x85\x82\x86\x01aAAV[\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x05\x81\x10aC\xECWcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[`@\x81\x01aC\xFE\x82\x85aC\xCEV[\x82` \x83\x01R\x93\x92PPPV[`\0[\x83\x81\x10\x15aD&W\x81\x81\x01Q\x83\x82\x01R` \x01aD\x0EV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84RaDG\x81` \x86\x01` \x86\x01aD\x0BV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0a\x01@`\x01\x80`\xA0\x1B\x03\x8D\x16\x83R\x8B` \x84\x01R\x8A`@\x84\x01R\x89``\x84\x01R\x88`\x80\x84\x01R\x87`\xA0\x84\x01R\x86`\xC0\x84\x01R\x85`\xE0\x84\x01R\x84a\x01\0\x84\x01R\x80a\x01 \x84\x01RaD\xAF\x81\x84\x01\x85aD/V[\x9D\x9CPPPPPPPPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15aD\xD5W`\0\x80\xFD[\x835aD\xE0\x81a@\xBFV[\x95` \x85\x015\x95P`@\x90\x94\x015\x93\x92PPPV[`\xA0\x81\x01aE\x03\x82\x88aC\xCEV[\x85` \x83\x01R\x84`@\x83\x01R\x83``\x83\x01R\x82`\x80\x83\x01R\x96\x95PPPPPPV[` \x81R`\0a.\xFC` \x83\x01\x84aD/V[\x80\x15\x15\x81\x14a\x1A\xDBW`\0\x80\xFD[`\0\x80`\0\x80`\0\x80`\0\x80`\xE0\x89\x8B\x03\x12\x15aEbW`\0\x80\xFD[\x885\x97P` \x89\x015\x96P`@\x89\x015\x95P``\x89\x015\x94P`\x80\x89\x015aE\x89\x81aE8V[\x93P`\xA0\x89\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aE\xA5W`\0\x80\xFD[aE\xB1\x8C\x83\x8D\x01aAAV[\x94P`\xC0\x8B\x015\x91P\x80\x82\x11\x15aE\xC7W`\0\x80\xFD[PaE\xD4\x8B\x82\x8C\x01aB%V[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15aE\xFEW`\0\x80\xFD[\x845aF\t\x81a@\xBFV[\x93P` \x85\x015\x92P`@\x85\x015\x91P``\x85\x015aF'\x81a@\xBFV[\x93\x96\x92\x95P\x90\x93PPV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80aF\\W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03aF|WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x08\xACW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15aF\xABWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15aF\xCAW\x82\x81U`\x01\x01aF\xB7V[PPPPPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15aF\xEBWaF\xEBa@\xD4V[aF\xFF\x81aF\xF9\x84TaFHV[\x84aF\x82V[` \x80`\x1F\x83\x11`\x01\x81\x14aG4W`\0\x84\x15aG\x1CWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85UaF\xCAV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15aGcW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01aGDV[P\x85\x82\x10\x15aG\x81W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0` \x82\x84\x03\x12\x15aG\xA3W`\0\x80\xFD[\x81Qa.\xFC\x81aE8V[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x08qWa\x08qaG\xAEV[`\0\x82aG\xF8WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x81\x81\x03\x81\x81\x11\x15a\x08qWa\x08qaG\xAEV[\x80\x82\x01\x80\x82\x11\x15a\x08qWa\x08qaG\xAEV[`\0\x81aH2WaH2aG\xAEV[P`\0\x19\x01\x90V[`\0`\x01\x82\x01aHLWaHLaG\xAEV[P`\x01\x01\x90V[`\0\x82`\x1F\x83\x01\x12aHdW`\0\x80\xFD[\x81QaHraA`\x82aA\x1AV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aH\x87W`\0\x80\xFD[a3^\x82` \x83\x01` \x87\x01aD\x0BV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15aH\xB3W`\0\x80\xFD[\x87QaH\xBE\x81a@\xBFV[\x80\x97PP` \x88\x01Q\x95P`@\x88\x01Q\x94P``\x88\x01Q\x93P`\x80\x88\x01Q\x92P`\xA0\x88\x01QaH\xEC\x81a@\xBFV[`\xC0\x89\x01Q\x90\x92P`\x01`\x01`@\x1B\x03\x81\x11\x15aI\x08W`\0\x80\xFD[aI\x14\x8A\x82\x8B\x01aHSV[\x91PP\x92\x95\x98\x91\x94\x97P\x92\x95PV[`\0\x80`\0\x80`\0\x80`\0\x80a\x01\0\x89\x8B\x03\x12\x15aI@W`\0\x80\xFD[\x88Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aIWW`\0\x80\xFD[aIc\x8C\x83\x8D\x01aHSV[\x99P` \x8B\x01Q\x91P\x80\x82\x11\x15aIyW`\0\x80\xFD[aI\x85\x8C\x83\x8D\x01aHSV[\x98P`@\x8B\x01Q\x91P\x80\x82\x11\x15aI\x9BW`\0\x80\xFD[aI\xA7\x8C\x83\x8D\x01aHSV[\x97P``\x8B\x01Q\x91P\x80\x82\x11\x15aI\xBDW`\0\x80\xFD[aI\xC9\x8C\x83\x8D\x01aHSV[\x96P`\x80\x8B\x01Q\x91P\x80\x82\x11\x15aI\xDFW`\0\x80\xFD[PaI\xEC\x8B\x82\x8C\x01aHSV[\x94PP`\xA0\x89\x01Q\x92P`\xC0\x89\x01Q\x91P`\xE0\x89\x01Q\x90P\x92\x95\x98P\x92\x95\x98\x90\x93\x96PV[`@\x81R`\0aJ$`@\x83\x01\x85aD/V[\x90P`\x01\x80`\xA0\x1B\x03\x83\x16` \x83\x01R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15aJMW`\0\x80\xFD[PQ\x91\x90PV[`\x01\x80`\xA0\x1B\x03\x85\x16\x81R\x83` \x82\x01R`\x80`@\x82\x01R`\0aJ{`\x80\x83\x01\x85aD/V[\x82\x81\x03``\x84\x01RaJ\x8D\x81\x85aD/V[\x97\x96PPPPPPPV[`\0\x84QaJ\xAA\x81\x84` \x89\x01aD\x0BV[\x84Q\x90\x83\x01\x90aJ\xBE\x81\x83` \x89\x01aD\x0BV[\x84Q\x91\x01\x90aJ\xD1\x81\x83` \x88\x01aD\x0BV[\x01\x95\x94PPPPPV[`\0\x82QaJ\xED\x81\x84` \x87\x01aD\x0BV[\x91\x90\x91\x01\x92\x91PPV\xFE\xC7\x9BP*\x85%\xF5\x83\xD1)\xC1Ep\xE1|\xE9\xBC\xA2a\x10\xA5\xC4\x1A\xB7\xE2Uo\x95\xE0\x81\xFE\xC56\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\xA2dipfsX\"\x12 \xA9\xA6\xE1\xC0\xD0\x1B\xD4\xC1\x18\xC1\xCD&\"Z\xC5\xCD\x1C!\xDB}j$\x93\x984L-wG\x80Z\xF6dsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`\xE0`@R0`\x80R4\x80\x15b\0\0\x15W`\0\x80\xFD[P`@Qb\0M\xFF8\x03\x80b\0M\xFF\x839\x81\x01`@\x81\x90Rb\0\08\x91b\0\x01}V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15b\0\0\x83WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15b\0\0\xA0WP0;\x15[\x90P\x81\x15\x80\x15b\0\0\xAFWP\x80\x15[\x15b\0\0\xCEW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T`\x01`\x01`@\x1B\x03\x19\x16`\x01\x17\x85U\x83\x15b\0\0\xFDW\x84T`\xFF`@\x1B\x19\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[`\x01`\x01`\xA0\x1B\x03\x80\x88\x16`\xA0R\x86\x16`\xC0R\x83\x15b\0\x01WW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPb\0\x01\xBCV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01zW`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\x01\x91W`\0\x80\xFD[\x82Qb\0\x01\x9E\x81b\0\x01dV[` \x84\x01Q\x90\x92Pb\0\x01\xB1\x81b\0\x01dV[\x80\x91PP\x92P\x92\x90PV[`\x80Q`\xA0Q`\xC0QaK\xBFb\0\x02@`\09`\0\x81\x81a\x05/\x01R\x81\x81a\x0C\xA5\x01R\x81\x81a\r\x89\x01R\x81\x81a\x14\xB5\x01R\x81\x81a5'\x01Ra6\x18\x01R`\0\x81\x81a\x02\x9D\x01R\x81\x81a\x0Bv\x01R\x81\x81a\x1A\x01\x01R\x81\x81a\x1F\xAC\x01R\x81\x81a(6\x01Ra)f\x01R`\0\x81\x81a0W\x01R\x81\x81a0\x80\x01Ra1\xC4\x01RaK\xBF`\0\xF3\xFE`\x80`@R`\x046\x10a\x02QW`\x005`\xE0\x1C\x80cz\x14\xC4c\x11a\x019W\x80c\xA2\x17\xFD\xDF\x11a\0\xB6W\x80c\xD5Gt\x1F\x11a\0zW\x80c\xD5Gt\x1F\x14a\x07\xA6W\x80c\xE2\xFA3\xCE\x14a\x07\xC6W\x80c\xE7\xBC\x96\0\x14a\x07\xE6W\x80c\xE9\xE94\xA0\x14a\x08\x06W\x80c\xEA\xAC\xAE\x94\x14a\x08&W\x80c\xF2\x88\x8D\xBB\x14a\x08FW`\0\x80\xFD[\x80c\xA2\x17\xFD\xDF\x14a\x06\xF3W\x80c\xAD<\xB1\xCC\x14a\x07\x08W\x80c\xAD\xC9w.\x14a\x07FW\x80c\xC4\x92\xEE9\x14a\x07fW\x80c\xD0n\x1F{\x14a\x07\x86W`\0\x80\xFD[\x80c\x92\xEB\x91\xE2\x11a\0\xFDW\x80c\x92\xEB\x91\xE2\x14a\x06\x08W\x80c\x96\xDE\x0E\xEF\x14a\x06(W\x80c\x98*A]\x14a\x06HW\x80c\x9A\x7F\xCA\x8E\x14a\x06hW\x80c\x9F]\xB9\x86\x14a\x06\xD3W`\0\x80\xFD[\x80cz\x14\xC4c\x14a\x04RW\x80c\x81\xC4\\p\x14a\x05qW\x80c\x84\xAC3\xEC\x14a\x05\x92W\x80c\x8C\xFCV\xD8\x14a\x05\xB2W\x80c\x91\xD1HT\x14a\x05\xE8W`\0\x80\xFD[\x80c/\x8FJ;\x11a\x01\xD2W\x80cO\x1E\xF2\x86\x11a\x01\x96W\x80cO\x1E\xF2\x86\x14a\x04\xA7W\x80cR\xD1\x90-\x14a\x04\xBAW\x80cT\x1A\x8C\x18\x14a\x04\xCFW\x80cdmQ\xB4\x14a\x04\xEFW\x80cf\x1D\xE5\xAC\x14a\x05\x1DW\x80cm@Xw\x14a\x05QW`\0\x80\xFD[\x80c/\x8FJ;\x14a\x04\x1DW\x80c6V\x8A\xBE\x14a\x042W\x80c<^\xB5|\x14a\x04RW\x80cH\\\xC9U\x14a\x04gW\x80cM*\xAB\x9A\x14a\x04\x87W`\0\x80\xFD[\x80c!\x80\xDE]\x11a\x02\x19W\x80c!\x80\xDE]\x14a\x03NW\x80c$\x8A\x9C\xA3\x14a\x03nW\x80c+a\x0C-\x14a\x03\x9CW\x80c,\x1F\xBD\x03\x14a\x03\xDBW\x80c//\xF1]\x14a\x03\xFDW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02VW\x80c\x04y\xD6D\x14a\x02\x8BW\x80c\x08\xBEk\xAD\x14a\x02\xD7W\x80c\x13m\xFB\xF5\x14a\x02\xF9W\x80c\x1C~\xAEe\x14a\x03\x19W[`\0\x80\xFD[4\x80\x15a\x02bW`\0\x80\xFD[Pa\x02va\x02q6`\x04a@5V[a\x08fV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02\x97W`\0\x80\xFD[Pa\x02\xBF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x82V[4\x80\x15a\x02\xE3W`\0\x80\xFD[Pa\x02\xF7a\x02\xF26`\x04a@_V[a\x08wV[\0[4\x80\x15a\x03\x05W`\0\x80\xFD[Pa\x02\xF7a\x03\x146`\x04aA\xABV[a\x08\xBBV[4\x80\x15a\x03%W`\0\x80\xFD[Pa\x039a\x0346`\x04aB\rV[a\x0C\x01V[`@\x80Q\x92\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x82V[4\x80\x15a\x03ZW`\0\x80\xFD[Pa\x02\xF7a\x03i6`\x04aBzV[a\x0C\xA3V[4\x80\x15a\x03zW`\0\x80\xFD[Pa\x03\x8Ea\x03\x896`\x04aB\xE9V[a\x0E5V[`@Q\x90\x81R` \x01a\x02\x82V[4\x80\x15a\x03\xA8W`\0\x80\xFD[Pa\x03\xBCa\x03\xB76`\x04aB\rV[a\x0EWV[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x90\x93\x16\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x82V[4\x80\x15a\x03\xE7W`\0\x80\xFD[Pa\x03\x8E`\0\x80Q` aK\n\x839\x81Q\x91R\x81V[4\x80\x15a\x04\tW`\0\x80\xFD[Pa\x02\xF7a\x04\x186`\x04aC\x02V[a\x10>V[4\x80\x15a\x04)W`\0\x80\xFD[Pa\x02\xF7a\x10ZV[4\x80\x15a\x04>W`\0\x80\xFD[Pa\x02\xF7a\x04M6`\x04aC\x02V[a\x121V[4\x80\x15a\x04^W`\0\x80\xFD[Pa\x03\x8E`d\x81V[4\x80\x15a\x04sW`\0\x80\xFD[Pa\x02\xF7a\x04\x826`\x04aC2V[a\x12dV[4\x80\x15a\x04\x93W`\0\x80\xFD[Pa\x02\xF7a\x04\xA26`\x04aC`V[a\x13\xCBV[a\x02\xF7a\x04\xB56`\x04aC}V[a\x14oV[4\x80\x15a\x04\xC6W`\0\x80\xFD[Pa\x03\x8Ea\x14\x8EV[4\x80\x15a\x04\xDBW`\0\x80\xFD[Pa\x02\xF7a\x04\xEA6`\x04aB\xE9V[a\x14\xABV[4\x80\x15a\x04\xFBW`\0\x80\xFD[Pa\x05\x0Fa\x05\n6`\x04aB\rV[a\x15>V[`@Qa\x02\x82\x92\x91\x90aD\x04V[4\x80\x15a\x05)W`\0\x80\xFD[Pa\x02\xBF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05]W`\0\x80\xFD[Pa\x02\xF7a\x05l6`\x04aB\xE9V[a\x18\x02V[4\x80\x15a\x05}W`\0\x80\xFD[Pa\x01\xF8Ta\x02\xBF\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x05\x9EW`\0\x80\xFD[Pa\x02\xF7a\x05\xAD6`\x04aC`V[a\x18\xA9V[4\x80\x15a\x05\xBEW`\0\x80\xFD[Pa\x05\xD2a\x05\xCD6`\x04aC`V[a\x1A\xE8V[`@Qa\x02\x82\x9A\x99\x98\x97\x96\x95\x94\x93\x92\x91\x90aDoV[4\x80\x15a\x05\xF4W`\0\x80\xFD[Pa\x02va\x06\x036`\x04aC\x02V[a\x1B\xD0V[4\x80\x15a\x06\x14W`\0\x80\xFD[Pa\x02\xF7a\x06#6`\x04aBzV[a\x1C\x08V[4\x80\x15a\x064W`\0\x80\xFD[Pa\x02\xF7a\x06C6`\x04aB\xE9V[a\x1C\x15V[4\x80\x15a\x06TW`\0\x80\xFD[Pa\x02\xF7a\x06c6`\x04aD\xD4V[a\x1D\x94V[4\x80\x15a\x06tW`\0\x80\xFD[Pa\x06\xC2a\x06\x836`\x04aB\rV[a\x01\xF5` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 \x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x90\x94\x01T`\xFF\x90\x93\x16\x93\x91\x92\x90\x91\x90\x85V[`@Qa\x02\x82\x95\x94\x93\x92\x91\x90aE\tV[4\x80\x15a\x06\xDFW`\0\x80\xFD[Pa\x02\xF7a\x06\xEE6`\x04aB\xE9V[a\x1F\x16V[4\x80\x15a\x06\xFFW`\0\x80\xFD[Pa\x03\x8E`\0\x81V[4\x80\x15a\x07\x14W`\0\x80\xFD[Pa\x079`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02\x82\x91\x90aE9V[4\x80\x15a\x07RW`\0\x80\xFD[Pa\x03\x8Ea\x07a6`\x04aB\rV[a\x1F V[4\x80\x15a\x07rW`\0\x80\xFD[Pa\x02\xF7a\x07\x816`\x04aD\xD4V[a PV[4\x80\x15a\x07\x92W`\0\x80\xFD[Pa\x02\xF7a\x07\xA16`\x04a@_V[a\"iV[4\x80\x15a\x07\xB2W`\0\x80\xFD[Pa\x02\xF7a\x07\xC16`\x04aC\x02V[a\"\xA8V[4\x80\x15a\x07\xD2W`\0\x80\xFD[Pa\x02\xF7a\x07\xE16`\x04aEZV[a\"\xC4V[4\x80\x15a\x07\xF2W`\0\x80\xFD[Pa\x02\xF7a\x08\x016`\x04aB\xE9V[a%hV[4\x80\x15a\x08\x12W`\0\x80\xFD[Pa\x02\xF7a\x08!6`\x04aB\xE9V[a%rV[4\x80\x15a\x082W`\0\x80\xFD[Pa\x03\x8Ea\x08A6`\x04aE\xFCV[a&\x97V[4\x80\x15a\x08RW`\0\x80\xFD[Pa\x02\xF7a\x08a6`\x04aC`V[a(nV[`\0a\x08q\x82a*qV[\x92\x91PPV[`\0[\x81\x81\x10\x15a\x08\xB6Wa\x08\xA43\x84\x84\x84\x81\x81\x10a\x08\x98Wa\x08\x98aFFV[\x90P` \x02\x015a*\xA6V[\x80a\x08\xAE\x81aFrV[\x91PPa\x08zV[PPPV[a\x08\xC3a,\xFFV[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T`\xA0\x83\x01R`\x06\x81\x01T`\xC0\x83\x01R`\x07\x81\x01T`\xE0\x83\x01R`\x08\x81\x01Ta\x01\0\x83\x01R`\t\x81\x01\x80Ta\x01 \x84\x01\x91\x90a\tW\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\t\x83\x90aF\x8BV[\x80\x15a\t\xD0W\x80`\x1F\x10a\t\xA5Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t\xD0V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\xB3W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x82Q`\0\x14\x80a\t\xF2WP`\x01`\x01`\xA0\x1B\x03\x86\x16\x15[\x80a\t\xFBWP\x84\x15[\x15a\n\x19W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80Q`\x01`\x01`\xA0\x1B\x03\x16\x15a\nBW`@QcXt\xF9{`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x80a\x01@\x01`@R\x80\x87`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x85\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01\x86\x81R` \x01g\r\xE0\xB6\xB3\xA7d\0\0\x81R` \x01g\r\xE0\xB6\xB3\xA7d\0\0\x81R` \x01\x84\x81RPa\x01\xF4`\0\x84`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0\x82\x01Q\x81`\0\x01`\0a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP` \x82\x01Q\x81`\x01\x01U`@\x82\x01Q\x81`\x02\x01U``\x82\x01Q\x81`\x03\x01U`\x80\x82\x01Q\x81`\x04\x01U`\xA0\x82\x01Q\x81`\x05\x01U`\xC0\x82\x01Q\x81`\x06\x01U`\xE0\x82\x01Q\x81`\x07\x01Ua\x01\0\x82\x01Q\x81`\x08\x01Ua\x01 \x82\x01Q\x81`\t\x01\x90\x81a\x0B_\x91\x90aG\x13V[PP\x84\x15\x90Pa\x0B\x9EWa\x0B\x9E`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x830\x87a-7V[`@\x80Q\x86\x81R` \x81\x01\x86\x90R`\x01`\x01`\xA0\x1B\x03\x84\x16\x91\x7FI\x1B\x0FF\x1D\x05\xB7\x9B\xFCi\x04\xA9\xBA\x9D\xF5#\xD7fP?\x11\x04k+^n\xDD\xAA\xE3\xA7#\x1C\x91\x01`@Q\x80\x91\x03\x90\xA2PPa\x0B\xFB`\x01`\0\x80Q` aKj\x839\x81Q\x91RUV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x0CMWa\x0CMaC\xCCV[`\x04\x81\x11\x15a\x0C^Wa\x0C^aC\xCCV[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P\x80`@\x01Q\x81``\x01Q\x92P\x92PP[\x92P\x92\x90PV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16ck[!\xA6a\x0C\xDB\x85a-\x9EV[a\x0C\xE4\x87a-\xD7V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r%W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\rI\x91\x90aG\xD2V[a\rfW`@Qc\xC4e\xE6\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\rr\x83\x83\x833a.\x1FV[`@Qc\x07\x07Y\x1F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x07\x07Y\x1F\x90a\r\xBE\x90\x86\x90`\x04\x01aE9V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\r\xD8W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\r\xECW=`\0\x80>=`\0\xFD[PPPPa\r\xF9\x83a.\xE7V[`\x01`\x01`\xA0\x1B\x03\x16\x84\x7F\xC3\xFB\xBD\xB6\xAA\x8D\x99\xF6\xEF\xE2J:\"\xE9\xA9\x9F\xFE\xF2J/9\x9C\x0B\x1ET\x99F\xF9\x1B\xF06\xE4`@Q`@Q\x80\x91\x03\x90\xA3PPPPV[`\0\x90\x81R`\0\x80Q` aKJ\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x0E\xA3Wa\x0E\xA3aC\xCCV[`\x04\x81\x11\x15a\x0E\xB4Wa\x0E\xB4aC\xCCV[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P`\0a\x01\xF4`\0\x87`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `@Q\x80a\x01@\x01`@R\x90\x81`\0\x82\x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81R` \x01`\x05\x82\x01T\x81R` \x01`\x06\x82\x01T\x81R` \x01`\x07\x82\x01T\x81R` \x01`\x08\x82\x01T\x81R` \x01`\t\x82\x01\x80Ta\x0F\xA5\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x0F\xD1\x90aF\x8BV[\x80\x15a\x10\x1EW\x80`\x1F\x10a\x0F\xF3Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x10\x1EV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x10\x01W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP\x90Q`@\x90\x93\x01Q\x92\x94P\x91\x92PPP\x92P\x92\x90PV[a\x10G\x82a\x0E5V[a\x10P\x81a/\x17V[a\x0B\xFB\x83\x83a/!V[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\t\x81\x01\x80Ta\x10y\x90aF\x8BV[\x15\x90P\x80a\x10\x8FWP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a\x10\xADW`@QcdF\xF9\x17`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x03a\x10\xD9W`@Qc\x89\x83`\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\x06\x01T\x83`\x08\x01Ta\x10\xF8\x91\x90aG\xEFV[a\x11\x02\x91\x90aH\x06V[\x90P`\0\x81\x83`\x06\x01Ta\x11\x16\x91\x90aH(V[\x90P\x82`\x03\x01T\x82\x10\x15a\x11=W`@Qc\x01\x19\"\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82`\x02\x01T\x82\x10\x15a\x11bW`@Qc\x01\x19\"\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x06\x83\x01\x82\x90Ug\r\xE0\xB6\xB3\xA7d\0\0`\x08\x84\x01U`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF7` R`@\x90 TC\x10\x80\x15\x90a\x11\xB8WP`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF7` R`@\x90 T\x15\x15[a\x11\xD5W`@Qc8l\xF4\x07`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x81\x81Ra\x01\xF7` R`@\x80\x82 \x91\x90\x91UQ\x7F\x11\xDE\xAE(\x9Epx\xFC\xE2\x88\xF4\xE9sN\x9C=\xF6{U\xEA\xC4\xFFA\xB8\x90\xB6\xD68\x1A\xCE\xE7b\x90a\x12#\x90\x84\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x12ZW`@Qc3K\xD9\x19`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08\xB6\x82\x82a/\xC6V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\x12\xA9WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a\x12\xC5WP0;\x15[\x90P\x81\x15\x80\x15a\x12\xD3WP\x80\x15[\x15a\x12\xF1W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x13\x1BW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a\x13#a0BV[a\x13+a0BV[a\x133a0BV[a\x13;a0BV[a\x13F`\0\x88a/!V[Pa\x13_`\0\x80Q` aK\n\x839\x81Q\x91R\x87a/!V[Pa\x01\xF8\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x88\x16\x17\x90U\x83\x15a\x13\xC2W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\x01`\x01`\xA0\x1B\x03\x83\x16\x15\x80a\x13\xF9WP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a\x14\x17W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x91\x82\x17\x83U`@Q\x91\x82R\x83\x16\x90\x7F\xB1\x95\xA9K\xEC\xD3\x88\xC9\xA0\x7F\xE8\x18qh3\xBD\xF9\x8Bu\\x\xC9\xB48\xF4\xC8\xF0o5O\xA3h\x90` \x01[`@Q\x80\x91\x03\x90\xA2PPPV[a\x14wa0LV[a\x14\x80\x82a0\xF1V[a\x14\x8A\x82\x82a0\xFCV[PPV[`\0a\x14\x98a1\xB9V[P`\0\x80Q` aK*\x839\x81Q\x91R\x90V[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16c\xED8\r\x033`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x84\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16`\x04\x82\x01R`$\x81\x01\x84\x90R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x15#W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x157W=`\0\x80>=`\0\xFD[PPPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x15\x8AWa\x15\x8AaC\xCCV[`\x04\x81\x11\x15a\x15\x9BWa\x15\x9BaC\xCCV[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P`\0a\x01\xF4`\0\x87`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `@Q\x80a\x01@\x01`@R\x90\x81`\0\x82\x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81R` \x01`\x05\x82\x01T\x81R` \x01`\x06\x82\x01T\x81R` \x01`\x07\x82\x01T\x81R` \x01`\x08\x82\x01T\x81R` \x01`\t\x82\x01\x80Ta\x16\x8C\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x16\xB8\x90aF\x8BV[\x80\x15a\x17\x05W\x80`\x1F\x10a\x16\xDAWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x17\x05V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x16\xE8W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0`\x04\x81\x11\x15a\x17#Wa\x17#aC\xCCV[\x82Q`\x04\x81\x11\x15a\x176Wa\x176aC\xCCV[\x03a\x17IW`\0\x80\x93P\x93PPPa\x0C\x9CV[`\x04\x82Q`\x04\x81\x11\x15a\x17^Wa\x17^aC\xCCV[\x03a\x17rW`\x04`\0\x93P\x93PPPa\x0C\x9CV[`\0a\x17}\x87a2\x02V[\x90P`\0\x83Q`\x04\x81\x11\x15a\x17\x94Wa\x17\x94aC\xCCV[\x14\x15\x80\x15a\x17\xA0WP\x80\x15[\x15a\x17\xB5W`\x02`\0\x94P\x94PPPPa\x0C\x9CV[\x81`\xC0\x01Q\x81\x03a\x17\xCEW`\x01\x94P\x92Pa\x0C\x9C\x91PPV[\x80\x15\x80\x15\x90a\x17\xE0WP\x81`\xC0\x01Q\x81\x10[\x15a\x17\xF3W`\x03\x94P\x92Pa\x0C\x9C\x91PPV[P`\0\x96\x87\x96P\x94PPPPPV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a\x187WP\x80`\t\x01\x80Ta\x183\x90aF\x8BV[\x15\x90P[\x15a\x18UW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82\x81`\x06\x01`\0\x82\x82Ta\x18i\x91\x90aH;V[\x90\x91UPP`@Q\x83\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F \x98X\xCE\xC2\x8CQ\x8A\xEAD\xAA?\xA7\n\x93\"S\xF8\xBD\xF7j\x1C\x9A\x0B\x08\"j\x13\xE6\x975\xA3\x90` \x01a\x14bV[a\x18\xB1a,\xFFV[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T`\xA0\x83\x01R`\x06\x81\x01T`\xC0\x83\x01R`\x07\x81\x01T`\xE0\x83\x01R`\x08\x81\x01Ta\x01\0\x83\x01R`\t\x81\x01\x80Ta\x01 \x84\x01\x91\x90a\x19E\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x19q\x90aF\x8BV[\x80\x15a\x19\xBEW\x80`\x1F\x10a\x19\x93Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x19\xBEV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x19\xA1W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`@\x01Q`\0\x14a\x19\xEEW`@Qc\xF8\xC20S`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x1A)\x90`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90\x85\x90a3zV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF4` R`@\x81 \x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x81U`\x01\x81\x01\x82\x90U`\x02\x81\x01\x82\x90U`\x03\x81\x01\x82\x90U`\x04\x81\x01\x82\x90U`\x05\x81\x01\x82\x90U`\x06\x81\x01\x82\x90U`\x07\x81\x01\x82\x90U`\x08\x81\x01\x82\x90U\x90a\x1A\x96`\t\x83\x01\x82a?\xE7V[PP`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\x9F70\xAD\xE9K\xE5\xCE?\xAD\x97;\x88\x8At\x86j:\x91]\0\x8E\x8C\xBD\xE2\x13\x82\xB91\xB6|c\x90`\0\x90\xA2PPa\x1A\xE5`\x01`\0\x80Q` aKj\x839\x81Q\x91RUV[PV[a\x01\xF4` R`\0\x90\x81R`@\x90 \x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x85\x01T`\x05\x86\x01T`\x06\x87\x01T`\x07\x88\x01T`\x08\x89\x01T`\t\x8A\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x9A\x16\x9A\x98\x99\x97\x98\x96\x97\x95\x96\x94\x95\x93\x94\x92\x93\x91\x92\x91a\x1BM\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1By\x90aF\x8BV[\x80\x15a\x1B\xC6W\x80`\x1F\x10a\x1B\x9BWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x1B\xC6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1B\xA9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x8AV[`\0\x91\x82R`\0\x80Q` aKJ\x839\x81Q\x91R` \x90\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[a\x0B\xFB3\x85\x85\x85\x85a3\xABV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a\x1CJWP\x80`\t\x01\x80Ta\x1CF\x90aF\x8BV[\x15\x90P[\x80a\x1CSWP\x82\x15[\x15a\x1CqW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x14a\x1C\x9DW`@Qc\x07\xECv9`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x82`\x06\x01Ta\x1C\xAF\x91\x90aH(V[\x90P\x81`\x02\x01T\x81\x11a\x1C\xD5W`@Qc\xCA^b/`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x06\x82\x01T`\0\x90a\x1C\xEFg\r\xE0\xB6\xB3\xA7d\0\0\x84aG\xEFV[a\x1C\xF9\x91\x90aH\x06V[\x90Pg\r\xE0\xB6\xB3\xA7d\0\0\x81\x10a\x1D#W`@Qc\xCA^b/`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x08\x83\x01\x81\x90Ua\x1D5`\x01CaH;V[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF7` R`@\x90\x81\x90 \x92\x90\x92U\x90Q\x7Fv\x12,\xFD_V[P\x90P`\0\x81`\x04\x81\x11\x15a\x1D\xCFWa\x1D\xCFaC\xCCV[\x14\x80a\x1D\xECWP`\x01\x81`\x04\x81\x11\x15a\x1D\xEAWa\x1D\xEAaC\xCCV[\x14[\x15a\x1E\nW`@Qc\x1C\x0E\xC29`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x88\x85R\x90\x92R\x82 `\x01\x81\x01T`\x04\x83\x01\x80T\x93\x94\x92\x93\x91\x92\x88\x92a\x1ET\x90\x84\x90aH(V[\x92PP\x81\x90UP\x80\x83`\x03\x01`\0\x82\x82Ta\x1Eo\x91\x90aH(V[\x90\x91UPP`@Q\x86\x81R`\x01`\x01`\xA0\x1B\x03\x89\x16\x90\x7F8_\xDC$)T\x16\xE3W\x12\x7F\xE2qs\x80XA\x1F`\xF8\x84|\x15\xC5X\xAC\xBC\x067&\xA6i\x90` \x01`@Q\x80\x91\x03\x90\xA2\x87`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Bi \xA1i\xFB\x88\x9C\x15T\x91\x06\xAE\xE0p\xDA\x98\x18kz\xB4\x06\xDD\x93\x84\xA0\xD3\x18\x99\xFD\xF0\x8A\x82`@Qa\x1E\xED\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2`\x04\x82\x01\x80T\x90`\0a\x1F\x07\x83aHNV[\x91\x90PUPPPPPPPPPV[a\x1A\xE53\x82a*\xA6V[`\0a\x1F*a,\xFFV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81Ra\x01\xF4` R`@\x90 `\t\x81\x01\x80Ta\x1FR\x90aF\x8BV[\x15\x90P\x80a\x1FhWP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a\x1F\x86W`@QcdF\xF9\x17`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82`\0\x03a\x1F\xA7W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1F\xDC\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x1630\x86a-7V[\x82\x81`\x01\x01`\0\x82\x82Ta\x1F\xF0\x91\x90aH;V[\x90\x91UPP`@Q\x83\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16\x90\x7F\xB6\xBE#\x16\x85\x06\xA1\xCEb\xCCo\x933\x9Fg\x10\xE0\x98De\x17\n\xB5-\xF8\xEC\xF7\xDA8\xB3E\x84\x90` \x01`@Q\x80\x91\x03\x90\xA2`\x01\x01T\x90Pa\x08q`\x01`\0\x80Q` aKj\x839\x81Q\x91RUV[a Xa,\xFFV[`\0\x80Q` aK\n\x839\x81Q\x91Ra p\x81a/\x17V[`\0\x80a }\x86\x86a\x15>V[\x90\x92P\x90P`\x01\x82`\x04\x81\x11\x15a \x96Wa \x96aC\xCCV[\x14\x80a \xB3WP`\x03\x82`\x04\x81\x11\x15a \xB1Wa \xB1aC\xCCV[\x14[a \xD0W`@QcC\x9FL\xA7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x86\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x89\x85R\x90\x92R\x90\x91 `\x01\x81\x01T\x83\x10\x15a!\"W`@Qc\x01\x19\"\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`d\x81`\x04\x01T\x11\x15a!HW`@Qc\xCA\xBDP\xD7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a!S\x89a6\x8FV[\x90P\x86\x81\x10\x15a!vW`@Qcp1\x8A1`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\x01\x01T\x90P\x87\x84`\x04\x01`\0\x82\x82Ta!\x93\x91\x90aH;V[\x92PP\x81\x90UP\x80\x84`\x03\x01`\0\x82\x82Ta!\xAE\x91\x90aH;V[\x90\x91UPP`@Q\x88\x81R`\x01`\x01`\xA0\x1B\x03\x8B\x16\x90\x7F\xED.\xDCnq\xBE\xB93\xF1\xE0\xC8\xCC\xFD\xF8E%\x8F7\x10\xD6l6t\xACP\xF3\x90\x08$c\xF7\xF0\x90` \x01`@Q\x80\x91\x03\x90\xA2\x89`\x01`\x01`\xA0\x1B\x03\x16\x7F\xD2\x9B\x9A\xDE\xE3+\xAF\x11\xBE\x04\0\x0Bsc\x99c\xD2\xC7n\x89\x9Fh0\xD3\xB5\xC1q]\xF1}\x82\xBD\x82`@Qa\",\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2`\x04\x83\x01\x80T\x90`\0a\"F\x83aFrV[\x91\x90PUPPPPPPPPa\x08\xB6`\x01`\0\x80Q` aKj\x839\x81Q\x91RUV[`\0[\x81\x81\x10\x15a\x08\xB6Wa\"\x963\x84\x84\x84\x81\x81\x10a\"\x8AWa\"\x8AaFFV[\x90P` \x02\x015a7\xFEV[\x80a\"\xA0\x81aFrV[\x91PPa\"lV[a\"\xB1\x82a\x0E5V[a\"\xBA\x81a/\x17V[a\x0B\xFB\x83\x83a/\xC6V[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x8D\x85R\x90\x92R\x80\x83 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x92\x93\x92\x82\x90`\xFF\x16`\x04\x81\x11\x15a#\x0CWa#\x0CaC\xCCV[`\x04\x81\x11\x15a#\x1DWa#\x1DaC\xCCV[\x81R`\x01\x82\x01T` \x82\x01R`\x02\x82\x01T`@\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x90\x91\x01T`\x80\x90\x91\x01R\x82T\x90\x91P`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a#aWP\x87\x15[\x80a#jWP\x89\x15[\x15a#\x88W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a#\x93\x8Ca8\xD0V[P\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a#\xBDW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82Q`\x04\x81\x11\x15a#\xD2Wa#\xD2aC\xCCV[\x14a#\xF0W`@Qc+[X\x0F`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x8A\x83`\x02\x01`\0\x82\x82Ta$\x04\x91\x90aH;V[\x90\x91UPP`\x06\x83\x01T`\x02\x84\x01T\x11\x15a$2W`@Qc\x07\xD9\x93\x89`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x05\x83\x01\x80T\x90`\0a$D\x83aFrV[\x90\x91UPP`@\x80Q`\xA0\x81\x01\x90\x91R\x80`\x01\x81R` \x01\x8C\x81R` \x01\x8B\x81R` \x01\x8A\x81R` \x01`\0\x81RPa\x01\xF5`\0\x86`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0\x8E\x81R` \x01\x90\x81R` \x01`\0 `\0\x82\x01Q\x81`\0\x01`\0a\x01\0\n\x81T\x81`\xFF\x02\x19\x16\x90\x83`\x04\x81\x11\x15a$\xD4Wa$\xD4aC\xCCV[\x02\x17\x90UP` \x82\x01Q`\x01\x82\x01U`@\x82\x01Q`\x02\x82\x01U``\x82\x01Q`\x03\x82\x01U`\x80\x90\x91\x01Q`\x04\x90\x91\x01U\x87\x15a%\x16Wa%\x16\x84\x8D\x89\x89\x89a3\xABV[\x8B\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x04Y\xABWU\x08\xB4\xA5\x89O{\x13\x87\xBF6-\x03!;;\xF81\xDAE&!\x8C3\xE4\xA9\x06\xD8\x8D`@Qa%R\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPPPPPPPPPV[a\x1A\xE53\x82a7\xFEV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a%\xA7WP\x80`\t\x01\x80Ta%\xA3\x90aF\x8BV[\x15\x90P[\x80a%\xB0WP\x82\x15[\x15a%\xCEW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x14a%\xFAW`@Qc\x07\xECv9`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x82`\x01\x01Ta&\x0C\x91\x90aH(V[\x90P`\0\x82`\x01\x01Tg\r\xE0\xB6\xB3\xA7d\0\0\x83a&)\x91\x90aG\xEFV[a&3\x91\x90aH\x06V[`\x07\x84\x01\x81\x90U\x90Pa&G`\x01CaH;V[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF6` R`@\x90\x81\x90 \x92\x90\x92U\x90Q\x7F\x13\x9A\xD7\xA0\xC3\xF6\xC0\xAD\x0F\x0F\xC5+vx`jq\xFF\x08\x1B\x99&\xA5do\xE5:\x8Eg\xC6\x8Ar\x90a\x1D\x85\x90\x84\x81R` \x01\x90V[`\0`\0\x80Q` aK\n\x839\x81Q\x91Ra&\xB1\x81a/\x17V[`\0a&\xBD\x87\x87a\x15>V[P\x90P`\0\x81`\x04\x81\x11\x15a&\xD4Wa&\xD4aC\xCCV[\x14\x80a&\xF1WP`\x01\x81`\x04\x81\x11\x15a&\xEFWa&\xEFaC\xCCV[\x14[\x15a'\x0EW`@Qb\xED=\xF3`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x87\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x8A\x85R\x90\x92R\x82 `\x04\x81\x01\x80T\x92\x93\x91\x92\x91a'N\x83aHNV[\x91\x90PUP\x86\x82`\x01\x01`\0\x82\x82Ta'g\x91\x90aH(V[\x92PP\x81\x90UP\x86\x82`\x04\x01`\0\x82\x82Ta'\x82\x91\x90aH(V[\x90\x91UPP`\x01\x81\x01T`\x03\x83\x01\x80T\x82\x91\x90`\0\x90a'\xA3\x90\x84\x90aH(V[\x90\x91UPP`@Q\x88\x81R`\x01`\x01`\xA0\x1B\x03\x8B\x16\x90\x7F\x83\xF5\xEA\x8B\xEAv'\xD9Rt\xE9M\xD7\xE9\xE3\xD7\xE8,\xB5_\xEA\xB5\x13\xEDI\xE3%#-\xCCa\xE0\x90` \x01`@Q\x80\x91\x03\x90\xA2\x89`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Bi \xA1i\xFB\x88\x9C\x15T\x91\x06\xAE\xE0p\xDA\x98\x18kz\xB4\x06\xDD\x93\x84\xA0\xD3\x18\x99\xFD\xF0\x8A\x82`@Qa(!\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2a(]`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x88\x8Aa3zV[PP`\x01\x01T\x97\x96PPPPPPPV[a(va,\xFFV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\t\x81\x01\x80Ta(\x95\x90aF\x8BV[\x15\x90P\x80a(\xABWP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a(\xC9W`@QcdF\xF9\x17`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x07\x01T\x03a(\xF5W`@QcYF\x0E\x07`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\x01\x01T\x83`\x07\x01Ta)\x14\x91\x90aG\xEFV[a)\x1E\x91\x90aH\x06V[\x90P`\0\x81\x83`\x01\x01Ta)2\x91\x90aH(V[\x90P\x82`\x04\x01T\x82\x10\x15a)YW`@Qcp1\x8A1`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a)\x8D`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x86\x83a3zV[`\x01\x83\x01\x82\x90Ug\r\xE0\xB6\xB3\xA7d\0\0`\x07\x84\x01U`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF6` R`@\x90 TC\x10\x80\x15\x90a)\xE3WP`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF6` R`@\x90 T\x15\x15[a*\0W`@Qc8l\xF4\x07`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x81\x81Ra\x01\xF6` R`@\x80\x82 \x91\x90\x91UQ\x7F\xE5+=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra+\x19\x91\x90\x81\x01\x90aH\xAAV[P\x94\x95PP`\x01`\x01`\xA0\x1B\x03\x85\x16\x93Pa+K\x92PPPW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x82\x90`\xFF\x16`\x04\x81\x11\x15a+\x91Wa+\x91aC\xCCV[`\x04\x81\x11\x15a+\xA2Wa+\xA2aC\xCCV[\x81R`\x01\x82\x01T` \x82\x01R`\x02\x82\x01T`@\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x90\x91\x01T`\x80\x90\x91\x01R\x90P`\0\x81Q`\x04\x81\x11\x15a+\xE5Wa+\xE5aC\xCCV[\x03a,\x03W`@Qc\x04\xC9\xDE\x83`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x81\x01Q\x15a,&W`@Qc\x02\xE0}\x87`\xE6\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF4`\0\x86`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 \x90P\x81` \x01Q\x81`\x02\x01`\0\x82\x82Ta,h\x91\x90aH(V[\x92PP\x81\x90UP`\x01\x81`\x05\x01`\0\x82\x82Ta,\x84\x91\x90aH(V[\x90\x91UPP`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x88\x84R\x90\x91R\x80\x82 \x80T`\xFF\x19\x16\x81U`\x01\x81\x01\x83\x90U`\x02\x81\x01\x83\x90U`\x03\x81\x01\x83\x90U`\x04\x01\x82\x90UQ\x86\x92\x91\x7F\x83\x1C\xD5\xB7S\x83\x80\xB0\xA2\xA3\x14\x14\xD64\xECBq\x16\x07V\x84\xA2v\x82\x8A\xB4\xD2ut\xA2\xDF\xDF\x91\xA3PPPPPV[`\0\x80Q` aKj\x839\x81Q\x91R\x80T`\x01\x19\x01a-1W`@Qc>\xE5\xAE\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x90UV[`@Q`\x01`\x01`\xA0\x1B\x03\x84\x81\x16`$\x83\x01R\x83\x81\x16`D\x83\x01R`d\x82\x01\x83\x90Ra\x0B\xFB\x91\x86\x91\x82\x16\x90c#\xB8r\xDD\x90`\x84\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x91P`\xE0\x1B` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x83\x81\x83\x16\x17\x83RPPPPa9]V[`\0\x80`\0\x80\x84\x80` \x01\x90Q\x81\x01\x90a-\xB8\x91\x90aI5V[PPP\x94P\x94P\x94PPPa-\xCE\x83\x83\x83a9\xC0V[\x95\x94PPPPPV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rbivs`\xE8\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\0\x84\x82`@Q` \x01a.4\x92\x91\x90aJ#V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a.W\x82a9\xF9V[\x90P`\0a.\x9B\x82\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa:4\x92PPPV[\x90Pa.\xA6\x87a.\xE7V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a\x13\xC2W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a.\xFE\x91\x90aI5V[PPPPPP\x91PPa/\x10\x81a:^V[\x93\x92PPPV[a\x1A\xE5\x813a:\x8EV[`\0`\0\x80Q` aKJ\x839\x81Q\x91Ra/<\x84\x84a\x1B\xD0V[a/\xBCW`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua/r3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x85\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4`\x01\x91PPa\x08qV[`\0\x91PPa\x08qV[`\0`\0\x80Q` aKJ\x839\x81Q\x91Ra/\xE1\x84\x84a\x1B\xD0V[\x15a/\xBCW`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x87\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4`\x01\x91PPa\x08qV[a0Ja:\xC7V[V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a0\xD3WP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a0\xC7`\0\x80Q` aK*\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a0JW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x14\x8A\x81a/\x17V[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a1VWP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra1S\x91\x81\x01\x90aJMV[`\x01[a1~W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a.\xDEV[`\0\x80Q` aK*\x839\x81Q\x91R\x81\x14a1\xAFW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a.\xDEV[a\x08\xB6\x83\x83a;\x10V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a0JW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x82\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x84\x93\x90\x92\x91a\x01 \x84\x01\x91a2\x9D\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta2\xC9\x90aF\x8BV[\x80\x15a3\x16W\x80`\x1F\x10a2\xEBWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a3\x16V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a2\xF9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82a\x01\0\x01Q\x83`\xC0\x01Qa3A\x91\x90aG\xEFV[a3K\x91\x90aH\x06V[\x90P\x81``\x01Q\x81\x10\x15a3cWP`\0\x93\x92PPPV[``\x82\x01Qa3r\x90\x82aH(V[\x94\x93PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`$\x83\x01R`D\x82\x01\x83\x90Ra\x08\xB6\x91\x85\x91\x82\x16\x90c\xA9\x05\x9C\xBB\x90`d\x01a-lV[`\x01`\x01`\xA0\x1B\x03\x80\x86\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x92a\x01 \x84\x01\x91\x90a4C\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta4o\x90aF\x8BV[\x80\x15a4\xBCW\x80`\x1F\x10a4\x91Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a4\xBCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a4\x9FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP\x81Q\x91\x92PP`\x01`\x01`\xA0\x1B\x03\x16a4\xF1W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a4\xFC\x86a8\xD0V[\x91PPa5\x08\x81a;fV[a5%W`@Qc!\xA4\x8B\x8B`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16ck[!\xA6a5]\x87a-\x9EV[a5f\x89a;\x9BV[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a5\xA7W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a5\xCB\x91\x90aG\xD2V[a5\xE8W`@Qc\xC4e\xE6\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a5\xF3\x86a;\xCAV[\x90Pa6\x01\x86\x86\x86\x8Ba.\x1FV[`@Qc4\xFE\xDEe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90ci\xFD\xBC\xCA\x90a6S\x90\x8B\x90\x8B\x90\x86\x90\x8C\x90`\x04\x01aJfV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a6mW`\0\x80\xFD[PZ\xF1\x15\x80\x15a6\x81W=`\0\x80>=`\0\xFD[PPPPPPPPPPPPV[`\x01`\x01`\xA0\x1B\x03\x80\x82\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x84\x93\x90\x92\x91a\x01 \x84\x01\x91a7*\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta7V\x90aF\x8BV[\x80\x15a7\xA3W\x80`\x1F\x10a7xWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a7\xA3V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a7\x86W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\xE0\x01Q\x83` \x01Qa7\xCD\x91\x90aG\xEFV[a7\xD7\x91\x90aH\x06V[\x90P\x81`\x80\x01Q\x81\x10\x15a7\xEFWP`\0\x93\x92PPPV[`\x80\x82\x01Qa3r\x90\x82aH(V[`\0a8\n\x83\x83a\x15>V[P\x90P`\0\x81`\x04\x81\x11\x15a8!Wa8!aC\xCCV[\x14\x15\x80\x15a8AWP`\x04\x81`\x04\x81\x11\x15a8>Wa8>aC\xCCV[\x14\x15[a8^W`@Qc0\x04\x82\x87`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x81\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x86\x84R\x90\x91R\x80\x82 \x80T`\xFF\x19\x16`\x04\x17\x81U\x90Q\x90\x92\x85\x92\x90\x91\x7F\xF9\xE1yp\xDFW\xA6\xA8E}\xCB\xB5\xC2\x91gkF1\xD37\xCFv\xB0\xC8\x01\xF6\xB8\xADj|_\x92\x91\x90\xA3\x80`\x04\x01T`\0\x03a\x0B\xFBWa\x0B\xFB\x84\x84a*\xA6V[a\x01\xF8T`@Qc\xF8\xA9H/`\xE0\x1B\x81R`\x04\x81\x01\x83\x90R`\0\x91\x82\x91\x82\x91\x82\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\xF8\xA9H/\x90`$\x01`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a9#W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra9K\x91\x90\x81\x01\x90aH\xAAV[P\x94\x9A\x93\x99P\x92\x97PPPPPPPPV[`\0a9r`\x01`\x01`\xA0\x1B\x03\x84\x16\x83a;\xF1V[\x90P\x80Q`\0\x14\x15\x80\x15a9\x97WP\x80\x80` \x01\x90Q\x81\x01\x90a9\x95\x91\x90aG\xD2V[\x15[\x15a\x08\xB6W`@QcRt\xAF\xE7`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x01a.\xDEV[`\0\x80\x84\x84\x84`@Q` \x01a9\xD8\x93\x92\x91\x90aJ\xAAV[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01a.\x02V[`\0\x80`\0\x80a:D\x86\x86a;\xFFV[\x92P\x92P\x92Pa:T\x82\x82a#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a0JW`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a;\x19\x82a=\x05V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a;^Wa\x08\xB6\x82\x82a=jV[a\x14\x8Aa=\xD7V[`\0\x81\x15\x80a;\x94WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rb3\xB2\xB7`\xE9\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01a.\x02V[```\0\x82\x80` \x01\x90Q\x81\x01\x90a;\xE2\x91\x90aI5V[P\x94\x99\x98PPPPPPPPPV[``a/\x10\x83\x83`\0a=\xF6V[`\0\x80`\0\x83Q`A\x03a<9W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa<+\x88\x82\x85\x85a>\x93V[\x95P\x95P\x95PPPPaa=\xC7V[``\x91P[P\x91P\x91Pa-\xCE\x85\x83\x83a?bV[4\x15a0JW`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81G\x10\x15a>\x1BW`@Qc\xCDx`Y`\xE0\x1B\x81R0`\x04\x82\x01R`$\x01a.\xDEV[`\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x84\x86`@Qa>7\x91\x90aJ\xEDV[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a>tW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a>yV[``\x91P[P\x91P\x91Pa>\x89\x86\x83\x83a?bV[\x96\x95PPPPPPV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a>\xCEWP`\0\x91P`\x03\x90P\x82a?XV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a?\"W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a?NWP`\0\x92P`\x01\x91P\x82\x90Pa?XV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[``\x82a?wWa?r\x82a?\xBEV[a/\x10V[\x81Q\x15\x80\x15a?\x8EWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a?\xB7W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a.\xDEV[P\x80a/\x10V[\x80Q\x15a?\xCEW\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Ta?\xF3\x90aF\x8BV[`\0\x82U\x80`\x1F\x10a@\x03WPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x1A\xE5\x91\x90[\x80\x82\x11\x15a@1W`\0\x81U`\x01\x01a@\x1DV[P\x90V[`\0` \x82\x84\x03\x12\x15a@GW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a/\x10W`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a@rW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a@\x89W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a@\x9DW`\0\x80\xFD[\x815\x81\x81\x11\x15a@\xACW`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a@\xC1W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x1A\xE5W`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aA&WaA&a@\xE8V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aAGWaAGa@\xE8V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aAfW`\0\x80\xFD[\x815aAyaAt\x82aA.V[a@\xFEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aA\x8EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15aA\xC1W`\0\x80\xFD[\x845aA\xCC\x81a@\xD3V[\x93P` \x85\x015\x92P`@\x85\x015\x91P``\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aA\xF5W`\0\x80\xFD[aB\x01\x87\x82\x88\x01aAUV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15aB W`\0\x80\xFD[\x825aB+\x81a@\xD3V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80\x83`\x1F\x84\x01\x12aBKW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aBbW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x0C\x9CW`\0\x80\xFD[`\0\x80`\0\x80``\x85\x87\x03\x12\x15aB\x90W`\0\x80\xFD[\x845\x93P` \x85\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aB\xAEW`\0\x80\xFD[aB\xBA\x88\x83\x89\x01aAUV[\x94P`@\x87\x015\x91P\x80\x82\x11\x15aB\xD0W`\0\x80\xFD[PaB\xDD\x87\x82\x88\x01aB9V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15aB\xFBW`\0\x80\xFD[P5\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15aC\x15W`\0\x80\xFD[\x825\x91P` \x83\x015aC'\x81a@\xD3V[\x80\x91PP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15aCEW`\0\x80\xFD[\x825aCP\x81a@\xD3V[\x91P` \x83\x015aC'\x81a@\xD3V[`\0` \x82\x84\x03\x12\x15aCrW`\0\x80\xFD[\x815a/\x10\x81a@\xD3V[`\0\x80`@\x83\x85\x03\x12\x15aC\x90W`\0\x80\xFD[\x825aC\x9B\x81a@\xD3V[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aC\xB6W`\0\x80\xFD[aC\xC2\x85\x82\x86\x01aAUV[\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x05\x81\x10aD\0WcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[`@\x81\x01aD\x12\x82\x85aC\xE2V[\x82` \x83\x01R\x93\x92PPPV[`\0[\x83\x81\x10\x15aD:W\x81\x81\x01Q\x83\x82\x01R` \x01aD\"V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84RaD[\x81` \x86\x01` \x86\x01aD\x1FV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0a\x01@`\x01\x80`\xA0\x1B\x03\x8D\x16\x83R\x8B` \x84\x01R\x8A`@\x84\x01R\x89``\x84\x01R\x88`\x80\x84\x01R\x87`\xA0\x84\x01R\x86`\xC0\x84\x01R\x85`\xE0\x84\x01R\x84a\x01\0\x84\x01R\x80a\x01 \x84\x01RaD\xC3\x81\x84\x01\x85aDCV[\x9D\x9CPPPPPPPPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15aD\xE9W`\0\x80\xFD[\x835aD\xF4\x81a@\xD3V[\x95` \x85\x015\x95P`@\x90\x94\x015\x93\x92PPPV[`\xA0\x81\x01aE\x17\x82\x88aC\xE2V[\x85` \x83\x01R\x84`@\x83\x01R\x83``\x83\x01R\x82`\x80\x83\x01R\x96\x95PPPPPPV[` \x81R`\0a/\x10` \x83\x01\x84aDCV[\x80\x15\x15\x81\x14a\x1A\xE5W`\0\x80\xFD[`\0\x80`\0\x80`\0\x80`\0\x80`\xE0\x89\x8B\x03\x12\x15aEvW`\0\x80\xFD[\x885\x97P` \x89\x015\x96P`@\x89\x015\x95P``\x89\x015\x94P`\x80\x89\x015aE\x9D\x81aELV[\x93P`\xA0\x89\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aE\xB9W`\0\x80\xFD[aE\xC5\x8C\x83\x8D\x01aAUV[\x94P`\xC0\x8B\x015\x91P\x80\x82\x11\x15aE\xDBW`\0\x80\xFD[PaE\xE8\x8B\x82\x8C\x01aB9V[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15aF\x12W`\0\x80\xFD[\x845aF\x1D\x81a@\xD3V[\x93P` \x85\x015\x92P`@\x85\x015\x91P``\x85\x015aF;\x81a@\xD3V[\x93\x96\x92\x95P\x90\x93PPV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0`\x01\x82\x01aF\x84WaF\x84aF\\V[P`\x01\x01\x90V[`\x01\x81\x81\x1C\x90\x82\x16\x80aF\x9FW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03aF\xBFWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x08\xB6W`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15aF\xECWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15aG\x0BW\x82\x81U`\x01\x01aF\xF8V[PPPPPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15aG,WaG,a@\xE8V[aG@\x81aG:\x84TaF\x8BV[\x84aF\xC5V[` \x80`\x1F\x83\x11`\x01\x81\x14aGuW`\0\x84\x15aG]WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85UaG\x0BV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15aG\xA4W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01aG\x85V[P\x85\x82\x10\x15aG\xC2W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0` \x82\x84\x03\x12\x15aG\xE4W`\0\x80\xFD[\x81Qa/\x10\x81aELV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x08qWa\x08qaF\\V[`\0\x82aH#WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x81\x81\x03\x81\x81\x11\x15a\x08qWa\x08qaF\\V[\x80\x82\x01\x80\x82\x11\x15a\x08qWa\x08qaF\\V[`\0\x81aH]WaH]aF\\V[P`\0\x19\x01\x90V[`\0\x82`\x1F\x83\x01\x12aHvW`\0\x80\xFD[\x81QaH\x84aAt\x82aA.V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aH\x99W`\0\x80\xFD[a3r\x82` \x83\x01` \x87\x01aD\x1FV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15aH\xC5W`\0\x80\xFD[\x87QaH\xD0\x81a@\xD3V[\x80\x97PP` \x88\x01Q\x95P`@\x88\x01Q\x94P``\x88\x01Q\x93P`\x80\x88\x01Q\x92P`\xA0\x88\x01QaH\xFE\x81a@\xD3V[`\xC0\x89\x01Q\x90\x92P`\x01`\x01`@\x1B\x03\x81\x11\x15aI\x1AW`\0\x80\xFD[aI&\x8A\x82\x8B\x01aHeV[\x91PP\x92\x95\x98\x91\x94\x97P\x92\x95PV[`\0\x80`\0\x80`\0\x80`\0\x80a\x01\0\x89\x8B\x03\x12\x15aIRW`\0\x80\xFD[\x88Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aIiW`\0\x80\xFD[aIu\x8C\x83\x8D\x01aHeV[\x99P` \x8B\x01Q\x91P\x80\x82\x11\x15aI\x8BW`\0\x80\xFD[aI\x97\x8C\x83\x8D\x01aHeV[\x98P`@\x8B\x01Q\x91P\x80\x82\x11\x15aI\xADW`\0\x80\xFD[aI\xB9\x8C\x83\x8D\x01aHeV[\x97P``\x8B\x01Q\x91P\x80\x82\x11\x15aI\xCFW`\0\x80\xFD[aI\xDB\x8C\x83\x8D\x01aHeV[\x96P`\x80\x8B\x01Q\x91P\x80\x82\x11\x15aI\xF1W`\0\x80\xFD[PaI\xFE\x8B\x82\x8C\x01aHeV[\x94PP`\xA0\x89\x01Q\x92P`\xC0\x89\x01Q\x91P`\xE0\x89\x01Q\x90P\x92\x95\x98P\x92\x95\x98\x90\x93\x96PV[`@\x81R`\0aJ6`@\x83\x01\x85aDCV[\x90P`\x01\x80`\xA0\x1B\x03\x83\x16` \x83\x01R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15aJ_W`\0\x80\xFD[PQ\x91\x90PV[`\x01\x80`\xA0\x1B\x03\x85\x16\x81R\x83` \x82\x01R`\x80`@\x82\x01R`\0aJ\x8D`\x80\x83\x01\x85aDCV[\x82\x81\x03``\x84\x01RaJ\x9F\x81\x85aDCV[\x97\x96PPPPPPPV[`\0\x84QaJ\xBC\x81\x84` \x89\x01aD\x1FV[\x84Q\x90\x83\x01\x90aJ\xD0\x81\x83` \x89\x01aD\x1FV[\x84Q\x91\x01\x90aJ\xE3\x81\x83` \x88\x01aD\x1FV[\x01\x95\x94PPPPPV[`\0\x82QaJ\xFF\x81\x84` \x87\x01aD\x1FV[\x91\x90\x91\x01\x92\x91PPV\xFE\xC7\x9BP*\x85%\xF5\x83\xD1)\xC1Ep\xE1|\xE9\xBC\xA2a\x10\xA5\xC4\x1A\xB7\xE2Uo\x95\xE0\x81\xFE\xC56\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\xA2dipfsX\"\x12 &\x8D\xE9\xE2\xDCRs3!\xA0\xB7f;\xEC\xC9\xBB\x9F\xE8\x06_i;\x0C\xA7\x9E\x15.5\xD5\xA6RJdsolcC\0\x08\x14\x003"; /// The bytecode of the contract. pub static GENERATORREGISTRY_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x02QW`\x005`\xE0\x1C\x80cz\x14\xC4c\x11a\x019W\x80c\xA2\x17\xFD\xDF\x11a\0\xB6W\x80c\xD5Gt\x1F\x11a\0zW\x80c\xD5Gt\x1F\x14a\x07\xA6W\x80c\xE2\xFA3\xCE\x14a\x07\xC6W\x80c\xE7\xBC\x96\0\x14a\x07\xE6W\x80c\xE9\xE94\xA0\x14a\x08\x06W\x80c\xEA\xAC\xAE\x94\x14a\x08&W\x80c\xF2\x88\x8D\xBB\x14a\x08FW`\0\x80\xFD[\x80c\xA2\x17\xFD\xDF\x14a\x06\xF3W\x80c\xAD<\xB1\xCC\x14a\x07\x08W\x80c\xAD\xC9w.\x14a\x07FW\x80c\xC4\x92\xEE9\x14a\x07fW\x80c\xD0n\x1F{\x14a\x07\x86W`\0\x80\xFD[\x80c\x92\xEB\x91\xE2\x11a\0\xFDW\x80c\x92\xEB\x91\xE2\x14a\x06\x08W\x80c\x96\xDE\x0E\xEF\x14a\x06(W\x80c\x98*A]\x14a\x06HW\x80c\x9A\x7F\xCA\x8E\x14a\x06hW\x80c\x9F]\xB9\x86\x14a\x06\xD3W`\0\x80\xFD[\x80cz\x14\xC4c\x14a\x04RW\x80c\x81\xC4\\p\x14a\x05qW\x80c\x84\xAC3\xEC\x14a\x05\x92W\x80c\x8C\xFCV\xD8\x14a\x05\xB2W\x80c\x91\xD1HT\x14a\x05\xE8W`\0\x80\xFD[\x80c/\x8FJ;\x11a\x01\xD2W\x80cO\x1E\xF2\x86\x11a\x01\x96W\x80cO\x1E\xF2\x86\x14a\x04\xA7W\x80cR\xD1\x90-\x14a\x04\xBAW\x80cT\x1A\x8C\x18\x14a\x04\xCFW\x80cdmQ\xB4\x14a\x04\xEFW\x80cf\x1D\xE5\xAC\x14a\x05\x1DW\x80cm@Xw\x14a\x05QW`\0\x80\xFD[\x80c/\x8FJ;\x14a\x04\x1DW\x80c6V\x8A\xBE\x14a\x042W\x80c<^\xB5|\x14a\x04RW\x80cH\\\xC9U\x14a\x04gW\x80cM*\xAB\x9A\x14a\x04\x87W`\0\x80\xFD[\x80c!\x80\xDE]\x11a\x02\x19W\x80c!\x80\xDE]\x14a\x03NW\x80c$\x8A\x9C\xA3\x14a\x03nW\x80c+a\x0C-\x14a\x03\x9CW\x80c,\x1F\xBD\x03\x14a\x03\xDBW\x80c//\xF1]\x14a\x03\xFDW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02VW\x80c\x04y\xD6D\x14a\x02\x8BW\x80c\x08\xBEk\xAD\x14a\x02\xD7W\x80c\x13m\xFB\xF5\x14a\x02\xF9W\x80c\x1C~\xAEe\x14a\x03\x19W[`\0\x80\xFD[4\x80\x15a\x02bW`\0\x80\xFD[Pa\x02va\x02q6`\x04a@!V[a\x08fV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02\x97W`\0\x80\xFD[Pa\x02\xBF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x82V[4\x80\x15a\x02\xE3W`\0\x80\xFD[Pa\x02\xF7a\x02\xF26`\x04a@KV[a\x08wV[\0[4\x80\x15a\x03\x05W`\0\x80\xFD[Pa\x02\xF7a\x03\x146`\x04aA\x97V[a\x08\xB1V[4\x80\x15a\x03%W`\0\x80\xFD[Pa\x039a\x0346`\x04aA\xF9V[a\x0B\xF7V[`@\x80Q\x92\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x82V[4\x80\x15a\x03ZW`\0\x80\xFD[Pa\x02\xF7a\x03i6`\x04aBfV[a\x0C\x99V[4\x80\x15a\x03zW`\0\x80\xFD[Pa\x03\x8Ea\x03\x896`\x04aB\xD5V[a\x0E+V[`@Q\x90\x81R` \x01a\x02\x82V[4\x80\x15a\x03\xA8W`\0\x80\xFD[Pa\x03\xBCa\x03\xB76`\x04aA\xF9V[a\x0EMV[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x90\x93\x16\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x82V[4\x80\x15a\x03\xE7W`\0\x80\xFD[Pa\x03\x8E`\0\x80Q` aJ\xF8\x839\x81Q\x91R\x81V[4\x80\x15a\x04\tW`\0\x80\xFD[Pa\x02\xF7a\x04\x186`\x04aB\xEEV[a\x104V[4\x80\x15a\x04)W`\0\x80\xFD[Pa\x02\xF7a\x10PV[4\x80\x15a\x04>W`\0\x80\xFD[Pa\x02\xF7a\x04M6`\x04aB\xEEV[a\x12'V[4\x80\x15a\x04^W`\0\x80\xFD[Pa\x03\x8E`d\x81V[4\x80\x15a\x04sW`\0\x80\xFD[Pa\x02\xF7a\x04\x826`\x04aC\x1EV[a\x12ZV[4\x80\x15a\x04\x93W`\0\x80\xFD[Pa\x02\xF7a\x04\xA26`\x04aCLV[a\x13\xC1V[a\x02\xF7a\x04\xB56`\x04aCiV[a\x14eV[4\x80\x15a\x04\xC6W`\0\x80\xFD[Pa\x03\x8Ea\x14\x84V[4\x80\x15a\x04\xDBW`\0\x80\xFD[Pa\x02\xF7a\x04\xEA6`\x04aB\xD5V[a\x14\xA1V[4\x80\x15a\x04\xFBW`\0\x80\xFD[Pa\x05\x0Fa\x05\n6`\x04aA\xF9V[a\x154V[`@Qa\x02\x82\x92\x91\x90aC\xF0V[4\x80\x15a\x05)W`\0\x80\xFD[Pa\x02\xBF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05]W`\0\x80\xFD[Pa\x02\xF7a\x05l6`\x04aB\xD5V[a\x17\xF8V[4\x80\x15a\x05}W`\0\x80\xFD[Pa\x01\xF8Ta\x02\xBF\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x05\x9EW`\0\x80\xFD[Pa\x02\xF7a\x05\xAD6`\x04aCLV[a\x18\x9FV[4\x80\x15a\x05\xBEW`\0\x80\xFD[Pa\x05\xD2a\x05\xCD6`\x04aCLV[a\x1A\xDEV[`@Qa\x02\x82\x9A\x99\x98\x97\x96\x95\x94\x93\x92\x91\x90aD[V[4\x80\x15a\x05\xF4W`\0\x80\xFD[Pa\x02va\x06\x036`\x04aB\xEEV[a\x1B\xC6V[4\x80\x15a\x06\x14W`\0\x80\xFD[Pa\x02\xF7a\x06#6`\x04aBfV[a\x1B\xFEV[4\x80\x15a\x064W`\0\x80\xFD[Pa\x02\xF7a\x06C6`\x04aB\xD5V[a\x1C\x0BV[4\x80\x15a\x06TW`\0\x80\xFD[Pa\x02\xF7a\x06c6`\x04aD\xC0V[a\x1D\x8AV[4\x80\x15a\x06tW`\0\x80\xFD[Pa\x06\xC2a\x06\x836`\x04aA\xF9V[a\x01\xF5` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 \x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x90\x94\x01T`\xFF\x90\x93\x16\x93\x91\x92\x90\x91\x90\x85V[`@Qa\x02\x82\x95\x94\x93\x92\x91\x90aD\xF5V[4\x80\x15a\x06\xDFW`\0\x80\xFD[Pa\x02\xF7a\x06\xEE6`\x04aB\xD5V[a\x1F\x0CV[4\x80\x15a\x06\xFFW`\0\x80\xFD[Pa\x03\x8E`\0\x81V[4\x80\x15a\x07\x14W`\0\x80\xFD[Pa\x079`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02\x82\x91\x90aE%V[4\x80\x15a\x07RW`\0\x80\xFD[Pa\x03\x8Ea\x07a6`\x04aA\xF9V[a\x1F\x16V[4\x80\x15a\x07rW`\0\x80\xFD[Pa\x02\xF7a\x07\x816`\x04aD\xC0V[a FV[4\x80\x15a\x07\x92W`\0\x80\xFD[Pa\x02\xF7a\x07\xA16`\x04a@KV[a\"_V[4\x80\x15a\x07\xB2W`\0\x80\xFD[Pa\x02\xF7a\x07\xC16`\x04aB\xEEV[a\"\x94V[4\x80\x15a\x07\xD2W`\0\x80\xFD[Pa\x02\xF7a\x07\xE16`\x04aEFV[a\"\xB0V[4\x80\x15a\x07\xF2W`\0\x80\xFD[Pa\x02\xF7a\x08\x016`\x04aB\xD5V[a%TV[4\x80\x15a\x08\x12W`\0\x80\xFD[Pa\x02\xF7a\x08!6`\x04aB\xD5V[a%^V[4\x80\x15a\x082W`\0\x80\xFD[Pa\x03\x8Ea\x08A6`\x04aE\xE8V[a&\x83V[4\x80\x15a\x08RW`\0\x80\xFD[Pa\x02\xF7a\x08a6`\x04aCLV[a(ZV[`\0a\x08q\x82a*]V[\x92\x91PPV[`\0[\x81\x81\x10\x15a\x08\xACWa\x08\xA43\x84\x84\x84\x81\x81\x10a\x08\x98Wa\x08\x98aF2V[\x90P` \x02\x015a*\x92V[`\x01\x01a\x08zV[PPPV[a\x08\xB9a,\xEBV[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T`\xA0\x83\x01R`\x06\x81\x01T`\xC0\x83\x01R`\x07\x81\x01T`\xE0\x83\x01R`\x08\x81\x01Ta\x01\0\x83\x01R`\t\x81\x01\x80Ta\x01 \x84\x01\x91\x90a\tM\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\ty\x90aFHV[\x80\x15a\t\xC6W\x80`\x1F\x10a\t\x9BWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t\xC6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\xA9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x82Q`\0\x14\x80a\t\xE8WP`\x01`\x01`\xA0\x1B\x03\x86\x16\x15[\x80a\t\xF1WP\x84\x15[\x15a\n\x0FW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80Q`\x01`\x01`\xA0\x1B\x03\x16\x15a\n8W`@QcXt\xF9{`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x80a\x01@\x01`@R\x80\x87`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x85\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01\x86\x81R` \x01g\r\xE0\xB6\xB3\xA7d\0\0\x81R` \x01g\r\xE0\xB6\xB3\xA7d\0\0\x81R` \x01\x84\x81RPa\x01\xF4`\0\x84`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0\x82\x01Q\x81`\0\x01`\0a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP` \x82\x01Q\x81`\x01\x01U`@\x82\x01Q\x81`\x02\x01U``\x82\x01Q\x81`\x03\x01U`\x80\x82\x01Q\x81`\x04\x01U`\xA0\x82\x01Q\x81`\x05\x01U`\xC0\x82\x01Q\x81`\x06\x01U`\xE0\x82\x01Q\x81`\x07\x01Ua\x01\0\x82\x01Q\x81`\x08\x01Ua\x01 \x82\x01Q\x81`\t\x01\x90\x81a\x0BU\x91\x90aF\xD2V[PP\x84\x15\x90Pa\x0B\x94Wa\x0B\x94`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x830\x87a-#V[`@\x80Q\x86\x81R` \x81\x01\x86\x90R`\x01`\x01`\xA0\x1B\x03\x84\x16\x91\x7FI\x1B\x0FF\x1D\x05\xB7\x9B\xFCi\x04\xA9\xBA\x9D\xF5#\xD7fP?\x11\x04k+^n\xDD\xAA\xE3\xA7#\x1C\x91\x01`@Q\x80\x91\x03\x90\xA2PPa\x0B\xF1`\x01`\0\x80Q` aKX\x839\x81Q\x91RUV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x0CCWa\x0CCaC\xB8V[`\x04\x81\x11\x15a\x0CTWa\x0CTaC\xB8V[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P\x80`@\x01Q\x81``\x01Q\x92P\x92PP[\x92P\x92\x90PV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16ck[!\xA6a\x0C\xD1\x85a-\x8AV[a\x0C\xDA\x87a-\xC3V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r\x1BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r?\x91\x90aG\x91V[a\r\\W`@Qc\xC4e\xE6\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\rh\x83\x83\x833a.\x0BV[`@Qc\x07\x07Y\x1F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x07\x07Y\x1F\x90a\r\xB4\x90\x86\x90`\x04\x01aE%V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\r\xCEW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\r\xE2W=`\0\x80>=`\0\xFD[PPPPa\r\xEF\x83a.\xD3V[`\x01`\x01`\xA0\x1B\x03\x16\x84\x7F\xC3\xFB\xBD\xB6\xAA\x8D\x99\xF6\xEF\xE2J:\"\xE9\xA9\x9F\xFE\xF2J/9\x9C\x0B\x1ET\x99F\xF9\x1B\xF06\xE4`@Q`@Q\x80\x91\x03\x90\xA3PPPPV[`\0\x90\x81R`\0\x80Q` aK8\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x0E\x99Wa\x0E\x99aC\xB8V[`\x04\x81\x11\x15a\x0E\xAAWa\x0E\xAAaC\xB8V[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P`\0a\x01\xF4`\0\x87`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `@Q\x80a\x01@\x01`@R\x90\x81`\0\x82\x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81R` \x01`\x05\x82\x01T\x81R` \x01`\x06\x82\x01T\x81R` \x01`\x07\x82\x01T\x81R` \x01`\x08\x82\x01T\x81R` \x01`\t\x82\x01\x80Ta\x0F\x9B\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x0F\xC7\x90aFHV[\x80\x15a\x10\x14W\x80`\x1F\x10a\x0F\xE9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x10\x14V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x0F\xF7W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP\x90Q`@\x90\x93\x01Q\x92\x94P\x91\x92PPP\x92P\x92\x90PV[a\x10=\x82a\x0E+V[a\x10F\x81a/\x03V[a\x0B\xF1\x83\x83a/\rV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\t\x81\x01\x80Ta\x10o\x90aFHV[\x15\x90P\x80a\x10\x85WP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a\x10\xA3W`@QcdF\xF9\x17`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x03a\x10\xCFW`@Qc\x89\x83`\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\x06\x01T\x83`\x08\x01Ta\x10\xEE\x91\x90aG\xC4V[a\x10\xF8\x91\x90aG\xDBV[\x90P`\0\x81\x83`\x06\x01Ta\x11\x0C\x91\x90aG\xFDV[\x90P\x82`\x03\x01T\x82\x10\x15a\x113W`@Qc\x01\x19\"\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82`\x02\x01T\x82\x10\x15a\x11XW`@Qc\x01\x19\"\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x06\x83\x01\x82\x90Ug\r\xE0\xB6\xB3\xA7d\0\0`\x08\x84\x01U`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF7` R`@\x90 TC\x10\x80\x15\x90a\x11\xAEWP`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF7` R`@\x90 T\x15\x15[a\x11\xCBW`@Qc8l\xF4\x07`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x81\x81Ra\x01\xF7` R`@\x80\x82 \x91\x90\x91UQ\x7F\x11\xDE\xAE(\x9Epx\xFC\xE2\x88\xF4\xE9sN\x9C=\xF6{U\xEA\xC4\xFFA\xB8\x90\xB6\xD68\x1A\xCE\xE7b\x90a\x12\x19\x90\x84\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x12PW`@Qc3K\xD9\x19`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08\xAC\x82\x82a/\xB2V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\x12\x9FWP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a\x12\xBBWP0;\x15[\x90P\x81\x15\x80\x15a\x12\xC9WP\x80\x15[\x15a\x12\xE7W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x13\x11W\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a\x13\x19a0.V[a\x13!a0.V[a\x13)a0.V[a\x131a0.V[a\x13<`\0\x88a/\rV[Pa\x13U`\0\x80Q` aJ\xF8\x839\x81Q\x91R\x87a/\rV[Pa\x01\xF8\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x88\x16\x17\x90U\x83\x15a\x13\xB8W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\x01`\x01`\xA0\x1B\x03\x83\x16\x15\x80a\x13\xEFWP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a\x14\rW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x91\x82\x17\x83U`@Q\x91\x82R\x83\x16\x90\x7F\xB1\x95\xA9K\xEC\xD3\x88\xC9\xA0\x7F\xE8\x18qh3\xBD\xF9\x8Bu\\x\xC9\xB48\xF4\xC8\xF0o5O\xA3h\x90` \x01[`@Q\x80\x91\x03\x90\xA2PPPV[a\x14ma08V[a\x14v\x82a0\xDDV[a\x14\x80\x82\x82a0\xE8V[PPV[`\0a\x14\x8Ea1\xA5V[P`\0\x80Q` aK\x18\x839\x81Q\x91R\x90V[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16c\xED8\r\x033`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x84\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16`\x04\x82\x01R`$\x81\x01\x84\x90R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x15\x19W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x15-W=`\0\x80>=`\0\xFD[PPPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x15\x80Wa\x15\x80aC\xB8V[`\x04\x81\x11\x15a\x15\x91Wa\x15\x91aC\xB8V[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P`\0a\x01\xF4`\0\x87`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `@Q\x80a\x01@\x01`@R\x90\x81`\0\x82\x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81R` \x01`\x05\x82\x01T\x81R` \x01`\x06\x82\x01T\x81R` \x01`\x07\x82\x01T\x81R` \x01`\x08\x82\x01T\x81R` \x01`\t\x82\x01\x80Ta\x16\x82\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x16\xAE\x90aFHV[\x80\x15a\x16\xFBW\x80`\x1F\x10a\x16\xD0Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x16\xFBV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x16\xDEW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0`\x04\x81\x11\x15a\x17\x19Wa\x17\x19aC\xB8V[\x82Q`\x04\x81\x11\x15a\x17,Wa\x17,aC\xB8V[\x03a\x17?W`\0\x80\x93P\x93PPPa\x0C\x92V[`\x04\x82Q`\x04\x81\x11\x15a\x17TWa\x17TaC\xB8V[\x03a\x17hW`\x04`\0\x93P\x93PPPa\x0C\x92V[`\0a\x17s\x87a1\xEEV[\x90P`\0\x83Q`\x04\x81\x11\x15a\x17\x8AWa\x17\x8AaC\xB8V[\x14\x15\x80\x15a\x17\x96WP\x80\x15[\x15a\x17\xABW`\x02`\0\x94P\x94PPPPa\x0C\x92V[\x81`\xC0\x01Q\x81\x03a\x17\xC4W`\x01\x94P\x92Pa\x0C\x92\x91PPV[\x80\x15\x80\x15\x90a\x17\xD6WP\x81`\xC0\x01Q\x81\x10[\x15a\x17\xE9W`\x03\x94P\x92Pa\x0C\x92\x91PPV[P`\0\x96\x87\x96P\x94PPPPPV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a\x18-WP\x80`\t\x01\x80Ta\x18)\x90aFHV[\x15\x90P[\x15a\x18KW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82\x81`\x06\x01`\0\x82\x82Ta\x18_\x91\x90aH\x10V[\x90\x91UPP`@Q\x83\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F \x98X\xCE\xC2\x8CQ\x8A\xEAD\xAA?\xA7\n\x93\"S\xF8\xBD\xF7j\x1C\x9A\x0B\x08\"j\x13\xE6\x975\xA3\x90` \x01a\x14XV[a\x18\xA7a,\xEBV[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T`\xA0\x83\x01R`\x06\x81\x01T`\xC0\x83\x01R`\x07\x81\x01T`\xE0\x83\x01R`\x08\x81\x01Ta\x01\0\x83\x01R`\t\x81\x01\x80Ta\x01 \x84\x01\x91\x90a\x19;\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x19g\x90aFHV[\x80\x15a\x19\xB4W\x80`\x1F\x10a\x19\x89Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x19\xB4V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x19\x97W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`@\x01Q`\0\x14a\x19\xE4W`@Qc\xF8\xC20S`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x1A\x1F\x90`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90\x85\x90a3fV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF4` R`@\x81 \x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x81U`\x01\x81\x01\x82\x90U`\x02\x81\x01\x82\x90U`\x03\x81\x01\x82\x90U`\x04\x81\x01\x82\x90U`\x05\x81\x01\x82\x90U`\x06\x81\x01\x82\x90U`\x07\x81\x01\x82\x90U`\x08\x81\x01\x82\x90U\x90a\x1A\x8C`\t\x83\x01\x82a?\xD3V[PP`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\x9F70\xAD\xE9K\xE5\xCE?\xAD\x97;\x88\x8At\x86j:\x91]\0\x8E\x8C\xBD\xE2\x13\x82\xB91\xB6|c\x90`\0\x90\xA2PPa\x1A\xDB`\x01`\0\x80Q` aKX\x839\x81Q\x91RUV[PV[a\x01\xF4` R`\0\x90\x81R`@\x90 \x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x85\x01T`\x05\x86\x01T`\x06\x87\x01T`\x07\x88\x01T`\x08\x89\x01T`\t\x8A\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x9A\x16\x9A\x98\x99\x97\x98\x96\x97\x95\x96\x94\x95\x93\x94\x92\x93\x91\x92\x91a\x1BC\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1Bo\x90aFHV[\x80\x15a\x1B\xBCW\x80`\x1F\x10a\x1B\x91Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x1B\xBCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1B\x9FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x8AV[`\0\x91\x82R`\0\x80Q` aK8\x839\x81Q\x91R` \x90\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[a\x0B\xF13\x85\x85\x85\x85a3\x97V[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a\x1C@WP\x80`\t\x01\x80Ta\x1C<\x90aFHV[\x15\x90P[\x80a\x1CIWP\x82\x15[\x15a\x1CgW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x14a\x1C\x93W`@Qc\x07\xECv9`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x82`\x06\x01Ta\x1C\xA5\x91\x90aG\xFDV[\x90P\x81`\x02\x01T\x81\x11a\x1C\xCBW`@Qc\xCA^b/`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x06\x82\x01T`\0\x90a\x1C\xE5g\r\xE0\xB6\xB3\xA7d\0\0\x84aG\xC4V[a\x1C\xEF\x91\x90aG\xDBV[\x90Pg\r\xE0\xB6\xB3\xA7d\0\0\x81\x10a\x1D\x19W`@Qc\xCA^b/`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x08\x83\x01\x81\x90Ua\x1D+`\x01CaH\x10V[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF7` R`@\x90\x81\x90 \x92\x90\x92U\x90Q\x7Fv\x12,\xFD_W`@Qc\xCA\xBDP\xD7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a!I\x89a6{V[\x90P\x86\x81\x10\x15a!lW`@Qcp1\x8A1`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\x01\x01T\x90P\x87\x84`\x04\x01`\0\x82\x82Ta!\x89\x91\x90aH\x10V[\x92PP\x81\x90UP\x80\x84`\x03\x01`\0\x82\x82Ta!\xA4\x91\x90aH\x10V[\x90\x91UPP`@Q\x88\x81R`\x01`\x01`\xA0\x1B\x03\x8B\x16\x90\x7F\xED.\xDCnq\xBE\xB93\xF1\xE0\xC8\xCC\xFD\xF8E%\x8F7\x10\xD6l6t\xACP\xF3\x90\x08$c\xF7\xF0\x90` \x01`@Q\x80\x91\x03\x90\xA2\x89`\x01`\x01`\xA0\x1B\x03\x16\x7F\xD2\x9B\x9A\xDE\xE3+\xAF\x11\xBE\x04\0\x0Bsc\x99c\xD2\xC7n\x89\x9Fh0\xD3\xB5\xC1q]\xF1}\x82\xBD\x82`@Qa\"\"\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2`\x04\x83\x01\x80T\x90`\0a\"<\x83aH:V[\x91\x90PUPPPPPPPPa\x08\xAC`\x01`\0\x80Q` aKX\x839\x81Q\x91RUV[`\0[\x81\x81\x10\x15a\x08\xACWa\"\x8C3\x84\x84\x84\x81\x81\x10a\"\x80Wa\"\x80aF2V[\x90P` \x02\x015a7\xEAV[`\x01\x01a\"bV[a\"\x9D\x82a\x0E+V[a\"\xA6\x81a/\x03V[a\x0B\xF1\x83\x83a/\xB2V[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x8D\x85R\x90\x92R\x80\x83 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x92\x93\x92\x82\x90`\xFF\x16`\x04\x81\x11\x15a\"\xF8Wa\"\xF8aC\xB8V[`\x04\x81\x11\x15a#\tWa#\taC\xB8V[\x81R`\x01\x82\x01T` \x82\x01R`\x02\x82\x01T`@\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x90\x91\x01T`\x80\x90\x91\x01R\x82T\x90\x91P`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a#MWP\x87\x15[\x80a#VWP\x89\x15[\x15a#tW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a#\x7F\x8Ca8\xBCV[P\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a#\xA9W`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82Q`\x04\x81\x11\x15a#\xBEWa#\xBEaC\xB8V[\x14a#\xDCW`@Qc+[X\x0F`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x8A\x83`\x02\x01`\0\x82\x82Ta#\xF0\x91\x90aH\x10V[\x90\x91UPP`\x06\x83\x01T`\x02\x84\x01T\x11\x15a$\x1EW`@Qc\x07\xD9\x93\x89`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x05\x83\x01\x80T\x90`\0a$0\x83aH:V[\x90\x91UPP`@\x80Q`\xA0\x81\x01\x90\x91R\x80`\x01\x81R` \x01\x8C\x81R` \x01\x8B\x81R` \x01\x8A\x81R` \x01`\0\x81RPa\x01\xF5`\0\x86`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0\x8E\x81R` \x01\x90\x81R` \x01`\0 `\0\x82\x01Q\x81`\0\x01`\0a\x01\0\n\x81T\x81`\xFF\x02\x19\x16\x90\x83`\x04\x81\x11\x15a$\xC0Wa$\xC0aC\xB8V[\x02\x17\x90UP` \x82\x01Q`\x01\x82\x01U`@\x82\x01Q`\x02\x82\x01U``\x82\x01Q`\x03\x82\x01U`\x80\x90\x91\x01Q`\x04\x90\x91\x01U\x87\x15a%\x02Wa%\x02\x84\x8D\x89\x89\x89a3\x97V[\x8B\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x04Y\xABWU\x08\xB4\xA5\x89O{\x13\x87\xBF6-\x03!;;\xF81\xDAE&!\x8C3\xE4\xA9\x06\xD8\x8D`@Qa%>\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPPPPPPPPPV[a\x1A\xDB3\x82a7\xEAV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a%\x93WP\x80`\t\x01\x80Ta%\x8F\x90aFHV[\x15\x90P[\x80a%\x9CWP\x82\x15[\x15a%\xBAW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x14a%\xE6W`@Qc\x07\xECv9`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x82`\x01\x01Ta%\xF8\x91\x90aG\xFDV[\x90P`\0\x82`\x01\x01Tg\r\xE0\xB6\xB3\xA7d\0\0\x83a&\x15\x91\x90aG\xC4V[a&\x1F\x91\x90aG\xDBV[`\x07\x84\x01\x81\x90U\x90Pa&3`\x01CaH\x10V[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF6` R`@\x90\x81\x90 \x92\x90\x92U\x90Q\x7F\x13\x9A\xD7\xA0\xC3\xF6\xC0\xAD\x0F\x0F\xC5+vx`jq\xFF\x08\x1B\x99&\xA5do\xE5:\x8Eg\xC6\x8Ar\x90a\x1D{\x90\x84\x81R` \x01\x90V[`\0`\0\x80Q` aJ\xF8\x839\x81Q\x91Ra&\x9D\x81a/\x03V[`\0a&\xA9\x87\x87a\x154V[P\x90P`\0\x81`\x04\x81\x11\x15a&\xC0Wa&\xC0aC\xB8V[\x14\x80a&\xDDWP`\x01\x81`\x04\x81\x11\x15a&\xDBWa&\xDBaC\xB8V[\x14[\x15a&\xFAW`@Qb\xED=\xF3`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x87\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x8A\x85R\x90\x92R\x82 `\x04\x81\x01\x80T\x92\x93\x91\x92\x91a':\x83aH#V[\x91\x90PUP\x86\x82`\x01\x01`\0\x82\x82Ta'S\x91\x90aG\xFDV[\x92PP\x81\x90UP\x86\x82`\x04\x01`\0\x82\x82Ta'n\x91\x90aG\xFDV[\x90\x91UPP`\x01\x81\x01T`\x03\x83\x01\x80T\x82\x91\x90`\0\x90a'\x8F\x90\x84\x90aG\xFDV[\x90\x91UPP`@Q\x88\x81R`\x01`\x01`\xA0\x1B\x03\x8B\x16\x90\x7F\x83\xF5\xEA\x8B\xEAv'\xD9Rt\xE9M\xD7\xE9\xE3\xD7\xE8,\xB5_\xEA\xB5\x13\xEDI\xE3%#-\xCCa\xE0\x90` \x01`@Q\x80\x91\x03\x90\xA2\x89`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Bi \xA1i\xFB\x88\x9C\x15T\x91\x06\xAE\xE0p\xDA\x98\x18kz\xB4\x06\xDD\x93\x84\xA0\xD3\x18\x99\xFD\xF0\x8A\x82`@Qa(\r\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2a(I`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x88\x8Aa3fV[PP`\x01\x01T\x97\x96PPPPPPPV[a(ba,\xEBV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\t\x81\x01\x80Ta(\x81\x90aFHV[\x15\x90P\x80a(\x97WP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a(\xB5W`@QcdF\xF9\x17`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x07\x01T\x03a(\xE1W`@QcYF\x0E\x07`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\x01\x01T\x83`\x07\x01Ta)\0\x91\x90aG\xC4V[a)\n\x91\x90aG\xDBV[\x90P`\0\x81\x83`\x01\x01Ta)\x1E\x91\x90aG\xFDV[\x90P\x82`\x04\x01T\x82\x10\x15a)EW`@Qcp1\x8A1`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a)y`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x86\x83a3fV[`\x01\x83\x01\x82\x90Ug\r\xE0\xB6\xB3\xA7d\0\0`\x07\x84\x01U`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF6` R`@\x90 TC\x10\x80\x15\x90a)\xCFWP`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF6` R`@\x90 T\x15\x15[a)\xECW`@Qc8l\xF4\x07`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x81\x81Ra\x01\xF6` R`@\x80\x82 \x91\x90\x91UQ\x7F\xE5+=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra+\x05\x91\x90\x81\x01\x90aH\x98V[P\x94\x95PP`\x01`\x01`\xA0\x1B\x03\x85\x16\x93Pa+7\x92PPPW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x82\x90`\xFF\x16`\x04\x81\x11\x15a+}Wa+}aC\xB8V[`\x04\x81\x11\x15a+\x8EWa+\x8EaC\xB8V[\x81R`\x01\x82\x01T` \x82\x01R`\x02\x82\x01T`@\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x90\x91\x01T`\x80\x90\x91\x01R\x90P`\0\x81Q`\x04\x81\x11\x15a+\xD1Wa+\xD1aC\xB8V[\x03a+\xEFW`@Qc\x04\xC9\xDE\x83`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x81\x01Q\x15a,\x12W`@Qc\x02\xE0}\x87`\xE6\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF4`\0\x86`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 \x90P\x81` \x01Q\x81`\x02\x01`\0\x82\x82Ta,T\x91\x90aG\xFDV[\x92PP\x81\x90UP`\x01\x81`\x05\x01`\0\x82\x82Ta,p\x91\x90aG\xFDV[\x90\x91UPP`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x88\x84R\x90\x91R\x80\x82 \x80T`\xFF\x19\x16\x81U`\x01\x81\x01\x83\x90U`\x02\x81\x01\x83\x90U`\x03\x81\x01\x83\x90U`\x04\x01\x82\x90UQ\x86\x92\x91\x7F\x83\x1C\xD5\xB7S\x83\x80\xB0\xA2\xA3\x14\x14\xD64\xECBq\x16\x07V\x84\xA2v\x82\x8A\xB4\xD2ut\xA2\xDF\xDF\x91\xA3PPPPPV[`\0\x80Q` aKX\x839\x81Q\x91R\x80T`\x01\x19\x01a-\x1DW`@Qc>\xE5\xAE\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x90UV[`@Q`\x01`\x01`\xA0\x1B\x03\x84\x81\x16`$\x83\x01R\x83\x81\x16`D\x83\x01R`d\x82\x01\x83\x90Ra\x0B\xF1\x91\x86\x91\x82\x16\x90c#\xB8r\xDD\x90`\x84\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x91P`\xE0\x1B` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x83\x81\x83\x16\x17\x83RPPPPa9IV[`\0\x80`\0\x80\x84\x80` \x01\x90Q\x81\x01\x90a-\xA4\x91\x90aI#V[PPP\x94P\x94P\x94PPPa-\xBA\x83\x83\x83a9\xACV[\x95\x94PPPPPV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rbivs`\xE8\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\0\x84\x82`@Q` \x01a. \x92\x91\x90aJ\x11V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a.C\x82a9\xE5V[\x90P`\0a.\x87\x82\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa: \x92PPPV[\x90Pa.\x92\x87a.\xD3V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a\x13\xB8W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a.\xEA\x91\x90aI#V[PPPPPP\x91PPa.\xFC\x81a:JV[\x93\x92PPPV[a\x1A\xDB\x813a:zV[`\0`\0\x80Q` aK8\x839\x81Q\x91Ra/(\x84\x84a\x1B\xC6V[a/\xA8W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua/^3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x85\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4`\x01\x91PPa\x08qV[`\0\x91PPa\x08qV[`\0`\0\x80Q` aK8\x839\x81Q\x91Ra/\xCD\x84\x84a\x1B\xC6V[\x15a/\xA8W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x87\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4`\x01\x91PPa\x08qV[a06a:\xB3V[V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a0\xBFWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a0\xB3`\0\x80Q` aK\x18\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a06W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x14\x80\x81a/\x03V[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a1BWP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra1?\x91\x81\x01\x90aJ;V[`\x01[a1jW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a.\xCAV[`\0\x80Q` aK\x18\x839\x81Q\x91R\x81\x14a1\x9BW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a.\xCAV[a\x08\xAC\x83\x83a:\xFCV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a06W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x82\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x84\x93\x90\x92\x91a\x01 \x84\x01\x91a2\x89\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta2\xB5\x90aFHV[\x80\x15a3\x02W\x80`\x1F\x10a2\xD7Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a3\x02V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a2\xE5W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82a\x01\0\x01Q\x83`\xC0\x01Qa3-\x91\x90aG\xC4V[a37\x91\x90aG\xDBV[\x90P\x81``\x01Q\x81\x10\x15a3OWP`\0\x93\x92PPPV[``\x82\x01Qa3^\x90\x82aG\xFDV[\x94\x93PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`$\x83\x01R`D\x82\x01\x83\x90Ra\x08\xAC\x91\x85\x91\x82\x16\x90c\xA9\x05\x9C\xBB\x90`d\x01a-XV[`\x01`\x01`\xA0\x1B\x03\x80\x86\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x92a\x01 \x84\x01\x91\x90a4/\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta4[\x90aFHV[\x80\x15a4\xA8W\x80`\x1F\x10a4}Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a4\xA8V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a4\x8BW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP\x81Q\x91\x92PP`\x01`\x01`\xA0\x1B\x03\x16a4\xDDW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a4\xE8\x86a8\xBCV[\x91PPa4\xF4\x81a;RV[a5\x11W`@Qc!\xA4\x8B\x8B`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16ck[!\xA6a5I\x87a-\x8AV[a5R\x89a;\x87V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a5\x93W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a5\xB7\x91\x90aG\x91V[a5\xD4W`@Qc\xC4e\xE6\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a5\xDF\x86a;\xB6V[\x90Pa5\xED\x86\x86\x86\x8Ba.\x0BV[`@Qc4\xFE\xDEe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90ci\xFD\xBC\xCA\x90a6?\x90\x8B\x90\x8B\x90\x86\x90\x8C\x90`\x04\x01aJTV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a6YW`\0\x80\xFD[PZ\xF1\x15\x80\x15a6mW=`\0\x80>=`\0\xFD[PPPPPPPPPPPPV[`\x01`\x01`\xA0\x1B\x03\x80\x82\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x84\x93\x90\x92\x91a\x01 \x84\x01\x91a7\x16\x90aFHV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta7B\x90aFHV[\x80\x15a7\x8FW\x80`\x1F\x10a7dWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a7\x8FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a7rW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\xE0\x01Q\x83` \x01Qa7\xB9\x91\x90aG\xC4V[a7\xC3\x91\x90aG\xDBV[\x90P\x81`\x80\x01Q\x81\x10\x15a7\xDBWP`\0\x93\x92PPPV[`\x80\x82\x01Qa3^\x90\x82aG\xFDV[`\0a7\xF6\x83\x83a\x154V[P\x90P`\0\x81`\x04\x81\x11\x15a8\rWa8\raC\xB8V[\x14\x15\x80\x15a8-WP`\x04\x81`\x04\x81\x11\x15a8*Wa8*aC\xB8V[\x14\x15[a8JW`@Qc0\x04\x82\x87`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x81\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x86\x84R\x90\x91R\x80\x82 \x80T`\xFF\x19\x16`\x04\x17\x81U\x90Q\x90\x92\x85\x92\x90\x91\x7F\xF9\xE1yp\xDFW\xA6\xA8E}\xCB\xB5\xC2\x91gkF1\xD37\xCFv\xB0\xC8\x01\xF6\xB8\xADj|_\x92\x91\x90\xA3\x80`\x04\x01T`\0\x03a\x0B\xF1Wa\x0B\xF1\x84\x84a*\x92V[a\x01\xF8T`@Qc\xF8\xA9H/`\xE0\x1B\x81R`\x04\x81\x01\x83\x90R`\0\x91\x82\x91\x82\x91\x82\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\xF8\xA9H/\x90`$\x01`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a9\x0FW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra97\x91\x90\x81\x01\x90aH\x98V[P\x94\x9A\x93\x99P\x92\x97PPPPPPPPV[`\0a9^`\x01`\x01`\xA0\x1B\x03\x84\x16\x83a;\xDDV[\x90P\x80Q`\0\x14\x15\x80\x15a9\x83WP\x80\x80` \x01\x90Q\x81\x01\x90a9\x81\x91\x90aG\x91V[\x15[\x15a\x08\xACW`@QcRt\xAF\xE7`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x01a.\xCAV[`\0\x80\x84\x84\x84`@Q` \x01a9\xC4\x93\x92\x91\x90aJ\x98V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01a-\xEEV[`\0\x80`\0\x80a:0\x86\x86a;\xEBV[\x92P\x92P\x92Pa:@\x82\x82a<8V[P\x90\x94\x93PPPPV[`\0\x81Q`@\x14a:nW`@Qc\xD2\x833]`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[a:\x84\x82\x82a\x1B\xC6V[a\x14\x80W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a.\xCAV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a06W`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a;\x05\x82a<\xF1V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a;JWa\x08\xAC\x82\x82a=VV[a\x14\x80a=\xC3V[`\0\x81\x15\x80a;\x80WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rb3\xB2\xB7`\xE9\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01a-\xEEV[```\0\x82\x80` \x01\x90Q\x81\x01\x90a;\xCE\x91\x90aI#V[P\x94\x99\x98PPPPPPPPPV[``a.\xFC\x83\x83`\0a=\xE2V[`\0\x80`\0\x83Q`A\x03a<%W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa<\x17\x88\x82\x85\x85a>\x7FV[\x95P\x95P\x95PPPPa<1V[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15aa=\xB3V[``\x91P[P\x91P\x91Pa-\xBA\x85\x83\x83a?NV[4\x15a06W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81G\x10\x15a>\x07W`@Qc\xCDx`Y`\xE0\x1B\x81R0`\x04\x82\x01R`$\x01a.\xCAV[`\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x84\x86`@Qa>#\x91\x90aJ\xDBV[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a>`W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a>eV[``\x91P[P\x91P\x91Pa>u\x86\x83\x83a?NV[\x96\x95PPPPPPV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a>\xBAWP`\0\x91P`\x03\x90P\x82a?DV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a?\x0EW=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a?:WP`\0\x92P`\x01\x91P\x82\x90Pa?DV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[``\x82a?cWa?^\x82a?\xAAV[a.\xFCV[\x81Q\x15\x80\x15a?zWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a?\xA3W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a.\xCAV[P\x80a.\xFCV[\x80Q\x15a?\xBAW\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Ta?\xDF\x90aFHV[`\0\x82U\x80`\x1F\x10a?\xEFWPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x1A\xDB\x91\x90[\x80\x82\x11\x15a@\x1DW`\0\x81U`\x01\x01a@\tV[P\x90V[`\0` \x82\x84\x03\x12\x15a@3W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a.\xFCW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a@^W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a@uW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a@\x89W`\0\x80\xFD[\x815\x81\x81\x11\x15a@\x98W`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a@\xADW`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x1A\xDBW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aA\x12WaA\x12a@\xD4V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aA3WaA3a@\xD4V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aARW`\0\x80\xFD[\x815aAeaA`\x82aA\x1AV[a@\xEAV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aAzW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15aA\xADW`\0\x80\xFD[\x845aA\xB8\x81a@\xBFV[\x93P` \x85\x015\x92P`@\x85\x015\x91P``\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aA\xE1W`\0\x80\xFD[aA\xED\x87\x82\x88\x01aAAV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15aB\x0CW`\0\x80\xFD[\x825aB\x17\x81a@\xBFV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80\x83`\x1F\x84\x01\x12aB7W`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aBNW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x0C\x92W`\0\x80\xFD[`\0\x80`\0\x80``\x85\x87\x03\x12\x15aB|W`\0\x80\xFD[\x845\x93P` \x85\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aB\x9AW`\0\x80\xFD[aB\xA6\x88\x83\x89\x01aAAV[\x94P`@\x87\x015\x91P\x80\x82\x11\x15aB\xBCW`\0\x80\xFD[PaB\xC9\x87\x82\x88\x01aB%V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15aB\xE7W`\0\x80\xFD[P5\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15aC\x01W`\0\x80\xFD[\x825\x91P` \x83\x015aC\x13\x81a@\xBFV[\x80\x91PP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15aC1W`\0\x80\xFD[\x825aC<\x81a@\xBFV[\x91P` \x83\x015aC\x13\x81a@\xBFV[`\0` \x82\x84\x03\x12\x15aC^W`\0\x80\xFD[\x815a.\xFC\x81a@\xBFV[`\0\x80`@\x83\x85\x03\x12\x15aC|W`\0\x80\xFD[\x825aC\x87\x81a@\xBFV[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aC\xA2W`\0\x80\xFD[aC\xAE\x85\x82\x86\x01aAAV[\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x05\x81\x10aC\xECWcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[`@\x81\x01aC\xFE\x82\x85aC\xCEV[\x82` \x83\x01R\x93\x92PPPV[`\0[\x83\x81\x10\x15aD&W\x81\x81\x01Q\x83\x82\x01R` \x01aD\x0EV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84RaDG\x81` \x86\x01` \x86\x01aD\x0BV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0a\x01@`\x01\x80`\xA0\x1B\x03\x8D\x16\x83R\x8B` \x84\x01R\x8A`@\x84\x01R\x89``\x84\x01R\x88`\x80\x84\x01R\x87`\xA0\x84\x01R\x86`\xC0\x84\x01R\x85`\xE0\x84\x01R\x84a\x01\0\x84\x01R\x80a\x01 \x84\x01RaD\xAF\x81\x84\x01\x85aD/V[\x9D\x9CPPPPPPPPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15aD\xD5W`\0\x80\xFD[\x835aD\xE0\x81a@\xBFV[\x95` \x85\x015\x95P`@\x90\x94\x015\x93\x92PPPV[`\xA0\x81\x01aE\x03\x82\x88aC\xCEV[\x85` \x83\x01R\x84`@\x83\x01R\x83``\x83\x01R\x82`\x80\x83\x01R\x96\x95PPPPPPV[` \x81R`\0a.\xFC` \x83\x01\x84aD/V[\x80\x15\x15\x81\x14a\x1A\xDBW`\0\x80\xFD[`\0\x80`\0\x80`\0\x80`\0\x80`\xE0\x89\x8B\x03\x12\x15aEbW`\0\x80\xFD[\x885\x97P` \x89\x015\x96P`@\x89\x015\x95P``\x89\x015\x94P`\x80\x89\x015aE\x89\x81aE8V[\x93P`\xA0\x89\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aE\xA5W`\0\x80\xFD[aE\xB1\x8C\x83\x8D\x01aAAV[\x94P`\xC0\x8B\x015\x91P\x80\x82\x11\x15aE\xC7W`\0\x80\xFD[PaE\xD4\x8B\x82\x8C\x01aB%V[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15aE\xFEW`\0\x80\xFD[\x845aF\t\x81a@\xBFV[\x93P` \x85\x015\x92P`@\x85\x015\x91P``\x85\x015aF'\x81a@\xBFV[\x93\x96\x92\x95P\x90\x93PPV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80aF\\W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03aF|WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x08\xACW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15aF\xABWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15aF\xCAW\x82\x81U`\x01\x01aF\xB7V[PPPPPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15aF\xEBWaF\xEBa@\xD4V[aF\xFF\x81aF\xF9\x84TaFHV[\x84aF\x82V[` \x80`\x1F\x83\x11`\x01\x81\x14aG4W`\0\x84\x15aG\x1CWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85UaF\xCAV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15aGcW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01aGDV[P\x85\x82\x10\x15aG\x81W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0` \x82\x84\x03\x12\x15aG\xA3W`\0\x80\xFD[\x81Qa.\xFC\x81aE8V[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x08qWa\x08qaG\xAEV[`\0\x82aG\xF8WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x81\x81\x03\x81\x81\x11\x15a\x08qWa\x08qaG\xAEV[\x80\x82\x01\x80\x82\x11\x15a\x08qWa\x08qaG\xAEV[`\0\x81aH2WaH2aG\xAEV[P`\0\x19\x01\x90V[`\0`\x01\x82\x01aHLWaHLaG\xAEV[P`\x01\x01\x90V[`\0\x82`\x1F\x83\x01\x12aHdW`\0\x80\xFD[\x81QaHraA`\x82aA\x1AV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aH\x87W`\0\x80\xFD[a3^\x82` \x83\x01` \x87\x01aD\x0BV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15aH\xB3W`\0\x80\xFD[\x87QaH\xBE\x81a@\xBFV[\x80\x97PP` \x88\x01Q\x95P`@\x88\x01Q\x94P``\x88\x01Q\x93P`\x80\x88\x01Q\x92P`\xA0\x88\x01QaH\xEC\x81a@\xBFV[`\xC0\x89\x01Q\x90\x92P`\x01`\x01`@\x1B\x03\x81\x11\x15aI\x08W`\0\x80\xFD[aI\x14\x8A\x82\x8B\x01aHSV[\x91PP\x92\x95\x98\x91\x94\x97P\x92\x95PV[`\0\x80`\0\x80`\0\x80`\0\x80a\x01\0\x89\x8B\x03\x12\x15aI@W`\0\x80\xFD[\x88Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aIWW`\0\x80\xFD[aIc\x8C\x83\x8D\x01aHSV[\x99P` \x8B\x01Q\x91P\x80\x82\x11\x15aIyW`\0\x80\xFD[aI\x85\x8C\x83\x8D\x01aHSV[\x98P`@\x8B\x01Q\x91P\x80\x82\x11\x15aI\x9BW`\0\x80\xFD[aI\xA7\x8C\x83\x8D\x01aHSV[\x97P``\x8B\x01Q\x91P\x80\x82\x11\x15aI\xBDW`\0\x80\xFD[aI\xC9\x8C\x83\x8D\x01aHSV[\x96P`\x80\x8B\x01Q\x91P\x80\x82\x11\x15aI\xDFW`\0\x80\xFD[PaI\xEC\x8B\x82\x8C\x01aHSV[\x94PP`\xA0\x89\x01Q\x92P`\xC0\x89\x01Q\x91P`\xE0\x89\x01Q\x90P\x92\x95\x98P\x92\x95\x98\x90\x93\x96PV[`@\x81R`\0aJ$`@\x83\x01\x85aD/V[\x90P`\x01\x80`\xA0\x1B\x03\x83\x16` \x83\x01R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15aJMW`\0\x80\xFD[PQ\x91\x90PV[`\x01\x80`\xA0\x1B\x03\x85\x16\x81R\x83` \x82\x01R`\x80`@\x82\x01R`\0aJ{`\x80\x83\x01\x85aD/V[\x82\x81\x03``\x84\x01RaJ\x8D\x81\x85aD/V[\x97\x96PPPPPPPV[`\0\x84QaJ\xAA\x81\x84` \x89\x01aD\x0BV[\x84Q\x90\x83\x01\x90aJ\xBE\x81\x83` \x89\x01aD\x0BV[\x84Q\x91\x01\x90aJ\xD1\x81\x83` \x88\x01aD\x0BV[\x01\x95\x94PPPPPV[`\0\x82QaJ\xED\x81\x84` \x87\x01aD\x0BV[\x91\x90\x91\x01\x92\x91PPV\xFE\xC7\x9BP*\x85%\xF5\x83\xD1)\xC1Ep\xE1|\xE9\xBC\xA2a\x10\xA5\xC4\x1A\xB7\xE2Uo\x95\xE0\x81\xFE\xC56\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\xA2dipfsX\"\x12 \xA9\xA6\xE1\xC0\xD0\x1B\xD4\xC1\x18\xC1\xCD&\"Z\xC5\xCD\x1C!\xDB}j$\x93\x984L-wG\x80Z\xF6dsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x02QW`\x005`\xE0\x1C\x80cz\x14\xC4c\x11a\x019W\x80c\xA2\x17\xFD\xDF\x11a\0\xB6W\x80c\xD5Gt\x1F\x11a\0zW\x80c\xD5Gt\x1F\x14a\x07\xA6W\x80c\xE2\xFA3\xCE\x14a\x07\xC6W\x80c\xE7\xBC\x96\0\x14a\x07\xE6W\x80c\xE9\xE94\xA0\x14a\x08\x06W\x80c\xEA\xAC\xAE\x94\x14a\x08&W\x80c\xF2\x88\x8D\xBB\x14a\x08FW`\0\x80\xFD[\x80c\xA2\x17\xFD\xDF\x14a\x06\xF3W\x80c\xAD<\xB1\xCC\x14a\x07\x08W\x80c\xAD\xC9w.\x14a\x07FW\x80c\xC4\x92\xEE9\x14a\x07fW\x80c\xD0n\x1F{\x14a\x07\x86W`\0\x80\xFD[\x80c\x92\xEB\x91\xE2\x11a\0\xFDW\x80c\x92\xEB\x91\xE2\x14a\x06\x08W\x80c\x96\xDE\x0E\xEF\x14a\x06(W\x80c\x98*A]\x14a\x06HW\x80c\x9A\x7F\xCA\x8E\x14a\x06hW\x80c\x9F]\xB9\x86\x14a\x06\xD3W`\0\x80\xFD[\x80cz\x14\xC4c\x14a\x04RW\x80c\x81\xC4\\p\x14a\x05qW\x80c\x84\xAC3\xEC\x14a\x05\x92W\x80c\x8C\xFCV\xD8\x14a\x05\xB2W\x80c\x91\xD1HT\x14a\x05\xE8W`\0\x80\xFD[\x80c/\x8FJ;\x11a\x01\xD2W\x80cO\x1E\xF2\x86\x11a\x01\x96W\x80cO\x1E\xF2\x86\x14a\x04\xA7W\x80cR\xD1\x90-\x14a\x04\xBAW\x80cT\x1A\x8C\x18\x14a\x04\xCFW\x80cdmQ\xB4\x14a\x04\xEFW\x80cf\x1D\xE5\xAC\x14a\x05\x1DW\x80cm@Xw\x14a\x05QW`\0\x80\xFD[\x80c/\x8FJ;\x14a\x04\x1DW\x80c6V\x8A\xBE\x14a\x042W\x80c<^\xB5|\x14a\x04RW\x80cH\\\xC9U\x14a\x04gW\x80cM*\xAB\x9A\x14a\x04\x87W`\0\x80\xFD[\x80c!\x80\xDE]\x11a\x02\x19W\x80c!\x80\xDE]\x14a\x03NW\x80c$\x8A\x9C\xA3\x14a\x03nW\x80c+a\x0C-\x14a\x03\x9CW\x80c,\x1F\xBD\x03\x14a\x03\xDBW\x80c//\xF1]\x14a\x03\xFDW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02VW\x80c\x04y\xD6D\x14a\x02\x8BW\x80c\x08\xBEk\xAD\x14a\x02\xD7W\x80c\x13m\xFB\xF5\x14a\x02\xF9W\x80c\x1C~\xAEe\x14a\x03\x19W[`\0\x80\xFD[4\x80\x15a\x02bW`\0\x80\xFD[Pa\x02va\x02q6`\x04a@5V[a\x08fV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02\x97W`\0\x80\xFD[Pa\x02\xBF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x82V[4\x80\x15a\x02\xE3W`\0\x80\xFD[Pa\x02\xF7a\x02\xF26`\x04a@_V[a\x08wV[\0[4\x80\x15a\x03\x05W`\0\x80\xFD[Pa\x02\xF7a\x03\x146`\x04aA\xABV[a\x08\xBBV[4\x80\x15a\x03%W`\0\x80\xFD[Pa\x039a\x0346`\x04aB\rV[a\x0C\x01V[`@\x80Q\x92\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x82V[4\x80\x15a\x03ZW`\0\x80\xFD[Pa\x02\xF7a\x03i6`\x04aBzV[a\x0C\xA3V[4\x80\x15a\x03zW`\0\x80\xFD[Pa\x03\x8Ea\x03\x896`\x04aB\xE9V[a\x0E5V[`@Q\x90\x81R` \x01a\x02\x82V[4\x80\x15a\x03\xA8W`\0\x80\xFD[Pa\x03\xBCa\x03\xB76`\x04aB\rV[a\x0EWV[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x90\x93\x16\x83R` \x83\x01\x91\x90\x91R\x01a\x02\x82V[4\x80\x15a\x03\xE7W`\0\x80\xFD[Pa\x03\x8E`\0\x80Q` aK\n\x839\x81Q\x91R\x81V[4\x80\x15a\x04\tW`\0\x80\xFD[Pa\x02\xF7a\x04\x186`\x04aC\x02V[a\x10>V[4\x80\x15a\x04)W`\0\x80\xFD[Pa\x02\xF7a\x10ZV[4\x80\x15a\x04>W`\0\x80\xFD[Pa\x02\xF7a\x04M6`\x04aC\x02V[a\x121V[4\x80\x15a\x04^W`\0\x80\xFD[Pa\x03\x8E`d\x81V[4\x80\x15a\x04sW`\0\x80\xFD[Pa\x02\xF7a\x04\x826`\x04aC2V[a\x12dV[4\x80\x15a\x04\x93W`\0\x80\xFD[Pa\x02\xF7a\x04\xA26`\x04aC`V[a\x13\xCBV[a\x02\xF7a\x04\xB56`\x04aC}V[a\x14oV[4\x80\x15a\x04\xC6W`\0\x80\xFD[Pa\x03\x8Ea\x14\x8EV[4\x80\x15a\x04\xDBW`\0\x80\xFD[Pa\x02\xF7a\x04\xEA6`\x04aB\xE9V[a\x14\xABV[4\x80\x15a\x04\xFBW`\0\x80\xFD[Pa\x05\x0Fa\x05\n6`\x04aB\rV[a\x15>V[`@Qa\x02\x82\x92\x91\x90aD\x04V[4\x80\x15a\x05)W`\0\x80\xFD[Pa\x02\xBF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05]W`\0\x80\xFD[Pa\x02\xF7a\x05l6`\x04aB\xE9V[a\x18\x02V[4\x80\x15a\x05}W`\0\x80\xFD[Pa\x01\xF8Ta\x02\xBF\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x05\x9EW`\0\x80\xFD[Pa\x02\xF7a\x05\xAD6`\x04aC`V[a\x18\xA9V[4\x80\x15a\x05\xBEW`\0\x80\xFD[Pa\x05\xD2a\x05\xCD6`\x04aC`V[a\x1A\xE8V[`@Qa\x02\x82\x9A\x99\x98\x97\x96\x95\x94\x93\x92\x91\x90aDoV[4\x80\x15a\x05\xF4W`\0\x80\xFD[Pa\x02va\x06\x036`\x04aC\x02V[a\x1B\xD0V[4\x80\x15a\x06\x14W`\0\x80\xFD[Pa\x02\xF7a\x06#6`\x04aBzV[a\x1C\x08V[4\x80\x15a\x064W`\0\x80\xFD[Pa\x02\xF7a\x06C6`\x04aB\xE9V[a\x1C\x15V[4\x80\x15a\x06TW`\0\x80\xFD[Pa\x02\xF7a\x06c6`\x04aD\xD4V[a\x1D\x94V[4\x80\x15a\x06tW`\0\x80\xFD[Pa\x06\xC2a\x06\x836`\x04aB\rV[a\x01\xF5` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 \x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x90\x94\x01T`\xFF\x90\x93\x16\x93\x91\x92\x90\x91\x90\x85V[`@Qa\x02\x82\x95\x94\x93\x92\x91\x90aE\tV[4\x80\x15a\x06\xDFW`\0\x80\xFD[Pa\x02\xF7a\x06\xEE6`\x04aB\xE9V[a\x1F\x16V[4\x80\x15a\x06\xFFW`\0\x80\xFD[Pa\x03\x8E`\0\x81V[4\x80\x15a\x07\x14W`\0\x80\xFD[Pa\x079`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02\x82\x91\x90aE9V[4\x80\x15a\x07RW`\0\x80\xFD[Pa\x03\x8Ea\x07a6`\x04aB\rV[a\x1F V[4\x80\x15a\x07rW`\0\x80\xFD[Pa\x02\xF7a\x07\x816`\x04aD\xD4V[a PV[4\x80\x15a\x07\x92W`\0\x80\xFD[Pa\x02\xF7a\x07\xA16`\x04a@_V[a\"iV[4\x80\x15a\x07\xB2W`\0\x80\xFD[Pa\x02\xF7a\x07\xC16`\x04aC\x02V[a\"\xA8V[4\x80\x15a\x07\xD2W`\0\x80\xFD[Pa\x02\xF7a\x07\xE16`\x04aEZV[a\"\xC4V[4\x80\x15a\x07\xF2W`\0\x80\xFD[Pa\x02\xF7a\x08\x016`\x04aB\xE9V[a%hV[4\x80\x15a\x08\x12W`\0\x80\xFD[Pa\x02\xF7a\x08!6`\x04aB\xE9V[a%rV[4\x80\x15a\x082W`\0\x80\xFD[Pa\x03\x8Ea\x08A6`\x04aE\xFCV[a&\x97V[4\x80\x15a\x08RW`\0\x80\xFD[Pa\x02\xF7a\x08a6`\x04aC`V[a(nV[`\0a\x08q\x82a*qV[\x92\x91PPV[`\0[\x81\x81\x10\x15a\x08\xB6Wa\x08\xA43\x84\x84\x84\x81\x81\x10a\x08\x98Wa\x08\x98aFFV[\x90P` \x02\x015a*\xA6V[\x80a\x08\xAE\x81aFrV[\x91PPa\x08zV[PPPV[a\x08\xC3a,\xFFV[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T`\xA0\x83\x01R`\x06\x81\x01T`\xC0\x83\x01R`\x07\x81\x01T`\xE0\x83\x01R`\x08\x81\x01Ta\x01\0\x83\x01R`\t\x81\x01\x80Ta\x01 \x84\x01\x91\x90a\tW\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\t\x83\x90aF\x8BV[\x80\x15a\t\xD0W\x80`\x1F\x10a\t\xA5Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t\xD0V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\xB3W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x82Q`\0\x14\x80a\t\xF2WP`\x01`\x01`\xA0\x1B\x03\x86\x16\x15[\x80a\t\xFBWP\x84\x15[\x15a\n\x19W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80Q`\x01`\x01`\xA0\x1B\x03\x16\x15a\nBW`@QcXt\xF9{`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x80a\x01@\x01`@R\x80\x87`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x85\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01\x86\x81R` \x01g\r\xE0\xB6\xB3\xA7d\0\0\x81R` \x01g\r\xE0\xB6\xB3\xA7d\0\0\x81R` \x01\x84\x81RPa\x01\xF4`\0\x84`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0\x82\x01Q\x81`\0\x01`\0a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP` \x82\x01Q\x81`\x01\x01U`@\x82\x01Q\x81`\x02\x01U``\x82\x01Q\x81`\x03\x01U`\x80\x82\x01Q\x81`\x04\x01U`\xA0\x82\x01Q\x81`\x05\x01U`\xC0\x82\x01Q\x81`\x06\x01U`\xE0\x82\x01Q\x81`\x07\x01Ua\x01\0\x82\x01Q\x81`\x08\x01Ua\x01 \x82\x01Q\x81`\t\x01\x90\x81a\x0B_\x91\x90aG\x13V[PP\x84\x15\x90Pa\x0B\x9EWa\x0B\x9E`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x830\x87a-7V[`@\x80Q\x86\x81R` \x81\x01\x86\x90R`\x01`\x01`\xA0\x1B\x03\x84\x16\x91\x7FI\x1B\x0FF\x1D\x05\xB7\x9B\xFCi\x04\xA9\xBA\x9D\xF5#\xD7fP?\x11\x04k+^n\xDD\xAA\xE3\xA7#\x1C\x91\x01`@Q\x80\x91\x03\x90\xA2PPa\x0B\xFB`\x01`\0\x80Q` aKj\x839\x81Q\x91RUV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x0CMWa\x0CMaC\xCCV[`\x04\x81\x11\x15a\x0C^Wa\x0C^aC\xCCV[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P\x80`@\x01Q\x81``\x01Q\x92P\x92PP[\x92P\x92\x90PV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16ck[!\xA6a\x0C\xDB\x85a-\x9EV[a\x0C\xE4\x87a-\xD7V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r%W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\rI\x91\x90aG\xD2V[a\rfW`@Qc\xC4e\xE6\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\rr\x83\x83\x833a.\x1FV[`@Qc\x07\x07Y\x1F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x07\x07Y\x1F\x90a\r\xBE\x90\x86\x90`\x04\x01aE9V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\r\xD8W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\r\xECW=`\0\x80>=`\0\xFD[PPPPa\r\xF9\x83a.\xE7V[`\x01`\x01`\xA0\x1B\x03\x16\x84\x7F\xC3\xFB\xBD\xB6\xAA\x8D\x99\xF6\xEF\xE2J:\"\xE9\xA9\x9F\xFE\xF2J/9\x9C\x0B\x1ET\x99F\xF9\x1B\xF06\xE4`@Q`@Q\x80\x91\x03\x90\xA3PPPPV[`\0\x90\x81R`\0\x80Q` aKJ\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x0E\xA3Wa\x0E\xA3aC\xCCV[`\x04\x81\x11\x15a\x0E\xB4Wa\x0E\xB4aC\xCCV[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P`\0a\x01\xF4`\0\x87`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `@Q\x80a\x01@\x01`@R\x90\x81`\0\x82\x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81R` \x01`\x05\x82\x01T\x81R` \x01`\x06\x82\x01T\x81R` \x01`\x07\x82\x01T\x81R` \x01`\x08\x82\x01T\x81R` \x01`\t\x82\x01\x80Ta\x0F\xA5\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x0F\xD1\x90aF\x8BV[\x80\x15a\x10\x1EW\x80`\x1F\x10a\x0F\xF3Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x10\x1EV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x10\x01W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP\x90Q`@\x90\x93\x01Q\x92\x94P\x91\x92PPP\x92P\x92\x90PV[a\x10G\x82a\x0E5V[a\x10P\x81a/\x17V[a\x0B\xFB\x83\x83a/!V[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\t\x81\x01\x80Ta\x10y\x90aF\x8BV[\x15\x90P\x80a\x10\x8FWP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a\x10\xADW`@QcdF\xF9\x17`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x03a\x10\xD9W`@Qc\x89\x83`\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\x06\x01T\x83`\x08\x01Ta\x10\xF8\x91\x90aG\xEFV[a\x11\x02\x91\x90aH\x06V[\x90P`\0\x81\x83`\x06\x01Ta\x11\x16\x91\x90aH(V[\x90P\x82`\x03\x01T\x82\x10\x15a\x11=W`@Qc\x01\x19\"\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82`\x02\x01T\x82\x10\x15a\x11bW`@Qc\x01\x19\"\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x06\x83\x01\x82\x90Ug\r\xE0\xB6\xB3\xA7d\0\0`\x08\x84\x01U`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF7` R`@\x90 TC\x10\x80\x15\x90a\x11\xB8WP`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF7` R`@\x90 T\x15\x15[a\x11\xD5W`@Qc8l\xF4\x07`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x81\x81Ra\x01\xF7` R`@\x80\x82 \x91\x90\x91UQ\x7F\x11\xDE\xAE(\x9Epx\xFC\xE2\x88\xF4\xE9sN\x9C=\xF6{U\xEA\xC4\xFFA\xB8\x90\xB6\xD68\x1A\xCE\xE7b\x90a\x12#\x90\x84\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x12ZW`@Qc3K\xD9\x19`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08\xB6\x82\x82a/\xC6V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\x12\xA9WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a\x12\xC5WP0;\x15[\x90P\x81\x15\x80\x15a\x12\xD3WP\x80\x15[\x15a\x12\xF1W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x13\x1BW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a\x13#a0BV[a\x13+a0BV[a\x133a0BV[a\x13;a0BV[a\x13F`\0\x88a/!V[Pa\x13_`\0\x80Q` aK\n\x839\x81Q\x91R\x87a/!V[Pa\x01\xF8\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x88\x16\x17\x90U\x83\x15a\x13\xC2W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\x01`\x01`\xA0\x1B\x03\x83\x16\x15\x80a\x13\xF9WP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a\x14\x17W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x91\x82\x17\x83U`@Q\x91\x82R\x83\x16\x90\x7F\xB1\x95\xA9K\xEC\xD3\x88\xC9\xA0\x7F\xE8\x18qh3\xBD\xF9\x8Bu\\x\xC9\xB48\xF4\xC8\xF0o5O\xA3h\x90` \x01[`@Q\x80\x91\x03\x90\xA2PPPV[a\x14wa0LV[a\x14\x80\x82a0\xF1V[a\x14\x8A\x82\x82a0\xFCV[PPV[`\0a\x14\x98a1\xB9V[P`\0\x80Q` aK*\x839\x81Q\x91R\x90V[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16c\xED8\r\x033`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x84\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16`\x04\x82\x01R`$\x81\x01\x84\x90R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x15#W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x157W=`\0\x80>=`\0\xFD[PPPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x83\x92\x83\x92\x90\x91\x82\x90`\xFF\x16`\x04\x81\x11\x15a\x15\x8AWa\x15\x8AaC\xCCV[`\x04\x81\x11\x15a\x15\x9BWa\x15\x9BaC\xCCV[\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81RPP\x90P`\0a\x01\xF4`\0\x87`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `@Q\x80a\x01@\x01`@R\x90\x81`\0\x82\x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01`\x01\x82\x01T\x81R` \x01`\x02\x82\x01T\x81R` \x01`\x03\x82\x01T\x81R` \x01`\x04\x82\x01T\x81R` \x01`\x05\x82\x01T\x81R` \x01`\x06\x82\x01T\x81R` \x01`\x07\x82\x01T\x81R` \x01`\x08\x82\x01T\x81R` \x01`\t\x82\x01\x80Ta\x16\x8C\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x16\xB8\x90aF\x8BV[\x80\x15a\x17\x05W\x80`\x1F\x10a\x16\xDAWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x17\x05V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x16\xE8W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0`\x04\x81\x11\x15a\x17#Wa\x17#aC\xCCV[\x82Q`\x04\x81\x11\x15a\x176Wa\x176aC\xCCV[\x03a\x17IW`\0\x80\x93P\x93PPPa\x0C\x9CV[`\x04\x82Q`\x04\x81\x11\x15a\x17^Wa\x17^aC\xCCV[\x03a\x17rW`\x04`\0\x93P\x93PPPa\x0C\x9CV[`\0a\x17}\x87a2\x02V[\x90P`\0\x83Q`\x04\x81\x11\x15a\x17\x94Wa\x17\x94aC\xCCV[\x14\x15\x80\x15a\x17\xA0WP\x80\x15[\x15a\x17\xB5W`\x02`\0\x94P\x94PPPPa\x0C\x9CV[\x81`\xC0\x01Q\x81\x03a\x17\xCEW`\x01\x94P\x92Pa\x0C\x9C\x91PPV[\x80\x15\x80\x15\x90a\x17\xE0WP\x81`\xC0\x01Q\x81\x10[\x15a\x17\xF3W`\x03\x94P\x92Pa\x0C\x9C\x91PPV[P`\0\x96\x87\x96P\x94PPPPPV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a\x187WP\x80`\t\x01\x80Ta\x183\x90aF\x8BV[\x15\x90P[\x15a\x18UW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82\x81`\x06\x01`\0\x82\x82Ta\x18i\x91\x90aH;V[\x90\x91UPP`@Q\x83\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F \x98X\xCE\xC2\x8CQ\x8A\xEAD\xAA?\xA7\n\x93\"S\xF8\xBD\xF7j\x1C\x9A\x0B\x08\"j\x13\xE6\x975\xA3\x90` \x01a\x14bV[a\x18\xB1a,\xFFV[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x82\x01T\x93\x81\x01\x93\x90\x93R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T`\xA0\x83\x01R`\x06\x81\x01T`\xC0\x83\x01R`\x07\x81\x01T`\xE0\x83\x01R`\x08\x81\x01Ta\x01\0\x83\x01R`\t\x81\x01\x80Ta\x01 \x84\x01\x91\x90a\x19E\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x19q\x90aF\x8BV[\x80\x15a\x19\xBEW\x80`\x1F\x10a\x19\x93Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x19\xBEV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x19\xA1W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`@\x01Q`\0\x14a\x19\xEEW`@Qc\xF8\xC20S`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x1A)\x90`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90\x85\x90a3zV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF4` R`@\x81 \x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x81U`\x01\x81\x01\x82\x90U`\x02\x81\x01\x82\x90U`\x03\x81\x01\x82\x90U`\x04\x81\x01\x82\x90U`\x05\x81\x01\x82\x90U`\x06\x81\x01\x82\x90U`\x07\x81\x01\x82\x90U`\x08\x81\x01\x82\x90U\x90a\x1A\x96`\t\x83\x01\x82a?\xE7V[PP`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\x9F70\xAD\xE9K\xE5\xCE?\xAD\x97;\x88\x8At\x86j:\x91]\0\x8E\x8C\xBD\xE2\x13\x82\xB91\xB6|c\x90`\0\x90\xA2PPa\x1A\xE5`\x01`\0\x80Q` aKj\x839\x81Q\x91RUV[PV[a\x01\xF4` R`\0\x90\x81R`@\x90 \x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x85\x01T`\x05\x86\x01T`\x06\x87\x01T`\x07\x88\x01T`\x08\x89\x01T`\t\x8A\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x9A\x16\x9A\x98\x99\x97\x98\x96\x97\x95\x96\x94\x95\x93\x94\x92\x93\x91\x92\x91a\x1BM\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1By\x90aF\x8BV[\x80\x15a\x1B\xC6W\x80`\x1F\x10a\x1B\x9BWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x1B\xC6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1B\xA9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x8AV[`\0\x91\x82R`\0\x80Q` aKJ\x839\x81Q\x91R` \x90\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[a\x0B\xFB3\x85\x85\x85\x85a3\xABV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a\x1CJWP\x80`\t\x01\x80Ta\x1CF\x90aF\x8BV[\x15\x90P[\x80a\x1CSWP\x82\x15[\x15a\x1CqW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x14a\x1C\x9DW`@Qc\x07\xECv9`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x82`\x06\x01Ta\x1C\xAF\x91\x90aH(V[\x90P\x81`\x02\x01T\x81\x11a\x1C\xD5W`@Qc\xCA^b/`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x06\x82\x01T`\0\x90a\x1C\xEFg\r\xE0\xB6\xB3\xA7d\0\0\x84aG\xEFV[a\x1C\xF9\x91\x90aH\x06V[\x90Pg\r\xE0\xB6\xB3\xA7d\0\0\x81\x10a\x1D#W`@Qc\xCA^b/`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x08\x83\x01\x81\x90Ua\x1D5`\x01CaH;V[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF7` R`@\x90\x81\x90 \x92\x90\x92U\x90Q\x7Fv\x12,\xFD_V[P\x90P`\0\x81`\x04\x81\x11\x15a\x1D\xCFWa\x1D\xCFaC\xCCV[\x14\x80a\x1D\xECWP`\x01\x81`\x04\x81\x11\x15a\x1D\xEAWa\x1D\xEAaC\xCCV[\x14[\x15a\x1E\nW`@Qc\x1C\x0E\xC29`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x88\x85R\x90\x92R\x82 `\x01\x81\x01T`\x04\x83\x01\x80T\x93\x94\x92\x93\x91\x92\x88\x92a\x1ET\x90\x84\x90aH(V[\x92PP\x81\x90UP\x80\x83`\x03\x01`\0\x82\x82Ta\x1Eo\x91\x90aH(V[\x90\x91UPP`@Q\x86\x81R`\x01`\x01`\xA0\x1B\x03\x89\x16\x90\x7F8_\xDC$)T\x16\xE3W\x12\x7F\xE2qs\x80XA\x1F`\xF8\x84|\x15\xC5X\xAC\xBC\x067&\xA6i\x90` \x01`@Q\x80\x91\x03\x90\xA2\x87`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Bi \xA1i\xFB\x88\x9C\x15T\x91\x06\xAE\xE0p\xDA\x98\x18kz\xB4\x06\xDD\x93\x84\xA0\xD3\x18\x99\xFD\xF0\x8A\x82`@Qa\x1E\xED\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2`\x04\x82\x01\x80T\x90`\0a\x1F\x07\x83aHNV[\x91\x90PUPPPPPPPPPV[a\x1A\xE53\x82a*\xA6V[`\0a\x1F*a,\xFFV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81Ra\x01\xF4` R`@\x90 `\t\x81\x01\x80Ta\x1FR\x90aF\x8BV[\x15\x90P\x80a\x1FhWP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a\x1F\x86W`@QcdF\xF9\x17`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82`\0\x03a\x1F\xA7W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1F\xDC\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x1630\x86a-7V[\x82\x81`\x01\x01`\0\x82\x82Ta\x1F\xF0\x91\x90aH;V[\x90\x91UPP`@Q\x83\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16\x90\x7F\xB6\xBE#\x16\x85\x06\xA1\xCEb\xCCo\x933\x9Fg\x10\xE0\x98De\x17\n\xB5-\xF8\xEC\xF7\xDA8\xB3E\x84\x90` \x01`@Q\x80\x91\x03\x90\xA2`\x01\x01T\x90Pa\x08q`\x01`\0\x80Q` aKj\x839\x81Q\x91RUV[a Xa,\xFFV[`\0\x80Q` aK\n\x839\x81Q\x91Ra p\x81a/\x17V[`\0\x80a }\x86\x86a\x15>V[\x90\x92P\x90P`\x01\x82`\x04\x81\x11\x15a \x96Wa \x96aC\xCCV[\x14\x80a \xB3WP`\x03\x82`\x04\x81\x11\x15a \xB1Wa \xB1aC\xCCV[\x14[a \xD0W`@QcC\x9FL\xA7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x86\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x89\x85R\x90\x92R\x90\x91 `\x01\x81\x01T\x83\x10\x15a!\"W`@Qc\x01\x19\"\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`d\x81`\x04\x01T\x11\x15a!HW`@Qc\xCA\xBDP\xD7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a!S\x89a6\x8FV[\x90P\x86\x81\x10\x15a!vW`@Qcp1\x8A1`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\x01\x01T\x90P\x87\x84`\x04\x01`\0\x82\x82Ta!\x93\x91\x90aH;V[\x92PP\x81\x90UP\x80\x84`\x03\x01`\0\x82\x82Ta!\xAE\x91\x90aH;V[\x90\x91UPP`@Q\x88\x81R`\x01`\x01`\xA0\x1B\x03\x8B\x16\x90\x7F\xED.\xDCnq\xBE\xB93\xF1\xE0\xC8\xCC\xFD\xF8E%\x8F7\x10\xD6l6t\xACP\xF3\x90\x08$c\xF7\xF0\x90` \x01`@Q\x80\x91\x03\x90\xA2\x89`\x01`\x01`\xA0\x1B\x03\x16\x7F\xD2\x9B\x9A\xDE\xE3+\xAF\x11\xBE\x04\0\x0Bsc\x99c\xD2\xC7n\x89\x9Fh0\xD3\xB5\xC1q]\xF1}\x82\xBD\x82`@Qa\",\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2`\x04\x83\x01\x80T\x90`\0a\"F\x83aFrV[\x91\x90PUPPPPPPPPa\x08\xB6`\x01`\0\x80Q` aKj\x839\x81Q\x91RUV[`\0[\x81\x81\x10\x15a\x08\xB6Wa\"\x963\x84\x84\x84\x81\x81\x10a\"\x8AWa\"\x8AaFFV[\x90P` \x02\x015a7\xFEV[\x80a\"\xA0\x81aFrV[\x91PPa\"lV[a\"\xB1\x82a\x0E5V[a\"\xBA\x81a/\x17V[a\x0B\xFB\x83\x83a/\xC6V[3`\0\x81\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x8D\x85R\x90\x92R\x80\x83 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x92\x93\x92\x82\x90`\xFF\x16`\x04\x81\x11\x15a#\x0CWa#\x0CaC\xCCV[`\x04\x81\x11\x15a#\x1DWa#\x1DaC\xCCV[\x81R`\x01\x82\x01T` \x82\x01R`\x02\x82\x01T`@\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x90\x91\x01T`\x80\x90\x91\x01R\x82T\x90\x91P`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a#aWP\x87\x15[\x80a#jWP\x89\x15[\x15a#\x88W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a#\x93\x8Ca8\xD0V[P\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a#\xBDW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82Q`\x04\x81\x11\x15a#\xD2Wa#\xD2aC\xCCV[\x14a#\xF0W`@Qc+[X\x0F`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x8A\x83`\x02\x01`\0\x82\x82Ta$\x04\x91\x90aH;V[\x90\x91UPP`\x06\x83\x01T`\x02\x84\x01T\x11\x15a$2W`@Qc\x07\xD9\x93\x89`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x05\x83\x01\x80T\x90`\0a$D\x83aFrV[\x90\x91UPP`@\x80Q`\xA0\x81\x01\x90\x91R\x80`\x01\x81R` \x01\x8C\x81R` \x01\x8B\x81R` \x01\x8A\x81R` \x01`\0\x81RPa\x01\xF5`\0\x86`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0\x8E\x81R` \x01\x90\x81R` \x01`\0 `\0\x82\x01Q\x81`\0\x01`\0a\x01\0\n\x81T\x81`\xFF\x02\x19\x16\x90\x83`\x04\x81\x11\x15a$\xD4Wa$\xD4aC\xCCV[\x02\x17\x90UP` \x82\x01Q`\x01\x82\x01U`@\x82\x01Q`\x02\x82\x01U``\x82\x01Q`\x03\x82\x01U`\x80\x90\x91\x01Q`\x04\x90\x91\x01U\x87\x15a%\x16Wa%\x16\x84\x8D\x89\x89\x89a3\xABV[\x8B\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x04Y\xABWU\x08\xB4\xA5\x89O{\x13\x87\xBF6-\x03!;;\xF81\xDAE&!\x8C3\xE4\xA9\x06\xD8\x8D`@Qa%R\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPPPPPPPPPV[a\x1A\xE53\x82a7\xFEV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 \x80T`\x01`\x01`\xA0\x1B\x03\x16\x15\x80a%\xA7WP\x80`\t\x01\x80Ta%\xA3\x90aF\x8BV[\x15\x90P[\x80a%\xB0WP\x82\x15[\x15a%\xCEW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x08\x01T\x14a%\xFAW`@Qc\x07\xECv9`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x82`\x01\x01Ta&\x0C\x91\x90aH(V[\x90P`\0\x82`\x01\x01Tg\r\xE0\xB6\xB3\xA7d\0\0\x83a&)\x91\x90aG\xEFV[a&3\x91\x90aH\x06V[`\x07\x84\x01\x81\x90U\x90Pa&G`\x01CaH;V[`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF6` R`@\x90\x81\x90 \x92\x90\x92U\x90Q\x7F\x13\x9A\xD7\xA0\xC3\xF6\xC0\xAD\x0F\x0F\xC5+vx`jq\xFF\x08\x1B\x99&\xA5do\xE5:\x8Eg\xC6\x8Ar\x90a\x1D\x85\x90\x84\x81R` \x01\x90V[`\0`\0\x80Q` aK\n\x839\x81Q\x91Ra&\xB1\x81a/\x17V[`\0a&\xBD\x87\x87a\x15>V[P\x90P`\0\x81`\x04\x81\x11\x15a&\xD4Wa&\xD4aC\xCCV[\x14\x80a&\xF1WP`\x01\x81`\x04\x81\x11\x15a&\xEFWa&\xEFaC\xCCV[\x14[\x15a'\x0EW`@Qb\xED=\xF3`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x87\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 a\x01\xF5\x83R\x81\x84 \x8A\x85R\x90\x92R\x82 `\x04\x81\x01\x80T\x92\x93\x91\x92\x91a'N\x83aHNV[\x91\x90PUP\x86\x82`\x01\x01`\0\x82\x82Ta'g\x91\x90aH(V[\x92PP\x81\x90UP\x86\x82`\x04\x01`\0\x82\x82Ta'\x82\x91\x90aH(V[\x90\x91UPP`\x01\x81\x01T`\x03\x83\x01\x80T\x82\x91\x90`\0\x90a'\xA3\x90\x84\x90aH(V[\x90\x91UPP`@Q\x88\x81R`\x01`\x01`\xA0\x1B\x03\x8B\x16\x90\x7F\x83\xF5\xEA\x8B\xEAv'\xD9Rt\xE9M\xD7\xE9\xE3\xD7\xE8,\xB5_\xEA\xB5\x13\xEDI\xE3%#-\xCCa\xE0\x90` \x01`@Q\x80\x91\x03\x90\xA2\x89`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Bi \xA1i\xFB\x88\x9C\x15T\x91\x06\xAE\xE0p\xDA\x98\x18kz\xB4\x06\xDD\x93\x84\xA0\xD3\x18\x99\xFD\xF0\x8A\x82`@Qa(!\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2a(]`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x88\x8Aa3zV[PP`\x01\x01T\x97\x96PPPPPPPV[a(va,\xFFV[3`\0\x81\x81Ra\x01\xF4` R`@\x90 `\t\x81\x01\x80Ta(\x95\x90aF\x8BV[\x15\x90P\x80a(\xABWP\x80T`\x01`\x01`\xA0\x1B\x03\x16\x15[\x15a(\xC9W`@QcdF\xF9\x17`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[g\r\xE0\xB6\xB3\xA7d\0\0\x81`\x07\x01T\x03a(\xF5W`@QcYF\x0E\x07`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\x01\x01T\x83`\x07\x01Ta)\x14\x91\x90aG\xEFV[a)\x1E\x91\x90aH\x06V[\x90P`\0\x81\x83`\x01\x01Ta)2\x91\x90aH(V[\x90P\x82`\x04\x01T\x82\x10\x15a)YW`@Qcp1\x8A1`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a)\x8D`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x86\x83a3zV[`\x01\x83\x01\x82\x90Ug\r\xE0\xB6\xB3\xA7d\0\0`\x07\x84\x01U`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF6` R`@\x90 TC\x10\x80\x15\x90a)\xE3WP`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81Ra\x01\xF6` R`@\x90 T\x15\x15[a*\0W`@Qc8l\xF4\x07`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x81\x81Ra\x01\xF6` R`@\x80\x82 \x91\x90\x91UQ\x7F\xE5+=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra+\x19\x91\x90\x81\x01\x90aH\xAAV[P\x94\x95PP`\x01`\x01`\xA0\x1B\x03\x85\x16\x93Pa+K\x92PPPW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x80\x82 \x81Q`\xA0\x81\x01\x90\x92R\x80T\x82\x90`\xFF\x16`\x04\x81\x11\x15a+\x91Wa+\x91aC\xCCV[`\x04\x81\x11\x15a+\xA2Wa+\xA2aC\xCCV[\x81R`\x01\x82\x01T` \x82\x01R`\x02\x82\x01T`@\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x90\x91\x01T`\x80\x90\x91\x01R\x90P`\0\x81Q`\x04\x81\x11\x15a+\xE5Wa+\xE5aC\xCCV[\x03a,\x03W`@Qc\x04\xC9\xDE\x83`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x81\x01Q\x15a,&W`@Qc\x02\xE0}\x87`\xE6\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF4`\0\x86`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 \x90P\x81` \x01Q\x81`\x02\x01`\0\x82\x82Ta,h\x91\x90aH(V[\x92PP\x81\x90UP`\x01\x81`\x05\x01`\0\x82\x82Ta,\x84\x91\x90aH(V[\x90\x91UPP`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x81\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x88\x84R\x90\x91R\x80\x82 \x80T`\xFF\x19\x16\x81U`\x01\x81\x01\x83\x90U`\x02\x81\x01\x83\x90U`\x03\x81\x01\x83\x90U`\x04\x01\x82\x90UQ\x86\x92\x91\x7F\x83\x1C\xD5\xB7S\x83\x80\xB0\xA2\xA3\x14\x14\xD64\xECBq\x16\x07V\x84\xA2v\x82\x8A\xB4\xD2ut\xA2\xDF\xDF\x91\xA3PPPPPV[`\0\x80Q` aKj\x839\x81Q\x91R\x80T`\x01\x19\x01a-1W`@Qc>\xE5\xAE\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x90UV[`@Q`\x01`\x01`\xA0\x1B\x03\x84\x81\x16`$\x83\x01R\x83\x81\x16`D\x83\x01R`d\x82\x01\x83\x90Ra\x0B\xFB\x91\x86\x91\x82\x16\x90c#\xB8r\xDD\x90`\x84\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x91P`\xE0\x1B` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x83\x81\x83\x16\x17\x83RPPPPa9]V[`\0\x80`\0\x80\x84\x80` \x01\x90Q\x81\x01\x90a-\xB8\x91\x90aI5V[PPP\x94P\x94P\x94PPPa-\xCE\x83\x83\x83a9\xC0V[\x95\x94PPPPPV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rbivs`\xE8\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\0\x84\x82`@Q` \x01a.4\x92\x91\x90aJ#V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a.W\x82a9\xF9V[\x90P`\0a.\x9B\x82\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa:4\x92PPPV[\x90Pa.\xA6\x87a.\xE7V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a\x13\xC2W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a.\xFE\x91\x90aI5V[PPPPPP\x91PPa/\x10\x81a:^V[\x93\x92PPPV[a\x1A\xE5\x813a:\x8EV[`\0`\0\x80Q` aKJ\x839\x81Q\x91Ra/<\x84\x84a\x1B\xD0V[a/\xBCW`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua/r3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x85\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4`\x01\x91PPa\x08qV[`\0\x91PPa\x08qV[`\0`\0\x80Q` aKJ\x839\x81Q\x91Ra/\xE1\x84\x84a\x1B\xD0V[\x15a/\xBCW`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x87\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4`\x01\x91PPa\x08qV[a0Ja:\xC7V[V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a0\xD3WP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a0\xC7`\0\x80Q` aK*\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a0JW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x14\x8A\x81a/\x17V[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a1VWP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra1S\x91\x81\x01\x90aJMV[`\x01[a1~W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a.\xDEV[`\0\x80Q` aK*\x839\x81Q\x91R\x81\x14a1\xAFW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a.\xDEV[a\x08\xB6\x83\x83a;\x10V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a0JW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x80\x82\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x84\x93\x90\x92\x91a\x01 \x84\x01\x91a2\x9D\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta2\xC9\x90aF\x8BV[\x80\x15a3\x16W\x80`\x1F\x10a2\xEBWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a3\x16V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a2\xF9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82a\x01\0\x01Q\x83`\xC0\x01Qa3A\x91\x90aG\xEFV[a3K\x91\x90aH\x06V[\x90P\x81``\x01Q\x81\x10\x15a3cWP`\0\x93\x92PPPV[``\x82\x01Qa3r\x90\x82aH(V[\x94\x93PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`$\x83\x01R`D\x82\x01\x83\x90Ra\x08\xB6\x91\x85\x91\x82\x16\x90c\xA9\x05\x9C\xBB\x90`d\x01a-lV[`\x01`\x01`\xA0\x1B\x03\x80\x86\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x92a\x01 \x84\x01\x91\x90a4C\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta4o\x90aF\x8BV[\x80\x15a4\xBCW\x80`\x1F\x10a4\x91Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a4\xBCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a4\x9FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP\x81Q\x91\x92PP`\x01`\x01`\xA0\x1B\x03\x16a4\xF1W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a4\xFC\x86a8\xD0V[\x91PPa5\x08\x81a;fV[a5%W`@Qc!\xA4\x8B\x8B`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16ck[!\xA6a5]\x87a-\x9EV[a5f\x89a;\x9BV[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a5\xA7W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a5\xCB\x91\x90aG\xD2V[a5\xE8W`@Qc\xC4e\xE6\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a5\xF3\x86a;\xCAV[\x90Pa6\x01\x86\x86\x86\x8Ba.\x1FV[`@Qc4\xFE\xDEe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90ci\xFD\xBC\xCA\x90a6S\x90\x8B\x90\x8B\x90\x86\x90\x8C\x90`\x04\x01aJfV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a6mW`\0\x80\xFD[PZ\xF1\x15\x80\x15a6\x81W=`\0\x80>=`\0\xFD[PPPPPPPPPPPPV[`\x01`\x01`\xA0\x1B\x03\x80\x82\x16`\0\x90\x81Ra\x01\xF4` \x90\x81R`@\x80\x83 \x81Qa\x01@\x81\x01\x83R\x81T\x90\x95\x16\x85R`\x01\x81\x01T\x92\x85\x01\x92\x90\x92R`\x02\x82\x01T\x90\x84\x01R`\x03\x81\x01T``\x84\x01R`\x04\x81\x01T`\x80\x84\x01R`\x05\x81\x01T`\xA0\x84\x01R`\x06\x81\x01T`\xC0\x84\x01R`\x07\x81\x01T`\xE0\x84\x01R`\x08\x81\x01Ta\x01\0\x84\x01R`\t\x81\x01\x80T\x92\x93\x84\x93\x90\x92\x91a\x01 \x84\x01\x91a7*\x90aF\x8BV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta7V\x90aF\x8BV[\x80\x15a7\xA3W\x80`\x1F\x10a7xWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a7\xA3V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a7\x86W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0g\r\xE0\xB6\xB3\xA7d\0\0\x82`\xE0\x01Q\x83` \x01Qa7\xCD\x91\x90aG\xEFV[a7\xD7\x91\x90aH\x06V[\x90P\x81`\x80\x01Q\x81\x10\x15a7\xEFWP`\0\x93\x92PPPV[`\x80\x82\x01Qa3r\x90\x82aH(V[`\0a8\n\x83\x83a\x15>V[P\x90P`\0\x81`\x04\x81\x11\x15a8!Wa8!aC\xCCV[\x14\x15\x80\x15a8AWP`\x04\x81`\x04\x81\x11\x15a8>Wa8>aC\xCCV[\x14\x15[a8^W`@Qc0\x04\x82\x87`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x81\x81Ra\x01\xF5` \x90\x81R`@\x80\x83 \x86\x84R\x90\x91R\x80\x82 \x80T`\xFF\x19\x16`\x04\x17\x81U\x90Q\x90\x92\x85\x92\x90\x91\x7F\xF9\xE1yp\xDFW\xA6\xA8E}\xCB\xB5\xC2\x91gkF1\xD37\xCFv\xB0\xC8\x01\xF6\xB8\xADj|_\x92\x91\x90\xA3\x80`\x04\x01T`\0\x03a\x0B\xFBWa\x0B\xFB\x84\x84a*\xA6V[a\x01\xF8T`@Qc\xF8\xA9H/`\xE0\x1B\x81R`\x04\x81\x01\x83\x90R`\0\x91\x82\x91\x82\x91\x82\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\xF8\xA9H/\x90`$\x01`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a9#W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra9K\x91\x90\x81\x01\x90aH\xAAV[P\x94\x9A\x93\x99P\x92\x97PPPPPPPPV[`\0a9r`\x01`\x01`\xA0\x1B\x03\x84\x16\x83a;\xF1V[\x90P\x80Q`\0\x14\x15\x80\x15a9\x97WP\x80\x80` \x01\x90Q\x81\x01\x90a9\x95\x91\x90aG\xD2V[\x15[\x15a\x08\xB6W`@QcRt\xAF\xE7`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x01a.\xDEV[`\0\x80\x84\x84\x84`@Q` \x01a9\xD8\x93\x92\x91\x90aJ\xAAV[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01a.\x02V[`\0\x80`\0\x80a:D\x86\x86a;\xFFV[\x92P\x92P\x92Pa:T\x82\x82a#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a0JW`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a;\x19\x82a=\x05V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a;^Wa\x08\xB6\x82\x82a=jV[a\x14\x8Aa=\xD7V[`\0\x81\x15\x80a;\x94WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rb3\xB2\xB7`\xE9\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01a.\x02V[```\0\x82\x80` \x01\x90Q\x81\x01\x90a;\xE2\x91\x90aI5V[P\x94\x99\x98PPPPPPPPPV[``a/\x10\x83\x83`\0a=\xF6V[`\0\x80`\0\x83Q`A\x03a<9W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa<+\x88\x82\x85\x85a>\x93V[\x95P\x95P\x95PPPPaa=\xC7V[``\x91P[P\x91P\x91Pa-\xCE\x85\x83\x83a?bV[4\x15a0JW`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81G\x10\x15a>\x1BW`@Qc\xCDx`Y`\xE0\x1B\x81R0`\x04\x82\x01R`$\x01a.\xDEV[`\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x84\x86`@Qa>7\x91\x90aJ\xEDV[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a>tW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a>yV[``\x91P[P\x91P\x91Pa>\x89\x86\x83\x83a?bV[\x96\x95PPPPPPV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a>\xCEWP`\0\x91P`\x03\x90P\x82a?XV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a?\"W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a?NWP`\0\x92P`\x01\x91P\x82\x90Pa?XV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[``\x82a?wWa?r\x82a?\xBEV[a/\x10V[\x81Q\x15\x80\x15a?\x8EWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a?\xB7W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a.\xDEV[P\x80a/\x10V[\x80Q\x15a?\xCEW\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Ta?\xF3\x90aF\x8BV[`\0\x82U\x80`\x1F\x10a@\x03WPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x1A\xE5\x91\x90[\x80\x82\x11\x15a@1W`\0\x81U`\x01\x01a@\x1DV[P\x90V[`\0` \x82\x84\x03\x12\x15a@GW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a/\x10W`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a@rW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a@\x89W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a@\x9DW`\0\x80\xFD[\x815\x81\x81\x11\x15a@\xACW`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a@\xC1W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x1A\xE5W`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aA&WaA&a@\xE8V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aAGWaAGa@\xE8V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aAfW`\0\x80\xFD[\x815aAyaAt\x82aA.V[a@\xFEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aA\x8EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15aA\xC1W`\0\x80\xFD[\x845aA\xCC\x81a@\xD3V[\x93P` \x85\x015\x92P`@\x85\x015\x91P``\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aA\xF5W`\0\x80\xFD[aB\x01\x87\x82\x88\x01aAUV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15aB W`\0\x80\xFD[\x825aB+\x81a@\xD3V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80\x83`\x1F\x84\x01\x12aBKW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aBbW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x0C\x9CW`\0\x80\xFD[`\0\x80`\0\x80``\x85\x87\x03\x12\x15aB\x90W`\0\x80\xFD[\x845\x93P` \x85\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aB\xAEW`\0\x80\xFD[aB\xBA\x88\x83\x89\x01aAUV[\x94P`@\x87\x015\x91P\x80\x82\x11\x15aB\xD0W`\0\x80\xFD[PaB\xDD\x87\x82\x88\x01aB9V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15aB\xFBW`\0\x80\xFD[P5\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15aC\x15W`\0\x80\xFD[\x825\x91P` \x83\x015aC'\x81a@\xD3V[\x80\x91PP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15aCEW`\0\x80\xFD[\x825aCP\x81a@\xD3V[\x91P` \x83\x015aC'\x81a@\xD3V[`\0` \x82\x84\x03\x12\x15aCrW`\0\x80\xFD[\x815a/\x10\x81a@\xD3V[`\0\x80`@\x83\x85\x03\x12\x15aC\x90W`\0\x80\xFD[\x825aC\x9B\x81a@\xD3V[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aC\xB6W`\0\x80\xFD[aC\xC2\x85\x82\x86\x01aAUV[\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x05\x81\x10aD\0WcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[`@\x81\x01aD\x12\x82\x85aC\xE2V[\x82` \x83\x01R\x93\x92PPPV[`\0[\x83\x81\x10\x15aD:W\x81\x81\x01Q\x83\x82\x01R` \x01aD\"V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84RaD[\x81` \x86\x01` \x86\x01aD\x1FV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0a\x01@`\x01\x80`\xA0\x1B\x03\x8D\x16\x83R\x8B` \x84\x01R\x8A`@\x84\x01R\x89``\x84\x01R\x88`\x80\x84\x01R\x87`\xA0\x84\x01R\x86`\xC0\x84\x01R\x85`\xE0\x84\x01R\x84a\x01\0\x84\x01R\x80a\x01 \x84\x01RaD\xC3\x81\x84\x01\x85aDCV[\x9D\x9CPPPPPPPPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15aD\xE9W`\0\x80\xFD[\x835aD\xF4\x81a@\xD3V[\x95` \x85\x015\x95P`@\x90\x94\x015\x93\x92PPPV[`\xA0\x81\x01aE\x17\x82\x88aC\xE2V[\x85` \x83\x01R\x84`@\x83\x01R\x83``\x83\x01R\x82`\x80\x83\x01R\x96\x95PPPPPPV[` \x81R`\0a/\x10` \x83\x01\x84aDCV[\x80\x15\x15\x81\x14a\x1A\xE5W`\0\x80\xFD[`\0\x80`\0\x80`\0\x80`\0\x80`\xE0\x89\x8B\x03\x12\x15aEvW`\0\x80\xFD[\x885\x97P` \x89\x015\x96P`@\x89\x015\x95P``\x89\x015\x94P`\x80\x89\x015aE\x9D\x81aELV[\x93P`\xA0\x89\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aE\xB9W`\0\x80\xFD[aE\xC5\x8C\x83\x8D\x01aAUV[\x94P`\xC0\x8B\x015\x91P\x80\x82\x11\x15aE\xDBW`\0\x80\xFD[PaE\xE8\x8B\x82\x8C\x01aB9V[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15aF\x12W`\0\x80\xFD[\x845aF\x1D\x81a@\xD3V[\x93P` \x85\x015\x92P`@\x85\x015\x91P``\x85\x015aF;\x81a@\xD3V[\x93\x96\x92\x95P\x90\x93PPV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0`\x01\x82\x01aF\x84WaF\x84aF\\V[P`\x01\x01\x90V[`\x01\x81\x81\x1C\x90\x82\x16\x80aF\x9FW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03aF\xBFWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x08\xB6W`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15aF\xECWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15aG\x0BW\x82\x81U`\x01\x01aF\xF8V[PPPPPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15aG,WaG,a@\xE8V[aG@\x81aG:\x84TaF\x8BV[\x84aF\xC5V[` \x80`\x1F\x83\x11`\x01\x81\x14aGuW`\0\x84\x15aG]WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85UaG\x0BV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15aG\xA4W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01aG\x85V[P\x85\x82\x10\x15aG\xC2W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0` \x82\x84\x03\x12\x15aG\xE4W`\0\x80\xFD[\x81Qa/\x10\x81aELV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x08qWa\x08qaF\\V[`\0\x82aH#WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x81\x81\x03\x81\x81\x11\x15a\x08qWa\x08qaF\\V[\x80\x82\x01\x80\x82\x11\x15a\x08qWa\x08qaF\\V[`\0\x81aH]WaH]aF\\V[P`\0\x19\x01\x90V[`\0\x82`\x1F\x83\x01\x12aHvW`\0\x80\xFD[\x81QaH\x84aAt\x82aA.V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aH\x99W`\0\x80\xFD[a3r\x82` \x83\x01` \x87\x01aD\x1FV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15aH\xC5W`\0\x80\xFD[\x87QaH\xD0\x81a@\xD3V[\x80\x97PP` \x88\x01Q\x95P`@\x88\x01Q\x94P``\x88\x01Q\x93P`\x80\x88\x01Q\x92P`\xA0\x88\x01QaH\xFE\x81a@\xD3V[`\xC0\x89\x01Q\x90\x92P`\x01`\x01`@\x1B\x03\x81\x11\x15aI\x1AW`\0\x80\xFD[aI&\x8A\x82\x8B\x01aHeV[\x91PP\x92\x95\x98\x91\x94\x97P\x92\x95PV[`\0\x80`\0\x80`\0\x80`\0\x80a\x01\0\x89\x8B\x03\x12\x15aIRW`\0\x80\xFD[\x88Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aIiW`\0\x80\xFD[aIu\x8C\x83\x8D\x01aHeV[\x99P` \x8B\x01Q\x91P\x80\x82\x11\x15aI\x8BW`\0\x80\xFD[aI\x97\x8C\x83\x8D\x01aHeV[\x98P`@\x8B\x01Q\x91P\x80\x82\x11\x15aI\xADW`\0\x80\xFD[aI\xB9\x8C\x83\x8D\x01aHeV[\x97P``\x8B\x01Q\x91P\x80\x82\x11\x15aI\xCFW`\0\x80\xFD[aI\xDB\x8C\x83\x8D\x01aHeV[\x96P`\x80\x8B\x01Q\x91P\x80\x82\x11\x15aI\xF1W`\0\x80\xFD[PaI\xFE\x8B\x82\x8C\x01aHeV[\x94PP`\xA0\x89\x01Q\x92P`\xC0\x89\x01Q\x91P`\xE0\x89\x01Q\x90P\x92\x95\x98P\x92\x95\x98\x90\x93\x96PV[`@\x81R`\0aJ6`@\x83\x01\x85aDCV[\x90P`\x01\x80`\xA0\x1B\x03\x83\x16` \x83\x01R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15aJ_W`\0\x80\xFD[PQ\x91\x90PV[`\x01\x80`\xA0\x1B\x03\x85\x16\x81R\x83` \x82\x01R`\x80`@\x82\x01R`\0aJ\x8D`\x80\x83\x01\x85aDCV[\x82\x81\x03``\x84\x01RaJ\x9F\x81\x85aDCV[\x97\x96PPPPPPPV[`\0\x84QaJ\xBC\x81\x84` \x89\x01aD\x1FV[\x84Q\x90\x83\x01\x90aJ\xD0\x81\x83` \x89\x01aD\x1FV[\x84Q\x91\x01\x90aJ\xE3\x81\x83` \x88\x01aD\x1FV[\x01\x95\x94PPPPPV[`\0\x82QaJ\xFF\x81\x84` \x87\x01aD\x1FV[\x91\x90\x91\x01\x92\x91PPV\xFE\xC7\x9BP*\x85%\xF5\x83\xD1)\xC1Ep\xE1|\xE9\xBC\xA2a\x10\xA5\xC4\x1A\xB7\xE2Uo\x95\xE0\x81\xFE\xC56\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\xA2dipfsX\"\x12 &\x8D\xE9\xE2\xDCRs3!\xA0\xB7f;\xEC\xC9\xBB\x9F\xE8\x06_i;\x0C\xA7\x9E\x15.5\xD5\xA6RJdsolcC\0\x08\x14\x003"; /// The deployed bytecode of the contract. pub static GENERATORREGISTRY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); diff --git a/bindings/src/helper.rs b/bindings/src/helper.rs index 5ed6720..66b0ddc 100644 --- a/bindings/src/helper.rs +++ b/bindings/src/helper.rs @@ -25,12 +25,12 @@ pub mod helper { pub static HELPER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x12\xCF\xEB\\.\x983\xBFz\x93\x8E\x9B\x10\x1B\x12;\x07\x10\x97n\n\x99\x83\x10\x07\xC6\xA6\xBC\xA5\xCB\xA6SdsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 'p\xF6\x1A\x1B\xD0\xA7\x9D\x0C`\x1D\x1C#\xF9t\xC7\xA5\xAD!\xCA?^\xD4}\x03\x8Cp\xB1i\x8B\x8CvdsolcC\0\x08\x14\x003"; /// The bytecode of the contract. pub static HELPER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x12\xCF\xEB\\.\x983\xBFz\x93\x8E\x9B\x10\x1B\x12;\x07\x10\x97n\n\x99\x83\x10\x07\xC6\xA6\xBC\xA5\xCB\xA6SdsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 'p\xF6\x1A\x1B\xD0\xA7\x9D\x0C`\x1D\x1C#\xF9t\xC7\xA5\xAD!\xCA?^\xD4}\x03\x8Cp\xB1i\x8B\x8CvdsolcC\0\x08\x14\x003"; /// The deployed bytecode of the contract. pub static HELPER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); diff --git a/bindings/src/i_plonk_vk.rs b/bindings/src/i_plonk_vk.rs deleted file mode 100644 index dc1f940..0000000 --- a/bindings/src/i_plonk_vk.rs +++ /dev/null @@ -1,146 +0,0 @@ -pub use i_plonk_vk::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod i_plonk_vk { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_proof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_publicInputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32[]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static I_PLONK_VK_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct i_plonk_vk(::ethers::contract::Contract); - impl ::core::clone::Clone for i_plonk_vk { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for i_plonk_vk { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for i_plonk_vk { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for i_plonk_vk { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(i_plonk_vk)) - .field(&self.address()) - .finish() - } - } - impl i_plonk_vk { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - I_PLONK_VK_ABI.clone(), - client, - )) - } - ///Calls the contract's `verify` (0xea50d0e4) function - pub fn verify( - &self, - proof: ::ethers::core::types::Bytes, - public_inputs: ::std::vec::Vec<[u8; 32]>, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([234, 80, 208, 228], (proof, public_inputs)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> for i_plonk_vk { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `verify` function with signature `verify(bytes,bytes32[])` and selector `0xea50d0e4` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes,bytes32[])")] - pub struct VerifyCall { - pub proof: ::ethers::core::types::Bytes, - pub public_inputs: ::std::vec::Vec<[u8; 32]>, - } - ///Container type for all return fields from the `verify` function with signature `verify(bytes,bytes32[])` and selector `0xea50d0e4` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); -} diff --git a/bindings/src/i_transfer_verifier.rs b/bindings/src/i_transfer_verifier.rs deleted file mode 100644 index 0faffe9..0000000 --- a/bindings/src/i_transfer_verifier.rs +++ /dev/null @@ -1,154 +0,0 @@ -pub use i_transfer_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod i_transfer_verifier { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("verifyProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyProof"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("input"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 5usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[5]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("p"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 8usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[8]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static I_TRANSFER_VERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct i_transfer_verifier(::ethers::contract::Contract); - impl ::core::clone::Clone for i_transfer_verifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for i_transfer_verifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for i_transfer_verifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for i_transfer_verifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(i_transfer_verifier)) - .field(&self.address()) - .finish() - } - } - impl i_transfer_verifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - I_TRANSFER_VERIFIER_ABI.clone(), - client, - )) - } - ///Calls the contract's `verifyProof` (0x68444dc7) function - pub fn verify_proof( - &self, - input: [::ethers::core::types::U256; 5], - p: [::ethers::core::types::U256; 8], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([104, 68, 77, 199], (input, p)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for i_transfer_verifier - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `verifyProof` function with signature `verifyProof(uint256[5],uint256[8])` and selector `0x68444dc7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verifyProof", abi = "verifyProof(uint256[5],uint256[8])")] - pub struct VerifyProofCall { - pub input: [::ethers::core::types::U256; 5], - pub p: [::ethers::core::types::U256; 8], - } - ///Container type for all return fields from the `verifyProof` function with signature `verifyProof(uint256[5],uint256[8])` and selector `0x68444dc7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyProofReturn(pub bool); -} diff --git a/bindings/src/i_verifier_zksync.rs b/bindings/src/i_verifier_zksync.rs deleted file mode 100644 index 974f591..0000000 --- a/bindings/src/i_verifier_zksync.rs +++ /dev/null @@ -1,284 +0,0 @@ -pub use i_verifier_zksync::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod i_verifier_zksync { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("verificationKeyHash"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verificationKeyHash",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_publicInputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_proof"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_recursiveAggregationInput", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static IVERIFIER_ZKSYNC_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct IVerifier_zksync(::ethers::contract::Contract); - impl ::core::clone::Clone for IVerifier_zksync { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for IVerifier_zksync { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for IVerifier_zksync { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for IVerifier_zksync { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(IVerifier_zksync)) - .field(&self.address()) - .finish() - } - } - impl IVerifier_zksync { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IVERIFIER_ZKSYNC_ABI.clone(), - client, - )) - } - ///Calls the contract's `verificationKeyHash` (0x9e8945d2) function - pub fn verification_key_hash( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([158, 137, 69, 210], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0x87d9d023) function - pub fn verify( - &self, - public_inputs: ::std::vec::Vec<::ethers::core::types::U256>, - proof: ::std::vec::Vec<::ethers::core::types::U256>, - recursive_aggregation_input: ::std::vec::Vec<::ethers::core::types::U256>, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash( - [135, 217, 208, 35], - (public_inputs, proof, recursive_aggregation_input), - ) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for IVerifier_zksync - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `verificationKeyHash` function with signature `verificationKeyHash()` and selector `0x9e8945d2` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verificationKeyHash", abi = "verificationKeyHash()")] - pub struct VerificationKeyHashCall; - ///Container type for all input parameters for the `verify` function with signature `verify(uint256[],uint256[],uint256[])` and selector `0x87d9d023` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(uint256[],uint256[],uint256[])")] - pub struct VerifyCall { - pub public_inputs: ::std::vec::Vec<::ethers::core::types::U256>, - pub proof: ::std::vec::Vec<::ethers::core::types::U256>, - pub recursive_aggregation_input: ::std::vec::Vec<::ethers::core::types::U256>, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum IVerifier_zksyncCalls { - VerificationKeyHash(VerificationKeyHashCall), - Verify(VerifyCall), - } - impl ::ethers::core::abi::AbiDecode for IVerifier_zksyncCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerificationKeyHash(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for IVerifier_zksyncCalls { - fn encode(self) -> Vec { - match self { - Self::VerificationKeyHash(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for IVerifier_zksyncCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::VerificationKeyHash(element) => ::core::fmt::Display::fmt(element, f), - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for IVerifier_zksyncCalls { - fn from(value: VerificationKeyHashCall) -> Self { - Self::VerificationKeyHash(value) - } - } - impl ::core::convert::From for IVerifier_zksyncCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - ///Container type for all return fields from the `verificationKeyHash` function with signature `verificationKeyHash()` and selector `0x9e8945d2` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerificationKeyHashReturn(pub [u8; 32]); - ///Container type for all return fields from the `verify` function with signature `verify(uint256[],uint256[],uint256[])` and selector `0x87d9d023` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); -} diff --git a/bindings/src/i_xor_2_verifier.rs b/bindings/src/i_xor_2_verifier.rs deleted file mode 100644 index f975245..0000000 --- a/bindings/src/i_xor_2_verifier.rs +++ /dev/null @@ -1,190 +0,0 @@ -pub use i_xor_2_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod i_xor_2_verifier { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("verifyProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyProof"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("a"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("b"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 2usize, - ), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2][2]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("c"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("input"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 1usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[1]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static I_XOR2_VERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct i_xor2_verifier(::ethers::contract::Contract); - impl ::core::clone::Clone for i_xor2_verifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for i_xor2_verifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for i_xor2_verifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for i_xor2_verifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(i_xor2_verifier)) - .field(&self.address()) - .finish() - } - } - impl i_xor2_verifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - I_XOR2_VERIFIER_ABI.clone(), - client, - )) - } - ///Calls the contract's `verifyProof` (0x43753b4d) function - pub fn verify_proof( - &self, - a: [::ethers::core::types::U256; 2], - b: [[::ethers::core::types::U256; 2]; 2], - c: [::ethers::core::types::U256; 2], - input: [::ethers::core::types::U256; 1], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([67, 117, 59, 77], (a, b, c, input)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for i_xor2_verifier - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `verifyProof` function with signature `verifyProof(uint256[2],uint256[2][2],uint256[2],uint256[1])` and selector `0x43753b4d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyProof", - abi = "verifyProof(uint256[2],uint256[2][2],uint256[2],uint256[1])" - )] - pub struct VerifyProofCall { - pub a: [::ethers::core::types::U256; 2], - pub b: [[::ethers::core::types::U256; 2]; 2], - pub c: [::ethers::core::types::U256; 2], - pub input: [::ethers::core::types::U256; 1], - } - ///Container type for all return fields from the `verifyProof` function with signature `verifyProof(uint256[2],uint256[2][2],uint256[2],uint256[1])` and selector `0x43753b4d` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyProofReturn(pub bool); -} diff --git a/bindings/src/i_zksync_verifier.rs b/bindings/src/i_zksync_verifier.rs deleted file mode 100644 index 80e127b..0000000 --- a/bindings/src/i_zksync_verifier.rs +++ /dev/null @@ -1,165 +0,0 @@ -pub use i_zksync_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod i_zksync_verifier { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static I_ZKSYNC_VERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct i_zksync_verifier(::ethers::contract::Contract); - impl ::core::clone::Clone for i_zksync_verifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for i_zksync_verifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for i_zksync_verifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for i_zksync_verifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(i_zksync_verifier)) - .field(&self.address()) - .finish() - } - } - impl i_zksync_verifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - I_ZKSYNC_VERIFIER_ABI.clone(), - client, - )) - } - ///Calls the contract's `verify` (0x87d9d023) function - pub fn verify( - &self, - p0: ::std::vec::Vec<::ethers::core::types::U256>, - p1: ::std::vec::Vec<::ethers::core::types::U256>, - p2: ::std::vec::Vec<::ethers::core::types::U256>, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([135, 217, 208, 35], (p0, p1, p2)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for i_zksync_verifier - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `verify` function with signature `verify(uint256[],uint256[],uint256[])` and selector `0x87d9d023` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(uint256[],uint256[],uint256[])")] - pub struct VerifyCall( - pub ::std::vec::Vec<::ethers::core::types::U256>, - pub ::std::vec::Vec<::ethers::core::types::U256>, - pub ::std::vec::Vec<::ethers::core::types::U256>, - ); - ///Container type for all return fields from the `verify` function with signature `verify(uint256[],uint256[],uint256[])` and selector `0x87d9d023` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); -} diff --git a/bindings/src/ierc1155_errors.rs b/bindings/src/ierc1155_errors.rs deleted file mode 100644 index 2a89af9..0000000 --- a/bindings/src/ierc1155_errors.rs +++ /dev/null @@ -1,546 +0,0 @@ -pub use ierc1155_errors::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod ierc1155_errors { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::std::collections::BTreeMap::new(), - events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("ERC1155InsufficientBalance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1155InsufficientBalance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("balance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenId"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1155InvalidApprover"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1155InvalidApprover",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1155InvalidArrayLength"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1155InvalidArrayLength",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("idsLength"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("valuesLength"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1155InvalidOperator"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1155InvalidOperator",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("operator"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1155InvalidReceiver"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1155InvalidReceiver",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1155InvalidSender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1155InvalidSender",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1155MissingApprovalForAll"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1155MissingApprovalForAll",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("operator"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static IERC1155ERRORS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct IERC1155Errors(::ethers::contract::Contract); - impl ::core::clone::Clone for IERC1155Errors { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for IERC1155Errors { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for IERC1155Errors { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for IERC1155Errors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(IERC1155Errors)) - .field(&self.address()) - .finish() - } - } - impl IERC1155Errors { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IERC1155ERRORS_ABI.clone(), - client, - )) - } - } - impl From<::ethers::contract::Contract> - for IERC1155Errors - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `ERC1155InsufficientBalance` with signature `ERC1155InsufficientBalance(address,uint256,uint256,uint256)` and selector `0x03dee4c5` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC1155InsufficientBalance", - abi = "ERC1155InsufficientBalance(address,uint256,uint256,uint256)" - )] - pub struct ERC1155InsufficientBalance { - pub sender: ::ethers::core::types::Address, - pub balance: ::ethers::core::types::U256, - pub needed: ::ethers::core::types::U256, - pub token_id: ::ethers::core::types::U256, - } - ///Custom Error type `ERC1155InvalidApprover` with signature `ERC1155InvalidApprover(address)` and selector `0x3e31884e` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC1155InvalidApprover", - abi = "ERC1155InvalidApprover(address)" - )] - pub struct ERC1155InvalidApprover { - pub approver: ::ethers::core::types::Address, - } - ///Custom Error type `ERC1155InvalidArrayLength` with signature `ERC1155InvalidArrayLength(uint256,uint256)` and selector `0x5b059991` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC1155InvalidArrayLength", - abi = "ERC1155InvalidArrayLength(uint256,uint256)" - )] - pub struct ERC1155InvalidArrayLength { - pub ids_length: ::ethers::core::types::U256, - pub values_length: ::ethers::core::types::U256, - } - ///Custom Error type `ERC1155InvalidOperator` with signature `ERC1155InvalidOperator(address)` and selector `0xced3e100` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC1155InvalidOperator", - abi = "ERC1155InvalidOperator(address)" - )] - pub struct ERC1155InvalidOperator { - pub operator: ::ethers::core::types::Address, - } - ///Custom Error type `ERC1155InvalidReceiver` with signature `ERC1155InvalidReceiver(address)` and selector `0x57f447ce` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC1155InvalidReceiver", - abi = "ERC1155InvalidReceiver(address)" - )] - pub struct ERC1155InvalidReceiver { - pub receiver: ::ethers::core::types::Address, - } - ///Custom Error type `ERC1155InvalidSender` with signature `ERC1155InvalidSender(address)` and selector `0x01a83514` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC1155InvalidSender", abi = "ERC1155InvalidSender(address)")] - pub struct ERC1155InvalidSender { - pub sender: ::ethers::core::types::Address, - } - ///Custom Error type `ERC1155MissingApprovalForAll` with signature `ERC1155MissingApprovalForAll(address,address)` and selector `0xe237d922` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC1155MissingApprovalForAll", - abi = "ERC1155MissingApprovalForAll(address,address)" - )] - pub struct ERC1155MissingApprovalForAll { - pub operator: ::ethers::core::types::Address, - pub owner: ::ethers::core::types::Address, - } - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum IERC1155ErrorsErrors { - ERC1155InsufficientBalance(ERC1155InsufficientBalance), - ERC1155InvalidApprover(ERC1155InvalidApprover), - ERC1155InvalidArrayLength(ERC1155InvalidArrayLength), - ERC1155InvalidOperator(ERC1155InvalidOperator), - ERC1155InvalidReceiver(ERC1155InvalidReceiver), - ERC1155InvalidSender(ERC1155InvalidSender), - ERC1155MissingApprovalForAll(ERC1155MissingApprovalForAll), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for IERC1155ErrorsErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC1155InsufficientBalance(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC1155InvalidApprover(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC1155InvalidArrayLength(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC1155InvalidOperator(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC1155InvalidReceiver(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC1155InvalidSender(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC1155MissingApprovalForAll(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for IERC1155ErrorsErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::ERC1155InsufficientBalance(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC1155InvalidApprover(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC1155InvalidArrayLength(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC1155InvalidOperator(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC1155InvalidReceiver(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC1155InvalidSender(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC1155MissingApprovalForAll(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for IERC1155ErrorsErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for IERC1155ErrorsErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::ERC1155InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC1155InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC1155InvalidArrayLength(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC1155InvalidOperator(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC1155InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC1155InvalidSender(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC1155MissingApprovalForAll(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for IERC1155ErrorsErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for IERC1155ErrorsErrors { - fn from(value: ERC1155InsufficientBalance) -> Self { - Self::ERC1155InsufficientBalance(value) - } - } - impl ::core::convert::From for IERC1155ErrorsErrors { - fn from(value: ERC1155InvalidApprover) -> Self { - Self::ERC1155InvalidApprover(value) - } - } - impl ::core::convert::From for IERC1155ErrorsErrors { - fn from(value: ERC1155InvalidArrayLength) -> Self { - Self::ERC1155InvalidArrayLength(value) - } - } - impl ::core::convert::From for IERC1155ErrorsErrors { - fn from(value: ERC1155InvalidOperator) -> Self { - Self::ERC1155InvalidOperator(value) - } - } - impl ::core::convert::From for IERC1155ErrorsErrors { - fn from(value: ERC1155InvalidReceiver) -> Self { - Self::ERC1155InvalidReceiver(value) - } - } - impl ::core::convert::From for IERC1155ErrorsErrors { - fn from(value: ERC1155InvalidSender) -> Self { - Self::ERC1155InvalidSender(value) - } - } - impl ::core::convert::From for IERC1155ErrorsErrors { - fn from(value: ERC1155MissingApprovalForAll) -> Self { - Self::ERC1155MissingApprovalForAll(value) - } - } -} diff --git a/bindings/src/ierc20_errors.rs b/bindings/src/ierc20_errors.rs deleted file mode 100644 index 9817d2d..0000000 --- a/bindings/src/ierc20_errors.rs +++ /dev/null @@ -1,469 +0,0 @@ -pub use ierc20_errors::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod ierc20_errors { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::std::collections::BTreeMap::new(), - events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("allowance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("balance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static IERC20ERRORS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct IERC20Errors(::ethers::contract::Contract); - impl ::core::clone::Clone for IERC20Errors { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for IERC20Errors { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for IERC20Errors { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for IERC20Errors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(IERC20Errors)) - .field(&self.address()) - .finish() - } - } - impl IERC20Errors { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IERC20ERRORS_ABI.clone(), - client, - )) - } - } - impl From<::ethers::contract::Contract> for IERC20Errors { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `ERC20InsufficientAllowance` with signature `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC20InsufficientAllowance", - abi = "ERC20InsufficientAllowance(address,uint256,uint256)" - )] - pub struct ERC20InsufficientAllowance { - pub spender: ::ethers::core::types::Address, - pub allowance: ::ethers::core::types::U256, - pub needed: ::ethers::core::types::U256, - } - ///Custom Error type `ERC20InsufficientBalance` with signature `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC20InsufficientBalance", - abi = "ERC20InsufficientBalance(address,uint256,uint256)" - )] - pub struct ERC20InsufficientBalance { - pub sender: ::ethers::core::types::Address, - pub balance: ::ethers::core::types::U256, - pub needed: ::ethers::core::types::U256, - } - ///Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and selector `0xe602df05` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidApprover", abi = "ERC20InvalidApprover(address)")] - pub struct ERC20InvalidApprover { - pub approver: ::ethers::core::types::Address, - } - ///Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and selector `0xec442f05` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidReceiver", abi = "ERC20InvalidReceiver(address)")] - pub struct ERC20InvalidReceiver { - pub receiver: ::ethers::core::types::Address, - } - ///Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and selector `0x96c6fd1e` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidSender", abi = "ERC20InvalidSender(address)")] - pub struct ERC20InvalidSender { - pub sender: ::ethers::core::types::Address, - } - ///Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and selector `0x94280d62` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidSpender", abi = "ERC20InvalidSpender(address)")] - pub struct ERC20InvalidSpender { - pub spender: ::ethers::core::types::Address, - } - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum IERC20ErrorsErrors { - ERC20InsufficientAllowance(ERC20InsufficientAllowance), - ERC20InsufficientBalance(ERC20InsufficientBalance), - ERC20InvalidApprover(ERC20InvalidApprover), - ERC20InvalidReceiver(ERC20InvalidReceiver), - ERC20InvalidSender(ERC20InvalidSender), - ERC20InvalidSpender(ERC20InvalidSpender), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for IERC20ErrorsErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InsufficientAllowance(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InsufficientBalance(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidApprover(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidReceiver(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidSender(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidSpender(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for IERC20ErrorsErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::ERC20InsufficientAllowance(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InsufficientBalance(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidApprover(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidReceiver(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidSender(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidSpender(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for IERC20ErrorsErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for IERC20ErrorsErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSender(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSpender(element) => ::core::fmt::Display::fmt(element, f), - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for IERC20ErrorsErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for IERC20ErrorsErrors { - fn from(value: ERC20InsufficientAllowance) -> Self { - Self::ERC20InsufficientAllowance(value) - } - } - impl ::core::convert::From for IERC20ErrorsErrors { - fn from(value: ERC20InsufficientBalance) -> Self { - Self::ERC20InsufficientBalance(value) - } - } - impl ::core::convert::From for IERC20ErrorsErrors { - fn from(value: ERC20InvalidApprover) -> Self { - Self::ERC20InvalidApprover(value) - } - } - impl ::core::convert::From for IERC20ErrorsErrors { - fn from(value: ERC20InvalidReceiver) -> Self { - Self::ERC20InvalidReceiver(value) - } - } - impl ::core::convert::From for IERC20ErrorsErrors { - fn from(value: ERC20InvalidSender) -> Self { - Self::ERC20InvalidSender(value) - } - } - impl ::core::convert::From for IERC20ErrorsErrors { - fn from(value: ERC20InvalidSpender) -> Self { - Self::ERC20InvalidSpender(value) - } - } -} diff --git a/bindings/src/ierc20_metadata.rs b/bindings/src/ierc20_metadata.rs deleted file mode 100644 index 52e3914..0000000 --- a/bindings/src/ierc20_metadata.rs +++ /dev/null @@ -1,932 +0,0 @@ -pub use ierc20_metadata::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod ierc20_metadata { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ]), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static IERC20METADATA_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct IERC20Metadata(::ethers::contract::Contract); - impl ::core::clone::Clone for IERC20Metadata { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for IERC20Metadata { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for IERC20Metadata { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for IERC20Metadata { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(IERC20Metadata)) - .field(&self.address()) - .finish() - } - } - impl IERC20Metadata { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IERC20METADATA_ABI.clone(), - client, - )) - } - ///Calls the contract's `allowance` (0xdd62ed3e) function - pub fn allowance( - &self, - owner: ::ethers::core::types::Address, - spender: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([221, 98, 237, 62], (owner, spender)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `approve` (0x095ea7b3) function - pub fn approve( - &self, - spender: ::ethers::core::types::Address, - value: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([9, 94, 167, 179], (spender, value)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `balanceOf` (0x70a08231) function - pub fn balance_of( - &self, - account: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([112, 160, 130, 49], account) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `decimals` (0x313ce567) function - pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([49, 60, 229, 103], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `name` (0x06fdde03) function - pub fn name(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([6, 253, 222, 3], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `symbol` (0x95d89b41) function - pub fn symbol( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([149, 216, 155, 65], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `totalSupply` (0x18160ddd) function - pub fn total_supply( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([24, 22, 13, 221], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `transfer` (0xa9059cbb) function - pub fn transfer( - &self, - to: ::ethers::core::types::Address, - value: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([169, 5, 156, 187], (to, value)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `transferFrom` (0x23b872dd) function - pub fn transfer_from( - &self, - from: ::ethers::core::types::Address, - to: ::ethers::core::types::Address, - value: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([35, 184, 114, 221], (from, to, value)) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `Approval` event - pub fn approval_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { - self.0.event() - } - ///Gets the contract's `Transfer` event - pub fn transfer_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IERC20MetadataEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> - for IERC20Metadata - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] - pub struct ApprovalFilter { - #[ethevent(indexed)] - pub owner: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub spender: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] - pub struct TransferFilter { - #[ethevent(indexed)] - pub from: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub to: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all of the contract's events - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum IERC20MetadataEvents { - ApprovalFilter(ApprovalFilter), - TransferFilter(TransferFilter), - } - impl ::ethers::contract::EthLogDecode for IERC20MetadataEvents { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = ApprovalFilter::decode_log(log) { - return Ok(IERC20MetadataEvents::ApprovalFilter(decoded)); - } - if let Ok(decoded) = TransferFilter::decode_log(log) { - return Ok(IERC20MetadataEvents::TransferFilter(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for IERC20MetadataEvents { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for IERC20MetadataEvents { - fn from(value: ApprovalFilter) -> Self { - Self::ApprovalFilter(value) - } - } - impl ::core::convert::From for IERC20MetadataEvents { - fn from(value: TransferFilter) -> Self { - Self::TransferFilter(value) - } - } - ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "allowance", abi = "allowance(address,address)")] - pub struct AllowanceCall { - pub owner: ::ethers::core::types::Address, - pub spender: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "approve", abi = "approve(address,uint256)")] - pub struct ApproveCall { - pub spender: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] - pub struct BalanceOfCall { - pub account: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "decimals", abi = "decimals()")] - pub struct DecimalsCall; - ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "name", abi = "name()")] - pub struct NameCall; - ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "symbol", abi = "symbol()")] - pub struct SymbolCall; - ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "totalSupply", abi = "totalSupply()")] - pub struct TotalSupplyCall; - ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] - pub struct TransferCall { - pub to: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] - pub struct TransferFromCall { - pub from: ::ethers::core::types::Address, - pub to: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum IERC20MetadataCalls { - Allowance(AllowanceCall), - Approve(ApproveCall), - BalanceOf(BalanceOfCall), - Decimals(DecimalsCall), - Name(NameCall), - Symbol(SymbolCall), - TotalSupply(TotalSupplyCall), - Transfer(TransferCall), - TransferFrom(TransferFromCall), - } - impl ::ethers::core::abi::AbiDecode for IERC20MetadataCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Allowance(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Approve(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::BalanceOf(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Decimals(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Name(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Symbol(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::TotalSupply(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Transfer(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::TransferFrom(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for IERC20MetadataCalls { - fn encode(self) -> Vec { - match self { - Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for IERC20MetadataCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), - Self::Approve(element) => ::core::fmt::Display::fmt(element, f), - Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f), - Self::Decimals(element) => ::core::fmt::Display::fmt(element, f), - Self::Name(element) => ::core::fmt::Display::fmt(element, f), - Self::Symbol(element) => ::core::fmt::Display::fmt(element, f), - Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), - Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), - Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for IERC20MetadataCalls { - fn from(value: AllowanceCall) -> Self { - Self::Allowance(value) - } - } - impl ::core::convert::From for IERC20MetadataCalls { - fn from(value: ApproveCall) -> Self { - Self::Approve(value) - } - } - impl ::core::convert::From for IERC20MetadataCalls { - fn from(value: BalanceOfCall) -> Self { - Self::BalanceOf(value) - } - } - impl ::core::convert::From for IERC20MetadataCalls { - fn from(value: DecimalsCall) -> Self { - Self::Decimals(value) - } - } - impl ::core::convert::From for IERC20MetadataCalls { - fn from(value: NameCall) -> Self { - Self::Name(value) - } - } - impl ::core::convert::From for IERC20MetadataCalls { - fn from(value: SymbolCall) -> Self { - Self::Symbol(value) - } - } - impl ::core::convert::From for IERC20MetadataCalls { - fn from(value: TotalSupplyCall) -> Self { - Self::TotalSupply(value) - } - } - impl ::core::convert::From for IERC20MetadataCalls { - fn from(value: TransferCall) -> Self { - Self::Transfer(value) - } - } - impl ::core::convert::From for IERC20MetadataCalls { - fn from(value: TransferFromCall) -> Self { - Self::TransferFrom(value) - } - } - ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct AllowanceReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ApproveReturn(pub bool); - ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct BalanceOfReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct DecimalsReturn(pub u8); - ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct NameReturn(pub ::std::string::String); - ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SymbolReturn(pub ::std::string::String); - ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TransferReturn(pub bool); - ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TransferFromReturn(pub bool); -} diff --git a/bindings/src/ierc721_errors.rs b/bindings/src/ierc721_errors.rs deleted file mode 100644 index c6916d3..0000000 --- a/bindings/src/ierc721_errors.rs +++ /dev/null @@ -1,566 +0,0 @@ -pub use ierc721_errors::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod ierc721_errors { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::std::collections::BTreeMap::new(), - events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("ERC721IncorrectOwner"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC721IncorrectOwner",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenId"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC721InsufficientApproval"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC721InsufficientApproval",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("operator"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenId"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC721InvalidApprover"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC721InvalidApprover",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC721InvalidOperator"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC721InvalidOperator",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("operator"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC721InvalidOwner"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC721InvalidOwner"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC721InvalidReceiver"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC721InvalidReceiver",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC721InvalidSender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC721InvalidSender",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC721NonexistentToken"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC721NonexistentToken",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenId"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static IERC721ERRORS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct IERC721Errors(::ethers::contract::Contract); - impl ::core::clone::Clone for IERC721Errors { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for IERC721Errors { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for IERC721Errors { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for IERC721Errors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(IERC721Errors)) - .field(&self.address()) - .finish() - } - } - impl IERC721Errors { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IERC721ERRORS_ABI.clone(), - client, - )) - } - } - impl From<::ethers::contract::Contract> - for IERC721Errors - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `ERC721IncorrectOwner` with signature `ERC721IncorrectOwner(address,uint256,address)` and selector `0x64283d7b` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC721IncorrectOwner", - abi = "ERC721IncorrectOwner(address,uint256,address)" - )] - pub struct ERC721IncorrectOwner { - pub sender: ::ethers::core::types::Address, - pub token_id: ::ethers::core::types::U256, - pub owner: ::ethers::core::types::Address, - } - ///Custom Error type `ERC721InsufficientApproval` with signature `ERC721InsufficientApproval(address,uint256)` and selector `0x177e802f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC721InsufficientApproval", - abi = "ERC721InsufficientApproval(address,uint256)" - )] - pub struct ERC721InsufficientApproval { - pub operator: ::ethers::core::types::Address, - pub token_id: ::ethers::core::types::U256, - } - ///Custom Error type `ERC721InvalidApprover` with signature `ERC721InvalidApprover(address)` and selector `0xa9fbf51f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC721InvalidApprover", abi = "ERC721InvalidApprover(address)")] - pub struct ERC721InvalidApprover { - pub approver: ::ethers::core::types::Address, - } - ///Custom Error type `ERC721InvalidOperator` with signature `ERC721InvalidOperator(address)` and selector `0x5b08ba18` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC721InvalidOperator", abi = "ERC721InvalidOperator(address)")] - pub struct ERC721InvalidOperator { - pub operator: ::ethers::core::types::Address, - } - ///Custom Error type `ERC721InvalidOwner` with signature `ERC721InvalidOwner(address)` and selector `0x89c62b64` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC721InvalidOwner", abi = "ERC721InvalidOwner(address)")] - pub struct ERC721InvalidOwner { - pub owner: ::ethers::core::types::Address, - } - ///Custom Error type `ERC721InvalidReceiver` with signature `ERC721InvalidReceiver(address)` and selector `0x64a0ae92` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC721InvalidReceiver", abi = "ERC721InvalidReceiver(address)")] - pub struct ERC721InvalidReceiver { - pub receiver: ::ethers::core::types::Address, - } - ///Custom Error type `ERC721InvalidSender` with signature `ERC721InvalidSender(address)` and selector `0x73c6ac6e` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC721InvalidSender", abi = "ERC721InvalidSender(address)")] - pub struct ERC721InvalidSender { - pub sender: ::ethers::core::types::Address, - } - ///Custom Error type `ERC721NonexistentToken` with signature `ERC721NonexistentToken(uint256)` and selector `0x7e273289` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC721NonexistentToken", - abi = "ERC721NonexistentToken(uint256)" - )] - pub struct ERC721NonexistentToken { - pub token_id: ::ethers::core::types::U256, - } - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum IERC721ErrorsErrors { - ERC721IncorrectOwner(ERC721IncorrectOwner), - ERC721InsufficientApproval(ERC721InsufficientApproval), - ERC721InvalidApprover(ERC721InvalidApprover), - ERC721InvalidOperator(ERC721InvalidOperator), - ERC721InvalidOwner(ERC721InvalidOwner), - ERC721InvalidReceiver(ERC721InvalidReceiver), - ERC721InvalidSender(ERC721InvalidSender), - ERC721NonexistentToken(ERC721NonexistentToken), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for IERC721ErrorsErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC721IncorrectOwner(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC721InsufficientApproval(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC721InvalidApprover(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC721InvalidOperator(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC721InvalidOwner(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC721InvalidReceiver(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC721InvalidSender(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC721NonexistentToken(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for IERC721ErrorsErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::ERC721IncorrectOwner(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC721InsufficientApproval(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC721InvalidApprover(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC721InvalidOperator(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC721InvalidOwner(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC721InvalidReceiver(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC721InvalidSender(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC721NonexistentToken(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for IERC721ErrorsErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for IERC721ErrorsErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::ERC721IncorrectOwner(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC721InsufficientApproval(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC721InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC721InvalidOperator(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC721InvalidOwner(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC721InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC721InvalidSender(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC721NonexistentToken(element) => ::core::fmt::Display::fmt(element, f), - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for IERC721ErrorsErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for IERC721ErrorsErrors { - fn from(value: ERC721IncorrectOwner) -> Self { - Self::ERC721IncorrectOwner(value) - } - } - impl ::core::convert::From for IERC721ErrorsErrors { - fn from(value: ERC721InsufficientApproval) -> Self { - Self::ERC721InsufficientApproval(value) - } - } - impl ::core::convert::From for IERC721ErrorsErrors { - fn from(value: ERC721InvalidApprover) -> Self { - Self::ERC721InvalidApprover(value) - } - } - impl ::core::convert::From for IERC721ErrorsErrors { - fn from(value: ERC721InvalidOperator) -> Self { - Self::ERC721InvalidOperator(value) - } - } - impl ::core::convert::From for IERC721ErrorsErrors { - fn from(value: ERC721InvalidOwner) -> Self { - Self::ERC721InvalidOwner(value) - } - } - impl ::core::convert::From for IERC721ErrorsErrors { - fn from(value: ERC721InvalidReceiver) -> Self { - Self::ERC721InvalidReceiver(value) - } - } - impl ::core::convert::From for IERC721ErrorsErrors { - fn from(value: ERC721InvalidSender) -> Self { - Self::ERC721InvalidSender(value) - } - } - impl ::core::convert::From for IERC721ErrorsErrors { - fn from(value: ERC721NonexistentToken) -> Self { - Self::ERC721NonexistentToken(value) - } - } -} diff --git a/bindings/src/input_and_proof_format_registry.rs b/bindings/src/input_and_proof_format_registry.rs deleted file mode 100644 index 512237e..0000000 --- a/bindings/src/input_and_proof_format_registry.rs +++ /dev/null @@ -1,681 +0,0 @@ -pub use input_and_proof_format_registry::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod input_and_proof_format_registry { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_admin"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( - "address" - ),), - },], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("admin"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("admin"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("inputArrayLength"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("inputArrayLength"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("inputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("inputs"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("proofArrayLength"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("proofArrayLength"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("proofs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("proofs"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("setInputFormat"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setInputFormat"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("marketId"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputsFormat"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::String, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string[]"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("setProofFormat"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProofFormat"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("marketId"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("proofFormat"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::String, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string[]"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static INPUTANDPROOFFORMATREGISTRY_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x08T8\x03\x80a\x08T\x839\x81\x01`@\x81\x90Ra\0/\x91a\0@V[`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0pV[`\0` \x82\x84\x03\x12\x15a\0RW`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0iW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x07\xBBa\0\x99`\09`\0\x81\x81a\x015\x01R\x81\x81a\x023\x01Ra\x02\xF0\x01Ra\x07\xBB`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0}W`\x005`\xE0\x1C\x80c\xC0\xA5\x94q\x11a\0[W\x80c\xC0\xA5\x94q\x14a\0\xF5W\x80c\xCC\xC1^I\x14a\x01\nW\x80c\xE8j\xA1\x90\x14a\x01\x1DW\x80c\xF8Q\xA4@\x14a\x010W`\0\x80\xFD[\x80c\x0C\xE4\x91L\x14a\0\x82W\x80c^\xF7yI\x14a\0\xB5W\x80c\xBE\xD7\x8C\xA3\x14a\0\xD5W[`\0\x80\xFD[a\0\xA2a\0\x906`\x04a\x04DV[`\x02` R`\0\x90\x81R`@\x90 T\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xC8a\0\xC36`\x04a\x04]V[a\x01oV[`@Qa\0\xAC\x91\x90a\x04\x7FV[a\0\xA2a\0\xE36`\x04a\x04DV[`\x03` R`\0\x90\x81R`@\x90 T\x81V[a\x01\x08a\x01\x036`\x04a\x05\x15V[a\x02(V[\0[a\0\xC8a\x01\x186`\x04a\x04]V[a\x02\xC9V[a\x01\x08a\x01+6`\x04a\x05\x15V[a\x02\xE5V[a\x01W\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xACV[`\x01` R\x81`\0R`@`\0 \x81\x81T\x81\x10a\x01\x8BW`\0\x80\xFD[\x90`\0R` `\0 \x01`\0\x91P\x91PP\x80Ta\x01\xA7\x90a\x06:V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xD3\x90a\x06:V[\x80\x15a\x02 W\x80`\x1F\x10a\x01\xF5Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02 V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\x03W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x02\x96W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0E`$\x82\x01Rm7\xB76<\x900\xB26\xB4\xB7\x101\xB0\xB7`\x91\x1B`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x82\x81R`\x01` \x90\x81R`@\x90\x91 \x82Qa\x02\xB5\x92\x84\x01\x90a\x03\x7FV[PQ`\0\x91\x82R`\x03` R`@\x90\x91 UV[`\0` R\x81`\0R`@`\0 \x81\x81T\x81\x10a\x01\x8BW`\0\x80\xFD[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03NW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0E`$\x82\x01Rm7\xB76<\x900\xB26\xB4\xB7\x101\xB0\xB7`\x91\x1B`D\x82\x01R`d\x01a\x02\x8DV[`\0\x82\x81R` \x81\x81R`@\x90\x91 \x82Qa\x03k\x92\x84\x01\x90a\x03\x7FV[PQ`\0\x91\x82R`\x02` R`@\x90\x91 UV[\x82\x80T\x82\x82U\x90`\0R` `\0 \x90\x81\x01\x92\x82\x15a\x03\xC5W\x91` \x02\x82\x01[\x82\x81\x11\x15a\x03\xC5W\x82Q\x82\x90a\x03\xB5\x90\x82a\x06\xC5V[P\x91` \x01\x91\x90`\x01\x01\x90a\x03\x9FV[Pa\x03\xD1\x92\x91Pa\x03\xD5V[P\x90V[\x80\x82\x11\x15a\x03\xD1W`\0a\x03\xE9\x82\x82a\x03\xF2V[P`\x01\x01a\x03\xD5V[P\x80Ta\x03\xFE\x90a\x06:V[`\0\x82U\x80`\x1F\x10a\x04\x0EWPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x04,\x91\x90a\x04/V[PV[[\x80\x82\x11\x15a\x03\xD1W`\0\x81U`\x01\x01a\x040V[`\0` \x82\x84\x03\x12\x15a\x04VW`\0\x80\xFD[P5\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x04pW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x04\xADW\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x04\x91V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\rWa\x05\ra\x04\xCEV[`@R\x91\x90PV[`\0\x80`@\x80\x84\x86\x03\x12\x15a\x05)W`\0\x80\xFD[\x835\x92P` \x80\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05IW`\0\x80\xFD[\x81\x87\x01\x91P`\x1F\x88`\x1F\x84\x01\x12a\x05_W`\0\x80\xFD[\x825\x82\x81\x11\x15a\x05qWa\x05qa\x04\xCEV[\x80`\x05\x1Ba\x05\x80\x86\x82\x01a\x04\xE4V[\x91\x82R\x84\x81\x01\x86\x01\x91\x86\x81\x01\x90\x8C\x84\x11\x15a\x05\x9AW`\0\x80\xFD[\x87\x87\x01\x92P[\x83\x83\x10\x15a\x06'W\x825\x86\x81\x11\x15a\x05\xB8W`\0\x80\x81\xFD[\x87\x01`?\x81\x01\x8E\x13a\x05\xCAW`\0\x80\x81\xFD[\x88\x81\x015\x87\x81\x11\x15a\x05\xDEWa\x05\xDEa\x04\xCEV[a\x05\xEF\x81\x88\x01`\x1F\x19\x16\x8B\x01a\x04\xE4V[\x81\x81R\x8F\x8C\x83\x85\x01\x01\x11\x15a\x06\x04W`\0\x80\x81\xFD[\x81\x8C\x84\x01\x8C\x83\x017`\0\x91\x81\x01\x8B\x01\x91\x90\x91R\x83RP\x91\x87\x01\x91\x90\x87\x01\x90a\x05\xA0V[\x80\x99PPPPPPPPPP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x06NW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x06nWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x06\xC0W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x06\x9DWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x06\xBCW\x82\x81U`\x01\x01a\x06\xA9V[PPP[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\xDFWa\x06\xDFa\x04\xCEV[a\x06\xF3\x81a\x06\xED\x84Ta\x06:V[\x84a\x06tV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x07(W`\0\x84\x15a\x07\x10WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x06\xBCV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\x07WW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x078V[P\x85\x82\x10\x15a\x07uW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV\xFE\xA2dipfsX\"\x12 ;8\xC8\xFD\x18D\xA6\x1DX\x8C\x89v\xFE\xED\xA9#\xFE\xF59\xA2\x1Ba\xDC,\x01\x19\x82{\xFF\x92\xEA!dsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static INPUTANDPROOFFORMATREGISTRY_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0}W`\x005`\xE0\x1C\x80c\xC0\xA5\x94q\x11a\0[W\x80c\xC0\xA5\x94q\x14a\0\xF5W\x80c\xCC\xC1^I\x14a\x01\nW\x80c\xE8j\xA1\x90\x14a\x01\x1DW\x80c\xF8Q\xA4@\x14a\x010W`\0\x80\xFD[\x80c\x0C\xE4\x91L\x14a\0\x82W\x80c^\xF7yI\x14a\0\xB5W\x80c\xBE\xD7\x8C\xA3\x14a\0\xD5W[`\0\x80\xFD[a\0\xA2a\0\x906`\x04a\x04DV[`\x02` R`\0\x90\x81R`@\x90 T\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xC8a\0\xC36`\x04a\x04]V[a\x01oV[`@Qa\0\xAC\x91\x90a\x04\x7FV[a\0\xA2a\0\xE36`\x04a\x04DV[`\x03` R`\0\x90\x81R`@\x90 T\x81V[a\x01\x08a\x01\x036`\x04a\x05\x15V[a\x02(V[\0[a\0\xC8a\x01\x186`\x04a\x04]V[a\x02\xC9V[a\x01\x08a\x01+6`\x04a\x05\x15V[a\x02\xE5V[a\x01W\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xACV[`\x01` R\x81`\0R`@`\0 \x81\x81T\x81\x10a\x01\x8BW`\0\x80\xFD[\x90`\0R` `\0 \x01`\0\x91P\x91PP\x80Ta\x01\xA7\x90a\x06:V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xD3\x90a\x06:V[\x80\x15a\x02 W\x80`\x1F\x10a\x01\xF5Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02 V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\x03W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x02\x96W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0E`$\x82\x01Rm7\xB76<\x900\xB26\xB4\xB7\x101\xB0\xB7`\x91\x1B`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x82\x81R`\x01` \x90\x81R`@\x90\x91 \x82Qa\x02\xB5\x92\x84\x01\x90a\x03\x7FV[PQ`\0\x91\x82R`\x03` R`@\x90\x91 UV[`\0` R\x81`\0R`@`\0 \x81\x81T\x81\x10a\x01\x8BW`\0\x80\xFD[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03NW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0E`$\x82\x01Rm7\xB76<\x900\xB26\xB4\xB7\x101\xB0\xB7`\x91\x1B`D\x82\x01R`d\x01a\x02\x8DV[`\0\x82\x81R` \x81\x81R`@\x90\x91 \x82Qa\x03k\x92\x84\x01\x90a\x03\x7FV[PQ`\0\x91\x82R`\x02` R`@\x90\x91 UV[\x82\x80T\x82\x82U\x90`\0R` `\0 \x90\x81\x01\x92\x82\x15a\x03\xC5W\x91` \x02\x82\x01[\x82\x81\x11\x15a\x03\xC5W\x82Q\x82\x90a\x03\xB5\x90\x82a\x06\xC5V[P\x91` \x01\x91\x90`\x01\x01\x90a\x03\x9FV[Pa\x03\xD1\x92\x91Pa\x03\xD5V[P\x90V[\x80\x82\x11\x15a\x03\xD1W`\0a\x03\xE9\x82\x82a\x03\xF2V[P`\x01\x01a\x03\xD5V[P\x80Ta\x03\xFE\x90a\x06:V[`\0\x82U\x80`\x1F\x10a\x04\x0EWPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x04,\x91\x90a\x04/V[PV[[\x80\x82\x11\x15a\x03\xD1W`\0\x81U`\x01\x01a\x040V[`\0` \x82\x84\x03\x12\x15a\x04VW`\0\x80\xFD[P5\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x04pW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x04\xADW\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x04\x91V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\rWa\x05\ra\x04\xCEV[`@R\x91\x90PV[`\0\x80`@\x80\x84\x86\x03\x12\x15a\x05)W`\0\x80\xFD[\x835\x92P` \x80\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05IW`\0\x80\xFD[\x81\x87\x01\x91P`\x1F\x88`\x1F\x84\x01\x12a\x05_W`\0\x80\xFD[\x825\x82\x81\x11\x15a\x05qWa\x05qa\x04\xCEV[\x80`\x05\x1Ba\x05\x80\x86\x82\x01a\x04\xE4V[\x91\x82R\x84\x81\x01\x86\x01\x91\x86\x81\x01\x90\x8C\x84\x11\x15a\x05\x9AW`\0\x80\xFD[\x87\x87\x01\x92P[\x83\x83\x10\x15a\x06'W\x825\x86\x81\x11\x15a\x05\xB8W`\0\x80\x81\xFD[\x87\x01`?\x81\x01\x8E\x13a\x05\xCAW`\0\x80\x81\xFD[\x88\x81\x015\x87\x81\x11\x15a\x05\xDEWa\x05\xDEa\x04\xCEV[a\x05\xEF\x81\x88\x01`\x1F\x19\x16\x8B\x01a\x04\xE4V[\x81\x81R\x8F\x8C\x83\x85\x01\x01\x11\x15a\x06\x04W`\0\x80\x81\xFD[\x81\x8C\x84\x01\x8C\x83\x017`\0\x91\x81\x01\x8B\x01\x91\x90\x91R\x83RP\x91\x87\x01\x91\x90\x87\x01\x90a\x05\xA0V[\x80\x99PPPPPPPPPP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x06NW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x06nWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x06\xC0W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x06\x9DWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x06\xBCW\x82\x81U`\x01\x01a\x06\xA9V[PPP[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\xDFWa\x06\xDFa\x04\xCEV[a\x06\xF3\x81a\x06\xED\x84Ta\x06:V[\x84a\x06tV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x07(W`\0\x84\x15a\x07\x10WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x06\xBCV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\x07WW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x078V[P\x85\x82\x10\x15a\x07uW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV\xFE\xA2dipfsX\"\x12 ;8\xC8\xFD\x18D\xA6\x1DX\x8C\x89v\xFE\xED\xA9#\xFE\xF59\xA2\x1Ba\xDC,\x01\x19\x82{\xFF\x92\xEA!dsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static INPUTANDPROOFFORMATREGISTRY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct InputAndProofFormatRegistry(::ethers::contract::Contract); - impl ::core::clone::Clone for InputAndProofFormatRegistry { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for InputAndProofFormatRegistry { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for InputAndProofFormatRegistry { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for InputAndProofFormatRegistry { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(InputAndProofFormatRegistry)) - .field(&self.address()) - .finish() - } - } - impl InputAndProofFormatRegistry { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - INPUTANDPROOFFORMATREGISTRY_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - INPUTANDPROOFFORMATREGISTRY_ABI.clone(), - INPUTANDPROOFFORMATREGISTRY_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `admin` (0xf851a440) function - pub fn admin( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([248, 81, 164, 64], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `inputArrayLength` (0x0ce4914c) function - pub fn input_array_length( - &self, - p0: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([12, 228, 145, 76], p0) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `inputs` (0xccc15e49) function - pub fn inputs( - &self, - p0: ::ethers::core::types::U256, - p1: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([204, 193, 94, 73], (p0, p1)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `proofArrayLength` (0xbed78ca3) function - pub fn proof_array_length( - &self, - p0: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([190, 215, 140, 163], p0) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `proofs` (0x5ef77949) function - pub fn proofs( - &self, - p0: ::ethers::core::types::U256, - p1: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([94, 247, 121, 73], (p0, p1)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `setInputFormat` (0xe86aa190) function - pub fn set_input_format( - &self, - market_id: ::ethers::core::types::U256, - inputs_format: ::std::vec::Vec<::std::string::String>, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([232, 106, 161, 144], (market_id, inputs_format)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `setProofFormat` (0xc0a59471) function - pub fn set_proof_format( - &self, - market_id: ::ethers::core::types::U256, - proof_format: ::std::vec::Vec<::std::string::String>, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([192, 165, 148, 113], (market_id, proof_format)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for InputAndProofFormatRegistry - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `admin` function with signature `admin()` and selector `0xf851a440` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "admin", abi = "admin()")] - pub struct AdminCall; - ///Container type for all input parameters for the `inputArrayLength` function with signature `inputArrayLength(uint256)` and selector `0x0ce4914c` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "inputArrayLength", abi = "inputArrayLength(uint256)")] - pub struct InputArrayLengthCall(pub ::ethers::core::types::U256); - ///Container type for all input parameters for the `inputs` function with signature `inputs(uint256,uint256)` and selector `0xccc15e49` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "inputs", abi = "inputs(uint256,uint256)")] - pub struct InputsCall( - pub ::ethers::core::types::U256, - pub ::ethers::core::types::U256, - ); - ///Container type for all input parameters for the `proofArrayLength` function with signature `proofArrayLength(uint256)` and selector `0xbed78ca3` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "proofArrayLength", abi = "proofArrayLength(uint256)")] - pub struct ProofArrayLengthCall(pub ::ethers::core::types::U256); - ///Container type for all input parameters for the `proofs` function with signature `proofs(uint256,uint256)` and selector `0x5ef77949` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "proofs", abi = "proofs(uint256,uint256)")] - pub struct ProofsCall( - pub ::ethers::core::types::U256, - pub ::ethers::core::types::U256, - ); - ///Container type for all input parameters for the `setInputFormat` function with signature `setInputFormat(uint256,string[])` and selector `0xe86aa190` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "setInputFormat", abi = "setInputFormat(uint256,string[])")] - pub struct SetInputFormatCall { - pub market_id: ::ethers::core::types::U256, - pub inputs_format: ::std::vec::Vec<::std::string::String>, - } - ///Container type for all input parameters for the `setProofFormat` function with signature `setProofFormat(uint256,string[])` and selector `0xc0a59471` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "setProofFormat", abi = "setProofFormat(uint256,string[])")] - pub struct SetProofFormatCall { - pub market_id: ::ethers::core::types::U256, - pub proof_format: ::std::vec::Vec<::std::string::String>, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum InputAndProofFormatRegistryCalls { - Admin(AdminCall), - InputArrayLength(InputArrayLengthCall), - Inputs(InputsCall), - ProofArrayLength(ProofArrayLengthCall), - Proofs(ProofsCall), - SetInputFormat(SetInputFormatCall), - SetProofFormat(SetProofFormatCall), - } - impl ::ethers::core::abi::AbiDecode for InputAndProofFormatRegistryCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Admin(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InputArrayLength(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Inputs(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ProofArrayLength(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Proofs(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::SetInputFormat(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::SetProofFormat(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for InputAndProofFormatRegistryCalls { - fn encode(self) -> Vec { - match self { - Self::Admin(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InputArrayLength(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Inputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ProofArrayLength(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Proofs(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SetInputFormat(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SetProofFormat(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for InputAndProofFormatRegistryCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::Admin(element) => ::core::fmt::Display::fmt(element, f), - Self::InputArrayLength(element) => ::core::fmt::Display::fmt(element, f), - Self::Inputs(element) => ::core::fmt::Display::fmt(element, f), - Self::ProofArrayLength(element) => ::core::fmt::Display::fmt(element, f), - Self::Proofs(element) => ::core::fmt::Display::fmt(element, f), - Self::SetInputFormat(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProofFormat(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for InputAndProofFormatRegistryCalls { - fn from(value: AdminCall) -> Self { - Self::Admin(value) - } - } - impl ::core::convert::From for InputAndProofFormatRegistryCalls { - fn from(value: InputArrayLengthCall) -> Self { - Self::InputArrayLength(value) - } - } - impl ::core::convert::From for InputAndProofFormatRegistryCalls { - fn from(value: InputsCall) -> Self { - Self::Inputs(value) - } - } - impl ::core::convert::From for InputAndProofFormatRegistryCalls { - fn from(value: ProofArrayLengthCall) -> Self { - Self::ProofArrayLength(value) - } - } - impl ::core::convert::From for InputAndProofFormatRegistryCalls { - fn from(value: ProofsCall) -> Self { - Self::Proofs(value) - } - } - impl ::core::convert::From for InputAndProofFormatRegistryCalls { - fn from(value: SetInputFormatCall) -> Self { - Self::SetInputFormat(value) - } - } - impl ::core::convert::From for InputAndProofFormatRegistryCalls { - fn from(value: SetProofFormatCall) -> Self { - Self::SetProofFormat(value) - } - } - ///Container type for all return fields from the `admin` function with signature `admin()` and selector `0xf851a440` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct AdminReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `inputArrayLength` function with signature `inputArrayLength(uint256)` and selector `0x0ce4914c` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct InputArrayLengthReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `inputs` function with signature `inputs(uint256,uint256)` and selector `0xccc15e49` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct InputsReturn(pub ::std::string::String); - ///Container type for all return fields from the `proofArrayLength` function with signature `proofArrayLength(uint256)` and selector `0xbed78ca3` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ProofArrayLengthReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `proofs` function with signature `proofs(uint256,uint256)` and selector `0x5ef77949` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ProofsReturn(pub ::std::string::String); -} diff --git a/bindings/src/lib.rs b/bindings/src/lib.rs index 3e8768b..66de6e7 100644 --- a/bindings/src/lib.rs +++ b/bindings/src/lib.rs @@ -5,66 +5,30 @@ //! These files may be overwritten by the codegen system at any time. pub mod access_control_upgradeable; pub mod address; -pub mod attestation_auther; pub mod attestation_auther_upgradeable; -pub mod attestation_verifier; -pub mod base_ultra_verifier; -pub mod context; +pub mod bindgin_matching_engine; pub mod context_upgradeable; -pub mod dispute; pub mod ecdsa; pub mod entity_key_registry; pub mod erc165_upgradeable; pub mod erc1967_utils; -pub mod erc20; pub mod error; pub mod generator_registry; pub mod helper; pub mod i_access_control; pub mod i_attestation_verifier; pub mod i_beacon; -pub mod i_plonk_vk; -pub mod i_transfer_verifier; pub mod i_verifier; -pub mod i_verifier_zksync; -pub mod i_xor_2_verifier; -pub mod i_zksync_verifier; -pub mod ierc1155_errors; pub mod ierc165; pub mod ierc1822_proxiable; pub mod ierc20; -pub mod ierc20_errors; -pub mod ierc20_metadata; pub mod ierc20_permit; -pub mod ierc721_errors; pub mod il2_staking; pub mod initializable; -pub mod input_and_proof_format_registry; -pub mod mock_attestation_verifier; -pub mod mock_token; -pub mod mock_verifier; -pub mod pairing; pub mod pausable_upgradeable; -pub mod plonk_verifier_wrapper; -pub mod priority_log; pub mod proof_marketplace; pub mod reentrancy_guard_upgradeable; pub mod safe_erc20; -pub mod set_pmp; pub mod shared_types; pub mod storage_slot; -pub mod tee_verifier_wrapper; -pub mod tee_verifier_wrapper_factory; -pub mod transfer_verifier; -pub mod transfer_verifier_wrapper; -pub mod uc; -pub mod uc_rekt; -pub mod uc_with_rg; -pub mod ultra_verification_key; -pub mod ultra_verifier; pub mod uups_upgradeable; -pub mod xor_2_verifier_wrapper; -pub mod xor_verifier; -pub mod zk_sync_verifier; -pub mod zkb_verifier; -pub mod zksync_verifier_wrapper; diff --git a/bindings/src/mock_attestation_verifier.rs b/bindings/src/mock_attestation_verifier.rs deleted file mode 100644 index 0c8d1a8..0000000 --- a/bindings/src/mock_attestation_verifier.rs +++ /dev/null @@ -1,387 +0,0 @@ -pub use mock_attestation_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod mock_attestation_verifier { - pub use super::super::shared_types::*; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - }, - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("attestation"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("enclaveKey"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("PCR0"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("PCR1"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("PCR2"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("timestamp"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - }, - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("signature"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("attestation"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct IAttestationVerifier.Attestation", - ), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - }, - ], - )]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static MOCKATTESTATIONVERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x03\xA4\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\x8Ev\n\xFE\x14a\0FW\x80c\xADHq9\x14a\0YW\x80c\xEA\xC7\x08\xA3\x14a\0oW[`\0\x80\xFD[a\0Wa\0T6`\x04a\x01MV[PV[\0[a\0Wa\0g6`\x04a\x01\x8AV[PPPPPPV[a\0Wa\0}6`\x04a\x02dV[PPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\0\xBAWa\0\xBAa\0\x81V[`@R\x90V[`\0\x82`\x1F\x83\x01\x12a\0\xD1W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\0\xECWa\0\xECa\0\x81V[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x01\x14Wa\x01\x14a\0\x81V[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\x01-W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x01_W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01vW`\0\x80\xFD[a\x01\x82\x84\x82\x85\x01a\0\xC0V[\x94\x93PPPPV[`\0\x80`\0\x80`\0\x80`\xC0\x87\x89\x03\x12\x15a\x01\xA3W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xBBW`\0\x80\xFD[a\x01\xC7\x8A\x83\x8B\x01a\0\xC0V[\x97P` \x89\x015\x91P\x80\x82\x11\x15a\x01\xDDW`\0\x80\xFD[a\x01\xE9\x8A\x83\x8B\x01a\0\xC0V[\x96P`@\x89\x015\x91P\x80\x82\x11\x15a\x01\xFFW`\0\x80\xFD[a\x02\x0B\x8A\x83\x8B\x01a\0\xC0V[\x95P``\x89\x015\x91P\x80\x82\x11\x15a\x02!W`\0\x80\xFD[a\x02-\x8A\x83\x8B\x01a\0\xC0V[\x94P`\x80\x89\x015\x91P\x80\x82\x11\x15a\x02CW`\0\x80\xFD[Pa\x02P\x89\x82\x8A\x01a\0\xC0V[\x92PP`\xA0\x87\x015\x90P\x92\x95P\x92\x95P\x92\x95V[`\0\x80`@\x83\x85\x03\x12\x15a\x02wW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x02\x8FW`\0\x80\xFD[a\x02\x9B\x86\x83\x87\x01a\0\xC0V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x02\xB1W`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x02\xC5W`\0\x80\xFD[a\x02\xCDa\0\x97V[\x825\x82\x81\x11\x15a\x02\xDCW`\0\x80\xFD[a\x02\xE8\x88\x82\x86\x01a\0\xC0V[\x82RP` \x83\x015\x82\x81\x11\x15a\x02\xFDW`\0\x80\xFD[a\x03\t\x88\x82\x86\x01a\0\xC0V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x03!W`\0\x80\xFD[a\x03-\x88\x82\x86\x01a\0\xC0V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\x03EW`\0\x80\xFD[a\x03Q\x88\x82\x86\x01a\0\xC0V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV\xFE\xA2dipfsX\"\x12 \xE0\xF9\xCBE\x84?\xCE{\xFD\x1A\x13\xA6X\x92f\x83\x8B\xA3D\xF7\x83qD8\xD1\xF3Lk?\x86\x80\x1FdsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static MOCKATTESTATIONVERIFIER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\x8Ev\n\xFE\x14a\0FW\x80c\xADHq9\x14a\0YW\x80c\xEA\xC7\x08\xA3\x14a\0oW[`\0\x80\xFD[a\0Wa\0T6`\x04a\x01MV[PV[\0[a\0Wa\0g6`\x04a\x01\x8AV[PPPPPPV[a\0Wa\0}6`\x04a\x02dV[PPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\0\xBAWa\0\xBAa\0\x81V[`@R\x90V[`\0\x82`\x1F\x83\x01\x12a\0\xD1W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\0\xECWa\0\xECa\0\x81V[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x01\x14Wa\x01\x14a\0\x81V[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\x01-W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x01_W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01vW`\0\x80\xFD[a\x01\x82\x84\x82\x85\x01a\0\xC0V[\x94\x93PPPPV[`\0\x80`\0\x80`\0\x80`\xC0\x87\x89\x03\x12\x15a\x01\xA3W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xBBW`\0\x80\xFD[a\x01\xC7\x8A\x83\x8B\x01a\0\xC0V[\x97P` \x89\x015\x91P\x80\x82\x11\x15a\x01\xDDW`\0\x80\xFD[a\x01\xE9\x8A\x83\x8B\x01a\0\xC0V[\x96P`@\x89\x015\x91P\x80\x82\x11\x15a\x01\xFFW`\0\x80\xFD[a\x02\x0B\x8A\x83\x8B\x01a\0\xC0V[\x95P``\x89\x015\x91P\x80\x82\x11\x15a\x02!W`\0\x80\xFD[a\x02-\x8A\x83\x8B\x01a\0\xC0V[\x94P`\x80\x89\x015\x91P\x80\x82\x11\x15a\x02CW`\0\x80\xFD[Pa\x02P\x89\x82\x8A\x01a\0\xC0V[\x92PP`\xA0\x87\x015\x90P\x92\x95P\x92\x95P\x92\x95V[`\0\x80`@\x83\x85\x03\x12\x15a\x02wW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x02\x8FW`\0\x80\xFD[a\x02\x9B\x86\x83\x87\x01a\0\xC0V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x02\xB1W`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x02\xC5W`\0\x80\xFD[a\x02\xCDa\0\x97V[\x825\x82\x81\x11\x15a\x02\xDCW`\0\x80\xFD[a\x02\xE8\x88\x82\x86\x01a\0\xC0V[\x82RP` \x83\x015\x82\x81\x11\x15a\x02\xFDW`\0\x80\xFD[a\x03\t\x88\x82\x86\x01a\0\xC0V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x03!W`\0\x80\xFD[a\x03-\x88\x82\x86\x01a\0\xC0V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\x03EW`\0\x80\xFD[a\x03Q\x88\x82\x86\x01a\0\xC0V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV\xFE\xA2dipfsX\"\x12 \xE0\xF9\xCBE\x84?\xCE{\xFD\x1A\x13\xA6X\x92f\x83\x8B\xA3D\xF7\x83qD8\xD1\xF3Lk?\x86\x80\x1FdsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static MOCKATTESTATIONVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct MockAttestationVerifier(::ethers::contract::Contract); - impl ::core::clone::Clone for MockAttestationVerifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for MockAttestationVerifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for MockAttestationVerifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for MockAttestationVerifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(MockAttestationVerifier)) - .field(&self.address()) - .finish() - } - } - impl MockAttestationVerifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKATTESTATIONVERIFIER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - MOCKATTESTATIONVERIFIER_ABI.clone(), - MOCKATTESTATIONVERIFIER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `verify` (0x8e760afe) function - pub fn verify( - &self, - p0: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([142, 118, 10, 254], p0) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0xad487139) function - pub fn verify_with_attestation( - &self, - attestation: ::ethers::core::types::Bytes, - enclave_key: ::ethers::core::types::Bytes, - pcr0: ::ethers::core::types::Bytes, - pcr1: ::ethers::core::types::Bytes, - pcr2: ::ethers::core::types::Bytes, - timestamp: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash( - [173, 72, 113, 57], - (attestation, enclave_key, pcr0, pcr1, pcr2, timestamp), - ) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0xeac708a3) function - pub fn verify_with_signature( - &self, - signature: ::ethers::core::types::Bytes, - attestation: Attestation, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([234, 199, 8, 163], (signature, attestation)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for MockAttestationVerifier - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes)")] - pub struct VerifyCall(pub ::ethers::core::types::Bytes); - ///Container type for all input parameters for the `verify` function with signature `verify(bytes,bytes,bytes,bytes,bytes,uint256)` and selector `0xad487139` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes,bytes,bytes,bytes,bytes,uint256)")] - pub struct VerifyWithAttestationCall { - pub attestation: ::ethers::core::types::Bytes, - pub enclave_key: ::ethers::core::types::Bytes, - pub pcr0: ::ethers::core::types::Bytes, - pub pcr1: ::ethers::core::types::Bytes, - pub pcr2: ::ethers::core::types::Bytes, - pub timestamp: ::ethers::core::types::U256, - } - ///Container type for all input parameters for the `verify` function with signature `verify(bytes,(bytes,bytes,bytes,bytes,uint256))` and selector `0xeac708a3` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verify", - abi = "verify(bytes,(bytes,bytes,bytes,bytes,uint256))" - )] - pub struct VerifyWithSignatureCall { - pub signature: ::ethers::core::types::Bytes, - pub attestation: Attestation, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum MockAttestationVerifierCalls { - Verify(VerifyCall), - VerifyWithAttestation(VerifyWithAttestationCall), - VerifyWithSignature(VerifyWithSignatureCall), - } - impl ::ethers::core::abi::AbiDecode for MockAttestationVerifierCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyWithAttestation(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyWithSignature(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for MockAttestationVerifierCalls { - fn encode(self) -> Vec { - match self { - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyWithAttestation(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::VerifyWithSignature(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - } - } - } - impl ::core::fmt::Display for MockAttestationVerifierCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyWithAttestation(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyWithSignature(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for MockAttestationVerifierCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - impl ::core::convert::From for MockAttestationVerifierCalls { - fn from(value: VerifyWithAttestationCall) -> Self { - Self::VerifyWithAttestation(value) - } - } - impl ::core::convert::From for MockAttestationVerifierCalls { - fn from(value: VerifyWithSignatureCall) -> Self { - Self::VerifyWithSignature(value) - } - } -} diff --git a/bindings/src/mock_token.rs b/bindings/src/mock_token.rs deleted file mode 100644 index f340854..0000000 --- a/bindings/src/mock_token.rs +++ /dev/null @@ -1,1408 +0,0 @@ -pub use mock_token::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod mock_token { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_admin"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_totalSupply"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_tokenName"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_tokenSymbol"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ]), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("allowance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("balance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static MOCKTOKEN_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x0B\xF98\x03\x80b\0\x0B\xF9\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x02\xAFV[\x81\x81`\x03b\0\0D\x83\x82b\0\x03\xD4V[P`\x04b\0\0S\x82\x82b\0\x03\xD4V[PPPb\0\0h\x84\x84b\0\0r` \x1B` \x1CV[PPPPb\0\x04\xC8V[`\x01`\x01`\xA0\x1B\x03\x82\x16b\0\0\xA2W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[b\0\0\xB0`\0\x83\x83b\0\0\xB4V[PPV[`\x01`\x01`\xA0\x1B\x03\x83\x16b\0\0\xE3W\x80`\x02`\0\x82\x82Tb\0\0\xD7\x91\x90b\0\x04\xA0V[\x90\x91UPb\0\x01W\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15b\0\x018W`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01b\0\0\x99V[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16b\0\x01uW`\x02\x80T\x82\x90\x03\x90Ub\0\x01\x94V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qb\0\x01\xDA\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\x02\x0FW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x02,Wb\0\x02,b\0\x01\xE7V[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\x02WWb\0\x02Wb\0\x01\xE7V[\x81`@R\x83\x81R` \x92P\x86` \x85\x88\x01\x01\x11\x15b\0\x02uW`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x02\x99W\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x02zV[`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x02\xC6W`\0\x80\xFD[\x84Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x02\xDEW`\0\x80\xFD[` \x86\x01Q`@\x87\x01Q\x91\x95P\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x03\x03W`\0\x80\xFD[b\0\x03\x11\x88\x83\x89\x01b\0\x01\xFDV[\x93P``\x87\x01Q\x91P\x80\x82\x11\x15b\0\x03(W`\0\x80\xFD[Pb\0\x037\x87\x82\x88\x01b\0\x01\xFDV[\x91PP\x92\x95\x91\x94P\x92PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x03XW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x03yWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x03\xCFW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x03\xAAWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x03\xCBW\x82\x81U`\x01\x01b\0\x03\xB6V[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x03\xF0Wb\0\x03\xF0b\0\x01\xE7V[b\0\x04\x08\x81b\0\x04\x01\x84Tb\0\x03CV[\x84b\0\x03\x7FV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x04@W`\0\x84\x15b\0\x04'WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x03\xCBV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x04qW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x04PV[P\x85\x82\x10\x15b\0\x04\x90W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[\x80\x82\x01\x80\x82\x11\x15b\0\x04\xC2WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x92\x91PPV[a\x07!\x80b\0\x04\xD8`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\x93W`\x005`\xE0\x1C\x80c1<\xE5g\x11a\0fW\x80c1<\xE5g\x14a\0\xFEW\x80cp\xA0\x821\x14a\x01\rW\x80c\x95\xD8\x9BA\x14a\x016W\x80c\xA9\x05\x9C\xBB\x14a\x01>W\x80c\xDDb\xED>\x14a\x01QW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\x98W\x80c\t^\xA7\xB3\x14a\0\xB6W\x80c\x18\x16\r\xDD\x14a\0\xD9W\x80c#\xB8r\xDD\x14a\0\xEBW[`\0\x80\xFD[a\0\xA0a\x01\x8AV[`@Qa\0\xAD\x91\x90a\x05jV[`@Q\x80\x91\x03\x90\xF3[a\0\xC9a\0\xC46`\x04a\x05\xD5V[a\x02\x1CV[`@Q\x90\x15\x15\x81R` \x01a\0\xADV[`\x02T[`@Q\x90\x81R` \x01a\0\xADV[a\0\xC9a\0\xF96`\x04a\x05\xFFV[a\x026V[`@Q`\x12\x81R` \x01a\0\xADV[a\0\xDDa\x01\x1B6`\x04a\x06;V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\0\xA0a\x02ZV[a\0\xC9a\x01L6`\x04a\x05\xD5V[a\x02iV[a\0\xDDa\x01_6`\x04a\x06]V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[```\x03\x80Ta\x01\x99\x90a\x06\x90V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xC5\x90a\x06\x90V[\x80\x15a\x02\x12W\x80`\x1F\x10a\x01\xE7Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x12V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xF5W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x02*\x81\x85\x85a\x02wV[`\x01\x91PP[\x92\x91PPV[`\x003a\x02D\x85\x82\x85a\x02\x89V[a\x02O\x85\x85\x85a\x03\x0CV[P`\x01\x94\x93PPPPV[```\x04\x80Ta\x01\x99\x90a\x06\x90V[`\x003a\x02*\x81\x85\x85a\x03\x0CV[a\x02\x84\x83\x83\x83`\x01a\x03kV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x03\x06W\x81\x81\x10\x15a\x02\xF7W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01[`@Q\x80\x91\x03\x90\xFD[a\x03\x06\x84\x84\x84\x84\x03`\0a\x03kV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x036W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x02\xEEV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x03`W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x02\xEEV[a\x02\x84\x83\x83\x83a\x04@V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x03\x95W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x02\xEEV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x03\xBFW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x02\xEEV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x03\x06W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x042\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x04kW\x80`\x02`\0\x82\x82Ta\x04`\x91\x90a\x06\xCAV[\x90\x91UPa\x04\xDD\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x04\xBEW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x02\xEEV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x04\xF9W`\x02\x80T\x82\x90\x03\x90Ua\x05\x18V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x05]\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x05\x98W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x05|V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x05\xD0W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x05\xE8W`\0\x80\xFD[a\x05\xF1\x83a\x05\xB9V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x06\x14W`\0\x80\xFD[a\x06\x1D\x84a\x05\xB9V[\x92Pa\x06+` \x85\x01a\x05\xB9V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x06MW`\0\x80\xFD[a\x06V\x82a\x05\xB9V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x06pW`\0\x80\xFD[a\x06y\x83a\x05\xB9V[\x91Pa\x06\x87` \x84\x01a\x05\xB9V[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x06\xA4W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x06\xC4WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x80\x82\x01\x80\x82\x11\x15a\x020WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 h\xD2\x8B\xE3\xA7\x99!\x13\xB6\x84\xB9\xFC\x89\xFA\xCAMJ\xF1\xAAE$=x3\xD8!\x11(\xDBc\xE7\x08dsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static MOCKTOKEN_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\x93W`\x005`\xE0\x1C\x80c1<\xE5g\x11a\0fW\x80c1<\xE5g\x14a\0\xFEW\x80cp\xA0\x821\x14a\x01\rW\x80c\x95\xD8\x9BA\x14a\x016W\x80c\xA9\x05\x9C\xBB\x14a\x01>W\x80c\xDDb\xED>\x14a\x01QW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\x98W\x80c\t^\xA7\xB3\x14a\0\xB6W\x80c\x18\x16\r\xDD\x14a\0\xD9W\x80c#\xB8r\xDD\x14a\0\xEBW[`\0\x80\xFD[a\0\xA0a\x01\x8AV[`@Qa\0\xAD\x91\x90a\x05jV[`@Q\x80\x91\x03\x90\xF3[a\0\xC9a\0\xC46`\x04a\x05\xD5V[a\x02\x1CV[`@Q\x90\x15\x15\x81R` \x01a\0\xADV[`\x02T[`@Q\x90\x81R` \x01a\0\xADV[a\0\xC9a\0\xF96`\x04a\x05\xFFV[a\x026V[`@Q`\x12\x81R` \x01a\0\xADV[a\0\xDDa\x01\x1B6`\x04a\x06;V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\0\xA0a\x02ZV[a\0\xC9a\x01L6`\x04a\x05\xD5V[a\x02iV[a\0\xDDa\x01_6`\x04a\x06]V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[```\x03\x80Ta\x01\x99\x90a\x06\x90V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xC5\x90a\x06\x90V[\x80\x15a\x02\x12W\x80`\x1F\x10a\x01\xE7Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x12V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xF5W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x02*\x81\x85\x85a\x02wV[`\x01\x91PP[\x92\x91PPV[`\x003a\x02D\x85\x82\x85a\x02\x89V[a\x02O\x85\x85\x85a\x03\x0CV[P`\x01\x94\x93PPPPV[```\x04\x80Ta\x01\x99\x90a\x06\x90V[`\x003a\x02*\x81\x85\x85a\x03\x0CV[a\x02\x84\x83\x83\x83`\x01a\x03kV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x03\x06W\x81\x81\x10\x15a\x02\xF7W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01[`@Q\x80\x91\x03\x90\xFD[a\x03\x06\x84\x84\x84\x84\x03`\0a\x03kV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x036W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x02\xEEV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x03`W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x02\xEEV[a\x02\x84\x83\x83\x83a\x04@V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x03\x95W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x02\xEEV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x03\xBFW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x02\xEEV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x03\x06W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x042\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x04kW\x80`\x02`\0\x82\x82Ta\x04`\x91\x90a\x06\xCAV[\x90\x91UPa\x04\xDD\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x04\xBEW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x02\xEEV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x04\xF9W`\x02\x80T\x82\x90\x03\x90Ua\x05\x18V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x05]\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x05\x98W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x05|V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x05\xD0W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x05\xE8W`\0\x80\xFD[a\x05\xF1\x83a\x05\xB9V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x06\x14W`\0\x80\xFD[a\x06\x1D\x84a\x05\xB9V[\x92Pa\x06+` \x85\x01a\x05\xB9V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x06MW`\0\x80\xFD[a\x06V\x82a\x05\xB9V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x06pW`\0\x80\xFD[a\x06y\x83a\x05\xB9V[\x91Pa\x06\x87` \x84\x01a\x05\xB9V[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x06\xA4W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x06\xC4WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x80\x82\x01\x80\x82\x11\x15a\x020WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 h\xD2\x8B\xE3\xA7\x99!\x13\xB6\x84\xB9\xFC\x89\xFA\xCAMJ\xF1\xAAE$=x3\xD8!\x11(\xDBc\xE7\x08dsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static MOCKTOKEN_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct MockToken(::ethers::contract::Contract); - impl ::core::clone::Clone for MockToken { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for MockToken { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for MockToken { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for MockToken { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(MockToken)) - .field(&self.address()) - .finish() - } - } - impl MockToken { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKTOKEN_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - MOCKTOKEN_ABI.clone(), - MOCKTOKEN_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `allowance` (0xdd62ed3e) function - pub fn allowance( - &self, - owner: ::ethers::core::types::Address, - spender: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([221, 98, 237, 62], (owner, spender)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `approve` (0x095ea7b3) function - pub fn approve( - &self, - spender: ::ethers::core::types::Address, - value: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([9, 94, 167, 179], (spender, value)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `balanceOf` (0x70a08231) function - pub fn balance_of( - &self, - account: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([112, 160, 130, 49], account) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `decimals` (0x313ce567) function - pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([49, 60, 229, 103], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `name` (0x06fdde03) function - pub fn name(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([6, 253, 222, 3], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `symbol` (0x95d89b41) function - pub fn symbol( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([149, 216, 155, 65], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `totalSupply` (0x18160ddd) function - pub fn total_supply( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([24, 22, 13, 221], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `transfer` (0xa9059cbb) function - pub fn transfer( - &self, - to: ::ethers::core::types::Address, - value: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([169, 5, 156, 187], (to, value)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `transferFrom` (0x23b872dd) function - pub fn transfer_from( - &self, - from: ::ethers::core::types::Address, - to: ::ethers::core::types::Address, - value: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([35, 184, 114, 221], (from, to, value)) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `Approval` event - pub fn approval_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { - self.0.event() - } - ///Gets the contract's `Transfer` event - pub fn transfer_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MockTokenEvents> { - self.0 - .event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> for MockToken { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `ERC20InsufficientAllowance` with signature `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC20InsufficientAllowance", - abi = "ERC20InsufficientAllowance(address,uint256,uint256)" - )] - pub struct ERC20InsufficientAllowance { - pub spender: ::ethers::core::types::Address, - pub allowance: ::ethers::core::types::U256, - pub needed: ::ethers::core::types::U256, - } - ///Custom Error type `ERC20InsufficientBalance` with signature `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC20InsufficientBalance", - abi = "ERC20InsufficientBalance(address,uint256,uint256)" - )] - pub struct ERC20InsufficientBalance { - pub sender: ::ethers::core::types::Address, - pub balance: ::ethers::core::types::U256, - pub needed: ::ethers::core::types::U256, - } - ///Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and selector `0xe602df05` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidApprover", abi = "ERC20InvalidApprover(address)")] - pub struct ERC20InvalidApprover { - pub approver: ::ethers::core::types::Address, - } - ///Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and selector `0xec442f05` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidReceiver", abi = "ERC20InvalidReceiver(address)")] - pub struct ERC20InvalidReceiver { - pub receiver: ::ethers::core::types::Address, - } - ///Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and selector `0x96c6fd1e` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidSender", abi = "ERC20InvalidSender(address)")] - pub struct ERC20InvalidSender { - pub sender: ::ethers::core::types::Address, - } - ///Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and selector `0x94280d62` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC20InvalidSpender", abi = "ERC20InvalidSpender(address)")] - pub struct ERC20InvalidSpender { - pub spender: ::ethers::core::types::Address, - } - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum MockTokenErrors { - ERC20InsufficientAllowance(ERC20InsufficientAllowance), - ERC20InsufficientBalance(ERC20InsufficientBalance), - ERC20InvalidApprover(ERC20InvalidApprover), - ERC20InvalidReceiver(ERC20InvalidReceiver), - ERC20InvalidSender(ERC20InvalidSender), - ERC20InvalidSpender(ERC20InvalidSpender), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for MockTokenErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InsufficientAllowance(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InsufficientBalance(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidApprover(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidReceiver(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidSender(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC20InvalidSpender(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for MockTokenErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::ERC20InsufficientAllowance(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InsufficientBalance(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidApprover(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidReceiver(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidSender(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC20InvalidSpender(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for MockTokenErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for MockTokenErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSender(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSpender(element) => ::core::fmt::Display::fmt(element, f), - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for MockTokenErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for MockTokenErrors { - fn from(value: ERC20InsufficientAllowance) -> Self { - Self::ERC20InsufficientAllowance(value) - } - } - impl ::core::convert::From for MockTokenErrors { - fn from(value: ERC20InsufficientBalance) -> Self { - Self::ERC20InsufficientBalance(value) - } - } - impl ::core::convert::From for MockTokenErrors { - fn from(value: ERC20InvalidApprover) -> Self { - Self::ERC20InvalidApprover(value) - } - } - impl ::core::convert::From for MockTokenErrors { - fn from(value: ERC20InvalidReceiver) -> Self { - Self::ERC20InvalidReceiver(value) - } - } - impl ::core::convert::From for MockTokenErrors { - fn from(value: ERC20InvalidSender) -> Self { - Self::ERC20InvalidSender(value) - } - } - impl ::core::convert::From for MockTokenErrors { - fn from(value: ERC20InvalidSpender) -> Self { - Self::ERC20InvalidSpender(value) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] - pub struct ApprovalFilter { - #[ethevent(indexed)] - pub owner: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub spender: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] - pub struct TransferFilter { - #[ethevent(indexed)] - pub from: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub to: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all of the contract's events - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum MockTokenEvents { - ApprovalFilter(ApprovalFilter), - TransferFilter(TransferFilter), - } - impl ::ethers::contract::EthLogDecode for MockTokenEvents { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = ApprovalFilter::decode_log(log) { - return Ok(MockTokenEvents::ApprovalFilter(decoded)); - } - if let Ok(decoded) = TransferFilter::decode_log(log) { - return Ok(MockTokenEvents::TransferFilter(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for MockTokenEvents { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for MockTokenEvents { - fn from(value: ApprovalFilter) -> Self { - Self::ApprovalFilter(value) - } - } - impl ::core::convert::From for MockTokenEvents { - fn from(value: TransferFilter) -> Self { - Self::TransferFilter(value) - } - } - ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "allowance", abi = "allowance(address,address)")] - pub struct AllowanceCall { - pub owner: ::ethers::core::types::Address, - pub spender: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "approve", abi = "approve(address,uint256)")] - pub struct ApproveCall { - pub spender: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] - pub struct BalanceOfCall { - pub account: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "decimals", abi = "decimals()")] - pub struct DecimalsCall; - ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "name", abi = "name()")] - pub struct NameCall; - ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "symbol", abi = "symbol()")] - pub struct SymbolCall; - ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "totalSupply", abi = "totalSupply()")] - pub struct TotalSupplyCall; - ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] - pub struct TransferCall { - pub to: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] - pub struct TransferFromCall { - pub from: ::ethers::core::types::Address, - pub to: ::ethers::core::types::Address, - pub value: ::ethers::core::types::U256, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum MockTokenCalls { - Allowance(AllowanceCall), - Approve(ApproveCall), - BalanceOf(BalanceOfCall), - Decimals(DecimalsCall), - Name(NameCall), - Symbol(SymbolCall), - TotalSupply(TotalSupplyCall), - Transfer(TransferCall), - TransferFrom(TransferFromCall), - } - impl ::ethers::core::abi::AbiDecode for MockTokenCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Allowance(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Approve(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::BalanceOf(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Decimals(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Name(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Symbol(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::TotalSupply(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Transfer(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::TransferFrom(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for MockTokenCalls { - fn encode(self) -> Vec { - match self { - Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for MockTokenCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), - Self::Approve(element) => ::core::fmt::Display::fmt(element, f), - Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f), - Self::Decimals(element) => ::core::fmt::Display::fmt(element, f), - Self::Name(element) => ::core::fmt::Display::fmt(element, f), - Self::Symbol(element) => ::core::fmt::Display::fmt(element, f), - Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), - Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), - Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for MockTokenCalls { - fn from(value: AllowanceCall) -> Self { - Self::Allowance(value) - } - } - impl ::core::convert::From for MockTokenCalls { - fn from(value: ApproveCall) -> Self { - Self::Approve(value) - } - } - impl ::core::convert::From for MockTokenCalls { - fn from(value: BalanceOfCall) -> Self { - Self::BalanceOf(value) - } - } - impl ::core::convert::From for MockTokenCalls { - fn from(value: DecimalsCall) -> Self { - Self::Decimals(value) - } - } - impl ::core::convert::From for MockTokenCalls { - fn from(value: NameCall) -> Self { - Self::Name(value) - } - } - impl ::core::convert::From for MockTokenCalls { - fn from(value: SymbolCall) -> Self { - Self::Symbol(value) - } - } - impl ::core::convert::From for MockTokenCalls { - fn from(value: TotalSupplyCall) -> Self { - Self::TotalSupply(value) - } - } - impl ::core::convert::From for MockTokenCalls { - fn from(value: TransferCall) -> Self { - Self::Transfer(value) - } - } - impl ::core::convert::From for MockTokenCalls { - fn from(value: TransferFromCall) -> Self { - Self::TransferFrom(value) - } - } - ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct AllowanceReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ApproveReturn(pub bool); - ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct BalanceOfReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct DecimalsReturn(pub u8); - ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct NameReturn(pub ::std::string::String); - ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SymbolReturn(pub ::std::string::String); - ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TransferReturn(pub bool); - ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TransferFromReturn(pub bool); -} diff --git a/bindings/src/mock_verifier.rs b/bindings/src/mock_verifier.rs deleted file mode 100644 index 80a79a2..0000000 --- a/bindings/src/mock_verifier.rs +++ /dev/null @@ -1,573 +0,0 @@ -pub use mock_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod mock_verifier { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleInput"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleInput"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleProof"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyInputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static MOCKVERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x03]\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0bW`\x005`\xE0\x1C\x80c\x02\xF7}\x19\x14a\0gW\x80c\x10\xA5By\x14a\0\x90W\x80c}\x8A\xD4+\x14a\0\x97W\x80c\x8Ev\n\xFE\x14a\0\xACW\x80c\xA6\xDF\xBC\x7F\x14a\0\xACW\x80c\xA7l\x05Q\x14a\0\xC2W[`\0\x80\xFD[a\0{a\0u6`\x04a\x01{V[P`\x01\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[`\x01a\0{V[a\0\x9Fa\0\xCAV[`@Qa\0\x87\x91\x90a\x02,V[a\0{a\0\xBA6`\x04a\x02{V[`\x01\x92\x91PPV[a\0\x9Fa\x01XV[`\0\x80Ta\0\xD7\x90a\x02\xEDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\x03\x90a\x02\xEDV[\x80\x15a\x01PW\x80`\x1F\x10a\x01%Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x01PV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x013W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\x01\x80Ta\0\xD7\x90a\x02\xEDV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a\x01\x8DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xA5W`\0\x80\xFD[\x81\x84\x01\x91P\x84`\x1F\x83\x01\x12a\x01\xB9W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x01\xCBWa\x01\xCBa\x01eV[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x01\xF3Wa\x01\xF3a\x01eV[\x81`@R\x82\x81R\x87` \x84\x87\x01\x01\x11\x15a\x02\x0CW`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0\x92\x81\x01` \x01\x92\x90\x92RP\x95\x94PPPPPV[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x02ZW\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x02>V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[`\0\x80` \x83\x85\x03\x12\x15a\x02\x8EW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x02\xA6W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x02\xBAW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x02\xC9W`\0\x80\xFD[\x86` \x82\x85\x01\x01\x11\x15a\x02\xDBW`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x03\x01W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x03!WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV\xFE\xA2dipfsX\"\x12 \xF2\xD4\xB6\xCFz\x81\x06p\x8F\x87\x1B\x8E\xCE\xCD}\x1F\x1C+\xA6\xE9\x15\xFF\x04$6;\x1D'\x9CzP\x08dsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static MOCKVERIFIER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0bW`\x005`\xE0\x1C\x80c\x02\xF7}\x19\x14a\0gW\x80c\x10\xA5By\x14a\0\x90W\x80c}\x8A\xD4+\x14a\0\x97W\x80c\x8Ev\n\xFE\x14a\0\xACW\x80c\xA6\xDF\xBC\x7F\x14a\0\xACW\x80c\xA7l\x05Q\x14a\0\xC2W[`\0\x80\xFD[a\0{a\0u6`\x04a\x01{V[P`\x01\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[`\x01a\0{V[a\0\x9Fa\0\xCAV[`@Qa\0\x87\x91\x90a\x02,V[a\0{a\0\xBA6`\x04a\x02{V[`\x01\x92\x91PPV[a\0\x9Fa\x01XV[`\0\x80Ta\0\xD7\x90a\x02\xEDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\x03\x90a\x02\xEDV[\x80\x15a\x01PW\x80`\x1F\x10a\x01%Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x01PV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x013W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\x01\x80Ta\0\xD7\x90a\x02\xEDV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a\x01\x8DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xA5W`\0\x80\xFD[\x81\x84\x01\x91P\x84`\x1F\x83\x01\x12a\x01\xB9W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x01\xCBWa\x01\xCBa\x01eV[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x01\xF3Wa\x01\xF3a\x01eV[\x81`@R\x82\x81R\x87` \x84\x87\x01\x01\x11\x15a\x02\x0CW`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0\x92\x81\x01` \x01\x92\x90\x92RP\x95\x94PPPPPV[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x02ZW\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x02>V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[`\0\x80` \x83\x85\x03\x12\x15a\x02\x8EW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x02\xA6W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x02\xBAW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x02\xC9W`\0\x80\xFD[\x86` \x82\x85\x01\x01\x11\x15a\x02\xDBW`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x03\x01W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x03!WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV\xFE\xA2dipfsX\"\x12 \xF2\xD4\xB6\xCFz\x81\x06p\x8F\x87\x1B\x8E\xCE\xCD}\x1F\x1C+\xA6\xE9\x15\xFF\x04$6;\x1D'\x9CzP\x08dsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static MOCKVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct MockVerifier(::ethers::contract::Contract); - impl ::core::clone::Clone for MockVerifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for MockVerifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for MockVerifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for MockVerifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(MockVerifier)) - .field(&self.address()) - .finish() - } - } - impl MockVerifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKVERIFIER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - MOCKVERIFIER_ABI.clone(), - MOCKVERIFIER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `checkSampleInputsAndProof` (0x10a54279) function - pub fn check_sample_inputs_and_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([16, 165, 66, 121], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleInput` (0x7d8ad42b) function - pub fn sample_input( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([125, 138, 212, 43], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleProof` (0xa76c0551) function - pub fn sample_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([167, 108, 5, 81], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0x8e760afe) function - pub fn verify( - &self, - p0: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([142, 118, 10, 254], p0) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyAgainstSampleInputs` (0x02f77d19) function - pub fn verify_against_sample_inputs( - &self, - p0: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([2, 247, 125, 25], p0) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyInputs` (0xa6dfbc7f) function - pub fn verify_inputs( - &self, - p0: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([166, 223, 188, 127], p0) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> for MockVerifier { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "checkSampleInputsAndProof", - abi = "checkSampleInputsAndProof()" - )] - pub struct CheckSampleInputsAndProofCall; - ///Container type for all input parameters for the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleInput", abi = "sampleInput()")] - pub struct SampleInputCall; - ///Container type for all input parameters for the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleProof", abi = "sampleProof()")] - pub struct SampleProofCall; - ///Container type for all input parameters for the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes)")] - pub struct VerifyCall(pub ::ethers::core::types::Bytes); - ///Container type for all input parameters for the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyAgainstSampleInputs", - abi = "verifyAgainstSampleInputs(bytes)" - )] - pub struct VerifyAgainstSampleInputsCall(pub ::ethers::core::types::Bytes); - ///Container type for all input parameters for the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verifyInputs", abi = "verifyInputs(bytes)")] - pub struct VerifyInputsCall(pub ::ethers::core::types::Bytes); - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum MockVerifierCalls { - CheckSampleInputsAndProof(CheckSampleInputsAndProofCall), - SampleInput(SampleInputCall), - SampleProof(SampleProofCall), - Verify(VerifyCall), - VerifyAgainstSampleInputs(VerifyAgainstSampleInputsCall), - VerifyInputs(VerifyInputsCall), - } - impl ::ethers::core::abi::AbiDecode for MockVerifierCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::CheckSampleInputsAndProof(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleInput(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleProof(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyAgainstSampleInputs(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::VerifyInputs(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for MockVerifierCalls { - fn encode(self) -> Vec { - match self { - Self::CheckSampleInputsAndProof(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::SampleInput(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SampleProof(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyAgainstSampleInputs(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::VerifyInputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for MockVerifierCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::CheckSampleInputsAndProof(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleInput(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleProof(element) => ::core::fmt::Display::fmt(element, f), - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyAgainstSampleInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyInputs(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for MockVerifierCalls { - fn from(value: CheckSampleInputsAndProofCall) -> Self { - Self::CheckSampleInputsAndProof(value) - } - } - impl ::core::convert::From for MockVerifierCalls { - fn from(value: SampleInputCall) -> Self { - Self::SampleInput(value) - } - } - impl ::core::convert::From for MockVerifierCalls { - fn from(value: SampleProofCall) -> Self { - Self::SampleProof(value) - } - } - impl ::core::convert::From for MockVerifierCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - impl ::core::convert::From for MockVerifierCalls { - fn from(value: VerifyAgainstSampleInputsCall) -> Self { - Self::VerifyAgainstSampleInputs(value) - } - } - impl ::core::convert::From for MockVerifierCalls { - fn from(value: VerifyInputsCall) -> Self { - Self::VerifyInputs(value) - } - } - ///Container type for all return fields from the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct CheckSampleInputsAndProofReturn(pub bool); - ///Container type for all return fields from the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleInputReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleProofReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); - ///Container type for all return fields from the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyAgainstSampleInputsReturn(pub bool); - ///Container type for all return fields from the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyInputsReturn(pub bool); -} diff --git a/bindings/src/pairing.rs b/bindings/src/pairing.rs deleted file mode 100644 index a8fb3f3..0000000 --- a/bindings/src/pairing.rs +++ /dev/null @@ -1,119 +0,0 @@ -pub use pairing::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod pairing { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::std::collections::BTreeMap::new(), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static PAIRING_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`#`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`\x16W\xFE[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x95\xA0\xFE\xDC\x93\xA0V\xE9+\xF3\xF5\x92\xBE\xC3\xA6x\xB4\xDB\xDC\xF6G\x8F9\x93=\xBD\x18\xD2\x8F\xE5\xFBzdsolcC\0\x06\x0C\x003"; - /// The bytecode of the contract. - pub static PAIRING_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x95\xA0\xFE\xDC\x93\xA0V\xE9+\xF3\xF5\x92\xBE\xC3\xA6x\xB4\xDB\xDC\xF6G\x8F9\x93=\xBD\x18\xD2\x8F\xE5\xFBzdsolcC\0\x06\x0C\x003"; - /// The deployed bytecode of the contract. - pub static PAIRING_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct Pairing(::ethers::contract::Contract); - impl ::core::clone::Clone for Pairing { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for Pairing { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for Pairing { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for Pairing { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(Pairing)) - .field(&self.address()) - .finish() - } - } - impl Pairing { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - PAIRING_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - PAIRING_ABI.clone(), - PAIRING_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - } - impl From<::ethers::contract::Contract> for Pairing { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } -} diff --git a/bindings/src/plonk_verifier_wrapper.rs b/bindings/src/plonk_verifier_wrapper.rs deleted file mode 100644 index 8bccc2f..0000000 --- a/bindings/src/plonk_verifier_wrapper.rs +++ /dev/null @@ -1,1144 +0,0 @@ -pub use plonk_verifier_wrapper::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod plonk_verifier_wrapper { - pub use super::super::shared_types::*; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_iverifier"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract i_plonk_vk"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_sampleInput"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_sampleProof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("createRequest"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("createRequest"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("ask"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ProofMarketplace.Ask",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("secretType"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "enum ProofMarketplace.SecretType", - ), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("secret_inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("acl"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeInputAndProofForVerification"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "encodeInputAndProofForVerification", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("proof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("encodeInputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32[]"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("encodeProof"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("proof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("iverifier"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("iverifier"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract i_plonk_vk"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("proofMarketplace"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("proofMarketplace"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ProofMarketplace",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleInput"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleInput"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleProof"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("setProofMarketplaceContract"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProofMarketplaceContract",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_proofMarketplace"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ProofMarketplace",), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("encodedData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("encodedProof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyInputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static PLONK_VERIFIER_WRAPPER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x12o8\x03\x80b\0\x12o\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x010V[`\x01`\x01`\xA0\x1B\x03\x83\x16`\x80R`\x01b\0\0O\x83\x82b\0\x02KV[P`\x02b\0\0^\x82\x82b\0\x02KV[PPPPb\0\x03\x17V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\0\x90W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\0\xADWb\0\0\xADb\0\0hV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\0\xD8Wb\0\0\xD8b\0\0hV[\x81`@R\x83\x81R` \x92P\x86` \x85\x88\x01\x01\x11\x15b\0\0\xF6W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01\x1AW\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\0\xFBV[`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x01FW`\0\x80\xFD[\x83Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01^W`\0\x80\xFD[` \x85\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01|W`\0\x80\xFD[b\0\x01\x8A\x87\x83\x88\x01b\0\0~V[\x93P`@\x86\x01Q\x91P\x80\x82\x11\x15b\0\x01\xA1W`\0\x80\xFD[Pb\0\x01\xB0\x86\x82\x87\x01b\0\0~V[\x91PP\x92P\x92P\x92V[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x01\xCFW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x01\xF0WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02FW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02!WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02BW\x82\x81U`\x01\x01b\0\x02-V[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x02gWb\0\x02gb\0\0hV[b\0\x02\x7F\x81b\0\x02x\x84Tb\0\x01\xBAV[\x84b\0\x01\xF6V[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x02\xB7W`\0\x84\x15b\0\x02\x9EWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02BV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x02\xE8W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x02\xC7V[P\x85\x82\x10\x15b\0\x03\x07W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\x80Qa\x0F5b\0\x03:`\09`\0\x81\x81a\x01\xD8\x01Ra\x04\xA4\x01Ra\x0F5`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xCFW`\x005`\xE0\x1C\x80c}\x8A\xD4+\x11a\0\x8CW\x80c\xA6\xDF\xBC\x7F\x11a\0fW\x80c\xA6\xDF\xBC\x7F\x14a\x01\xA5W\x80c\xA7l\x05Q\x14a\x01\xB8W\x80c\xD2#^\xAC\x14a\x01\xC0W\x80c\xE7\xF5\xB8\x1D\x14a\x01\xD3W`\0\x80\xFD[\x80c}\x8A\xD4+\x14a\x01_W\x80c\x81\xC4\\p\x14a\x01gW\x80c\x8Ev\n\xFE\x14a\x01\x92W`\0\x80\xFD[\x80c\x02\xF7}\x19\x14a\0\xD4W\x80c\x05m\xE7\x04\x14a\0\xFCW\x80c\x10\xA5By\x14a\x01\x11W\x80c?\xA0\xCF\xBF\x14a\x01\x19W\x80cL\xFF\x91%\x14a\x019W\x80cp\xF9\xDF\xCA\x14a\x01LW[`\0\x80\xFD[a\0\xE7a\0\xE26`\x04a\x07wV[a\x01\xFAV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01\x0Fa\x01\n6`\x04a\x07\xCBV[a\x022V[\0[a\0\xE7a\x02\xA0V[a\x01,a\x01'6`\x04a\x08uV[a\x03:V[`@Qa\0\xF3\x91\x90a\x08\xF9V[a\x01,a\x01G6`\x04a\x07wV[a\x03cV[a\x01,a\x01Z6`\x04a\t\x0CV[a\x03vV[a\x01,a\x03\xB2V[`\0Ta\x01z\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xF3V[a\0\xE7a\x01\xA06`\x04a\x07wV[a\x04@V[a\0\xE7a\x01\xB36`\x04a\t\xB7V[a\x05&V[a\x01,a\x05>V[a\x01\x0Fa\x01\xCE6`\x04a\t\xF8V[a\x05KV[a\x01z\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`\0\x80`\x01\x83`@Q` \x01a\x02\x11\x92\x91\x90a\n\xE6V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x02+\x81a\x04@V[\x93\x92PPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x16\x15a\x02~W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0B`$\x82\x01Rj\x10[\x1C\x99XY\x1EH\x14\xD9]`\xAA\x1B`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\0a\x035`\x02\x80Ta\x02\xB2\x90a\n\xACV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xDE\x90a\n\xACV[\x80\x15a\x03+W\x80`\x1F\x10a\x03\0Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03+V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x0EW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPa\x01\xFAV[\x90P\x90V[``\x81`@Q` \x01a\x03M\x91\x90a\x0B\xE5V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x91\x90PV[``\x81`@Q` \x01a\x03M\x91\x90a\x08\xF9V[``a\x03\x81\x83a\x03:V[a\x03\x8A\x83a\x03cV[`@Q` \x01a\x03\x9B\x92\x91\x90a\x0B\xF8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x92\x91PPV[`\x01\x80Ta\x03\xBF\x90a\n\xACV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\xEB\x90a\n\xACV[\x80\x15a\x048W\x80`\x1F\x10a\x04\rWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x048V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x04\x1BW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\0``\x80`\0\x80\x85\x80` \x01\x90Q\x81\x01\x90a\x04\\\x91\x90a\x0CbV[\x91P\x91P\x81\x80` \x01\x90Q\x81\x01\x90a\x04t\x91\x90a\x0C\xBBV[\x93P\x80\x80` \x01\x90Q\x81\x01\x90a\x04\x8A\x91\x90a\rKV[`@Qc:\x9449`\xE2\x1B\x81R\x90\x93P`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEAP\xD0\xE4\x90a\x04\xDB\x90\x86\x90\x88\x90`\x04\x01a\r\x7FV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04\xF8W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05\x1C\x91\x90a\r\xA4V[\x96\x95PPPPPPV[`\0a\x054\x82\x84\x01\x84a\x08uV[P`\x01\x93\x92PPPV[`\x02\x80Ta\x03\xBF\x90a\n\xACV[`\0`@Q\x80`\xE0\x01`@R\x80\x88`\0\x015\x81R` \x01\x88` \x015\x81R` \x01\x88`@\x015\x81R` \x01\x88``\x015\x81R` \x01\x88`\x80\x015\x81R` \x01\x88`\xA0\x01` \x81\x01\x90a\x05\x9D\x91\x90a\x07\xCBV[`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01a\x05\xC3a\x01'a\x05\xBE`\xC0\x8C\x01\x8Ca\r\xC6V[a\x06;V[\x90R`\0T`@Qc8)\xC7\xE5`\xE1\x1B\x81R\x91\x92P`\x01`\x01`\xA0\x1B\x03\x16\x90cpS\x8F\xCA\x90a\x06\0\x90\x84\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90`\x04\x01a\x0EWV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06\x1AW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06.W=`\0\x80>=`\0\xFD[PPPPPPPPPPPV[``a\x06G\x83\x83a\x05&V[a\x06\xA8W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`,`$\x82\x01R\x7FPlonk Verifier Wrapper: Invalid `D\x82\x01Rk\x1A[\x9C\x1D]\x08\x19\x9B\xDC\x9BX]`\xA2\x1B`d\x82\x01R`\x84\x01a\x02uV[a\x02+\x82\x84\x01\x84a\x08uV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x06\xF2Wa\x06\xF2a\x06\xB4V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x07\x13Wa\x07\x13a\x06\xB4V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x072W`\0\x80\xFD[\x815a\x07Ea\x07@\x82a\x06\xFAV[a\x06\xCAV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x07ZW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x07\x89W`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x07\x9FW`\0\x80\xFD[a\x07\xAB\x84\x82\x85\x01a\x07!V[\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x07\xC8W`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x07\xDDW`\0\x80\xFD[\x815a\x02+\x81a\x07\xB3V[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x08\x01Wa\x08\x01a\x06\xB4V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x08\x1CW`\0\x80\xFD[\x815` a\x08,a\x07@\x83a\x07\xE8V[\x80\x83\x82R` \x82\x01\x91P` \x84`\x05\x1B\x87\x01\x01\x93P\x86\x84\x11\x15a\x08NW`\0\x80\xFD[` \x86\x01[\x84\x81\x10\x15a\x08jW\x805\x83R\x91\x83\x01\x91\x83\x01a\x08SV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a\x08\x87W`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x08\x9DW`\0\x80\xFD[a\x07\xAB\x84\x82\x85\x01a\x08\x0BV[`\0[\x83\x81\x10\x15a\x08\xC4W\x81\x81\x01Q\x83\x82\x01R` \x01a\x08\xACV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x08\xE5\x81` \x86\x01` \x86\x01a\x08\xA9V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x02+` \x83\x01\x84a\x08\xCDV[`\0\x80`@\x83\x85\x03\x12\x15a\t\x1FW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\t6W`\0\x80\xFD[a\tB\x86\x83\x87\x01a\x08\x0BV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\tXW`\0\x80\xFD[Pa\te\x85\x82\x86\x01a\x07!V[\x91PP\x92P\x92\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\t\x81W`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\t\x98W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t\xB0W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80` \x83\x85\x03\x12\x15a\t\xCAW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a\t\xE0W`\0\x80\xFD[a\t\xEC\x85\x82\x86\x01a\toV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a\n\x11W`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\n(W`\0\x80\xFD[\x90\x88\x01\x90`\xE0\x82\x8B\x03\x12\x15a\nV[a\x01\x0Fa\x01\xCE6`\x04a\t\xF8V[a\x05KV[a\x01z\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`\0\x80`\x01\x83`@Q` \x01a\x02\x11\x92\x91\x90a\n\xE6V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x02+\x81a\x04@V[\x93\x92PPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x16\x15a\x02~W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0B`$\x82\x01Rj\x10[\x1C\x99XY\x1EH\x14\xD9]`\xAA\x1B`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\0a\x035`\x02\x80Ta\x02\xB2\x90a\n\xACV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xDE\x90a\n\xACV[\x80\x15a\x03+W\x80`\x1F\x10a\x03\0Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03+V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x0EW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPa\x01\xFAV[\x90P\x90V[``\x81`@Q` \x01a\x03M\x91\x90a\x0B\xE5V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x91\x90PV[``\x81`@Q` \x01a\x03M\x91\x90a\x08\xF9V[``a\x03\x81\x83a\x03:V[a\x03\x8A\x83a\x03cV[`@Q` \x01a\x03\x9B\x92\x91\x90a\x0B\xF8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x92\x91PPV[`\x01\x80Ta\x03\xBF\x90a\n\xACV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\xEB\x90a\n\xACV[\x80\x15a\x048W\x80`\x1F\x10a\x04\rWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x048V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x04\x1BW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\0``\x80`\0\x80\x85\x80` \x01\x90Q\x81\x01\x90a\x04\\\x91\x90a\x0CbV[\x91P\x91P\x81\x80` \x01\x90Q\x81\x01\x90a\x04t\x91\x90a\x0C\xBBV[\x93P\x80\x80` \x01\x90Q\x81\x01\x90a\x04\x8A\x91\x90a\rKV[`@Qc:\x9449`\xE2\x1B\x81R\x90\x93P`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEAP\xD0\xE4\x90a\x04\xDB\x90\x86\x90\x88\x90`\x04\x01a\r\x7FV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04\xF8W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05\x1C\x91\x90a\r\xA4V[\x96\x95PPPPPPV[`\0a\x054\x82\x84\x01\x84a\x08uV[P`\x01\x93\x92PPPV[`\x02\x80Ta\x03\xBF\x90a\n\xACV[`\0`@Q\x80`\xE0\x01`@R\x80\x88`\0\x015\x81R` \x01\x88` \x015\x81R` \x01\x88`@\x015\x81R` \x01\x88``\x015\x81R` \x01\x88`\x80\x015\x81R` \x01\x88`\xA0\x01` \x81\x01\x90a\x05\x9D\x91\x90a\x07\xCBV[`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01a\x05\xC3a\x01'a\x05\xBE`\xC0\x8C\x01\x8Ca\r\xC6V[a\x06;V[\x90R`\0T`@Qc8)\xC7\xE5`\xE1\x1B\x81R\x91\x92P`\x01`\x01`\xA0\x1B\x03\x16\x90cpS\x8F\xCA\x90a\x06\0\x90\x84\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90`\x04\x01a\x0EWV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06\x1AW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06.W=`\0\x80>=`\0\xFD[PPPPPPPPPPPV[``a\x06G\x83\x83a\x05&V[a\x06\xA8W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`,`$\x82\x01R\x7FPlonk Verifier Wrapper: Invalid `D\x82\x01Rk\x1A[\x9C\x1D]\x08\x19\x9B\xDC\x9BX]`\xA2\x1B`d\x82\x01R`\x84\x01a\x02uV[a\x02+\x82\x84\x01\x84a\x08uV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x06\xF2Wa\x06\xF2a\x06\xB4V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x07\x13Wa\x07\x13a\x06\xB4V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x072W`\0\x80\xFD[\x815a\x07Ea\x07@\x82a\x06\xFAV[a\x06\xCAV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x07ZW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x07\x89W`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x07\x9FW`\0\x80\xFD[a\x07\xAB\x84\x82\x85\x01a\x07!V[\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x07\xC8W`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x07\xDDW`\0\x80\xFD[\x815a\x02+\x81a\x07\xB3V[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x08\x01Wa\x08\x01a\x06\xB4V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x08\x1CW`\0\x80\xFD[\x815` a\x08,a\x07@\x83a\x07\xE8V[\x80\x83\x82R` \x82\x01\x91P` \x84`\x05\x1B\x87\x01\x01\x93P\x86\x84\x11\x15a\x08NW`\0\x80\xFD[` \x86\x01[\x84\x81\x10\x15a\x08jW\x805\x83R\x91\x83\x01\x91\x83\x01a\x08SV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a\x08\x87W`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x08\x9DW`\0\x80\xFD[a\x07\xAB\x84\x82\x85\x01a\x08\x0BV[`\0[\x83\x81\x10\x15a\x08\xC4W\x81\x81\x01Q\x83\x82\x01R` \x01a\x08\xACV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x08\xE5\x81` \x86\x01` \x86\x01a\x08\xA9V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x02+` \x83\x01\x84a\x08\xCDV[`\0\x80`@\x83\x85\x03\x12\x15a\t\x1FW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\t6W`\0\x80\xFD[a\tB\x86\x83\x87\x01a\x08\x0BV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\tXW`\0\x80\xFD[Pa\te\x85\x82\x86\x01a\x07!V[\x91PP\x92P\x92\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\t\x81W`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\t\x98W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t\xB0W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80` \x83\x85\x03\x12\x15a\t\xCAW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15a\t\xE0W`\0\x80\xFD[a\t\xEC\x85\x82\x86\x01a\toV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a\n\x11W`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\n(W`\0\x80\xFD[\x90\x88\x01\x90`\xE0\x82\x8B\x03\x12\x15a\n(::ethers::contract::Contract); - impl ::core::clone::Clone for plonk_verifier_wrapper { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for plonk_verifier_wrapper { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for plonk_verifier_wrapper { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for plonk_verifier_wrapper { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(plonk_verifier_wrapper)) - .field(&self.address()) - .finish() - } - } - impl plonk_verifier_wrapper { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - PLONK_VERIFIER_WRAPPER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - PLONK_VERIFIER_WRAPPER_ABI.clone(), - PLONK_VERIFIER_WRAPPER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `checkSampleInputsAndProof` (0x10a54279) function - pub fn check_sample_inputs_and_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([16, 165, 66, 121], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `createRequest` (0xd2235eac) function - pub fn create_request( - &self, - ask: Ask, - secret_type: u8, - secret_inputs: ::ethers::core::types::Bytes, - acl: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([210, 35, 94, 172], (ask, secret_type, secret_inputs, acl)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeInputAndProofForVerification` (0x70f9dfca) function - pub fn encode_input_and_proof_for_verification( - &self, - inputs: ::std::vec::Vec<[u8; 32]>, - proof: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([112, 249, 223, 202], (inputs, proof)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeInputs` (0x3fa0cfbf) function - pub fn encode_inputs( - &self, - inputs: ::std::vec::Vec<[u8; 32]>, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([63, 160, 207, 191], inputs) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeProof` (0x4cff9125) function - pub fn encode_proof( - &self, - proof: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([76, 255, 145, 37], proof) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `iverifier` (0xe7f5b81d) function - pub fn iverifier( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([231, 245, 184, 29], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `proofMarketplace` (0x81c45c70) function - pub fn proof_marketplace( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([129, 196, 92, 112], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleInput` (0x7d8ad42b) function - pub fn sample_input( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([125, 138, 212, 43], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleProof` (0xa76c0551) function - pub fn sample_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([167, 108, 5, 81], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `setProofMarketplaceContract` (0x056de704) function - pub fn set_proof_marketplace_contract( - &self, - proof_marketplace: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([5, 109, 231, 4], proof_marketplace) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0x8e760afe) function - pub fn verify( - &self, - encoded_data: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([142, 118, 10, 254], encoded_data) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyAgainstSampleInputs` (0x02f77d19) function - pub fn verify_against_sample_inputs( - &self, - encoded_proof: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([2, 247, 125, 25], encoded_proof) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyInputs` (0xa6dfbc7f) function - pub fn verify_inputs( - &self, - inputs: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([166, 223, 188, 127], inputs) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for plonk_verifier_wrapper - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "checkSampleInputsAndProof", - abi = "checkSampleInputsAndProof()" - )] - pub struct CheckSampleInputsAndProofCall; - ///Container type for all input parameters for the `createRequest` function with signature `createRequest((uint256,uint256,uint256,uint256,uint256,address,bytes),uint8,bytes,bytes)` and selector `0xd2235eac` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "createRequest", - abi = "createRequest((uint256,uint256,uint256,uint256,uint256,address,bytes),uint8,bytes,bytes)" - )] - pub struct CreateRequestCall { - pub ask: Ask, - pub secret_type: u8, - pub secret_inputs: ::ethers::core::types::Bytes, - pub acl: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `encodeInputAndProofForVerification` function with signature `encodeInputAndProofForVerification(bytes32[],bytes)` and selector `0x70f9dfca` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "encodeInputAndProofForVerification", - abi = "encodeInputAndProofForVerification(bytes32[],bytes)" - )] - pub struct EncodeInputAndProofForVerificationCall { - pub inputs: ::std::vec::Vec<[u8; 32]>, - pub proof: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `encodeInputs` function with signature `encodeInputs(bytes32[])` and selector `0x3fa0cfbf` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "encodeInputs", abi = "encodeInputs(bytes32[])")] - pub struct EncodeInputsCall { - pub inputs: ::std::vec::Vec<[u8; 32]>, - } - ///Container type for all input parameters for the `encodeProof` function with signature `encodeProof(bytes)` and selector `0x4cff9125` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "encodeProof", abi = "encodeProof(bytes)")] - pub struct EncodeProofCall { - pub proof: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `iverifier` function with signature `iverifier()` and selector `0xe7f5b81d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "iverifier", abi = "iverifier()")] - pub struct IverifierCall; - ///Container type for all input parameters for the `proofMarketplace` function with signature `proofMarketplace()` and selector `0x81c45c70` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "proofMarketplace", abi = "proofMarketplace()")] - pub struct ProofMarketplaceCall; - ///Container type for all input parameters for the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleInput", abi = "sampleInput()")] - pub struct SampleInputCall; - ///Container type for all input parameters for the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleProof", abi = "sampleProof()")] - pub struct SampleProofCall; - ///Container type for all input parameters for the `setProofMarketplaceContract` function with signature `setProofMarketplaceContract(address)` and selector `0x056de704` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "setProofMarketplaceContract", - abi = "setProofMarketplaceContract(address)" - )] - pub struct SetProofMarketplaceContractCall { - pub proof_marketplace: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes)")] - pub struct VerifyCall { - pub encoded_data: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyAgainstSampleInputs", - abi = "verifyAgainstSampleInputs(bytes)" - )] - pub struct VerifyAgainstSampleInputsCall { - pub encoded_proof: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verifyInputs", abi = "verifyInputs(bytes)")] - pub struct VerifyInputsCall { - pub inputs: ::ethers::core::types::Bytes, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum plonk_verifier_wrapperCalls { - CheckSampleInputsAndProof(CheckSampleInputsAndProofCall), - CreateRequest(CreateRequestCall), - EncodeInputAndProofForVerification(EncodeInputAndProofForVerificationCall), - EncodeInputs(EncodeInputsCall), - EncodeProof(EncodeProofCall), - Iverifier(IverifierCall), - ProofMarketplace(ProofMarketplaceCall), - SampleInput(SampleInputCall), - SampleProof(SampleProofCall), - SetProofMarketplaceContract(SetProofMarketplaceContractCall), - Verify(VerifyCall), - VerifyAgainstSampleInputs(VerifyAgainstSampleInputsCall), - VerifyInputs(VerifyInputsCall), - } - impl ::ethers::core::abi::AbiDecode for plonk_verifier_wrapperCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::CheckSampleInputsAndProof(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::CreateRequest(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::EncodeInputAndProofForVerification(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::EncodeInputs(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::EncodeProof(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Iverifier(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ProofMarketplace(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleInput(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleProof(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::SetProofMarketplaceContract(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyAgainstSampleInputs(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::VerifyInputs(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for plonk_verifier_wrapperCalls { - fn encode(self) -> Vec { - match self { - Self::CheckSampleInputsAndProof(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::CreateRequest(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::EncodeInputAndProofForVerification(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::EncodeInputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::EncodeProof(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Iverifier(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ProofMarketplace(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SampleInput(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SampleProof(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SetProofMarketplaceContract(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyAgainstSampleInputs(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::VerifyInputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for plonk_verifier_wrapperCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::CheckSampleInputsAndProof(element) => ::core::fmt::Display::fmt(element, f), - Self::CreateRequest(element) => ::core::fmt::Display::fmt(element, f), - Self::EncodeInputAndProofForVerification(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::EncodeInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::EncodeProof(element) => ::core::fmt::Display::fmt(element, f), - Self::Iverifier(element) => ::core::fmt::Display::fmt(element, f), - Self::ProofMarketplace(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleInput(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleProof(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProofMarketplaceContract(element) => ::core::fmt::Display::fmt(element, f), - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyAgainstSampleInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyInputs(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: CheckSampleInputsAndProofCall) -> Self { - Self::CheckSampleInputsAndProof(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: CreateRequestCall) -> Self { - Self::CreateRequest(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: EncodeInputAndProofForVerificationCall) -> Self { - Self::EncodeInputAndProofForVerification(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: EncodeInputsCall) -> Self { - Self::EncodeInputs(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: EncodeProofCall) -> Self { - Self::EncodeProof(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: IverifierCall) -> Self { - Self::Iverifier(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: ProofMarketplaceCall) -> Self { - Self::ProofMarketplace(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: SampleInputCall) -> Self { - Self::SampleInput(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: SampleProofCall) -> Self { - Self::SampleProof(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: SetProofMarketplaceContractCall) -> Self { - Self::SetProofMarketplaceContract(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: VerifyAgainstSampleInputsCall) -> Self { - Self::VerifyAgainstSampleInputs(value) - } - } - impl ::core::convert::From for plonk_verifier_wrapperCalls { - fn from(value: VerifyInputsCall) -> Self { - Self::VerifyInputs(value) - } - } - ///Container type for all return fields from the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct CheckSampleInputsAndProofReturn(pub bool); - ///Container type for all return fields from the `encodeInputAndProofForVerification` function with signature `encodeInputAndProofForVerification(bytes32[],bytes)` and selector `0x70f9dfca` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeInputAndProofForVerificationReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `encodeInputs` function with signature `encodeInputs(bytes32[])` and selector `0x3fa0cfbf` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeInputsReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `encodeProof` function with signature `encodeProof(bytes)` and selector `0x4cff9125` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeProofReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `iverifier` function with signature `iverifier()` and selector `0xe7f5b81d` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct IverifierReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `proofMarketplace` function with signature `proofMarketplace()` and selector `0x81c45c70` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ProofMarketplaceReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleInputReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleProofReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); - ///Container type for all return fields from the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyAgainstSampleInputsReturn(pub bool); - ///Container type for all return fields from the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyInputsReturn(pub bool); -} diff --git a/bindings/src/priority_log.rs b/bindings/src/priority_log.rs deleted file mode 100644 index f09cdb3..0000000 --- a/bindings/src/priority_log.rs +++ /dev/null @@ -1,278 +0,0 @@ -pub use priority_log::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod priority_log { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("priorityStore"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("priorityStore"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("enum PriorityLog.Priority",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("setPriority"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setPriority"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("priority"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("enum PriorityLog.Priority",), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static PRIORITYLOG_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x01\x83\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80c\x99\x1A4\xE7\x14a\0;W\x80c\xDB&6\xF6\x14a\0tW[`\0\x80\xFD[a\0^a\0I6`\x04a\0\xBEV[`\0` \x81\x90R\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Qa\0k\x91\x90a\x01\x04V[`@Q\x80\x91\x03\x90\xF3[a\0\x87a\0\x826`\x04a\x01,V[a\0\x89V[\0[3`\0\x81\x81R` \x81\x90R`@\x90 \x80T\x83\x91\x90`\xFF\x19\x16`\x01\x83`\x03\x81\x11\x15a\0\xB5Wa\0\xB5a\0\xEEV[\x02\x17\x90UPPPV[`\0` \x82\x84\x03\x12\x15a\0\xD0W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xE7W`\0\x80\xFD[\x93\x92PPPV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[` \x81\x01`\x04\x83\x10a\x01&WcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x91\x90R\x90V[`\0` \x82\x84\x03\x12\x15a\x01>W`\0\x80\xFD[\x815`\x04\x81\x10a\0\xE7W`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x10\xE2\xB7(\x84o\x11L[\xFAU\x93\x88\xFD\x9ASm\xCF\x03u\xEB\xC9(\xA4\x11s\xF1T\x15\xBFOvdsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static PRIORITYLOG_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80c\x99\x1A4\xE7\x14a\0;W\x80c\xDB&6\xF6\x14a\0tW[`\0\x80\xFD[a\0^a\0I6`\x04a\0\xBEV[`\0` \x81\x90R\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Qa\0k\x91\x90a\x01\x04V[`@Q\x80\x91\x03\x90\xF3[a\0\x87a\0\x826`\x04a\x01,V[a\0\x89V[\0[3`\0\x81\x81R` \x81\x90R`@\x90 \x80T\x83\x91\x90`\xFF\x19\x16`\x01\x83`\x03\x81\x11\x15a\0\xB5Wa\0\xB5a\0\xEEV[\x02\x17\x90UPPPV[`\0` \x82\x84\x03\x12\x15a\0\xD0W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xE7W`\0\x80\xFD[\x93\x92PPPV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[` \x81\x01`\x04\x83\x10a\x01&WcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x91\x90R\x90V[`\0` \x82\x84\x03\x12\x15a\x01>W`\0\x80\xFD[\x815`\x04\x81\x10a\0\xE7W`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x10\xE2\xB7(\x84o\x11L[\xFAU\x93\x88\xFD\x9ASm\xCF\x03u\xEB\xC9(\xA4\x11s\xF1T\x15\xBFOvdsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static PRIORITYLOG_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct PriorityLog(::ethers::contract::Contract); - impl ::core::clone::Clone for PriorityLog { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for PriorityLog { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for PriorityLog { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for PriorityLog { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(PriorityLog)) - .field(&self.address()) - .finish() - } - } - impl PriorityLog { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - PRIORITYLOG_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - PRIORITYLOG_ABI.clone(), - PRIORITYLOG_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `priorityStore` (0x991a34e7) function - pub fn priority_store( - &self, - p0: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([153, 26, 52, 231], p0) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `setPriority` (0xdb2636f6) function - pub fn set_priority( - &self, - priority: u8, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([219, 38, 54, 246], priority) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> for PriorityLog { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `priorityStore` function with signature `priorityStore(address)` and selector `0x991a34e7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "priorityStore", abi = "priorityStore(address)")] - pub struct PriorityStoreCall(pub ::ethers::core::types::Address); - ///Container type for all input parameters for the `setPriority` function with signature `setPriority(uint8)` and selector `0xdb2636f6` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "setPriority", abi = "setPriority(uint8)")] - pub struct SetPriorityCall { - pub priority: u8, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum PriorityLogCalls { - PriorityStore(PriorityStoreCall), - SetPriority(SetPriorityCall), - } - impl ::ethers::core::abi::AbiDecode for PriorityLogCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::PriorityStore(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SetPriority(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for PriorityLogCalls { - fn encode(self) -> Vec { - match self { - Self::PriorityStore(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SetPriority(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for PriorityLogCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::PriorityStore(element) => ::core::fmt::Display::fmt(element, f), - Self::SetPriority(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for PriorityLogCalls { - fn from(value: PriorityStoreCall) -> Self { - Self::PriorityStore(value) - } - } - impl ::core::convert::From for PriorityLogCalls { - fn from(value: SetPriorityCall) -> Self { - Self::SetPriority(value) - } - } - ///Container type for all return fields from the `priorityStore` function with signature `priorityStore(address)` and selector `0x991a34e7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct PriorityStoreReturn(pub u8); -} diff --git a/bindings/src/proof_marketplace.rs b/bindings/src/proof_marketplace.rs index e5e6ff9..63a43eb 100644 --- a/bindings/src/proof_marketplace.rs +++ b/bindings/src/proof_marketplace.rs @@ -10,7 +10,6 @@ pub use proof_marketplace::*; non_camel_case_types )] pub mod proof_marketplace { - pub use super::super::shared_types::*; #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { @@ -2083,12 +2082,12 @@ pub mod proof_marketplace { pub static PROOFMARKETPLACE_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"a\x01@`@R0`\x80R4\x80\x15b\0\0\x16W`\0\x80\xFD[P`@Qb\0a\xD98\x03\x80b\0a\xD9\x839\x81\x01`@\x81\x90Rb\0\09\x91b\0\x01\x94V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15b\0\0\x84WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15b\0\0\xA1WP0;\x15[\x90P\x81\x15\x80\x15b\0\0\xB0WP\x80\x15[\x15b\0\0\xCFW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T`\x01`\x01`@\x1B\x03\x19\x16`\x01\x17\x85U\x83\x15b\0\0\xFEW\x84T`\xFF`@\x1B\x19\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[`\x01`\x01`\xA0\x1B\x03\x80\x8B\x16`\xA0R`\xC0\x8A\x90R\x88\x81\x16`\xE0R\x87\x81\x16a\x01\0R\x86\x16a\x01 R\x83\x15b\0\x01kW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPPPPb\0\x02\x08V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01\x91W`\0\x80\xFD[PV[`\0\x80`\0\x80`\0`\xA0\x86\x88\x03\x12\x15b\0\x01\xADW`\0\x80\xFD[\x85Qb\0\x01\xBA\x81b\0\x01{V[` \x87\x01Q`@\x88\x01Q\x91\x96P\x94Pb\0\x01\xD4\x81b\0\x01{V[``\x87\x01Q\x90\x93Pb\0\x01\xE7\x81b\0\x01{V[`\x80\x87\x01Q\x90\x92Pb\0\x01\xFA\x81b\0\x01{V[\x80\x91PP\x92\x95P\x92\x95\x90\x93PV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa\x01\0Qa\x01 Qa^\xB6b\0\x03#`\09`\0\x81\x81a\x05\xFE\x01R\x81\x81a\x0Br\x01R\x81\x81a\x0C\x8B\x01R\x81\x81a\x0E\xAC\x01R\x81\x81a\x0F7\x01R\x81\x81a\x177\x01R\x81\x81a\x17\xD4\x01R\x81\x81a\x18\xFE\x01R\x81\x81a\x19\x9B\x01R\x81\x81a\x1C\x96\x01R\x81\x81a\x1EQ\x01R\x81\x81a%\xD3\x01R\x81\x81a'=\x01RaD\xCE\x01R`\0\x81\x81a\x07\xB1\x01R\x81\x81a/e\x01R\x81\x81a3\xAC\x01R\x81\x81a5\x0E\x01R\x81\x81a7\x9D\x01R\x81\x81a:\n\x01R\x81\x81aCL\x01RaF7\x01R`\0\x81\x81a\x0EJ\x01R\x81\x81a\x14u\x01R\x81\x81a>%\x01RaE\xE0\x01R`\0\x81\x81a\x05\xCA\x01Ra\x0Ek\x01R`\0\x81\x81a\x07\x0F\x01R\x81\x81a\x0E'\x01R\x81\x81a\"y\x01Ra=\xF8\x01R`\0\x81\x81a1\xB6\x01R\x81\x81a1\xDF\x01Ra5\xC0\x01Ra^\xB6`\0\xF3\xFE`\x80`@R`\x046\x10a\x02\x93W`\x005`\xE0\x1C\x80ceY9{\x11a\x01ZW\x80c\x97Q\xBB\xD3\x11a\0\xC1W\x80c\xD4\xC2B6\x11a\0zW\x80c\xD4\xC2B6\x14a\x08\x86W\x80c\xD5Gt\x1F\x14a\x08\xA6W\x80c\xE6\xAF\xC3\xD9\x14a\x08\xC6W\x80c\xF0`,\xAB\x14a\x08\xE6W\x80c\xF8\xA9H/\x14a\t\x06W\x80c\xFB\xEF\x98m\x14a\t9W`\0\x80\xFD[\x80c\x97Q\xBB\xD3\x14a\x07\x9FW\x80c\xA2\x17\xFD\xDF\x14a\x07\xD3W\x80c\xAD<\xB1\xCC\x14a\x07\xE8W\x80c\xB4\xCFT?\x14a\x08&W\x80c\xC2D\xA7\xB9\x14a\x08FW\x80c\xC4\xD6m\xE8\x14a\x08fW`\0\x80\xFD[\x80cy\xC7n\x1A\x11a\x01\x13W\x80cy\xC7n\x1A\x14a\x06\xC8W\x80c\x84V\xCBY\x14a\x06\xE8W\x80c\x87|\x86\xFB\x14a\x06\xFDW\x80c\x89\x88PI\x14a\x071W\x80c\x8E\xCC\xBD\xAF\x14a\x07_W\x80c\x91\xD1HT\x14a\x07\x7FW`\0\x80\xFD[\x80ceY9{\x14a\x05\xB8W\x80cf\x1D\xE5\xAC\x14a\x05\xECW\x80cl\x8D\xF5\x18\x14a\x068W\x80cm\xA6w\x9B\x14a\x06hW\x80cpS\x8F\xCA\x14a\x06\x88W\x80cx\x7F\xB0K\x14a\x06\xA8W`\0\x80\xFD[\x80c6V\x8A\xBE\x11a\x01\xFEW\x80cO\x1E\xF2\x86\x11a\x01\xB7W\x80cO\x1E\xF2\x86\x14a\x05\x0BW\x80cRy\x86\xD0\x14a\x05\x1EW\x80cR\xD1\x90-\x14a\x05>W\x80cS{[\x7F\x14a\x05SW\x80c\\\x97Z\xBB\x14a\x05sW\x80cd\x17\xFBa\x14a\x05\x98W`\0\x80\xFD[\x80c6V\x8A\xBE\x14a\x049W\x80c?K\xA8:\x14a\x04YW\x80cE\x07R\xB4\x14a\x04nW\x80cG\xE63\x80\x14a\x04\x8EW\x80cIm\xF3\xB1\x14a\x04\xB0W\x80cMFq-\x14a\x04\xDEW`\0\x80\xFD[\x80c$v\x08\x07\x11a\x02PW\x80c$v\x08\x07\x14a\x03}W\x80c$\x8A\x9C\xA3\x14a\x03\x93W\x80c(D8\xA1\x14a\x03\xB3W\x80c-\x001\x8D\x14a\x03\xD5W\x80c//\xF1]\x14a\x04\x03W\x80c1u\x93\xD2\x14a\x04#W`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02\x98W\x80c\x04K\xC8\xED\x14a\x02\xCDW\x80c\x15\xC9\x8Az\x14a\x02\xEFW\x80c\x16\x0F\xCF\xBA\x14a\x03\x0FW\x80c\x16(\xE0\xF5\x14a\x03=W\x80c }f)\x14a\x03]W[`\0\x80\xFD[4\x80\x15a\x02\xA4W`\0\x80\xFD[Pa\x02\xB8a\x02\xB36`\x04aL\xDFV[a\tNV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02\xD9W`\0\x80\xFD[Pa\x02\xEDa\x02\xE86`\x04aMMV[a\t_V[\0[4\x80\x15a\x02\xFBW`\0\x80\xFD[Pa\x02\xEDa\x03\n6`\x04aN\x1CV[a\rWV[4\x80\x15a\x03\x1BW`\0\x80\xFD[Pa\x03/a\x03*6`\x04aN\xFAV[a\x11$V[`@Q\x90\x81R` \x01a\x02\xC4V[4\x80\x15a\x03IW`\0\x80\xFD[Pa\x02\xEDa\x03X6`\x04aO\x9EV[a\x11\xAFV[4\x80\x15a\x03iW`\0\x80\xFD[Pa\x03/a\x03x6`\x04aO\x9EV[a\x12\x83V[4\x80\x15a\x03\x89W`\0\x80\xFD[Pa\x01\xF4Ta\x03/V[4\x80\x15a\x03\x9FW`\0\x80\xFD[Pa\x03/a\x03\xAE6`\x04aO\x9EV[a\x14\xA9V[4\x80\x15a\x03\xBFW`\0\x80\xFD[Pa\x03/`\0\x80Q` a^a\x839\x81Q\x91R\x81V[4\x80\x15a\x03\xE1W`\0\x80\xFD[Pa\x03/a\x03\xF06`\x04aO\xB7V[a\x01\xF7` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\x0FW`\0\x80\xFD[Pa\x02\xEDa\x04\x1E6`\x04aO\xDDV[a\x14\xCBV[4\x80\x15a\x04/W`\0\x80\xFD[Pa\x01\xF5Ta\x03/V[4\x80\x15a\x04EW`\0\x80\xFD[Pa\x02\xEDa\x04T6`\x04aO\xDDV[a\x14\xEDV[4\x80\x15a\x04eW`\0\x80\xFD[Pa\x02\xEDa\x15%V[4\x80\x15a\x04zW`\0\x80\xFD[Pa\x02\xEDa\x04\x896`\x04aMMV[a\x15EV[4\x80\x15a\x04\x9AW`\0\x80\xFD[Pa\x03/`\0\x80Q` a^\x01\x839\x81Q\x91R\x81V[4\x80\x15a\x04\xBCW`\0\x80\xFD[Pa\x03/a\x04\xCB6`\x04aO\xB7V[a\x01\xF6` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\xEAW`\0\x80\xFD[Pa\x04\xFEa\x04\xF96`\x04aO\x9EV[a\x1AtV[`@Qa\x02\xC4\x91\x90aPEV[a\x02\xEDa\x05\x196`\x04aQ>V[a\x1CmV[4\x80\x15a\x05*W`\0\x80\xFD[Pa\x02\xEDa\x0596`\x04aQ\x8DV[a\x1C\x8CV[4\x80\x15a\x05JW`\0\x80\xFD[Pa\x03/a\x1D\x81V[4\x80\x15a\x05_W`\0\x80\xFD[Pa\x02\xEDa\x05n6`\x04aRuV[a\x1D\x9EV[4\x80\x15a\x05\x7FW`\0\x80\xFD[P`\0\x80Q` a^A\x839\x81Q\x91RT`\xFF\x16a\x02\xB8V[4\x80\x15a\x05\xA4W`\0\x80\xFD[Pa\x02\xEDa\x05\xB36`\x04aR\xDDV[a\x1E*V[4\x80\x15a\x05\xC4W`\0\x80\xFD[Pa\x03/\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\xF8W`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\xC4V[4\x80\x15a\x06DW`\0\x80\xFD[Pa\x06Xa\x06S6`\x04aO\x9EV[a\x1E\xE3V[`@Qa\x02\xC4\x94\x93\x92\x91\x90aS\x88V[4\x80\x15a\x06tW`\0\x80\xFD[Pa\x03/a\x06\x836`\x04aO\xDDV[a \x16V[4\x80\x15a\x06\x94W`\0\x80\xFD[Pa\x02\xEDa\x06\xA36`\x04aT#V[a qV[4\x80\x15a\x06\xB4W`\0\x80\xFD[Pa\x02\xEDa\x06\xC36`\x04aO\x9EV[a \xA0V[4\x80\x15a\x06\xD4W`\0\x80\xFD[Pa\x02\xEDa\x06\xE36`\x04aTmV[a\"LV[4\x80\x15a\x06\xF4W`\0\x80\xFD[Pa\x02\xEDa\"\xBCV[4\x80\x15a\x07\tW`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x07=W`\0\x80\xFD[Pa\x03/a\x07L6`\x04aTmV[a\x01\xF8` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x07kW`\0\x80\xFD[Pa\x02\xEDa\x07z6`\x04aT\x8AV[a\"\xDCV[4\x80\x15a\x07\x8BW`\0\x80\xFD[Pa\x02\xB8a\x07\x9A6`\x04aO\xDDV[a#yV[4\x80\x15a\x07\xABW`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x07\xDFW`\0\x80\xFD[Pa\x03/`\0\x81V[4\x80\x15a\x07\xF4W`\0\x80\xFD[Pa\x08\x19`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02\xC4\x91\x90aT\xB4V[4\x80\x15a\x082W`\0\x80\xFD[Pa\x02\xEDa\x08A6`\x04aT\x8AV[a#\xB1V[4\x80\x15a\x08RW`\0\x80\xFD[Pa\x02\xEDa\x08a6`\x04aT\xC7V[a$EV[4\x80\x15a\x08rW`\0\x80\xFD[Pa\x02\xEDa\x08\x816`\x04aTmV[a$`V[4\x80\x15a\x08\x92W`\0\x80\xFD[Pa\x02\xEDa\x08\xA16`\x04aU\x05V[a%\xB9V[4\x80\x15a\x08\xB2W`\0\x80\xFD[Pa\x02\xEDa\x08\xC16`\x04aO\xDDV[a&eV[4\x80\x15a\x08\xD2W`\0\x80\xFD[Pa\x02\xEDa\x08\xE16`\x04aUFV[a&\x81V[4\x80\x15a\x08\xF2W`\0\x80\xFD[Pa\x02\xEDa\t\x016`\x04aT\xC7V[a(\x94V[4\x80\x15a\t\x12W`\0\x80\xFD[Pa\t&a\t!6`\x04aO\x9EV[a+\xD5V[`@Qa\x02\xC4\x97\x96\x95\x94\x93\x92\x91\x90aV#V[4\x80\x15a\tEW`\0\x80\xFD[Pa\x03/`d\x81V[`\0a\tY\x82a,\xBEV[\x92\x91PPV[`\0a\x01\xF4\x86\x81T\x81\x10a\tuWa\tuaVsV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a\t\xF2\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\n\x1E\x90aV\x89V[\x80\x15a\nkW\x80`\x1F\x10a\n@Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\nkV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\nNW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`\xC0\x01QQ`\0\x03a\n\x9CW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\n\xD2W`@Qc8\x99:I`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83\x15a\x0C7Wa\n\xE5\x81` \x01Qa,\xF3V[a\x0B\x02W`@Qcz\xFC\xEF\x7F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x84\x81\x10\x15a\x0C5W`\0a\x0B;\x87\x87\x84\x81\x81\x10a\x0B$Wa\x0B$aVsV[\x90P` \x02\x81\x01\x90a\x0B6\x91\x90aV\xBDV[a-(V[\x90P\x82` \x01Q\x81\x03a\x0BpW`@QcZ\xB2\xFB\xC9`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x81\x01\x82\x90R`D\x01[`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\x14\x13\xA9*\x82a\x0B\xA9\x8Ba-JV[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0B\xE7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0B\xFBW=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8A\x91P\x7F\xDC\xBE\xB0\xA3\xB1\xAC\"\x82L\xF31\x91q\x12\xBE\x12\x80I\xBAa'\xB2\xB2\x06\xA2\xEE[\x0Fl\xA9|5\x90`\0\x90\xA3P`\x01\x01a\x0B\x05V[P[`\0[\x82\x81\x10\x15a\rNW`\0a\x0CY\x85\x85\x84\x81\x81\x10a\x0B$Wa\x0B$aVsV[\x90P\x82`\x80\x01Q\x81\x03a\x0C\x89W`@QcZ\xB2\xFB\xC9`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x81\x01\x82\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\x14\x13\xA9*\x82a\x0C\xC2\x8Ba-\x92V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\r\0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\r\x14W=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8A\x91P\x7FX\xEE\xC2\xA6\xA4~\x81\x083\"\x82\x9B3\x91\x02\x84|~\x1D\xDD}df\x86\x83\xA4\xB9\x96\xE5\xA0$\x9D\x90`\0\x90\xA3P`\x01\x01a\x0C:V[PPPPPPPV[a\r_a-\xC1V[3\x85\x15\x80a\rkWP\x87\x15[\x80a\r}WP`\x01`\x01`\xA0\x1B\x03\x87\x16\x15[\x15a\r\x9BW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x86`\x01`\x01`\xA0\x1B\x03\x16c\x10\xA5By`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r\xD9W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r\xFD\x91\x90aW\x03V[a\x0E\x1AW`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\x8F`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x82\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a.\x0BV[a\x01\xF4Ta\x0E\xA5a\x0E\xA0\x87\x87a-(V[a,\xF3V[\x15a\x0F5W\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1a\x0E\xE2\x83a-JV[\x88\x88`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x0F\x02\x93\x92\x91\x90aWNV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0F\x1CW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F0W=`\0\x80>=`\0\xFD[PPPP[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1a\x0Fm\x83a-\x92V[\x86\x86`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x0F\x8D\x93\x92\x91\x90aWNV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0F\xA7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F\xBBW=`\0\x80>=`\0\xFD[PPPPa\x01\xF4`@Q\x80`\xE0\x01`@R\x80\x8A`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01a\x0F\xE6\x89\x89a-(V[\x81R` \x81\x01\x8A\x90R`@\x01a\x0F\xFD`dCaW~V[\x81R` \x01a\x10\x0C\x87\x87a-(V[\x81R` \x01\x84`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x8C\x8C\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x90\x94RPP\x83T`\x01\x80\x82\x01\x86U\x94\x82R` \x91\x82\x90 \x84Q`\x07\x90\x92\x02\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x90\x81\x16`\x01`\x01`\xA0\x1B\x03\x93\x84\x16\x17\x82U\x92\x85\x01Q\x95\x81\x01\x95\x90\x95U`@\x84\x01Q`\x02\x86\x01U``\x84\x01Q`\x03\x86\x01U`\x80\x84\x01Q`\x04\x86\x01U`\xA0\x84\x01Q`\x05\x86\x01\x80T\x90\x93\x16\x91\x16\x17\x90UP`\xC0\x81\x01Q\x90\x91\x90`\x06\x82\x01\x90a\x10\xE2\x90\x82aW\xD9V[PP`@Q\x82\x91P\x7F\xB8Z>yOG^\xD5\xE4\x03}\xC5\xF2\xD5\xC3(\xC8\xD5N\x0C\x1AL\xA5Sc\x82\x90\x15\xE6\xC7\x0C\x89\x90`\0\x90\xA2PPa\x11\x1Aa.rV[PPPPPPPPV[`\0\x80a\x01\xF6`\0\x89`\x02\x81\x11\x15a\x11>Wa\x11>aP\rV[`\x02\x81\x11\x15a\x11OWa\x11OaP\rV[\x81R` \x01\x90\x81R` \x01`\0 T\x90P\x80`\0\x14a\x11\x9FW\x80\x83\x86a\x11x`\xC0\x8B\x01\x8BaV\xBDV[a\x11\x83\x92\x91PaW~V[a\x11\x8D\x91\x90aW~V[a\x11\x97\x91\x90aX\x98V[\x91PPa\x11\xA5V[`\0\x91PP[\x96\x95PPPPPPV[a\x11\xB7a-\xC1V[`\x02a\x11\xC2\x82a\x1AtV[`\x05\x81\x11\x15a\x11\xD3Wa\x11\xD3aP\rV[\x14a\x11\xF4W`@QcSi\x1DU`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[`\0a\x01\xF5\x82\x81T\x81\x10a\x12\nWa\x12\naVsV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x90\x81\x01\x80T`\xFF\x19\x16`\x04\x17\x90U`\x05\x81\x01T`\x01\x82\x01T\x91\x92Pa\x12L\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90a.\x98V[`@Q\x82\x90\x7FZ\xB6\xD2\x180;\xD8\xDC\x01\xC2\xC5\xE8\x12\xDC\xBB\xAD\xCF\xC2\xEB[\x1F\xB9\x11\x11\xE0\xB0\xAE\x87\x88\x8A\xC5h\x90`\0\x90\xA2Pa\x12\x80a.rV[PV[`\0a\x12\x8Da-\xC1V[`\0a\x01\xF5\x83\x81T\x81\x10a\x12\xA3Wa\x12\xA3aVsV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a\x13 \x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x13L\x90aV\x89V[\x80\x15a\x13\x99W\x80`\x1F\x10a\x13nWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x13\x99V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x13|W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a\x13\xC4Wa\x13\xC4aP\rV[`\x05\x81\x11\x15a\x13\xD5Wa\x13\xD5aP\rV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x90P`\x03a\x14\r\x84a\x1AtV[`\x05\x81\x11\x15a\x14\x1EWa\x14\x1EaP\rV[\x14a\x14?W`@Qc\r\x94\x85\xF1`\xE0\x1B\x81R`\x04\x81\x01\x84\x90R`$\x01a\x0BgV[``\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163\x14a\x14oW`@Qc\x10\xDA\x1D\xD3`\xE3\x1B\x81R`\x04\x81\x01\x84\x90R`$\x01a\x0BgV[a\x14\x99\x83\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a.\xD0V[\x91PPa\x14\xA4a.rV[\x91\x90PV[`\0\x90\x81R`\0\x80Q` a^!\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[a\x14\xD4\x82a\x14\xA9V[a\x14\xDD\x81a0 V[a\x14\xE7\x83\x83a0*V[PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x15\x16W`@Qc3K\xD9\x19`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x15 \x82\x82a0\xCFV[PPPV[`\0\x80Q` a^\x01\x839\x81Q\x91Ra\x15=\x81a0 V[a\x12\x80a1KV[`\0a\x01\xF4\x86\x81T\x81\x10a\x15[Wa\x15[aVsV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a\x15\xD8\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x16\x04\x90aV\x89V[\x80\x15a\x16QW\x80`\x1F\x10a\x16&Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x16QV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x164W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`\xC0\x01QQ`\0\x03a\x16\x82W`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\x16\xB8W`@Qc8\x99:I`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83\x15a\x18\xAFWa\x16\xCB\x81` \x01Qa,\xF3V[a\x16\xE8W`@Qcz\xFC\xEF\x7F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x84\x81\x10\x15a\x18\xADW`\0a\x16\xFE\x88a-JV[\x90P`\0a\x17\x17\x88\x88\x85\x81\x81\x10a\x0B$Wa\x0B$aVsV[`@Qc5\xAD\x90\xD3`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90ck[!\xA6\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x17\x86W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x17\xAA\x91\x90aW\x03V[\x15a\x17\xD2W`@Qc\xC6D\xD0G`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x83\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1\x83\x8A\x8A\x87\x81\x81\x10a\x18\x14Wa\x18\x14aVsV[\x90P` \x02\x81\x01\x90a\x18&\x91\x90aV\xBDV[`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x18D\x93\x92\x91\x90aWNV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x18^W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x18rW=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8B\x91P\x7F8\xCF^\xF7\xF2\x11\xD49\x83\xAFl\x03\xC4c\x89\x17\xEB\xDE;\x9CR\xD9hf\xF3G%\xC3\x92\x8E:{\x90`\0\x90\xA3PP`\x01\x01a\x16\xEBV[P[`\0[\x82\x81\x10\x15a\rNW`\0a\x18\xC5\x88a-\x92V[\x90P`\0a\x18\xDE\x86\x86\x85\x81\x81\x10a\x0B$Wa\x0B$aVsV[`@Qc5\xAD\x90\xD3`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90ck[!\xA6\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x19MW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x19q\x91\x90aW\x03V[\x15a\x19\x99W`@Qc\xC6D\xD0G`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x83\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1\x83\x88\x88\x87\x81\x81\x10a\x19\xDBWa\x19\xDBaVsV[\x90P` \x02\x81\x01\x90a\x19\xED\x91\x90aV\xBDV[`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x1A\x0B\x93\x92\x91\x90aWNV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1A%W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x1A9W=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8B\x91P\x7F\xE8\xF7\xC0*\xA8\xD1\xF6M$\\\xCF\x16+\xC7\x7F\x17\x1D\xD86\xDFD\n\xC9\xA6\xB67!D^\xBEU\x89\x90`\0\x90\xA3PP`\x01\x01a\x18\xB2V[`\0\x80a\x01\xF5\x83\x81T\x81\x10a\x1A\x8BWa\x1A\x8BaVsV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a\x1B\x08\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1B4\x90aV\x89V[\x80\x15a\x1B\x81W\x80`\x1F\x10a\x1BVWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x1B\x81V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1BdW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a\x1B\xACWa\x1B\xACaP\rV[`\x05\x81\x11\x15a\x1B\xBDWa\x1B\xBDaP\rV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x90P`\x01\x81` \x01Q`\x05\x81\x11\x15a\x1C\x02Wa\x1C\x02aP\rV[\x03a\x1C'W\x80Q`@\x01QC\x10\x15a\x1C\x1EW` \x01Q\x92\x91PPV[P`\x02\x92\x91PPV[`\x03\x81` \x01Q`\x05\x81\x11\x15a\x1C?Wa\x1C?aP\rV[\x03a\x1CcW\x80Q`\x80\x01QC\x11\x15a\x1CZWP`\x05\x92\x91PPV[P`\x03\x92\x91PPV[` \x01Q\x92\x91PPV[a\x1Cua1\xABV[a\x1C~\x82a2RV[a\x1C\x88\x82\x82a2]V[PPV[a\x1C\x94a-\xC1V[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16cr\x10Z\xAFa\x1C\xDA`\0\x80Q` a^a\x839\x81Q\x91Ra3\x1AV[3`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`\x01`\x01`\xA0\x1B\x03\x16`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x1D W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x1D4W=`\0\x80>=`\0\xFD[PPPPa\x1Dy\x84\x84\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa3/\x92PPPV[a\x14\xE7a.rV[`\0a\x1D\x8Ba5\xB5V[P`\0\x80Q` a]\xE1\x839\x81Q\x91R\x90V[a\x1D\xA6a-\xC1V[\x82Q\x81\x14a\x1D\xC7W`@Qc\xC2\x1F\xE6\xBF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83Q\x81\x10\x15a\x1E!Wa\x1E\x19\x84\x82\x81Q\x81\x10a\x1D\xE8Wa\x1D\xE8aVsV[` \x02` \x01\x01Q\x84\x84\x84\x81\x81\x10a\x1E\x02Wa\x1E\x02aVsV[\x90P` \x02\x81\x01\x90a\x1E\x14\x91\x90aV\xBDV[a5\xFEV[`\x01\x01a\x1D\xCAV[Pa\x15 a.rV[`\0\x80Q` a^\x01\x839\x81Q\x91Ra\x1EB\x81a0 V[0a\x1EO\x85\x85\x85\x84a:\xACV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16ci\xFD\xBC\xCA\x82`\0a\x1E\x8A\x89a;oV[\x89`@Q\x85c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x1E\xAA\x94\x93\x92\x91\x90aX\xAFV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1E\xC4W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x1E\xD8W=`\0\x80>=`\0\xFD[PPPPPPPPPV[a\x01\xF5\x81\x81T\x81\x10a\x1E\xF4W`\0\x80\xFD[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\t\x90\x93\x02\x90\x91\x01\x80T\x83R`\x01\x81\x01T\x93\x83\x01\x93\x90\x93R`\x02\x83\x01T\x90\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x82\x01T`\x80\x82\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x92\x93P\x90\x91\x83\x91`\xC0\x84\x01\x91a\x1Fl\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1F\x98\x90aV\x89V[\x80\x15a\x1F\xE5W\x80`\x1F\x10a\x1F\xBAWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x1F\xE5V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1F\xC8W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP`\x07\x82\x01T`\x08\x90\x92\x01T\x90\x91`\xFF\x81\x16\x91`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x92\x04\x82\x16\x91\x16\x84V[`\0a a-\xC1V[`\x05a +\x84a\x1AtV[`\x05\x81\x11\x15a #\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a$\xA5WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a$\xC1WP0;\x15[\x90P\x81\x15\x80\x15a$\xCFWP\x80\x15[\x15a$\xEDW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a%\x17W\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a%\x1FaB=`\0\xFD[a&n\x82a\x14\xA9V[a&w\x81a0 V[a\x14\xE7\x83\x83a0\xCFV[a&\x89a-\xC1V[\x84Q\x86Q\x14\x15\x80a&\x9BWP\x84Q\x83\x14\x15[\x15a&\xB9W`@Qc\xC2\x1F\xE6\xBF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x86\x86\x86\x86`@Q` \x01a&\xD2\x94\x93\x92\x91\x90aY\x89V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a&\xF5\x82aB\xAFV[\x90P`\0a'9\x82\x86\x86\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPaB\xEA\x92PPPV[\x90P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16cr\x10Z\xAFa'\x81`\0\x80Q` a^a\x839\x81Q\x91Ra3\x1AV[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x84\x90\x1B\x16\x81R`\x04\x81\x01\x91\x90\x91R`\x01`\x01`\xA0\x1B\x03\x84\x16`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a'\xC7W`\0\x80\xFD[PZ\xFA\x15\x80\x15a'\xDBW=`\0\x80>=`\0\xFD[PPPP`\0[\x89Q\x81\x10\x15a(\x88Wa(\x80\x8A\x82\x81Q\x81\x10a(\0Wa(\0aVsV[` \x02` \x01\x01Q\x8A\x83\x81Q\x81\x10a(\x1AWa(\x1AaVsV[` \x02` \x01\x01Q\x8A\x8A\x85\x81\x81\x10a(4Wa(4aVsV[\x90P` \x02\x81\x01\x90a(F\x91\x90aV\xBDV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa3/\x92PPPV[`\x01\x01a'\xE2V[PPPPa \x98a.rV[a(\x9Ca-\xC1V[`\0a\x01\xF5\x84\x81T\x81\x10a(\xB2Wa(\xB2aVsV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a)/\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta)[\x90aV\x89V[\x80\x15a)\xA8W\x80`\x1F\x10a)}Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a)\xA8V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a)\x8BW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a)\xD3Wa)\xD3aP\rV[`\x05\x81\x11\x15a)\xE4Wa)\xE4aP\rV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x80QQa\x01\xF4\x80T\x92\x93P\x90\x91`\0\x91\x90\x83\x90\x81\x10a*0Wa*0aVsV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a*\xAD\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta*\xD9\x90aV\x89V[\x80\x15a+&W\x80`\x1F\x10a*\xFBWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a+&V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a+\tW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0\x80a+>\x88\x86aC\x14V[\x91P\x91Pa+\x96\x88\x86`\0\x01Q`\xC0\x01Q\x89\x89\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa+\x91\x92P\x8A\x91Pa-\x92\x90PV[aD-V[a+\xB6W`@Qc@i\xAF=`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x01a\x0BgV[a+\xC8\x88\x86\x84\x84\x88\x88`@\x01QaE6V[PPPPPa\x15 a.rV[a\x01\xF4\x81\x81T\x81\x10a+\xE6W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 `\x07\x90\x91\x02\x01\x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x85\x01T`\x05\x86\x01T`\x06\x87\x01\x80T`\x01`\x01`\xA0\x1B\x03\x97\x88\x16\x99P\x95\x97\x94\x96\x93\x95\x92\x94\x93\x90\x91\x16\x92\x91a,;\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta,g\x90aV\x89V[\x80\x15a,\xB4W\x80`\x1F\x10a,\x89Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a,\xB4V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a,\x97W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x87V[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cye\xDB\x0B`\xE0\x1B\x14\x80a\tYWPc\x01\xFF\xC9\xA7`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x14a\tYV[`\0\x81\x15\x80a-!WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x80\x80\x80a-9\x85\x87\x01\x87aZ\x15V[\x92P\x92P\x92Pa\x11\xA5\x83\x83\x83aF\xC9V[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rb3\xB2\xB7`\xE9\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rbivs`\xE8\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01a-uV[\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\x80T`\x01\x19\x01a.\x05W`@Qc>\xE5\xAE\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x90UV[`@Q`\x01`\x01`\xA0\x1B\x03\x84\x81\x16`$\x83\x01R\x83\x81\x16`D\x83\x01R`d\x82\x01\x83\x90Ra\x14\xE7\x91\x86\x91\x82\x16\x90c#\xB8r\xDD\x90`\x84\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x91P`\xE0\x1B` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x83\x81\x83\x16\x17\x83RPPPPaG\x04V[`\x01\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0UV[\x80\x15a\x1C\x88W`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF8` R`@\x81 \x80T\x83\x92\x90a.\xC7\x90\x84\x90aW~V[\x90\x91UPPPPV[`\0\x80a\x01\xF5\x84\x81T\x81\x10a.\xE7Wa.\xE7aVsV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x90\x81\x01\x80T`\xFF\x19\x16`\x04\x17\x90U\x80T`\x05\x82\x01T`\x01\x83\x01T\x92\x93P\x90\x91a/+\x91`\x01`\x01`\xA0\x1B\x03\x16\x90a.\x98V[`@Q\x85\x90\x7F\xD6\xD7\xF87\xB6\x8A\xE9j\xF4v\xF0D{\xBEK\xE0`\xB2\x06B\xEB\xDFG\x08T\xF7\x01\xCA]\x8F^\xFB\x90`\0\x90\xA2`\x08\x82\x01T`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x91c\xEA\xAC\xAE\x94\x91\x16\x83a/\x98\x81aGgV[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x86\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a/\xF3W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a0\x17\x91\x90aZ\x9CV[\x95\x94PPPPPV[a\x12\x80\x813aG\x96V[`\0`\0\x80Q` a^!\x839\x81Q\x91Ra0E\x84\x84a#yV[a0\xC5W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua0{3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x85\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4`\x01\x91PPa\tYV[`\0\x91PPa\tYV[`\0`\0\x80Q` a^!\x839\x81Q\x91Ra0\xEA\x84\x84a#yV[\x15a0\xC5W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x87\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4`\x01\x91PPa\tYV[a1SaG\xCFV[`\0\x80Q` a^A\x839\x81Q\x91R\x80T`\xFF\x19\x16\x81U\x7F]\xB9\xEE\nI[\xF2\xE6\xFF\x9C\x91\xA7\x83L\x1B\xA4\xFD\xD2D\xA5\xE8\xAANS{\xD3\x8A\xEA\xE4\xB0s\xAA3[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xA1PV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a22WP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a2&`\0\x80Q` a]\xE1\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a2PW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[V[`\0a\x1C\x88\x81a0 V[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a2\xB7WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra2\xB4\x91\x81\x01\x90aZ\x9CV[`\x01[a2\xDFW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80Q` a]\xE1\x839\x81Q\x91R\x81\x14a3\x10W`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[a\x15 \x83\x83aG\xFFV[`\0\x81`@Q` \x01a-u\x91\x81R` \x01\x90V[`\x01a3:\x84a\x1AtV[`\x05\x81\x11\x15a3KWa3KaP\rV[\x14a3iW`@Qc>[N\x85`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF5\x84\x81T\x81\x10a3\x7FWa3\x7FaVsV[`\0\x91\x82R` \x82 `\t\x90\x91\x02\x01\x80T`@Qc\x1C~\xAEe`\xE0\x1B\x81R\x91\x93P\x82\x91`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x91c\x1C~\xAEe\x91a3\xF5\x91\x89\x91`\x04\x01`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x82R` \x82\x01R`@\x01\x90V[`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a4\x11W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a45\x91\x90aZ\xB5V[\x91P\x91P\x81\x83`\0\x01`\x01\x01T\x10\x15a4dW`@Qcb]\xAA\x9D`\xE1\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x03\x83\x01T\x81\x11\x15a4\x8CW`@Qc\xF8O\xAAI`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x07\x83\x01\x80T`\xFF\x19\x16`\x03\x90\x81\x17\x90\x91U\x83\x01Ta4\xAB\x90CaW~V[`\x04\x84\x01U`\x08\x83\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x87\x16\x17\x90U\x82T`\0\x90a4\xDB\x90aGgV[\x84T`@Qc\xC4\x92\xEE9`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x89\x81\x16`\x04\x83\x01R`$\x82\x01\x92\x90\x92R`D\x81\x01\x83\x90R\x91\x92P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xC4\x92\xEE9\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a5RW`\0\x80\xFD[PZ\xF1\x15\x80\x15a5fW=`\0\x80>=`\0\xFD[PPPP\x85`\x01`\x01`\xA0\x1B\x03\x16\x87\x7Fz|\xD4\x1C\xAD_<\xCC\xFD\xCEH\xDFr\x08E\xB6\xFE\x81g\x85;'\xBA\x03\x1D\x99\x98\xE2\x05\xEB\x1D\xD9\x87`@Qa5\xA4\x91\x90aT\xB4V[`@Q\x80\x91\x03\x90\xA3PPPPPPPV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a2PW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF5\x84\x81T\x81\x10a6\x14Wa6\x14aVsV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a6\x91\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta6\xBD\x90aV\x89V[\x80\x15a7\nW\x80`\x1F\x10a6\xDFWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a7\nV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a6\xEDW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a75Wa75aP\rV[`\x05\x81\x11\x15a7FWa7FaP\rV[\x81R`\x07\x82\x01Ta\x01\0\x90\x04`\x01`\x01`\xA0\x1B\x03\x90\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x82\x16`@\x91\x82\x01R\x82QQ``\x84\x01Q\x91Qc+a\x0C-`\xE0\x1B\x81R\x91\x83\x16`\x04\x83\x01R`$\x82\x01\x81\x90R\x92\x93P`\0\x91\x82\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c+a\x0C-\x90`D\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a7\xE5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a8\t\x91\x90aZ\xD9V[\x90\x92P\x90P`\x01`\x01`\xA0\x1B\x03\x82\x16a85W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03a8@\x88a\x1AtV[`\x05\x81\x11\x15a8QWa8QaP\rV[\x14a8rW`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x88\x90R`$\x01a\x0BgV[\x83Q`\xC0\x01Q`@Q`\0\x91a8\x8E\x91\x89\x90\x89\x90` \x01a[\x07V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x01\xF4\x84\x81T\x81\x10a8\xB3Wa8\xB3aVsV[`\0\x91\x82R` \x90\x91 `\x07\x90\x91\x02\x01T`@QcG;\x05\x7F`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x8Ev\n\xFE\x90a8\xF1\x90\x84\x90`\x04\x01aT\xB4V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a9\x0EW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a92\x91\x90aW\x03V[a9RW`@Qc^?\xA0Q`\xE0\x1B\x81R`\x04\x81\x01\x89\x90R`$\x01a\x0BgV[`\x04a\x01\xF5\x89\x81T\x81\x10a9hWa9haVsV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15a9\x95Wa9\x95aP\rV[\x02\x17\x90UP\x84Q` \x01Q`\0\x90a9\xAE\x90\x84\x90a[-V[\x90Pa9\xBA\x84\x84a.\x98V[\x85Q`\xA0\x01Qa9\xCA\x90\x82a.\x98V[`\0a9\xD5\x86aGgV[``\x88\x01Q`@Qc\x98*A]`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\x04\x82\x01R`$\x81\x01\x89\x90R`D\x81\x01\x83\x90R\x91\x92P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x98*A]\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a:NW`\0\x80\xFD[PZ\xF1\x15\x80\x15a:bW=`\0\x80>=`\0\xFD[PPPP\x89\x7F\x8F\xDDxa\x98\x04'\x96\x0FCy\x10\xD2\x0Bx\xBE7P6\xB3\x1F\x97\xEF\"\xA8\x04\x0F \xE4]+\xA2\x8A\x8A`@Qa:\x98\x92\x91\x90a[@V[`@Q\x80\x91\x03\x90\xA2PPPPPPPPPPV[`\0\x84\x82`@Q` \x01a:\xC1\x92\x91\x90a[\\V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a:\xE4\x82aB\xAFV[\x90P`\0a;(\x82\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPaB\xEA\x92PPPV[\x90Pa;3\x87aHUV[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a\rNW`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[```\0\x82\x80` \x01\x90Q\x81\x01\x90a;\x87\x91\x90a[\xCBV[P\x94\x99\x98PPPPPPPPPV[`\0\x80Q` a^A\x839\x81Q\x91RT`\xFF\x16\x15a2PW`@Qc\xD9<\x06e`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x87\x015\x15\x80a;\xE4WPa;\xE0`\xC0\x88\x01\x88aV\xBDV[\x15\x90P[\x15a<\x02W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xF7`\0\x86`\x02\x81\x11\x15a<\x19Wa<\x19aP\rV[`\x02\x81\x11\x15a<*Wa<*aP\rV[\x81R` \x01\x90\x81R` \x01`\0 TCa \x880a=\xEE\x84` \x8E\x015aW~V[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x92\x91\x90a.\x0BV[a>J\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82a.\x98V[\x81`\xC0\x01QQ`\0\x03a>pW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xF5T`@\x80Q`\x80\x81\x01\x90\x91R`\0\x90\x80a>\x8C\x8Da\\\xB9V[\x81R` \x01`\x01\x81R3` \x80\x83\x01\x91\x90\x91R`\0`@\x92\x83\x01\x81\x90Ra\x01\xF5\x80T`\x01\x81\x01\x82U\x91R\x83Q\x80Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1g`\t\x90\x93\x02\x92\x83\x01\x90\x81U\x92\x81\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1h\x83\x01U\x92\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1i\x82\x01U``\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1j\x82\x01U`\x80\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1k\x82\x01U`\xA0\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1l\x82\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x91\x90\x91\x17\x90U`\xC0\x83\x01Q\x93\x94P\x84\x93\x91\x92\x91\x83\x91\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1m\x01\x90a@\t\x90\x82aW\xD9V[PPP` \x82\x01Q`\x07\x82\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15a@/Wa@/aP\rV[\x02\x17\x90UP`@\x82\x01Q`\x07\x82\x01\x80Ta\x01\0`\x01`\xA8\x1B\x03\x19\x16a\x01\0`\x01`\x01`\xA0\x1B\x03\x93\x84\x16\x02\x17\x90U``\x90\x92\x01Q`\x08\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x91\x83\x16\x91\x90\x91\x17\x90U\x84Q\x90\x81\x16c\xA6\xDF\xBC\x7Fa@\x93`\xC0\x8F\x01\x8FaV\xBDV[`@Q\x83c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a@\xB0\x92\x91\x90a[@V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a@\xCDW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a@\xF1\x91\x90aW\x03V[aA\x0EW`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[aA\x1B\x85` \x01Qa,\xF3V[\x15aAgW`\x01\x15\x15\x83\x7F{\xBF\xCEe5\x8CD\xB5\x98\xA1\xEE\x0E\xEF\x06<\xE1M\xE0%\x168W\x94\xF6\xB6\x0E\xEAU#\xA96\xE4\x8B\x8B\x8B\x8B`@QaAZ\x94\x93\x92\x91\x90a]AV[`@Q\x80\x91\x03\x90\xA3aA\xB4V[`@\x80Q\x81\x81R`\0\x91\x81\x01\x82\x90R``` \x82\x01\x81\x90R\x81\x01\x82\x90R\x84\x90\x7F{\xBF\xCEe5\x8CD\xB5\x98\xA1\xEE\x0E\xEF\x06<\xE1M\xE0%\x168W\x94\xF6\xB6\x0E\xEAU#\xA96\xE4\x90`\x80\x01`@Q\x80\x91\x03\x90\xA3[PPPPPPPPPPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`$\x83\x01R`D\x82\x01\x83\x90Ra\x15 \x91\x85\x91\x82\x16\x90c\xA9\x05\x9C\xBB\x90`d\x01a.@V[aA\xFBa;\x96V[`\0\x80Q` a^A\x839\x81Q\x91R\x80T`\xFF\x19\x16`\x01\x17\x81U\x7Fb\xE7\x8C\xEA\x01\xBE\xE3 \xCDNB\x02p\xB5\xEAt\0\r\x11\xB0\xC9\xF7GT\xEB\xDB\xFCTK\x05\xA2X3a1\x8DV[a2PaH~V[a.raH~V[`\0\x80Q` a^!\x839\x81Q\x91R`\0aBf\x84a\x14\xA9V[`\0\x85\x81R` \x84\x90R`@\x80\x82 `\x01\x01\x86\x90UQ\x91\x92P\x84\x91\x83\x91\x87\x91\x7F\xBDy\xB8o\xFE\n\xB8\xE8waQQB\x17\xCD|\xAC\xD5,\x90\x9FfG\\:\xF4N\x12\x9F\x0B\0\xFF\x91\x90\xA4PPPPV[`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01a-uV[`\0\x80`\0\x80aB\xFA\x86\x86aH\xC7V[\x92P\x92P\x92PaC\n\x82\x82aI\x14V[P\x90\x94\x93PPPPV[``\x81\x01Q\x81QQ`@Qc+a\x0C-`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x92\x83\x16`\x04\x82\x01R`$\x81\x01\x91\x90\x91R`\0\x91\x82\x91\x82\x91\x82\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c+a\x0C-\x90`D\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15aC\x94W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90aC\xB8\x91\x90aZ\xD9V[\x90\x92P\x90P`\x01`\x01`\xA0\x1B\x03\x82\x16aC\xE4W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03aC\xEF\x87a\x1AtV[`\x05\x81\x11\x15aD\0WaD\0aP\rV[\x14aD!W`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[\x92P\x90P[\x92P\x92\x90PV[`\0\x80\x85\x85`@Q` \x01aDC\x92\x91\x90a]hV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0aDf\x82aB\xAFV[\x90P`\0aDt\x82\x87aB\xEAV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16aD\xA8W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[`@Qcr\x10Z\xAF`\xE0\x1B\x81R`\x04\x81\x01\x86\x90R`\x01`\x01`\xA0\x1B\x03\x82\x81\x16`$\x83\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cr\x10Z\xAF\x90`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15aE\x10W`\0\x80\xFD[PZ\xFA\x15\x80\x15aE$W=`\0\x80>=`\0\xFD[P`\x01\x9B\x9APPPPPPPPPPPV[`\x03aEA\x87a\x1AtV[`\x05\x81\x11\x15aERWaERaP\rV[\x14aEsW`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x04a\x01\xF5\x87\x81T\x81\x10aE\x89WaE\x89aVsV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15aE\xB6WaE\xB6aP\rV[\x02\x17\x90UP\x84Q` \x01Q`\0\x90aE\xCF\x90\x86\x90a[-V[\x90PaE\xDB\x84\x86a.\x98V[aF\x05\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82a.\x98V[``\x86\x01Q`@Qc\x98*A]`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\x04\x82\x01R`$\x81\x01\x85\x90R`D\x81\x01\x84\x90R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c\x98*A]\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15aF}W`\0\x80\xFD[PZ\xF1\x15\x80\x15aF\x91W=`\0\x80>=`\0\xFD[PP`@Q\x89\x92P\x7F\x07\xC3=KV\x06\xE2\xFD \xFB\x9A\xDBp\x06\xCD\xC7\xD4\xAB\x0F0\x80\x90\xDA\xBC\xFDd\xD4\x97\x9C\xD7~*\x91P`\0\x90\xA2PPPPPPPV[`\0\x80\x84\x84\x84`@Q` \x01aF\xE1\x93\x92\x91\x90a]\x81V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x91PP[\x93\x92PPPV[`\0aG\x19`\x01`\x01`\xA0\x1B\x03\x84\x16\x83aI\xCDV[\x90P\x80Q`\0\x14\x15\x80\x15aG>WP\x80\x80` \x01\x90Q\x81\x01\x90aG<\x91\x90aW\x03V[\x15[\x15a\x15 W`@QcRt\xAF\xE7`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0a\x01\xF4\x82\x81T\x81\x10aG}WaG}aVsV[\x90`\0R` `\0 \x90`\x07\x02\x01`\x02\x01T\x90P\x91\x90PV[aG\xA0\x82\x82a#yV[a\x1C\x88W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a\x0BgV[`\0\x80Q` a^A\x839\x81Q\x91RT`\xFF\x16a2PW`@Qc\x8D\xFC +`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[aH\x08\x82aI\xDBV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15aHMWa\x15 \x82\x82aJ@V[a\x1C\x88aJ\xADV[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90aHl\x91\x90a[\xCBV[PPPPPP\x91PPaF\xFD\x81aJ\xCCV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a2PW`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x83Q`A\x03aI\x01W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1AaH\xF3\x88\x82\x85\x85aJ\xFCV[\x95P\x95P\x95PPPPaI\rV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15aI(WaI(aP\rV[\x03aI1WPPV[`\x01\x82`\x03\x81\x11\x15aIEWaIEaP\rV[\x03aIcW`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15aIwWaIwaP\rV[\x03aI\x98W`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[`\x03\x82`\x03\x81\x11\x15aI\xACWaI\xACaP\rV[\x03a\x1C\x88W`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[``aF\xFD\x83\x83`\0aK\xCBV[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03aJ\x11W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80Q` a]\xE1\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@QaJ]\x91\x90a]\xC4V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14aJ\x98W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>aJ\x9DV[``\x91P[P\x91P\x91Pa0\x17\x85\x83\x83aLZV[4\x15a2PW`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81Q`@\x14aJ\xF0W`@Qc\xD2\x833]`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15aK7WP`\0\x91P`\x03\x90P\x82aK\xC1V[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15aK\x8BW=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16aK\xB7WP`\0\x92P`\x01\x91P\x82\x90PaK\xC1V[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[``\x81G\x10\x15aK\xF0W`@Qc\xCDx`Y`\xE0\x1B\x81R0`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x84\x86`@QaL\x0C\x91\x90a]\xC4V[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14aLIW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>aLNV[``\x91P[P\x91P\x91Pa\x11\xA5\x86\x83\x83[``\x82aLoWaLj\x82aL\xB6V[aF\xFDV[\x81Q\x15\x80\x15aL\x86WP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15aL\xAFW`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x0BgV[P\x80aF\xFDV[\x80Q\x15aL\xC6W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15aL\xF1W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14aF\xFDW`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12aM\x1BW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aM2W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15aD&W`\0\x80\xFD[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15aMeW`\0\x80\xFD[\x855\x94P` \x86\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aM\x83W`\0\x80\xFD[aM\x8F\x89\x83\x8A\x01aM\tV[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15aM\xA8W`\0\x80\xFD[PaM\xB5\x88\x82\x89\x01aM\tV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0\x80\x83`\x1F\x84\x01\x12aM\xD8W`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aM\xEFW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15aD&W`\0\x80\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x12\x80W`\0\x80\xFD[`\0\x80`\0\x80`\0\x80`\0\x80`\xA0\x89\x8B\x03\x12\x15aN8W`\0\x80\xFD[\x885`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aNOW`\0\x80\xFD[aN[\x8C\x83\x8D\x01aM\xC6V[\x90\x9AP\x98P` \x8B\x015\x91PaNp\x82aN\x07V[\x90\x96P`@\x8A\x015\x95P``\x8A\x015\x90\x80\x82\x11\x15aN\x8DW`\0\x80\xFD[aN\x99\x8C\x83\x8D\x01aM\xC6V[\x90\x96P\x94P`\x80\x8B\x015\x91P\x80\x82\x11\x15aN\xB2W`\0\x80\xFD[PaN\xBF\x8B\x82\x8C\x01aM\xC6V[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[\x805`\x03\x81\x10a\x14\xA4W`\0\x80\xFD[`\0`\xE0\x82\x84\x03\x12\x15aN\xF4W`\0\x80\xFD[P\x91\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15aO\x13W`\0\x80\xFD[aO\x1C\x87aN\xD3V[\x95P` \x87\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aO8W`\0\x80\xFD[aOD\x8A\x83\x8B\x01aN\xE2V[\x96P`@\x89\x015\x91P\x80\x82\x11\x15aOZW`\0\x80\xFD[aOf\x8A\x83\x8B\x01aM\xC6V[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15aO\x7FW`\0\x80\xFD[PaO\x8C\x89\x82\x8A\x01aM\xC6V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0` \x82\x84\x03\x12\x15aO\xB0W`\0\x80\xFD[P5\x91\x90PV[`\0` \x82\x84\x03\x12\x15aO\xC9W`\0\x80\xFD[aF\xFD\x82aN\xD3V[\x805a\x14\xA4\x81aN\x07V[`\0\x80`@\x83\x85\x03\x12\x15aO\xF0W`\0\x80\xFD[\x825\x91P` \x83\x015aP\x02\x81aN\x07V[\x80\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x06\x81\x10aPAWcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[` \x81\x01a\tY\x82\x84aP#V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xE0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aP\x8BWaP\x8BaPSV[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aP\xB9WaP\xB9aPSV[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aP\xDAWaP\xDAaPSV[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aP\xF9W`\0\x80\xFD[\x815aQ\x0CaQ\x07\x82aP\xC1V[aP\x91V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aQ!W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15aQQW`\0\x80\xFD[\x825aQ\\\x81aN\x07V[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aQwW`\0\x80\xFD[aQ\x83\x85\x82\x86\x01aP\xE8V[\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15aQ\xA3W`\0\x80\xFD[\x845\x93P` \x85\x015aQ\xB5\x81aN\x07V[\x92P`@\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aQ\xD0W`\0\x80\xFD[aQ\xDC\x87\x82\x88\x01aM\xC6V[\x95\x98\x94\x97P\x95PPPPV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aR\x01WaR\x01aPSV[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aR\x1CW`\0\x80\xFD[\x815` aR,aQ\x07\x83aQ\xE8V[\x80\x83\x82R` \x82\x01\x91P` \x84`\x05\x1B\x87\x01\x01\x93P\x86\x84\x11\x15aRNW`\0\x80\xFD[` \x86\x01[\x84\x81\x10\x15aRjW\x805\x83R\x91\x83\x01\x91\x83\x01aRSV[P\x96\x95PPPPPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15aR\x8AW`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aR\xA1W`\0\x80\xFD[aR\xAD\x87\x83\x88\x01aR\x0BV[\x94P` \x86\x015\x91P\x80\x82\x11\x15aR\xC3W`\0\x80\xFD[PaR\xD0\x86\x82\x87\x01aM\tV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15aR\xF2W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aS\tW`\0\x80\xFD[aS\x15\x87\x83\x88\x01aP\xE8V[\x94P` \x86\x015\x91P\x80\x82\x11\x15aS+W`\0\x80\xFD[PaR\xD0\x86\x82\x87\x01aM\xC6V[`\0[\x83\x81\x10\x15aSSW\x81\x81\x01Q\x83\x82\x01R` \x01aS;V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84RaSt\x81` \x86\x01` \x86\x01aS8V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\x80\x81R\x84Q`\x80\x82\x01R` \x85\x01Q`\xA0\x82\x01R`@\x85\x01Q`\xC0\x82\x01R``\x85\x01Q`\xE0\x82\x01R`\x80\x85\x01Qa\x01\0\x82\x01R`\x01\x80`\xA0\x1B\x03`\xA0\x86\x01Q\x16a\x01 \x82\x01R`\0`\xC0\x86\x01Q`\xE0a\x01@\x84\x01RaS\xECa\x01`\x84\x01\x82aS\\V[\x91PPaS\xFC` \x83\x01\x86aP#V[`\x01`\x01`\xA0\x1B\x03\x84\x16`@\x83\x01R`\x01`\x01`\xA0\x1B\x03\x83\x16``\x83\x01R\x95\x94PPPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15aT v\xCC75\xA9 \xA3\xCAP]8+\xBCs\xE5s\xF9VmaA\x8A4\xD5\xDE?\xF4\x93`\xF9\xC5\x1F\xEC7\xF7HeQg\x02\x90\xF6(]\xAB\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\xCD^\xD1\\n\x18~w\xE9\xAE\xE8\x81\x84\xC2\x1FO!\x82\xABX'\xCB;~\x07\xFB\xED\xCDc\xF03\0\x08\x0F^\xA8N\xD1\xDEL\x8E\xDBX\xBEe\x1C%X\x1C5Z\0\x11\xB0\xF96\r\xE5\x08+\xEC\xD6F@\xA2dipfsX\"\x12 \xF8.\xEF\x9E\xD4\x80f\x8D\xA1\xDE1\xB66V\x7F\xACA\x9A\xCD\x12?\xA9\xA7\xFD#\xF5\xB3J\xAD2hwdsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"a\x01@`@R0`\x80R4\x80\x15b\0\0\x16W`\0\x80\xFD[P`@Qb\0b%8\x03\x80b\0b%\x839\x81\x01`@\x81\x90Rb\0\09\x91b\0\x01\x94V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15b\0\0\x84WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15b\0\0\xA1WP0;\x15[\x90P\x81\x15\x80\x15b\0\0\xB0WP\x80\x15[\x15b\0\0\xCFW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T`\x01`\x01`@\x1B\x03\x19\x16`\x01\x17\x85U\x83\x15b\0\0\xFEW\x84T`\xFF`@\x1B\x19\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[`\x01`\x01`\xA0\x1B\x03\x80\x8B\x16`\xA0R`\xC0\x8A\x90R\x88\x81\x16`\xE0R\x87\x81\x16a\x01\0R\x86\x16a\x01 R\x83\x15b\0\x01kW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPPPPb\0\x02\x08V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01\x91W`\0\x80\xFD[PV[`\0\x80`\0\x80`\0`\xA0\x86\x88\x03\x12\x15b\0\x01\xADW`\0\x80\xFD[\x85Qb\0\x01\xBA\x81b\0\x01{V[` \x87\x01Q`@\x88\x01Q\x91\x96P\x94Pb\0\x01\xD4\x81b\0\x01{V[``\x87\x01Q\x90\x93Pb\0\x01\xE7\x81b\0\x01{V[`\x80\x87\x01Q\x90\x92Pb\0\x01\xFA\x81b\0\x01{V[\x80\x91PP\x92\x95P\x92\x95\x90\x93PV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa\x01\0Qa\x01 Qa_\x02b\0\x03#`\09`\0\x81\x81a\x05\xFE\x01R\x81\x81a\x0Br\x01R\x81\x81a\x0C\x95\x01R\x81\x81a\x0E\xC0\x01R\x81\x81a\x0FK\x01R\x81\x81a\x17K\x01R\x81\x81a\x17\xE8\x01R\x81\x81a\x19\x1D\x01R\x81\x81a\x19\xBA\x01R\x81\x81a\x1C\xC0\x01R\x81\x81a\x1E\x85\x01R\x81\x81a&\x07\x01R\x81\x81a'q\x01RaE\x0C\x01R`\0\x81\x81a\x07\xB1\x01R\x81\x81a/\xA3\x01R\x81\x81a3\xEA\x01R\x81\x81a5L\x01R\x81\x81a7\xDB\x01R\x81\x81a:H\x01R\x81\x81aC\x8A\x01RaFu\x01R`\0\x81\x81a\x0E^\x01R\x81\x81a\x14\x89\x01R\x81\x81a>c\x01RaF\x1E\x01R`\0\x81\x81a\x05\xCA\x01Ra\x0E\x7F\x01R`\0\x81\x81a\x07\x0F\x01R\x81\x81a\x0E;\x01R\x81\x81a\"\xAD\x01Ra>6\x01R`\0\x81\x81a1\xF4\x01R\x81\x81a2\x1D\x01Ra5\xFE\x01Ra_\x02`\0\xF3\xFE`\x80`@R`\x046\x10a\x02\x93W`\x005`\xE0\x1C\x80ceY9{\x11a\x01ZW\x80c\x97Q\xBB\xD3\x11a\0\xC1W\x80c\xD4\xC2B6\x11a\0zW\x80c\xD4\xC2B6\x14a\x08\x86W\x80c\xD5Gt\x1F\x14a\x08\xA6W\x80c\xE6\xAF\xC3\xD9\x14a\x08\xC6W\x80c\xF0`,\xAB\x14a\x08\xE6W\x80c\xF8\xA9H/\x14a\t\x06W\x80c\xFB\xEF\x98m\x14a\t9W`\0\x80\xFD[\x80c\x97Q\xBB\xD3\x14a\x07\x9FW\x80c\xA2\x17\xFD\xDF\x14a\x07\xD3W\x80c\xAD<\xB1\xCC\x14a\x07\xE8W\x80c\xB4\xCFT?\x14a\x08&W\x80c\xC2D\xA7\xB9\x14a\x08FW\x80c\xC4\xD6m\xE8\x14a\x08fW`\0\x80\xFD[\x80cy\xC7n\x1A\x11a\x01\x13W\x80cy\xC7n\x1A\x14a\x06\xC8W\x80c\x84V\xCBY\x14a\x06\xE8W\x80c\x87|\x86\xFB\x14a\x06\xFDW\x80c\x89\x88PI\x14a\x071W\x80c\x8E\xCC\xBD\xAF\x14a\x07_W\x80c\x91\xD1HT\x14a\x07\x7FW`\0\x80\xFD[\x80ceY9{\x14a\x05\xB8W\x80cf\x1D\xE5\xAC\x14a\x05\xECW\x80cl\x8D\xF5\x18\x14a\x068W\x80cm\xA6w\x9B\x14a\x06hW\x80cpS\x8F\xCA\x14a\x06\x88W\x80cx\x7F\xB0K\x14a\x06\xA8W`\0\x80\xFD[\x80c6V\x8A\xBE\x11a\x01\xFEW\x80cO\x1E\xF2\x86\x11a\x01\xB7W\x80cO\x1E\xF2\x86\x14a\x05\x0BW\x80cRy\x86\xD0\x14a\x05\x1EW\x80cR\xD1\x90-\x14a\x05>W\x80cS{[\x7F\x14a\x05SW\x80c\\\x97Z\xBB\x14a\x05sW\x80cd\x17\xFBa\x14a\x05\x98W`\0\x80\xFD[\x80c6V\x8A\xBE\x14a\x049W\x80c?K\xA8:\x14a\x04YW\x80cE\x07R\xB4\x14a\x04nW\x80cG\xE63\x80\x14a\x04\x8EW\x80cIm\xF3\xB1\x14a\x04\xB0W\x80cMFq-\x14a\x04\xDEW`\0\x80\xFD[\x80c$v\x08\x07\x11a\x02PW\x80c$v\x08\x07\x14a\x03}W\x80c$\x8A\x9C\xA3\x14a\x03\x93W\x80c(D8\xA1\x14a\x03\xB3W\x80c-\x001\x8D\x14a\x03\xD5W\x80c//\xF1]\x14a\x04\x03W\x80c1u\x93\xD2\x14a\x04#W`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02\x98W\x80c\x04K\xC8\xED\x14a\x02\xCDW\x80c\x15\xC9\x8Az\x14a\x02\xEFW\x80c\x16\x0F\xCF\xBA\x14a\x03\x0FW\x80c\x16(\xE0\xF5\x14a\x03=W\x80c }f)\x14a\x03]W[`\0\x80\xFD[4\x80\x15a\x02\xA4W`\0\x80\xFD[Pa\x02\xB8a\x02\xB36`\x04aM\x1DV[a\tNV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02\xD9W`\0\x80\xFD[Pa\x02\xEDa\x02\xE86`\x04aM\x8BV[a\t_V[\0[4\x80\x15a\x02\xFBW`\0\x80\xFD[Pa\x02\xEDa\x03\n6`\x04aNZV[a\rkV[4\x80\x15a\x03\x1BW`\0\x80\xFD[Pa\x03/a\x03*6`\x04aO8V[a\x118V[`@Q\x90\x81R` \x01a\x02\xC4V[4\x80\x15a\x03IW`\0\x80\xFD[Pa\x02\xEDa\x03X6`\x04aO\xDCV[a\x11\xC3V[4\x80\x15a\x03iW`\0\x80\xFD[Pa\x03/a\x03x6`\x04aO\xDCV[a\x12\x97V[4\x80\x15a\x03\x89W`\0\x80\xFD[Pa\x01\xF4Ta\x03/V[4\x80\x15a\x03\x9FW`\0\x80\xFD[Pa\x03/a\x03\xAE6`\x04aO\xDCV[a\x14\xBDV[4\x80\x15a\x03\xBFW`\0\x80\xFD[Pa\x03/`\0\x80Q` a^\xAD\x839\x81Q\x91R\x81V[4\x80\x15a\x03\xE1W`\0\x80\xFD[Pa\x03/a\x03\xF06`\x04aO\xF5V[a\x01\xF7` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\x0FW`\0\x80\xFD[Pa\x02\xEDa\x04\x1E6`\x04aP\x1BV[a\x14\xDFV[4\x80\x15a\x04/W`\0\x80\xFD[Pa\x01\xF5Ta\x03/V[4\x80\x15a\x04EW`\0\x80\xFD[Pa\x02\xEDa\x04T6`\x04aP\x1BV[a\x15\x01V[4\x80\x15a\x04eW`\0\x80\xFD[Pa\x02\xEDa\x159V[4\x80\x15a\x04zW`\0\x80\xFD[Pa\x02\xEDa\x04\x896`\x04aM\x8BV[a\x15YV[4\x80\x15a\x04\x9AW`\0\x80\xFD[Pa\x03/`\0\x80Q` a^M\x839\x81Q\x91R\x81V[4\x80\x15a\x04\xBCW`\0\x80\xFD[Pa\x03/a\x04\xCB6`\x04aO\xF5V[a\x01\xF6` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\xEAW`\0\x80\xFD[Pa\x04\xFEa\x04\xF96`\x04aO\xDCV[a\x1A\x9EV[`@Qa\x02\xC4\x91\x90aP\x83V[a\x02\xEDa\x05\x196`\x04aQ|V[a\x1C\x97V[4\x80\x15a\x05*W`\0\x80\xFD[Pa\x02\xEDa\x0596`\x04aQ\xCBV[a\x1C\xB6V[4\x80\x15a\x05JW`\0\x80\xFD[Pa\x03/a\x1D\xABV[4\x80\x15a\x05_W`\0\x80\xFD[Pa\x02\xEDa\x05n6`\x04aR\xAFV[a\x1D\xC8V[4\x80\x15a\x05\x7FW`\0\x80\xFD[P`\0\x80Q` a^\x8D\x839\x81Q\x91RT`\xFF\x16a\x02\xB8V[4\x80\x15a\x05\xA4W`\0\x80\xFD[Pa\x02\xEDa\x05\xB36`\x04aS\x17V[a\x1E^V[4\x80\x15a\x05\xC4W`\0\x80\xFD[Pa\x03/\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\xF8W`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\xC4V[4\x80\x15a\x06DW`\0\x80\xFD[Pa\x06Xa\x06S6`\x04aO\xDCV[a\x1F\x17V[`@Qa\x02\xC4\x94\x93\x92\x91\x90aS\xC2V[4\x80\x15a\x06tW`\0\x80\xFD[Pa\x03/a\x06\x836`\x04aP\x1BV[a JV[4\x80\x15a\x06\x94W`\0\x80\xFD[Pa\x02\xEDa\x06\xA36`\x04aT]V[a \xA5V[4\x80\x15a\x06\xB4W`\0\x80\xFD[Pa\x02\xEDa\x06\xC36`\x04aO\xDCV[a \xD4V[4\x80\x15a\x06\xD4W`\0\x80\xFD[Pa\x02\xEDa\x06\xE36`\x04aT\xA7V[a\"\x80V[4\x80\x15a\x06\xF4W`\0\x80\xFD[Pa\x02\xEDa\"\xF0V[4\x80\x15a\x07\tW`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x07=W`\0\x80\xFD[Pa\x03/a\x07L6`\x04aT\xA7V[a\x01\xF8` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x07kW`\0\x80\xFD[Pa\x02\xEDa\x07z6`\x04aT\xC4V[a#\x10V[4\x80\x15a\x07\x8BW`\0\x80\xFD[Pa\x02\xB8a\x07\x9A6`\x04aP\x1BV[a#\xADV[4\x80\x15a\x07\xABW`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x07\xDFW`\0\x80\xFD[Pa\x03/`\0\x81V[4\x80\x15a\x07\xF4W`\0\x80\xFD[Pa\x08\x19`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02\xC4\x91\x90aT\xEEV[4\x80\x15a\x082W`\0\x80\xFD[Pa\x02\xEDa\x08A6`\x04aT\xC4V[a#\xE5V[4\x80\x15a\x08RW`\0\x80\xFD[Pa\x02\xEDa\x08a6`\x04aU\x01V[a$yV[4\x80\x15a\x08rW`\0\x80\xFD[Pa\x02\xEDa\x08\x816`\x04aT\xA7V[a$\x94V[4\x80\x15a\x08\x92W`\0\x80\xFD[Pa\x02\xEDa\x08\xA16`\x04aU?V[a%\xEDV[4\x80\x15a\x08\xB2W`\0\x80\xFD[Pa\x02\xEDa\x08\xC16`\x04aP\x1BV[a&\x99V[4\x80\x15a\x08\xD2W`\0\x80\xFD[Pa\x02\xEDa\x08\xE16`\x04aU\x80V[a&\xB5V[4\x80\x15a\x08\xF2W`\0\x80\xFD[Pa\x02\xEDa\t\x016`\x04aU\x01V[a(\xD2V[4\x80\x15a\t\x12W`\0\x80\xFD[Pa\t&a\t!6`\x04aO\xDCV[a,\x13V[`@Qa\x02\xC4\x97\x96\x95\x94\x93\x92\x91\x90aV]V[4\x80\x15a\tEW`\0\x80\xFD[Pa\x03/`d\x81V[`\0a\tY\x82a,\xFCV[\x92\x91PPV[`\0a\x01\xF4\x86\x81T\x81\x10a\tuWa\tuaV\xADV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a\t\xF2\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\n\x1E\x90aV\xC3V[\x80\x15a\nkW\x80`\x1F\x10a\n@Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\nkV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\nNW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`\xC0\x01QQ`\0\x03a\n\x9CW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\n\xD2W`@Qc8\x99:I`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83\x15a\x0CAWa\n\xE5\x81` \x01Qa-1V[a\x0B\x02W`@Qcz\xFC\xEF\x7F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x84\x81\x10\x15a\x0C?W`\0a\x0B;\x87\x87\x84\x81\x81\x10a\x0B$Wa\x0B$aV\xADV[\x90P` \x02\x81\x01\x90a\x0B6\x91\x90aV\xF7V[a-fV[\x90P\x82` \x01Q\x81\x03a\x0BpW`@QcZ\xB2\xFB\xC9`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x81\x01\x82\x90R`D\x01[`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\x14\x13\xA9*\x82a\x0B\xA9\x8Ba-\x88V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0B\xE7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0B\xFBW=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8A\x91P\x7F\xDC\xBE\xB0\xA3\xB1\xAC\"\x82L\xF31\x91q\x12\xBE\x12\x80I\xBAa'\xB2\xB2\x06\xA2\xEE[\x0Fl\xA9|5\x90`\0\x90\xA3P\x80a\x0C7\x81aWSV[\x91PPa\x0B\x05V[P[`\0[\x82\x81\x10\x15a\rbW`\0a\x0Cc\x85\x85\x84\x81\x81\x10a\x0B$Wa\x0B$aV\xADV[\x90P\x82`\x80\x01Q\x81\x03a\x0C\x93W`@QcZ\xB2\xFB\xC9`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x81\x01\x82\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\x14\x13\xA9*\x82a\x0C\xCC\x8Ba-\xD0V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\r\nW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\r\x1EW=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8A\x91P\x7FX\xEE\xC2\xA6\xA4~\x81\x083\"\x82\x9B3\x91\x02\x84|~\x1D\xDD}df\x86\x83\xA4\xB9\x96\xE5\xA0$\x9D\x90`\0\x90\xA3P\x80a\rZ\x81aWSV[\x91PPa\x0CDV[PPPPPPPV[a\rsa-\xFFV[3\x85\x15\x80a\r\x7FWP\x87\x15[\x80a\r\x91WP`\x01`\x01`\xA0\x1B\x03\x87\x16\x15[\x15a\r\xAFW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x86`\x01`\x01`\xA0\x1B\x03\x16c\x10\xA5By`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r\xEDW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0E\x11\x91\x90aWlV[a\x0E.W`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\xA3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x82\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a.IV[a\x01\xF4Ta\x0E\xB9a\x0E\xB4\x87\x87a-fV[a-1V[\x15a\x0FIW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1a\x0E\xF6\x83a-\x88V[\x88\x88`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x0F\x16\x93\x92\x91\x90aW\xB7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0F0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0FDW=`\0\x80>=`\0\xFD[PPPP[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1a\x0F\x81\x83a-\xD0V[\x86\x86`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x0F\xA1\x93\x92\x91\x90aW\xB7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0F\xBBW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F\xCFW=`\0\x80>=`\0\xFD[PPPPa\x01\xF4`@Q\x80`\xE0\x01`@R\x80\x8A`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01a\x0F\xFA\x89\x89a-fV[\x81R` \x81\x01\x8A\x90R`@\x01a\x10\x11`dCaW\xD1V[\x81R` \x01a\x10 \x87\x87a-fV[\x81R` \x01\x84`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x8C\x8C\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x90\x94RPP\x83T`\x01\x80\x82\x01\x86U\x94\x82R` \x91\x82\x90 \x84Q`\x07\x90\x92\x02\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x90\x81\x16`\x01`\x01`\xA0\x1B\x03\x93\x84\x16\x17\x82U\x92\x85\x01Q\x95\x81\x01\x95\x90\x95U`@\x84\x01Q`\x02\x86\x01U``\x84\x01Q`\x03\x86\x01U`\x80\x84\x01Q`\x04\x86\x01U`\xA0\x84\x01Q`\x05\x86\x01\x80T\x90\x93\x16\x91\x16\x17\x90UP`\xC0\x81\x01Q\x90\x91\x90`\x06\x82\x01\x90a\x10\xF6\x90\x82aX*V[PP`@Q\x82\x91P\x7F\xB8Z>yOG^\xD5\xE4\x03}\xC5\xF2\xD5\xC3(\xC8\xD5N\x0C\x1AL\xA5Sc\x82\x90\x15\xE6\xC7\x0C\x89\x90`\0\x90\xA2PPa\x11.a.\xB0V[PPPPPPPPV[`\0\x80a\x01\xF6`\0\x89`\x02\x81\x11\x15a\x11RWa\x11RaPKV[`\x02\x81\x11\x15a\x11cWa\x11caPKV[\x81R` \x01\x90\x81R` \x01`\0 T\x90P\x80`\0\x14a\x11\xB3W\x80\x83\x86a\x11\x8C`\xC0\x8B\x01\x8BaV\xF7V[a\x11\x97\x92\x91PaW\xD1V[a\x11\xA1\x91\x90aW\xD1V[a\x11\xAB\x91\x90aX\xE9V[\x91PPa\x11\xB9V[`\0\x91PP[\x96\x95PPPPPPV[a\x11\xCBa-\xFFV[`\x02a\x11\xD6\x82a\x1A\x9EV[`\x05\x81\x11\x15a\x11\xE7Wa\x11\xE7aPKV[\x14a\x12\x08W`@QcSi\x1DU`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[`\0a\x01\xF5\x82\x81T\x81\x10a\x12\x1EWa\x12\x1EaV\xADV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x90\x81\x01\x80T`\xFF\x19\x16`\x04\x17\x90U`\x05\x81\x01T`\x01\x82\x01T\x91\x92Pa\x12`\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90a.\xD6V[`@Q\x82\x90\x7FZ\xB6\xD2\x180;\xD8\xDC\x01\xC2\xC5\xE8\x12\xDC\xBB\xAD\xCF\xC2\xEB[\x1F\xB9\x11\x11\xE0\xB0\xAE\x87\x88\x8A\xC5h\x90`\0\x90\xA2Pa\x12\x94a.\xB0V[PV[`\0a\x12\xA1a-\xFFV[`\0a\x01\xF5\x83\x81T\x81\x10a\x12\xB7Wa\x12\xB7aV\xADV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a\x134\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x13`\x90aV\xC3V[\x80\x15a\x13\xADW\x80`\x1F\x10a\x13\x82Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x13\xADV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x13\x90W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a\x13\xD8Wa\x13\xD8aPKV[`\x05\x81\x11\x15a\x13\xE9Wa\x13\xE9aPKV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x90P`\x03a\x14!\x84a\x1A\x9EV[`\x05\x81\x11\x15a\x142Wa\x142aPKV[\x14a\x14SW`@Qc\r\x94\x85\xF1`\xE0\x1B\x81R`\x04\x81\x01\x84\x90R`$\x01a\x0BgV[``\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163\x14a\x14\x83W`@Qc\x10\xDA\x1D\xD3`\xE3\x1B\x81R`\x04\x81\x01\x84\x90R`$\x01a\x0BgV[a\x14\xAD\x83\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a/\x0EV[\x91PPa\x14\xB8a.\xB0V[\x91\x90PV[`\0\x90\x81R`\0\x80Q` a^m\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[a\x14\xE8\x82a\x14\xBDV[a\x14\xF1\x81a0^V[a\x14\xFB\x83\x83a0hV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x15*W`@Qc3K\xD9\x19`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x154\x82\x82a1\rV[PPPV[`\0\x80Q` a^M\x839\x81Q\x91Ra\x15Q\x81a0^V[a\x12\x94a1\x89V[`\0a\x01\xF4\x86\x81T\x81\x10a\x15oWa\x15oaV\xADV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a\x15\xEC\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x16\x18\x90aV\xC3V[\x80\x15a\x16eW\x80`\x1F\x10a\x16:Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x16eV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x16HW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`\xC0\x01QQ`\0\x03a\x16\x96W`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\x16\xCCW`@Qc8\x99:I`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83\x15a\x18\xCEWa\x16\xDF\x81` \x01Qa-1V[a\x16\xFCW`@Qcz\xFC\xEF\x7F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x84\x81\x10\x15a\x18\xCCW`\0a\x17\x12\x88a-\x88V[\x90P`\0a\x17+\x88\x88\x85\x81\x81\x10a\x0B$Wa\x0B$aV\xADV[`@Qc5\xAD\x90\xD3`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90ck[!\xA6\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x17\x9AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x17\xBE\x91\x90aWlV[\x15a\x17\xE6W`@Qc\xC6D\xD0G`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x83\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1\x83\x8A\x8A\x87\x81\x81\x10a\x18(Wa\x18(aV\xADV[\x90P` \x02\x81\x01\x90a\x18:\x91\x90aV\xF7V[`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x18X\x93\x92\x91\x90aW\xB7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x18rW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x18\x86W=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8B\x91P\x7F8\xCF^\xF7\xF2\x11\xD49\x83\xAFl\x03\xC4c\x89\x17\xEB\xDE;\x9CR\xD9hf\xF3G%\xC3\x92\x8E:{\x90`\0\x90\xA3PP\x80\x80a\x18\xC4\x90aWSV[\x91PPa\x16\xFFV[P[`\0[\x82\x81\x10\x15a\rbW`\0a\x18\xE4\x88a-\xD0V[\x90P`\0a\x18\xFD\x86\x86\x85\x81\x81\x10a\x0B$Wa\x0B$aV\xADV[`@Qc5\xAD\x90\xD3`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90ck[!\xA6\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x19lW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x19\x90\x91\x90aWlV[\x15a\x19\xB8W`@Qc\xC6D\xD0G`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x83\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1\x83\x88\x88\x87\x81\x81\x10a\x19\xFAWa\x19\xFAaV\xADV[\x90P` \x02\x81\x01\x90a\x1A\x0C\x91\x90aV\xF7V[`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x1A*\x93\x92\x91\x90aW\xB7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1ADW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x1AXW=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8B\x91P\x7F\xE8\xF7\xC0*\xA8\xD1\xF6M$\\\xCF\x16+\xC7\x7F\x17\x1D\xD86\xDFD\n\xC9\xA6\xB67!D^\xBEU\x89\x90`\0\x90\xA3PP\x80\x80a\x1A\x96\x90aWSV[\x91PPa\x18\xD1V[`\0\x80a\x01\xF5\x83\x81T\x81\x10a\x1A\xB5Wa\x1A\xB5aV\xADV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a\x1B2\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1B^\x90aV\xC3V[\x80\x15a\x1B\xABW\x80`\x1F\x10a\x1B\x80Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x1B\xABV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1B\x8EW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a\x1B\xD6Wa\x1B\xD6aPKV[`\x05\x81\x11\x15a\x1B\xE7Wa\x1B\xE7aPKV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x90P`\x01\x81` \x01Q`\x05\x81\x11\x15a\x1C,Wa\x1C,aPKV[\x03a\x1CQW\x80Q`@\x01QC\x10\x15a\x1CHW` \x01Q\x92\x91PPV[P`\x02\x92\x91PPV[`\x03\x81` \x01Q`\x05\x81\x11\x15a\x1CiWa\x1CiaPKV[\x03a\x1C\x8DW\x80Q`\x80\x01QC\x11\x15a\x1C\x84WP`\x05\x92\x91PPV[P`\x03\x92\x91PPV[` \x01Q\x92\x91PPV[a\x1C\x9Fa1\xE9V[a\x1C\xA8\x82a2\x90V[a\x1C\xB2\x82\x82a2\x9BV[PPV[a\x1C\xBEa-\xFFV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16cr\x10Z\xAFa\x1D\x04`\0\x80Q` a^\xAD\x839\x81Q\x91Ra3XV[3`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`\x01`\x01`\xA0\x1B\x03\x16`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x1DJW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x1D^W=`\0\x80>=`\0\xFD[PPPPa\x1D\xA3\x84\x84\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa3m\x92PPPV[a\x14\xFBa.\xB0V[`\0a\x1D\xB5a5\xF3V[P`\0\x80Q` a^-\x839\x81Q\x91R\x90V[a\x1D\xD0a-\xFFV[\x82Q\x81\x14a\x1D\xF1W`@Qc\xC2\x1F\xE6\xBF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83Q\x81\x10\x15a\x1EUWa\x1EC\x84\x82\x81Q\x81\x10a\x1E\x12Wa\x1E\x12aV\xADV[` \x02` \x01\x01Q\x84\x84\x84\x81\x81\x10a\x1E,Wa\x1E,aV\xADV[\x90P` \x02\x81\x01\x90a\x1E>\x91\x90aV\xF7V[a6=`\0\xFD[PPPPPPPPPV[a\x01\xF5\x81\x81T\x81\x10a\x1F(W`\0\x80\xFD[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\t\x90\x93\x02\x90\x91\x01\x80T\x83R`\x01\x81\x01T\x93\x83\x01\x93\x90\x93R`\x02\x83\x01T\x90\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x82\x01T`\x80\x82\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x92\x93P\x90\x91\x83\x91`\xC0\x84\x01\x91a\x1F\xA0\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1F\xCC\x90aV\xC3V[\x80\x15a \x19W\x80`\x1F\x10a\x1F\xEEWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a \x19V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1F\xFCW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP`\x07\x82\x01T`\x08\x90\x92\x01T\x90\x91`\xFF\x81\x16\x91`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x92\x04\x82\x16\x91\x16\x84V[`\0a Ta-\xFFV[`\x05a _\x84a\x1A\x9EV[`\x05\x81\x11\x15a pWa paPKV[\x14a \x91W`@Qc\x16Y\xBE\xD5`\xE3\x1B\x81R`\x04\x81\x01\x84\x90R`$\x01a\x0BgV[a \x9B\x83\x83a/\x0EV[\x90Pa\tYa.\xB0V[a \xADa;\xD4V[a \xB5a-\xFFV[a \xC4\x863\x87\x87\x87\x87\x87a<\x05V[a \xCCa.\xB0V[PPPPPPV[`\0a\x01\xF4\x82\x81T\x81\x10a \xEAWa \xEAaV\xADV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a!g\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta!\x93\x90aV\xC3V[\x80\x15a!\xE0W\x80`\x1F\x10a!\xB5Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a!\xE0V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a!\xC3W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`\xC0\x01QQ`\0\x03a\"\x11W`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\"GW`@Qc8\x99:I`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xF4\x82\x81T\x81\x10a\"[Wa\"[aV\xADV[`\0\x91\x82R` \x90\x91 `\x05`\x07\x90\x92\x02\x01\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90UPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF8` R`@\x90 T\x80\x15a\x1C\xB2Wa\"\xD4`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x83\x83aB\0V[P`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81Ra\x01\xF8` R`@\x81 UV[`\0\x80Q` a^M\x839\x81Q\x91Ra#\x08\x81a0^V[a\x12\x94aB1V[`\0\x80Q` a^M\x839\x81Q\x91Ra#(\x81a0^V[\x81a\x01\xF6`\0\x85`\x02\x81\x11\x15a#@Wa#@aPKV[`\x02\x81\x11\x15a#QWa#QaPKV[\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 U\x82`\x02\x81\x11\x15a#tWa#taPKV[`@Q\x83\x81R\x7F\xC0\xCAkm\xF9\xB5\xA3U\x0E\xD6\xFD\xEF6\xBA\xE8\xA5A`\xC2\xCC\xDA=\xE6\xAA\xC3\xDF\x98Lf\xD3(p\x90` \x01[`@Q\x80\x91\x03\x90\xA2PPPV[`\0\x91\x82R`\0\x80Q` a^m\x839\x81Q\x91R` \x90\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[`\0\x80Q` a^M\x839\x81Q\x91Ra#\xFD\x81a0^V[\x81a\x01\xF7`\0\x85`\x02\x81\x11\x15a$\x15Wa$\x15aPKV[`\x02\x81\x11\x15a$&Wa$&aPKV[\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 U\x82`\x02\x81\x11\x15a$IWa$IaPKV[`@Q\x83\x81R\x7F\xE3b4\rsdD\x93\xD7N\xE1\x01hG\x1F\xE9\xD7\xC4\x0C\xBFz\x88\xC9\x98\x07\x10+\x9A\xDF\x1C\x1A\xC1\x90` \x01a#\xA0V[a$\x81a-\xFFV[a$\x8C\x83\x83\x83a6#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a$\xD9WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a$\xF5WP0;\x15[\x90P\x81\x15\x80\x15a%\x03WP\x80\x15[\x15a%!W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a%KW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a%SaBzV[a%[aBzV[a%caBzV[a%kaBzV[a%saB\x82V[a%{aB\x82V[a%\x86`\0\x87a0hV[Pa%\xA0`\0\x80Q` a^M\x839\x81Q\x91R`\0aB\x8AV[\x83\x15a \xCCW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1PPPPPPV[`\0\x80Q` a^M\x839\x81Q\x91Ra&\x05\x81a0^V[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1a&K`\0\x80Q` a^\xAD\x839\x81Q\x91Ra3XV[\x85\x85`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a&k\x93\x92\x91\x90aW\xB7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a&\x85W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\rbW=`\0\x80>=`\0\xFD[a&\xA2\x82a\x14\xBDV[a&\xAB\x81a0^V[a\x14\xFB\x83\x83a1\rV[a&\xBDa-\xFFV[\x84Q\x86Q\x14\x15\x80a&\xCFWP\x84Q\x83\x14\x15[\x15a&\xEDW`@Qc\xC2\x1F\xE6\xBF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x86\x86\x86\x86`@Q` \x01a'\x06\x94\x93\x92\x91\x90aY\xD5V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a')\x82aB\xEDV[\x90P`\0a'm\x82\x86\x86\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPaC(\x92PPPV[\x90P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16cr\x10Z\xAFa'\xB5`\0\x80Q` a^\xAD\x839\x81Q\x91Ra3XV[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x84\x90\x1B\x16\x81R`\x04\x81\x01\x91\x90\x91R`\x01`\x01`\xA0\x1B\x03\x84\x16`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a'\xFBW`\0\x80\xFD[PZ\xFA\x15\x80\x15a(\x0FW=`\0\x80>=`\0\xFD[PPPP`\0[\x89Q\x81\x10\x15a(\xC6Wa(\xB4\x8A\x82\x81Q\x81\x10a(4Wa(4aV\xADV[` \x02` \x01\x01Q\x8A\x83\x81Q\x81\x10a(NWa(NaV\xADV[` \x02` \x01\x01Q\x8A\x8A\x85\x81\x81\x10a(hWa(haV\xADV[\x90P` \x02\x81\x01\x90a(z\x91\x90aV\xF7V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa3m\x92PPPV[\x80a(\xBE\x81aWSV[\x91PPa(\x16V[PPPPa \xCCa.\xB0V[a(\xDAa-\xFFV[`\0a\x01\xF5\x84\x81T\x81\x10a(\xF0Wa(\xF0aV\xADV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a)m\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta)\x99\x90aV\xC3V[\x80\x15a)\xE6W\x80`\x1F\x10a)\xBBWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a)\xE6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a)\xC9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a*\x11Wa*\x11aPKV[`\x05\x81\x11\x15a*\"Wa*\"aPKV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x80QQa\x01\xF4\x80T\x92\x93P\x90\x91`\0\x91\x90\x83\x90\x81\x10a*nWa*naV\xADV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a*\xEB\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta+\x17\x90aV\xC3V[\x80\x15a+dW\x80`\x1F\x10a+9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a+dV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a+GW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0\x80a+|\x88\x86aCRV[\x91P\x91Pa+\xD4\x88\x86`\0\x01Q`\xC0\x01Q\x89\x89\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa+\xCF\x92P\x8A\x91Pa-\xD0\x90PV[aDkV[a+\xF4W`@Qc@i\xAF=`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x01a\x0BgV[a,\x06\x88\x86\x84\x84\x88\x88`@\x01QaEtV[PPPPPa\x154a.\xB0V[a\x01\xF4\x81\x81T\x81\x10a,$W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 `\x07\x90\x91\x02\x01\x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x85\x01T`\x05\x86\x01T`\x06\x87\x01\x80T`\x01`\x01`\xA0\x1B\x03\x97\x88\x16\x99P\x95\x97\x94\x96\x93\x95\x92\x94\x93\x90\x91\x16\x92\x91a,y\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta,\xA5\x90aV\xC3V[\x80\x15a,\xF2W\x80`\x1F\x10a,\xC7Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a,\xF2V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a,\xD5W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x87V[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cye\xDB\x0B`\xE0\x1B\x14\x80a\tYWPc\x01\xFF\xC9\xA7`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x14a\tYV[`\0\x81\x15\x80a-_WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x80\x80\x80a-w\x85\x87\x01\x87aZaV[\x92P\x92P\x92Pa\x11\xB9\x83\x83\x83aG\x07V[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rb3\xB2\xB7`\xE9\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rbivs`\xE8\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01a-\xB3V[\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\x80T`\x01\x19\x01a.CW`@Qc>\xE5\xAE\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x90UV[`@Q`\x01`\x01`\xA0\x1B\x03\x84\x81\x16`$\x83\x01R\x83\x81\x16`D\x83\x01R`d\x82\x01\x83\x90Ra\x14\xFB\x91\x86\x91\x82\x16\x90c#\xB8r\xDD\x90`\x84\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x91P`\xE0\x1B` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x83\x81\x83\x16\x17\x83RPPPPaGBV[`\x01\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0UV[\x80\x15a\x1C\xB2W`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF8` R`@\x81 \x80T\x83\x92\x90a/\x05\x90\x84\x90aW\xD1V[\x90\x91UPPPPV[`\0\x80a\x01\xF5\x84\x81T\x81\x10a/%Wa/%aV\xADV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x90\x81\x01\x80T`\xFF\x19\x16`\x04\x17\x90U\x80T`\x05\x82\x01T`\x01\x83\x01T\x92\x93P\x90\x91a/i\x91`\x01`\x01`\xA0\x1B\x03\x16\x90a.\xD6V[`@Q\x85\x90\x7F\xD6\xD7\xF87\xB6\x8A\xE9j\xF4v\xF0D{\xBEK\xE0`\xB2\x06B\xEB\xDFG\x08T\xF7\x01\xCA]\x8F^\xFB\x90`\0\x90\xA2`\x08\x82\x01T`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x91c\xEA\xAC\xAE\x94\x91\x16\x83a/\xD6\x81aG\xA5V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x86\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a01W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a0U\x91\x90aZ\xE8V[\x95\x94PPPPPV[a\x12\x94\x813aG\xD4V[`\0`\0\x80Q` a^m\x839\x81Q\x91Ra0\x83\x84\x84a#\xADV[a1\x03W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua0\xB93\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x85\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4`\x01\x91PPa\tYV[`\0\x91PPa\tYV[`\0`\0\x80Q` a^m\x839\x81Q\x91Ra1(\x84\x84a#\xADV[\x15a1\x03W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x87\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4`\x01\x91PPa\tYV[a1\x91aH\rV[`\0\x80Q` a^\x8D\x839\x81Q\x91R\x80T`\xFF\x19\x16\x81U\x7F]\xB9\xEE\nI[\xF2\xE6\xFF\x9C\x91\xA7\x83L\x1B\xA4\xFD\xD2D\xA5\xE8\xAANS{\xD3\x8A\xEA\xE4\xB0s\xAA3[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xA1PV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a2pWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a2d`\0\x80Q` a^-\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a2\x8EW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[V[`\0a\x1C\xB2\x81a0^V[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a2\xF5WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra2\xF2\x91\x81\x01\x90aZ\xE8V[`\x01[a3\x1DW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80Q` a^-\x839\x81Q\x91R\x81\x14a3NW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[a\x154\x83\x83aH=V[`\0\x81`@Q` \x01a-\xB3\x91\x81R` \x01\x90V[`\x01a3x\x84a\x1A\x9EV[`\x05\x81\x11\x15a3\x89Wa3\x89aPKV[\x14a3\xA7W`@Qc>[N\x85`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF5\x84\x81T\x81\x10a3\xBDWa3\xBDaV\xADV[`\0\x91\x82R` \x82 `\t\x90\x91\x02\x01\x80T`@Qc\x1C~\xAEe`\xE0\x1B\x81R\x91\x93P\x82\x91`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x91c\x1C~\xAEe\x91a43\x91\x89\x91`\x04\x01`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x82R` \x82\x01R`@\x01\x90V[`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a4OW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a4s\x91\x90a[\x01V[\x91P\x91P\x81\x83`\0\x01`\x01\x01T\x10\x15a4\xA2W`@Qcb]\xAA\x9D`\xE1\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x03\x83\x01T\x81\x11\x15a4\xCAW`@Qc\xF8O\xAAI`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x07\x83\x01\x80T`\xFF\x19\x16`\x03\x90\x81\x17\x90\x91U\x83\x01Ta4\xE9\x90CaW\xD1V[`\x04\x84\x01U`\x08\x83\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x87\x16\x17\x90U\x82T`\0\x90a5\x19\x90aG\xA5V[\x84T`@Qc\xC4\x92\xEE9`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x89\x81\x16`\x04\x83\x01R`$\x82\x01\x92\x90\x92R`D\x81\x01\x83\x90R\x91\x92P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xC4\x92\xEE9\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a5\x90W`\0\x80\xFD[PZ\xF1\x15\x80\x15a5\xA4W=`\0\x80>=`\0\xFD[PPPP\x85`\x01`\x01`\xA0\x1B\x03\x16\x87\x7Fz|\xD4\x1C\xAD_<\xCC\xFD\xCEH\xDFr\x08E\xB6\xFE\x81g\x85;'\xBA\x03\x1D\x99\x98\xE2\x05\xEB\x1D\xD9\x87`@Qa5\xE2\x91\x90aT\xEEV[`@Q\x80\x91\x03\x90\xA3PPPPPPPV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a2\x8EW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF5\x84\x81T\x81\x10a6RWa6RaV\xADV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a6\xCF\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta6\xFB\x90aV\xC3V[\x80\x15a7HW\x80`\x1F\x10a7\x1DWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a7HV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a7+W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a7sWa7saPKV[`\x05\x81\x11\x15a7\x84Wa7\x84aPKV[\x81R`\x07\x82\x01Ta\x01\0\x90\x04`\x01`\x01`\xA0\x1B\x03\x90\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x82\x16`@\x91\x82\x01R\x82QQ``\x84\x01Q\x91Qc+a\x0C-`\xE0\x1B\x81R\x91\x83\x16`\x04\x83\x01R`$\x82\x01\x81\x90R\x92\x93P`\0\x91\x82\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c+a\x0C-\x90`D\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a8#W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a8G\x91\x90a[%V[\x90\x92P\x90P`\x01`\x01`\xA0\x1B\x03\x82\x16a8sW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03a8~\x88a\x1A\x9EV[`\x05\x81\x11\x15a8\x8FWa8\x8FaPKV[\x14a8\xB0W`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x88\x90R`$\x01a\x0BgV[\x83Q`\xC0\x01Q`@Q`\0\x91a8\xCC\x91\x89\x90\x89\x90` \x01a[SV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x01\xF4\x84\x81T\x81\x10a8\xF1Wa8\xF1aV\xADV[`\0\x91\x82R` \x90\x91 `\x07\x90\x91\x02\x01T`@QcG;\x05\x7F`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x8Ev\n\xFE\x90a9/\x90\x84\x90`\x04\x01aT\xEEV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a9LW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a9p\x91\x90aWlV[a9\x90W`@Qc^?\xA0Q`\xE0\x1B\x81R`\x04\x81\x01\x89\x90R`$\x01a\x0BgV[`\x04a\x01\xF5\x89\x81T\x81\x10a9\xA6Wa9\xA6aV\xADV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15a9\xD3Wa9\xD3aPKV[\x02\x17\x90UP\x84Q` \x01Q`\0\x90a9\xEC\x90\x84\x90a[yV[\x90Pa9\xF8\x84\x84a.\xD6V[\x85Q`\xA0\x01Qa:\x08\x90\x82a.\xD6V[`\0a:\x13\x86aG\xA5V[``\x88\x01Q`@Qc\x98*A]`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\x04\x82\x01R`$\x81\x01\x89\x90R`D\x81\x01\x83\x90R\x91\x92P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x98*A]\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a:\x8CW`\0\x80\xFD[PZ\xF1\x15\x80\x15a:\xA0W=`\0\x80>=`\0\xFD[PPPP\x89\x7F\x8F\xDDxa\x98\x04'\x96\x0FCy\x10\xD2\x0Bx\xBE7P6\xB3\x1F\x97\xEF\"\xA8\x04\x0F \xE4]+\xA2\x8A\x8A`@Qa:\xD6\x92\x91\x90a[\x8CV[`@Q\x80\x91\x03\x90\xA2PPPPPPPPPPV[`\0\x84\x82`@Q` \x01a:\xFF\x92\x91\x90a[\xA8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a;\"\x82aB\xEDV[\x90P`\0a;f\x82\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPaC(\x92PPPV[\x90Pa;q\x87aH\x93V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a\rbW`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[```\0\x82\x80` \x01\x90Q\x81\x01\x90a;\xC5\x91\x90a\\\x17V[P\x94\x99\x98PPPPPPPPPV[`\0\x80Q` a^\x8D\x839\x81Q\x91RT`\xFF\x16\x15a2\x8EW`@Qc\xD9<\x06e`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x87\x015\x15\x80a<\"WPa<\x1E`\xC0\x88\x01\x88aV\xF7V[\x15\x90P[\x15a<@W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xF7`\0\x86`\x02\x81\x11\x15a\x07W`@Qc/Ki\xD3`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a>\x17\x87\x8A\x88\x88\x88\x88a\x118V[\x90Pa>^\x880a>,\x84` \x8E\x015aW\xD1V[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x92\x91\x90a.IV[a>\x88\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82a.\xD6V[\x81`\xC0\x01QQ`\0\x03a>\xAEW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xF5T`@\x80Q`\x80\x81\x01\x90\x91R`\0\x90\x80a>\xCA\x8Da]\x05V[\x81R` \x01`\x01\x81R3` \x80\x83\x01\x91\x90\x91R`\0`@\x92\x83\x01\x81\x90Ra\x01\xF5\x80T`\x01\x81\x01\x82U\x91R\x83Q\x80Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1g`\t\x90\x93\x02\x92\x83\x01\x90\x81U\x92\x81\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1h\x83\x01U\x92\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1i\x82\x01U``\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1j\x82\x01U`\x80\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1k\x82\x01U`\xA0\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1l\x82\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x91\x90\x91\x17\x90U`\xC0\x83\x01Q\x93\x94P\x84\x93\x91\x92\x91\x83\x91\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1m\x01\x90a@G\x90\x82aX*V[PPP` \x82\x01Q`\x07\x82\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15a@mWa@maPKV[\x02\x17\x90UP`@\x82\x01Q`\x07\x82\x01\x80Ta\x01\0`\x01`\xA8\x1B\x03\x19\x16a\x01\0`\x01`\x01`\xA0\x1B\x03\x93\x84\x16\x02\x17\x90U``\x90\x92\x01Q`\x08\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x91\x83\x16\x91\x90\x91\x17\x90U\x84Q\x90\x81\x16c\xA6\xDF\xBC\x7Fa@\xD1`\xC0\x8F\x01\x8FaV\xF7V[`@Q\x83c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a@\xEE\x92\x91\x90a[\x8CV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15aA\x0BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90aA/\x91\x90aWlV[aALW`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[aAY\x85` \x01Qa-1V[\x15aA\xA5W`\x01\x15\x15\x83\x7F{\xBF\xCEe5\x8CD\xB5\x98\xA1\xEE\x0E\xEF\x06<\xE1M\xE0%\x168W\x94\xF6\xB6\x0E\xEAU#\xA96\xE4\x8B\x8B\x8B\x8B`@QaA\x98\x94\x93\x92\x91\x90a]\x8DV[`@Q\x80\x91\x03\x90\xA3aA\xF2V[`@\x80Q\x81\x81R`\0\x91\x81\x01\x82\x90R``` \x82\x01\x81\x90R\x81\x01\x82\x90R\x84\x90\x7F{\xBF\xCEe5\x8CD\xB5\x98\xA1\xEE\x0E\xEF\x06<\xE1M\xE0%\x168W\x94\xF6\xB6\x0E\xEAU#\xA96\xE4\x90`\x80\x01`@Q\x80\x91\x03\x90\xA3[PPPPPPPPPPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`$\x83\x01R`D\x82\x01\x83\x90Ra\x154\x91\x85\x91\x82\x16\x90c\xA9\x05\x9C\xBB\x90`d\x01a.~V[aB9a;\xD4V[`\0\x80Q` a^\x8D\x839\x81Q\x91R\x80T`\xFF\x19\x16`\x01\x17\x81U\x7Fb\xE7\x8C\xEA\x01\xBE\xE3 \xCDNB\x02p\xB5\xEAt\0\r\x11\xB0\xC9\xF7GT\xEB\xDB\xFCTK\x05\xA2X3a1\xCBV[a2\x8EaH\xBCV[a.\xB0aH\xBCV[`\0\x80Q` a^m\x839\x81Q\x91R`\0aB\xA4\x84a\x14\xBDV[`\0\x85\x81R` \x84\x90R`@\x80\x82 `\x01\x01\x86\x90UQ\x91\x92P\x84\x91\x83\x91\x87\x91\x7F\xBDy\xB8o\xFE\n\xB8\xE8waQQB\x17\xCD|\xAC\xD5,\x90\x9FfG\\:\xF4N\x12\x9F\x0B\0\xFF\x91\x90\xA4PPPPV[`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01a-\xB3V[`\0\x80`\0\x80aC8\x86\x86aI\x05V[\x92P\x92P\x92PaCH\x82\x82aIRV[P\x90\x94\x93PPPPV[``\x81\x01Q\x81QQ`@Qc+a\x0C-`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x92\x83\x16`\x04\x82\x01R`$\x81\x01\x91\x90\x91R`\0\x91\x82\x91\x82\x91\x82\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c+a\x0C-\x90`D\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15aC\xD2W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90aC\xF6\x91\x90a[%V[\x90\x92P\x90P`\x01`\x01`\xA0\x1B\x03\x82\x16aD\"W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03aD-\x87a\x1A\x9EV[`\x05\x81\x11\x15aD>WaD>aPKV[\x14aD_W`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[\x92P\x90P[\x92P\x92\x90PV[`\0\x80\x85\x85`@Q` \x01aD\x81\x92\x91\x90a]\xB4V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0aD\xA4\x82aB\xEDV[\x90P`\0aD\xB2\x82\x87aC(V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16aD\xE6W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[`@Qcr\x10Z\xAF`\xE0\x1B\x81R`\x04\x81\x01\x86\x90R`\x01`\x01`\xA0\x1B\x03\x82\x81\x16`$\x83\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cr\x10Z\xAF\x90`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15aENW`\0\x80\xFD[PZ\xFA\x15\x80\x15aEbW=`\0\x80>=`\0\xFD[P`\x01\x9B\x9APPPPPPPPPPPV[`\x03aE\x7F\x87a\x1A\x9EV[`\x05\x81\x11\x15aE\x90WaE\x90aPKV[\x14aE\xB1W`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x04a\x01\xF5\x87\x81T\x81\x10aE\xC7WaE\xC7aV\xADV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15aE\xF4WaE\xF4aPKV[\x02\x17\x90UP\x84Q` \x01Q`\0\x90aF\r\x90\x86\x90a[yV[\x90PaF\x19\x84\x86a.\xD6V[aFC\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82a.\xD6V[``\x86\x01Q`@Qc\x98*A]`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\x04\x82\x01R`$\x81\x01\x85\x90R`D\x81\x01\x84\x90R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c\x98*A]\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15aF\xBBW`\0\x80\xFD[PZ\xF1\x15\x80\x15aF\xCFW=`\0\x80>=`\0\xFD[PP`@Q\x89\x92P\x7F\x07\xC3=KV\x06\xE2\xFD \xFB\x9A\xDBp\x06\xCD\xC7\xD4\xAB\x0F0\x80\x90\xDA\xBC\xFDd\xD4\x97\x9C\xD7~*\x91P`\0\x90\xA2PPPPPPPV[`\0\x80\x84\x84\x84`@Q` \x01aG\x1F\x93\x92\x91\x90a]\xCDV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x91PP[\x93\x92PPPV[`\0aGW`\x01`\x01`\xA0\x1B\x03\x84\x16\x83aJ\x0BV[\x90P\x80Q`\0\x14\x15\x80\x15aG|WP\x80\x80` \x01\x90Q\x81\x01\x90aGz\x91\x90aWlV[\x15[\x15a\x154W`@QcRt\xAF\xE7`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0a\x01\xF4\x82\x81T\x81\x10aG\xBBWaG\xBBaV\xADV[\x90`\0R` `\0 \x90`\x07\x02\x01`\x02\x01T\x90P\x91\x90PV[aG\xDE\x82\x82a#\xADV[a\x1C\xB2W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a\x0BgV[`\0\x80Q` a^\x8D\x839\x81Q\x91RT`\xFF\x16a2\x8EW`@Qc\x8D\xFC +`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[aHF\x82aJ\x19V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15aH\x8BWa\x154\x82\x82aJ~V[a\x1C\xB2aJ\xEBV[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90aH\xAA\x91\x90a\\\x17V[PPPPPP\x91PPaG;\x81aK\nV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a2\x8EW`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x83Q`A\x03aI?W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1AaI1\x88\x82\x85\x85aK:V[\x95P\x95P\x95PPPPaIKV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15aIfWaIfaPKV[\x03aIoWPPV[`\x01\x82`\x03\x81\x11\x15aI\x83WaI\x83aPKV[\x03aI\xA1W`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15aI\xB5WaI\xB5aPKV[\x03aI\xD6W`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[`\x03\x82`\x03\x81\x11\x15aI\xEAWaI\xEAaPKV[\x03a\x1C\xB2W`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[``aG;\x83\x83`\0aL\tV[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03aJOW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80Q` a^-\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@QaJ\x9B\x91\x90a^\x10V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14aJ\xD6W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>aJ\xDBV[``\x91P[P\x91P\x91Pa0U\x85\x83\x83aL\x98V[4\x15a2\x8EW`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81Q`@\x14aK.W`@Qc\xD2\x833]`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15aKuWP`\0\x91P`\x03\x90P\x82aK\xFFV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15aK\xC9W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16aK\xF5WP`\0\x92P`\x01\x91P\x82\x90PaK\xFFV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[``\x81G\x10\x15aL.W`@Qc\xCDx`Y`\xE0\x1B\x81R0`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x84\x86`@QaLJ\x91\x90a^\x10V[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14aL\x87W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>aL\x8CV[``\x91P[P\x91P\x91Pa\x11\xB9\x86\x83\x83[``\x82aL\xADWaL\xA8\x82aL\xF4V[aG;V[\x81Q\x15\x80\x15aL\xC4WP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15aL\xEDW`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x0BgV[P\x80aG;V[\x80Q\x15aM\x04W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15aM/W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14aG;W`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12aMYW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aMpW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15aDdW`\0\x80\xFD[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15aM\xA3W`\0\x80\xFD[\x855\x94P` \x86\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aM\xC1W`\0\x80\xFD[aM\xCD\x89\x83\x8A\x01aMGV[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15aM\xE6W`\0\x80\xFD[PaM\xF3\x88\x82\x89\x01aMGV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0\x80\x83`\x1F\x84\x01\x12aN\x16W`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aN-W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15aDdW`\0\x80\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x12\x94W`\0\x80\xFD[`\0\x80`\0\x80`\0\x80`\0\x80`\xA0\x89\x8B\x03\x12\x15aNvW`\0\x80\xFD[\x885`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aN\x8DW`\0\x80\xFD[aN\x99\x8C\x83\x8D\x01aN\x04V[\x90\x9AP\x98P` \x8B\x015\x91PaN\xAE\x82aNEV[\x90\x96P`@\x8A\x015\x95P``\x8A\x015\x90\x80\x82\x11\x15aN\xCBW`\0\x80\xFD[aN\xD7\x8C\x83\x8D\x01aN\x04V[\x90\x96P\x94P`\x80\x8B\x015\x91P\x80\x82\x11\x15aN\xF0W`\0\x80\xFD[PaN\xFD\x8B\x82\x8C\x01aN\x04V[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[\x805`\x03\x81\x10a\x14\xB8W`\0\x80\xFD[`\0`\xE0\x82\x84\x03\x12\x15aO2W`\0\x80\xFD[P\x91\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15aOQW`\0\x80\xFD[aOZ\x87aO\x11V[\x95P` \x87\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aOvW`\0\x80\xFD[aO\x82\x8A\x83\x8B\x01aO V[\x96P`@\x89\x015\x91P\x80\x82\x11\x15aO\x98W`\0\x80\xFD[aO\xA4\x8A\x83\x8B\x01aN\x04V[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15aO\xBDW`\0\x80\xFD[PaO\xCA\x89\x82\x8A\x01aN\x04V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0` \x82\x84\x03\x12\x15aO\xEEW`\0\x80\xFD[P5\x91\x90PV[`\0` \x82\x84\x03\x12\x15aP\x07W`\0\x80\xFD[aG;\x82aO\x11V[\x805a\x14\xB8\x81aNEV[`\0\x80`@\x83\x85\x03\x12\x15aP.W`\0\x80\xFD[\x825\x91P` \x83\x015aP@\x81aNEV[\x80\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x06\x81\x10aP\x7FWcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[` \x81\x01a\tY\x82\x84aPaV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xE0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aP\xC9WaP\xC9aP\x91V[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aP\xF7WaP\xF7aP\x91V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aQ\x18WaQ\x18aP\x91V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aQ7W`\0\x80\xFD[\x815aQJaQE\x82aP\xFFV[aP\xCFV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aQ_W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15aQ\x8FW`\0\x80\xFD[\x825aQ\x9A\x81aNEV[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aQ\xB5W`\0\x80\xFD[aQ\xC1\x85\x82\x86\x01aQ&V[\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15aQ\xE1W`\0\x80\xFD[\x845\x93P` \x85\x015aQ\xF3\x81aNEV[\x92P`@\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aR\x0EW`\0\x80\xFD[aR\x1A\x87\x82\x88\x01aN\x04V[\x95\x98\x94\x97P\x95PPPPV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aR?WaR?aP\x91V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aRZW`\0\x80\xFD[\x815` aRjaQE\x83aR&V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15aR\x89W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15aR\xA4W\x805\x83R\x91\x83\x01\x91\x83\x01aR\x8DV[P\x96\x95PPPPPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15aR\xC4W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aR\xDBW`\0\x80\xFD[aR\xE7\x87\x83\x88\x01aRIV[\x94P` \x86\x015\x91P\x80\x82\x11\x15aR\xFDW`\0\x80\xFD[PaS\n\x86\x82\x87\x01aMGV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15aS,W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aSCW`\0\x80\xFD[aSO\x87\x83\x88\x01aQ&V[\x94P` \x86\x015\x91P\x80\x82\x11\x15aSeW`\0\x80\xFD[PaS\n\x86\x82\x87\x01aN\x04V[`\0[\x83\x81\x10\x15aS\x8DW\x81\x81\x01Q\x83\x82\x01R` \x01aSuV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84RaS\xAE\x81` \x86\x01` \x86\x01aSrV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\x80\x81R\x84Q`\x80\x82\x01R` \x85\x01Q`\xA0\x82\x01R`@\x85\x01Q`\xC0\x82\x01R``\x85\x01Q`\xE0\x82\x01R`\x80\x85\x01Qa\x01\0\x82\x01R`\x01\x80`\xA0\x1B\x03`\xA0\x86\x01Q\x16a\x01 \x82\x01R`\0`\xC0\x86\x01Q`\xE0a\x01@\x84\x01RaT&a\x01`\x84\x01\x82aS\x96V[\x91PPaT6` \x83\x01\x86aPaV[`\x01`\x01`\xA0\x1B\x03\x84\x16`@\x83\x01R`\x01`\x01`\xA0\x1B\x03\x83\x16``\x83\x01R\x95\x94PPPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15aTvW`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aT\x8DW`\0\x80\xFD[aT\x99\x8A\x83\x8B\x01aO V[\x97PaO\x82` \x8A\x01aO\x11V[`\0` \x82\x84\x03\x12\x15aT\xB9W`\0\x80\xFD[\x815aG;\x81aNEV[`\0\x80`@\x83\x85\x03\x12\x15aT\xD7W`\0\x80\xFD[aT\xE0\x83aO\x11V[\x94` \x93\x90\x93\x015\x93PPPV[` \x81R`\0aG;` \x83\x01\x84aS\x96V[`\0\x80`\0`@\x84\x86\x03\x12\x15aU\x16W`\0\x80\xFD[\x835\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aU3W`\0\x80\xFD[aS\n\x86\x82\x87\x01aN\x04V[`\0\x80` \x83\x85\x03\x12\x15aURW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15aUhW`\0\x80\xFD[aUt\x85\x82\x86\x01aN\x04V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15aU\x99W`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aU\xB0W`\0\x80\xFD[aU\xBC\x8A\x83\x8B\x01aRIV[\x97P` \x91P\x81\x89\x015\x81\x81\x11\x15aU\xD3W`\0\x80\xFD[\x89\x01`\x1F\x81\x01\x8B\x13aU\xE4W`\0\x80\xFD[\x805aU\xF2aQE\x82aR&V[\x81\x81R`\x05\x91\x90\x91\x1B\x82\x01\x84\x01\x90\x84\x81\x01\x90\x8D\x83\x11\x15aV\x11W`\0\x80\xFD[\x92\x85\x01\x92[\x82\x84\x10\x15aV8W\x835aV)\x81aNEV[\x82R\x92\x85\x01\x92\x90\x85\x01\x90aV\x16V[\x99PPPP`@\x89\x015\x91P\x80\x82\x11\x15aVQW`\0\x80\xFD[aO\xA4\x8A\x83\x8B\x01aMGV[`\0`\x01\x80`\xA0\x1B\x03\x80\x8A\x16\x83R\x88` \x84\x01R\x87`@\x84\x01R\x86``\x84\x01R\x85`\x80\x84\x01R\x80\x85\x16`\xA0\x84\x01RP`\xE0`\xC0\x83\x01RaV\xA0`\xE0\x83\x01\x84aS\x96V[\x99\x98PPPPPPPPPV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80aV\xD7W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03aO2WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12aW\x0EW`\0\x80\xFD[\x83\x01\x805\x91P`\x01`\x01`@\x1B\x03\x82\x11\x15aW(W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15aDdW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0`\x01\x82\x01aWeWaWeaW=V[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15aW~W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14aG;W`\0\x80\xFD[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[\x83\x81R`@` \x82\x01R`\0a0U`@\x83\x01\x84\x86aW\x8EV[\x80\x82\x01\x80\x82\x11\x15a\tYWa\tYaW=V[`\x1F\x82\x11\x15a\x154W`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15aX\x0BWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a \xCCW\x82\x81U`\x01\x01aX\x17V[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15aXCWaXCaP\x91V[aXW\x81aXQ\x84TaV\xC3V[\x84aW\xE4V[` \x80`\x1F\x83\x11`\x01\x81\x14aX\x8CW`\0\x84\x15aXtWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua \xCCV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15aX\xBBW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01aX\x9CV[P\x85\x82\x10\x15aX\xD9W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\tYWa\tYaW=V[`\x01\x80`\xA0\x1B\x03\x85\x16\x81R\x83` \x82\x01R`\x80`@\x82\x01R`\0aY'`\x80\x83\x01\x85aS\x96V[\x82\x81\x03``\x84\x01RaY9\x81\x85aS\x96V[\x97\x96PPPPPPPV[\x81\x83R`\0` \x80\x85\x01\x80\x81\x96P\x85`\x05\x1B\x81\x01\x91P\x84`\0[\x87\x81\x10\x15aY\xC8W\x82\x84\x03\x89R\x815`\x1E\x19\x886\x03\x01\x81\x12aY\x7FW`\0\x80\xFD[\x87\x01\x85\x81\x01\x905`\x01`\x01`@\x1B\x03\x81\x11\x15aY\x9AW`\0\x80\xFD[\x806\x03\x82\x13\x15aY\xA9W`\0\x80\xFD[aY\xB4\x86\x82\x84aW\x8EV[\x9A\x87\x01\x9A\x95PPP\x90\x84\x01\x90`\x01\x01aY^V[P\x91\x97\x96PPPPPPPV[``\x80\x82R\x85Q\x90\x82\x01\x81\x90R`\0\x90` \x90`\x80\x84\x01\x90\x82\x89\x01\x84[\x82\x81\x10\x15aZ\x0EW\x81Q\x84R\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01aY\xF2V[PPP\x83\x81\x03\x82\x85\x01R\x86Q\x80\x82R\x87\x83\x01\x91\x83\x01\x90`\0[\x81\x81\x10\x15aZLW\x83Q`\x01`\x01`\xA0\x1B\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01aZ'V[PP\x84\x81\x03`@\x86\x01RaV\xA0\x81\x87\x89aYDV[`\0\x80`\0``\x84\x86\x03\x12\x15aZvW`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aZ\x8DW`\0\x80\xFD[aZ\x99\x87\x83\x88\x01aQ&V[\x94P` \x86\x015\x91P\x80\x82\x11\x15aZ\xAFW`\0\x80\xFD[aZ\xBB\x87\x83\x88\x01aQ&V[\x93P`@\x86\x015\x91P\x80\x82\x11\x15aZ\xD1W`\0\x80\xFD[PaZ\xDE\x86\x82\x87\x01aQ&V[\x91PP\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15aZ\xFAW`\0\x80\xFD[PQ\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a[\x14W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[`\0\x80`@\x83\x85\x03\x12\x15a[8W`\0\x80\xFD[\x82Qa[C\x81aNEV[` \x93\x90\x93\x01Q\x92\x94\x92\x93PPPV[`@\x81R`\0a[f`@\x83\x01\x86aS\x96V[\x82\x81\x03` \x84\x01Ra\x11\xB9\x81\x85\x87aW\x8EV[\x81\x81\x03\x81\x81\x11\x15a\tYWa\tYaW=V[` \x81R`\0a[\xA0` \x83\x01\x84\x86aW\x8EV[\x94\x93PPPPV[`@\x81R`\0a[\xBB`@\x83\x01\x85aS\x96V[\x90P`\x01\x80`\xA0\x1B\x03\x83\x16` \x83\x01R\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a[\xE3W`\0\x80\xFD[\x81Qa[\xF1aQE\x82aP\xFFV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\\\x06W`\0\x80\xFD[a[\xA0\x82` \x83\x01` \x87\x01aSrV[`\0\x80`\0\x80`\0\x80`\0\x80a\x01\0\x89\x8B\x03\x12\x15a\\4W`\0\x80\xFD[\x88Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\\KW`\0\x80\xFD[a\\W\x8C\x83\x8D\x01a[\xD2V[\x99P` \x8B\x01Q\x91P\x80\x82\x11\x15a\\mW`\0\x80\xFD[a\\y\x8C\x83\x8D\x01a[\xD2V[\x98P`@\x8B\x01Q\x91P\x80\x82\x11\x15a\\\x8FW`\0\x80\xFD[a\\\x9B\x8C\x83\x8D\x01a[\xD2V[\x97P``\x8B\x01Q\x91P\x80\x82\x11\x15a\\\xB1W`\0\x80\xFD[a\\\xBD\x8C\x83\x8D\x01a[\xD2V[\x96P`\x80\x8B\x01Q\x91P\x80\x82\x11\x15a\\\xD3W`\0\x80\xFD[Pa\\\xE0\x8B\x82\x8C\x01a[\xD2V[\x94PP`\xA0\x89\x01Q\x92P`\xC0\x89\x01Q\x91P`\xE0\x89\x01Q\x90P\x92\x95\x98P\x92\x95\x98\x90\x93\x96PV[`\0`\xE0\x826\x03\x12\x15a]\x17W`\0\x80\xFD[a]\x1FaP\xA7V[\x825\x81R` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01R`\x80\x83\x015`\x80\x82\x01Ra]W`\xA0\x84\x01aP\x10V[`\xA0\x82\x01R`\xC0\x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a]uW`\0\x80\xFD[a]\x816\x82\x86\x01aQ&V[`\xC0\x83\x01RP\x92\x91PPV[`@\x81R`\0a]\xA1`@\x83\x01\x86\x88aW\x8EV[\x82\x81\x03` \x84\x01RaY9\x81\x85\x87aW\x8EV[\x82\x81R`@` \x82\x01R`\0a[\xA0`@\x83\x01\x84aS\x96V[`\0\x84Qa]\xDF\x81\x84` \x89\x01aSrV[\x84Q\x90\x83\x01\x90a]\xF3\x81\x83` \x89\x01aSrV[\x84Q\x91\x01\x90a^\x06\x81\x83` \x88\x01aSrV[\x01\x95\x94PPPPPV[`\0\x82Qa^\"\x81\x84` \x87\x01aSrV[\x91\x90\x91\x01\x92\x91PPV\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCs\xE5s\xF9VmaA\x8A4\xD5\xDE?\xF4\x93`\xF9\xC5\x1F\xEC7\xF7HeQg\x02\x90\xF6(]\xAB\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\xCD^\xD1\\n\x18~w\xE9\xAE\xE8\x81\x84\xC2\x1FO!\x82\xABX'\xCB;~\x07\xFB\xED\xCDc\xF03\0\x08\x0F^\xA8N\xD1\xDEL\x8E\xDBX\xBEe\x1C%X\x1C5Z\0\x11\xB0\xF96\r\xE5\x08+\xEC\xD6F@\xA2dipfsX\"\x12 2\x9D\xD96.\xD0\xC9(p\x8C\x8CD\xC1\x88\xAA\x8B\xB0a\x99A\x9E\xA6\xA2j\xDF\x15\x16\xFD<\x07\x08\xDEdsolcC\0\x08\x14\x003"; /// The bytecode of the contract. pub static PROOFMARKETPLACE_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x02\x93W`\x005`\xE0\x1C\x80ceY9{\x11a\x01ZW\x80c\x97Q\xBB\xD3\x11a\0\xC1W\x80c\xD4\xC2B6\x11a\0zW\x80c\xD4\xC2B6\x14a\x08\x86W\x80c\xD5Gt\x1F\x14a\x08\xA6W\x80c\xE6\xAF\xC3\xD9\x14a\x08\xC6W\x80c\xF0`,\xAB\x14a\x08\xE6W\x80c\xF8\xA9H/\x14a\t\x06W\x80c\xFB\xEF\x98m\x14a\t9W`\0\x80\xFD[\x80c\x97Q\xBB\xD3\x14a\x07\x9FW\x80c\xA2\x17\xFD\xDF\x14a\x07\xD3W\x80c\xAD<\xB1\xCC\x14a\x07\xE8W\x80c\xB4\xCFT?\x14a\x08&W\x80c\xC2D\xA7\xB9\x14a\x08FW\x80c\xC4\xD6m\xE8\x14a\x08fW`\0\x80\xFD[\x80cy\xC7n\x1A\x11a\x01\x13W\x80cy\xC7n\x1A\x14a\x06\xC8W\x80c\x84V\xCBY\x14a\x06\xE8W\x80c\x87|\x86\xFB\x14a\x06\xFDW\x80c\x89\x88PI\x14a\x071W\x80c\x8E\xCC\xBD\xAF\x14a\x07_W\x80c\x91\xD1HT\x14a\x07\x7FW`\0\x80\xFD[\x80ceY9{\x14a\x05\xB8W\x80cf\x1D\xE5\xAC\x14a\x05\xECW\x80cl\x8D\xF5\x18\x14a\x068W\x80cm\xA6w\x9B\x14a\x06hW\x80cpS\x8F\xCA\x14a\x06\x88W\x80cx\x7F\xB0K\x14a\x06\xA8W`\0\x80\xFD[\x80c6V\x8A\xBE\x11a\x01\xFEW\x80cO\x1E\xF2\x86\x11a\x01\xB7W\x80cO\x1E\xF2\x86\x14a\x05\x0BW\x80cRy\x86\xD0\x14a\x05\x1EW\x80cR\xD1\x90-\x14a\x05>W\x80cS{[\x7F\x14a\x05SW\x80c\\\x97Z\xBB\x14a\x05sW\x80cd\x17\xFBa\x14a\x05\x98W`\0\x80\xFD[\x80c6V\x8A\xBE\x14a\x049W\x80c?K\xA8:\x14a\x04YW\x80cE\x07R\xB4\x14a\x04nW\x80cG\xE63\x80\x14a\x04\x8EW\x80cIm\xF3\xB1\x14a\x04\xB0W\x80cMFq-\x14a\x04\xDEW`\0\x80\xFD[\x80c$v\x08\x07\x11a\x02PW\x80c$v\x08\x07\x14a\x03}W\x80c$\x8A\x9C\xA3\x14a\x03\x93W\x80c(D8\xA1\x14a\x03\xB3W\x80c-\x001\x8D\x14a\x03\xD5W\x80c//\xF1]\x14a\x04\x03W\x80c1u\x93\xD2\x14a\x04#W`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02\x98W\x80c\x04K\xC8\xED\x14a\x02\xCDW\x80c\x15\xC9\x8Az\x14a\x02\xEFW\x80c\x16\x0F\xCF\xBA\x14a\x03\x0FW\x80c\x16(\xE0\xF5\x14a\x03=W\x80c }f)\x14a\x03]W[`\0\x80\xFD[4\x80\x15a\x02\xA4W`\0\x80\xFD[Pa\x02\xB8a\x02\xB36`\x04aL\xDFV[a\tNV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02\xD9W`\0\x80\xFD[Pa\x02\xEDa\x02\xE86`\x04aMMV[a\t_V[\0[4\x80\x15a\x02\xFBW`\0\x80\xFD[Pa\x02\xEDa\x03\n6`\x04aN\x1CV[a\rWV[4\x80\x15a\x03\x1BW`\0\x80\xFD[Pa\x03/a\x03*6`\x04aN\xFAV[a\x11$V[`@Q\x90\x81R` \x01a\x02\xC4V[4\x80\x15a\x03IW`\0\x80\xFD[Pa\x02\xEDa\x03X6`\x04aO\x9EV[a\x11\xAFV[4\x80\x15a\x03iW`\0\x80\xFD[Pa\x03/a\x03x6`\x04aO\x9EV[a\x12\x83V[4\x80\x15a\x03\x89W`\0\x80\xFD[Pa\x01\xF4Ta\x03/V[4\x80\x15a\x03\x9FW`\0\x80\xFD[Pa\x03/a\x03\xAE6`\x04aO\x9EV[a\x14\xA9V[4\x80\x15a\x03\xBFW`\0\x80\xFD[Pa\x03/`\0\x80Q` a^a\x839\x81Q\x91R\x81V[4\x80\x15a\x03\xE1W`\0\x80\xFD[Pa\x03/a\x03\xF06`\x04aO\xB7V[a\x01\xF7` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\x0FW`\0\x80\xFD[Pa\x02\xEDa\x04\x1E6`\x04aO\xDDV[a\x14\xCBV[4\x80\x15a\x04/W`\0\x80\xFD[Pa\x01\xF5Ta\x03/V[4\x80\x15a\x04EW`\0\x80\xFD[Pa\x02\xEDa\x04T6`\x04aO\xDDV[a\x14\xEDV[4\x80\x15a\x04eW`\0\x80\xFD[Pa\x02\xEDa\x15%V[4\x80\x15a\x04zW`\0\x80\xFD[Pa\x02\xEDa\x04\x896`\x04aMMV[a\x15EV[4\x80\x15a\x04\x9AW`\0\x80\xFD[Pa\x03/`\0\x80Q` a^\x01\x839\x81Q\x91R\x81V[4\x80\x15a\x04\xBCW`\0\x80\xFD[Pa\x03/a\x04\xCB6`\x04aO\xB7V[a\x01\xF6` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\xEAW`\0\x80\xFD[Pa\x04\xFEa\x04\xF96`\x04aO\x9EV[a\x1AtV[`@Qa\x02\xC4\x91\x90aPEV[a\x02\xEDa\x05\x196`\x04aQ>V[a\x1CmV[4\x80\x15a\x05*W`\0\x80\xFD[Pa\x02\xEDa\x0596`\x04aQ\x8DV[a\x1C\x8CV[4\x80\x15a\x05JW`\0\x80\xFD[Pa\x03/a\x1D\x81V[4\x80\x15a\x05_W`\0\x80\xFD[Pa\x02\xEDa\x05n6`\x04aRuV[a\x1D\x9EV[4\x80\x15a\x05\x7FW`\0\x80\xFD[P`\0\x80Q` a^A\x839\x81Q\x91RT`\xFF\x16a\x02\xB8V[4\x80\x15a\x05\xA4W`\0\x80\xFD[Pa\x02\xEDa\x05\xB36`\x04aR\xDDV[a\x1E*V[4\x80\x15a\x05\xC4W`\0\x80\xFD[Pa\x03/\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\xF8W`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\xC4V[4\x80\x15a\x06DW`\0\x80\xFD[Pa\x06Xa\x06S6`\x04aO\x9EV[a\x1E\xE3V[`@Qa\x02\xC4\x94\x93\x92\x91\x90aS\x88V[4\x80\x15a\x06tW`\0\x80\xFD[Pa\x03/a\x06\x836`\x04aO\xDDV[a \x16V[4\x80\x15a\x06\x94W`\0\x80\xFD[Pa\x02\xEDa\x06\xA36`\x04aT#V[a qV[4\x80\x15a\x06\xB4W`\0\x80\xFD[Pa\x02\xEDa\x06\xC36`\x04aO\x9EV[a \xA0V[4\x80\x15a\x06\xD4W`\0\x80\xFD[Pa\x02\xEDa\x06\xE36`\x04aTmV[a\"LV[4\x80\x15a\x06\xF4W`\0\x80\xFD[Pa\x02\xEDa\"\xBCV[4\x80\x15a\x07\tW`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x07=W`\0\x80\xFD[Pa\x03/a\x07L6`\x04aTmV[a\x01\xF8` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x07kW`\0\x80\xFD[Pa\x02\xEDa\x07z6`\x04aT\x8AV[a\"\xDCV[4\x80\x15a\x07\x8BW`\0\x80\xFD[Pa\x02\xB8a\x07\x9A6`\x04aO\xDDV[a#yV[4\x80\x15a\x07\xABW`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x07\xDFW`\0\x80\xFD[Pa\x03/`\0\x81V[4\x80\x15a\x07\xF4W`\0\x80\xFD[Pa\x08\x19`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02\xC4\x91\x90aT\xB4V[4\x80\x15a\x082W`\0\x80\xFD[Pa\x02\xEDa\x08A6`\x04aT\x8AV[a#\xB1V[4\x80\x15a\x08RW`\0\x80\xFD[Pa\x02\xEDa\x08a6`\x04aT\xC7V[a$EV[4\x80\x15a\x08rW`\0\x80\xFD[Pa\x02\xEDa\x08\x816`\x04aTmV[a$`V[4\x80\x15a\x08\x92W`\0\x80\xFD[Pa\x02\xEDa\x08\xA16`\x04aU\x05V[a%\xB9V[4\x80\x15a\x08\xB2W`\0\x80\xFD[Pa\x02\xEDa\x08\xC16`\x04aO\xDDV[a&eV[4\x80\x15a\x08\xD2W`\0\x80\xFD[Pa\x02\xEDa\x08\xE16`\x04aUFV[a&\x81V[4\x80\x15a\x08\xF2W`\0\x80\xFD[Pa\x02\xEDa\t\x016`\x04aT\xC7V[a(\x94V[4\x80\x15a\t\x12W`\0\x80\xFD[Pa\t&a\t!6`\x04aO\x9EV[a+\xD5V[`@Qa\x02\xC4\x97\x96\x95\x94\x93\x92\x91\x90aV#V[4\x80\x15a\tEW`\0\x80\xFD[Pa\x03/`d\x81V[`\0a\tY\x82a,\xBEV[\x92\x91PPV[`\0a\x01\xF4\x86\x81T\x81\x10a\tuWa\tuaVsV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a\t\xF2\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\n\x1E\x90aV\x89V[\x80\x15a\nkW\x80`\x1F\x10a\n@Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\nkV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\nNW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`\xC0\x01QQ`\0\x03a\n\x9CW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\n\xD2W`@Qc8\x99:I`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83\x15a\x0C7Wa\n\xE5\x81` \x01Qa,\xF3V[a\x0B\x02W`@Qcz\xFC\xEF\x7F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x84\x81\x10\x15a\x0C5W`\0a\x0B;\x87\x87\x84\x81\x81\x10a\x0B$Wa\x0B$aVsV[\x90P` \x02\x81\x01\x90a\x0B6\x91\x90aV\xBDV[a-(V[\x90P\x82` \x01Q\x81\x03a\x0BpW`@QcZ\xB2\xFB\xC9`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x81\x01\x82\x90R`D\x01[`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\x14\x13\xA9*\x82a\x0B\xA9\x8Ba-JV[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0B\xE7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0B\xFBW=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8A\x91P\x7F\xDC\xBE\xB0\xA3\xB1\xAC\"\x82L\xF31\x91q\x12\xBE\x12\x80I\xBAa'\xB2\xB2\x06\xA2\xEE[\x0Fl\xA9|5\x90`\0\x90\xA3P`\x01\x01a\x0B\x05V[P[`\0[\x82\x81\x10\x15a\rNW`\0a\x0CY\x85\x85\x84\x81\x81\x10a\x0B$Wa\x0B$aVsV[\x90P\x82`\x80\x01Q\x81\x03a\x0C\x89W`@QcZ\xB2\xFB\xC9`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x81\x01\x82\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\x14\x13\xA9*\x82a\x0C\xC2\x8Ba-\x92V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\r\0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\r\x14W=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8A\x91P\x7FX\xEE\xC2\xA6\xA4~\x81\x083\"\x82\x9B3\x91\x02\x84|~\x1D\xDD}df\x86\x83\xA4\xB9\x96\xE5\xA0$\x9D\x90`\0\x90\xA3P`\x01\x01a\x0C:V[PPPPPPPV[a\r_a-\xC1V[3\x85\x15\x80a\rkWP\x87\x15[\x80a\r}WP`\x01`\x01`\xA0\x1B\x03\x87\x16\x15[\x15a\r\x9BW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x86`\x01`\x01`\xA0\x1B\x03\x16c\x10\xA5By`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r\xD9W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r\xFD\x91\x90aW\x03V[a\x0E\x1AW`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\x8F`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x82\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a.\x0BV[a\x01\xF4Ta\x0E\xA5a\x0E\xA0\x87\x87a-(V[a,\xF3V[\x15a\x0F5W\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1a\x0E\xE2\x83a-JV[\x88\x88`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x0F\x02\x93\x92\x91\x90aWNV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0F\x1CW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F0W=`\0\x80>=`\0\xFD[PPPP[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1a\x0Fm\x83a-\x92V[\x86\x86`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x0F\x8D\x93\x92\x91\x90aWNV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0F\xA7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F\xBBW=`\0\x80>=`\0\xFD[PPPPa\x01\xF4`@Q\x80`\xE0\x01`@R\x80\x8A`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01a\x0F\xE6\x89\x89a-(V[\x81R` \x81\x01\x8A\x90R`@\x01a\x0F\xFD`dCaW~V[\x81R` \x01a\x10\x0C\x87\x87a-(V[\x81R` \x01\x84`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x8C\x8C\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x90\x94RPP\x83T`\x01\x80\x82\x01\x86U\x94\x82R` \x91\x82\x90 \x84Q`\x07\x90\x92\x02\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x90\x81\x16`\x01`\x01`\xA0\x1B\x03\x93\x84\x16\x17\x82U\x92\x85\x01Q\x95\x81\x01\x95\x90\x95U`@\x84\x01Q`\x02\x86\x01U``\x84\x01Q`\x03\x86\x01U`\x80\x84\x01Q`\x04\x86\x01U`\xA0\x84\x01Q`\x05\x86\x01\x80T\x90\x93\x16\x91\x16\x17\x90UP`\xC0\x81\x01Q\x90\x91\x90`\x06\x82\x01\x90a\x10\xE2\x90\x82aW\xD9V[PP`@Q\x82\x91P\x7F\xB8Z>yOG^\xD5\xE4\x03}\xC5\xF2\xD5\xC3(\xC8\xD5N\x0C\x1AL\xA5Sc\x82\x90\x15\xE6\xC7\x0C\x89\x90`\0\x90\xA2PPa\x11\x1Aa.rV[PPPPPPPPV[`\0\x80a\x01\xF6`\0\x89`\x02\x81\x11\x15a\x11>Wa\x11>aP\rV[`\x02\x81\x11\x15a\x11OWa\x11OaP\rV[\x81R` \x01\x90\x81R` \x01`\0 T\x90P\x80`\0\x14a\x11\x9FW\x80\x83\x86a\x11x`\xC0\x8B\x01\x8BaV\xBDV[a\x11\x83\x92\x91PaW~V[a\x11\x8D\x91\x90aW~V[a\x11\x97\x91\x90aX\x98V[\x91PPa\x11\xA5V[`\0\x91PP[\x96\x95PPPPPPV[a\x11\xB7a-\xC1V[`\x02a\x11\xC2\x82a\x1AtV[`\x05\x81\x11\x15a\x11\xD3Wa\x11\xD3aP\rV[\x14a\x11\xF4W`@QcSi\x1DU`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[`\0a\x01\xF5\x82\x81T\x81\x10a\x12\nWa\x12\naVsV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x90\x81\x01\x80T`\xFF\x19\x16`\x04\x17\x90U`\x05\x81\x01T`\x01\x82\x01T\x91\x92Pa\x12L\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90a.\x98V[`@Q\x82\x90\x7FZ\xB6\xD2\x180;\xD8\xDC\x01\xC2\xC5\xE8\x12\xDC\xBB\xAD\xCF\xC2\xEB[\x1F\xB9\x11\x11\xE0\xB0\xAE\x87\x88\x8A\xC5h\x90`\0\x90\xA2Pa\x12\x80a.rV[PV[`\0a\x12\x8Da-\xC1V[`\0a\x01\xF5\x83\x81T\x81\x10a\x12\xA3Wa\x12\xA3aVsV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a\x13 \x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x13L\x90aV\x89V[\x80\x15a\x13\x99W\x80`\x1F\x10a\x13nWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x13\x99V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x13|W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a\x13\xC4Wa\x13\xC4aP\rV[`\x05\x81\x11\x15a\x13\xD5Wa\x13\xD5aP\rV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x90P`\x03a\x14\r\x84a\x1AtV[`\x05\x81\x11\x15a\x14\x1EWa\x14\x1EaP\rV[\x14a\x14?W`@Qc\r\x94\x85\xF1`\xE0\x1B\x81R`\x04\x81\x01\x84\x90R`$\x01a\x0BgV[``\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163\x14a\x14oW`@Qc\x10\xDA\x1D\xD3`\xE3\x1B\x81R`\x04\x81\x01\x84\x90R`$\x01a\x0BgV[a\x14\x99\x83\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a.\xD0V[\x91PPa\x14\xA4a.rV[\x91\x90PV[`\0\x90\x81R`\0\x80Q` a^!\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[a\x14\xD4\x82a\x14\xA9V[a\x14\xDD\x81a0 V[a\x14\xE7\x83\x83a0*V[PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x15\x16W`@Qc3K\xD9\x19`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x15 \x82\x82a0\xCFV[PPPV[`\0\x80Q` a^\x01\x839\x81Q\x91Ra\x15=\x81a0 V[a\x12\x80a1KV[`\0a\x01\xF4\x86\x81T\x81\x10a\x15[Wa\x15[aVsV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a\x15\xD8\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x16\x04\x90aV\x89V[\x80\x15a\x16QW\x80`\x1F\x10a\x16&Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x16QV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x164W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`\xC0\x01QQ`\0\x03a\x16\x82W`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\x16\xB8W`@Qc8\x99:I`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83\x15a\x18\xAFWa\x16\xCB\x81` \x01Qa,\xF3V[a\x16\xE8W`@Qcz\xFC\xEF\x7F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x84\x81\x10\x15a\x18\xADW`\0a\x16\xFE\x88a-JV[\x90P`\0a\x17\x17\x88\x88\x85\x81\x81\x10a\x0B$Wa\x0B$aVsV[`@Qc5\xAD\x90\xD3`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90ck[!\xA6\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x17\x86W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x17\xAA\x91\x90aW\x03V[\x15a\x17\xD2W`@Qc\xC6D\xD0G`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x83\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1\x83\x8A\x8A\x87\x81\x81\x10a\x18\x14Wa\x18\x14aVsV[\x90P` \x02\x81\x01\x90a\x18&\x91\x90aV\xBDV[`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x18D\x93\x92\x91\x90aWNV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x18^W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x18rW=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8B\x91P\x7F8\xCF^\xF7\xF2\x11\xD49\x83\xAFl\x03\xC4c\x89\x17\xEB\xDE;\x9CR\xD9hf\xF3G%\xC3\x92\x8E:{\x90`\0\x90\xA3PP`\x01\x01a\x16\xEBV[P[`\0[\x82\x81\x10\x15a\rNW`\0a\x18\xC5\x88a-\x92V[\x90P`\0a\x18\xDE\x86\x86\x85\x81\x81\x10a\x0B$Wa\x0B$aVsV[`@Qc5\xAD\x90\xD3`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90ck[!\xA6\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x19MW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x19q\x91\x90aW\x03V[\x15a\x19\x99W`@Qc\xC6D\xD0G`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x83\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1\x83\x88\x88\x87\x81\x81\x10a\x19\xDBWa\x19\xDBaVsV[\x90P` \x02\x81\x01\x90a\x19\xED\x91\x90aV\xBDV[`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x1A\x0B\x93\x92\x91\x90aWNV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1A%W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x1A9W=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8B\x91P\x7F\xE8\xF7\xC0*\xA8\xD1\xF6M$\\\xCF\x16+\xC7\x7F\x17\x1D\xD86\xDFD\n\xC9\xA6\xB67!D^\xBEU\x89\x90`\0\x90\xA3PP`\x01\x01a\x18\xB2V[`\0\x80a\x01\xF5\x83\x81T\x81\x10a\x1A\x8BWa\x1A\x8BaVsV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a\x1B\x08\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1B4\x90aV\x89V[\x80\x15a\x1B\x81W\x80`\x1F\x10a\x1BVWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x1B\x81V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1BdW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a\x1B\xACWa\x1B\xACaP\rV[`\x05\x81\x11\x15a\x1B\xBDWa\x1B\xBDaP\rV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x90P`\x01\x81` \x01Q`\x05\x81\x11\x15a\x1C\x02Wa\x1C\x02aP\rV[\x03a\x1C'W\x80Q`@\x01QC\x10\x15a\x1C\x1EW` \x01Q\x92\x91PPV[P`\x02\x92\x91PPV[`\x03\x81` \x01Q`\x05\x81\x11\x15a\x1C?Wa\x1C?aP\rV[\x03a\x1CcW\x80Q`\x80\x01QC\x11\x15a\x1CZWP`\x05\x92\x91PPV[P`\x03\x92\x91PPV[` \x01Q\x92\x91PPV[a\x1Cua1\xABV[a\x1C~\x82a2RV[a\x1C\x88\x82\x82a2]V[PPV[a\x1C\x94a-\xC1V[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16cr\x10Z\xAFa\x1C\xDA`\0\x80Q` a^a\x839\x81Q\x91Ra3\x1AV[3`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`\x01`\x01`\xA0\x1B\x03\x16`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x1D W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x1D4W=`\0\x80>=`\0\xFD[PPPPa\x1Dy\x84\x84\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa3/\x92PPPV[a\x14\xE7a.rV[`\0a\x1D\x8Ba5\xB5V[P`\0\x80Q` a]\xE1\x839\x81Q\x91R\x90V[a\x1D\xA6a-\xC1V[\x82Q\x81\x14a\x1D\xC7W`@Qc\xC2\x1F\xE6\xBF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83Q\x81\x10\x15a\x1E!Wa\x1E\x19\x84\x82\x81Q\x81\x10a\x1D\xE8Wa\x1D\xE8aVsV[` \x02` \x01\x01Q\x84\x84\x84\x81\x81\x10a\x1E\x02Wa\x1E\x02aVsV[\x90P` \x02\x81\x01\x90a\x1E\x14\x91\x90aV\xBDV[a5\xFEV[`\x01\x01a\x1D\xCAV[Pa\x15 a.rV[`\0\x80Q` a^\x01\x839\x81Q\x91Ra\x1EB\x81a0 V[0a\x1EO\x85\x85\x85\x84a:\xACV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16ci\xFD\xBC\xCA\x82`\0a\x1E\x8A\x89a;oV[\x89`@Q\x85c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x1E\xAA\x94\x93\x92\x91\x90aX\xAFV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1E\xC4W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x1E\xD8W=`\0\x80>=`\0\xFD[PPPPPPPPPV[a\x01\xF5\x81\x81T\x81\x10a\x1E\xF4W`\0\x80\xFD[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\t\x90\x93\x02\x90\x91\x01\x80T\x83R`\x01\x81\x01T\x93\x83\x01\x93\x90\x93R`\x02\x83\x01T\x90\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x82\x01T`\x80\x82\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x92\x93P\x90\x91\x83\x91`\xC0\x84\x01\x91a\x1Fl\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1F\x98\x90aV\x89V[\x80\x15a\x1F\xE5W\x80`\x1F\x10a\x1F\xBAWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x1F\xE5V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1F\xC8W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP`\x07\x82\x01T`\x08\x90\x92\x01T\x90\x91`\xFF\x81\x16\x91`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x92\x04\x82\x16\x91\x16\x84V[`\0a a-\xC1V[`\x05a +\x84a\x1AtV[`\x05\x81\x11\x15a #\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a$\xA5WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a$\xC1WP0;\x15[\x90P\x81\x15\x80\x15a$\xCFWP\x80\x15[\x15a$\xEDW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a%\x17W\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a%\x1FaB=`\0\xFD[a&n\x82a\x14\xA9V[a&w\x81a0 V[a\x14\xE7\x83\x83a0\xCFV[a&\x89a-\xC1V[\x84Q\x86Q\x14\x15\x80a&\x9BWP\x84Q\x83\x14\x15[\x15a&\xB9W`@Qc\xC2\x1F\xE6\xBF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x86\x86\x86\x86`@Q` \x01a&\xD2\x94\x93\x92\x91\x90aY\x89V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a&\xF5\x82aB\xAFV[\x90P`\0a'9\x82\x86\x86\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPaB\xEA\x92PPPV[\x90P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16cr\x10Z\xAFa'\x81`\0\x80Q` a^a\x839\x81Q\x91Ra3\x1AV[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x84\x90\x1B\x16\x81R`\x04\x81\x01\x91\x90\x91R`\x01`\x01`\xA0\x1B\x03\x84\x16`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a'\xC7W`\0\x80\xFD[PZ\xFA\x15\x80\x15a'\xDBW=`\0\x80>=`\0\xFD[PPPP`\0[\x89Q\x81\x10\x15a(\x88Wa(\x80\x8A\x82\x81Q\x81\x10a(\0Wa(\0aVsV[` \x02` \x01\x01Q\x8A\x83\x81Q\x81\x10a(\x1AWa(\x1AaVsV[` \x02` \x01\x01Q\x8A\x8A\x85\x81\x81\x10a(4Wa(4aVsV[\x90P` \x02\x81\x01\x90a(F\x91\x90aV\xBDV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa3/\x92PPPV[`\x01\x01a'\xE2V[PPPPa \x98a.rV[a(\x9Ca-\xC1V[`\0a\x01\xF5\x84\x81T\x81\x10a(\xB2Wa(\xB2aVsV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a)/\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta)[\x90aV\x89V[\x80\x15a)\xA8W\x80`\x1F\x10a)}Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a)\xA8V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a)\x8BW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a)\xD3Wa)\xD3aP\rV[`\x05\x81\x11\x15a)\xE4Wa)\xE4aP\rV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x80QQa\x01\xF4\x80T\x92\x93P\x90\x91`\0\x91\x90\x83\x90\x81\x10a*0Wa*0aVsV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a*\xAD\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta*\xD9\x90aV\x89V[\x80\x15a+&W\x80`\x1F\x10a*\xFBWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a+&V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a+\tW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0\x80a+>\x88\x86aC\x14V[\x91P\x91Pa+\x96\x88\x86`\0\x01Q`\xC0\x01Q\x89\x89\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa+\x91\x92P\x8A\x91Pa-\x92\x90PV[aD-V[a+\xB6W`@Qc@i\xAF=`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x01a\x0BgV[a+\xC8\x88\x86\x84\x84\x88\x88`@\x01QaE6V[PPPPPa\x15 a.rV[a\x01\xF4\x81\x81T\x81\x10a+\xE6W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 `\x07\x90\x91\x02\x01\x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x85\x01T`\x05\x86\x01T`\x06\x87\x01\x80T`\x01`\x01`\xA0\x1B\x03\x97\x88\x16\x99P\x95\x97\x94\x96\x93\x95\x92\x94\x93\x90\x91\x16\x92\x91a,;\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta,g\x90aV\x89V[\x80\x15a,\xB4W\x80`\x1F\x10a,\x89Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a,\xB4V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a,\x97W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x87V[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cye\xDB\x0B`\xE0\x1B\x14\x80a\tYWPc\x01\xFF\xC9\xA7`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x14a\tYV[`\0\x81\x15\x80a-!WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x80\x80\x80a-9\x85\x87\x01\x87aZ\x15V[\x92P\x92P\x92Pa\x11\xA5\x83\x83\x83aF\xC9V[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rb3\xB2\xB7`\xE9\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rbivs`\xE8\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01a-uV[\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\x80T`\x01\x19\x01a.\x05W`@Qc>\xE5\xAE\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x90UV[`@Q`\x01`\x01`\xA0\x1B\x03\x84\x81\x16`$\x83\x01R\x83\x81\x16`D\x83\x01R`d\x82\x01\x83\x90Ra\x14\xE7\x91\x86\x91\x82\x16\x90c#\xB8r\xDD\x90`\x84\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x91P`\xE0\x1B` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x83\x81\x83\x16\x17\x83RPPPPaG\x04V[`\x01\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0UV[\x80\x15a\x1C\x88W`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF8` R`@\x81 \x80T\x83\x92\x90a.\xC7\x90\x84\x90aW~V[\x90\x91UPPPPV[`\0\x80a\x01\xF5\x84\x81T\x81\x10a.\xE7Wa.\xE7aVsV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x90\x81\x01\x80T`\xFF\x19\x16`\x04\x17\x90U\x80T`\x05\x82\x01T`\x01\x83\x01T\x92\x93P\x90\x91a/+\x91`\x01`\x01`\xA0\x1B\x03\x16\x90a.\x98V[`@Q\x85\x90\x7F\xD6\xD7\xF87\xB6\x8A\xE9j\xF4v\xF0D{\xBEK\xE0`\xB2\x06B\xEB\xDFG\x08T\xF7\x01\xCA]\x8F^\xFB\x90`\0\x90\xA2`\x08\x82\x01T`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x91c\xEA\xAC\xAE\x94\x91\x16\x83a/\x98\x81aGgV[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x86\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a/\xF3W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a0\x17\x91\x90aZ\x9CV[\x95\x94PPPPPV[a\x12\x80\x813aG\x96V[`\0`\0\x80Q` a^!\x839\x81Q\x91Ra0E\x84\x84a#yV[a0\xC5W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua0{3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x85\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4`\x01\x91PPa\tYV[`\0\x91PPa\tYV[`\0`\0\x80Q` a^!\x839\x81Q\x91Ra0\xEA\x84\x84a#yV[\x15a0\xC5W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x87\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4`\x01\x91PPa\tYV[a1SaG\xCFV[`\0\x80Q` a^A\x839\x81Q\x91R\x80T`\xFF\x19\x16\x81U\x7F]\xB9\xEE\nI[\xF2\xE6\xFF\x9C\x91\xA7\x83L\x1B\xA4\xFD\xD2D\xA5\xE8\xAANS{\xD3\x8A\xEA\xE4\xB0s\xAA3[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xA1PV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a22WP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a2&`\0\x80Q` a]\xE1\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a2PW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[V[`\0a\x1C\x88\x81a0 V[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a2\xB7WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra2\xB4\x91\x81\x01\x90aZ\x9CV[`\x01[a2\xDFW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80Q` a]\xE1\x839\x81Q\x91R\x81\x14a3\x10W`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[a\x15 \x83\x83aG\xFFV[`\0\x81`@Q` \x01a-u\x91\x81R` \x01\x90V[`\x01a3:\x84a\x1AtV[`\x05\x81\x11\x15a3KWa3KaP\rV[\x14a3iW`@Qc>[N\x85`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF5\x84\x81T\x81\x10a3\x7FWa3\x7FaVsV[`\0\x91\x82R` \x82 `\t\x90\x91\x02\x01\x80T`@Qc\x1C~\xAEe`\xE0\x1B\x81R\x91\x93P\x82\x91`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x91c\x1C~\xAEe\x91a3\xF5\x91\x89\x91`\x04\x01`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x82R` \x82\x01R`@\x01\x90V[`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a4\x11W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a45\x91\x90aZ\xB5V[\x91P\x91P\x81\x83`\0\x01`\x01\x01T\x10\x15a4dW`@Qcb]\xAA\x9D`\xE1\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x03\x83\x01T\x81\x11\x15a4\x8CW`@Qc\xF8O\xAAI`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x07\x83\x01\x80T`\xFF\x19\x16`\x03\x90\x81\x17\x90\x91U\x83\x01Ta4\xAB\x90CaW~V[`\x04\x84\x01U`\x08\x83\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x87\x16\x17\x90U\x82T`\0\x90a4\xDB\x90aGgV[\x84T`@Qc\xC4\x92\xEE9`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x89\x81\x16`\x04\x83\x01R`$\x82\x01\x92\x90\x92R`D\x81\x01\x83\x90R\x91\x92P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xC4\x92\xEE9\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a5RW`\0\x80\xFD[PZ\xF1\x15\x80\x15a5fW=`\0\x80>=`\0\xFD[PPPP\x85`\x01`\x01`\xA0\x1B\x03\x16\x87\x7Fz|\xD4\x1C\xAD_<\xCC\xFD\xCEH\xDFr\x08E\xB6\xFE\x81g\x85;'\xBA\x03\x1D\x99\x98\xE2\x05\xEB\x1D\xD9\x87`@Qa5\xA4\x91\x90aT\xB4V[`@Q\x80\x91\x03\x90\xA3PPPPPPPV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a2PW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF5\x84\x81T\x81\x10a6\x14Wa6\x14aVsV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a6\x91\x90aV\x89V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta6\xBD\x90aV\x89V[\x80\x15a7\nW\x80`\x1F\x10a6\xDFWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a7\nV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a6\xEDW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a75Wa75aP\rV[`\x05\x81\x11\x15a7FWa7FaP\rV[\x81R`\x07\x82\x01Ta\x01\0\x90\x04`\x01`\x01`\xA0\x1B\x03\x90\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x82\x16`@\x91\x82\x01R\x82QQ``\x84\x01Q\x91Qc+a\x0C-`\xE0\x1B\x81R\x91\x83\x16`\x04\x83\x01R`$\x82\x01\x81\x90R\x92\x93P`\0\x91\x82\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c+a\x0C-\x90`D\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a7\xE5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a8\t\x91\x90aZ\xD9V[\x90\x92P\x90P`\x01`\x01`\xA0\x1B\x03\x82\x16a85W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03a8@\x88a\x1AtV[`\x05\x81\x11\x15a8QWa8QaP\rV[\x14a8rW`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x88\x90R`$\x01a\x0BgV[\x83Q`\xC0\x01Q`@Q`\0\x91a8\x8E\x91\x89\x90\x89\x90` \x01a[\x07V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x01\xF4\x84\x81T\x81\x10a8\xB3Wa8\xB3aVsV[`\0\x91\x82R` \x90\x91 `\x07\x90\x91\x02\x01T`@QcG;\x05\x7F`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x8Ev\n\xFE\x90a8\xF1\x90\x84\x90`\x04\x01aT\xB4V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a9\x0EW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a92\x91\x90aW\x03V[a9RW`@Qc^?\xA0Q`\xE0\x1B\x81R`\x04\x81\x01\x89\x90R`$\x01a\x0BgV[`\x04a\x01\xF5\x89\x81T\x81\x10a9hWa9haVsV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15a9\x95Wa9\x95aP\rV[\x02\x17\x90UP\x84Q` \x01Q`\0\x90a9\xAE\x90\x84\x90a[-V[\x90Pa9\xBA\x84\x84a.\x98V[\x85Q`\xA0\x01Qa9\xCA\x90\x82a.\x98V[`\0a9\xD5\x86aGgV[``\x88\x01Q`@Qc\x98*A]`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\x04\x82\x01R`$\x81\x01\x89\x90R`D\x81\x01\x83\x90R\x91\x92P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x98*A]\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a:NW`\0\x80\xFD[PZ\xF1\x15\x80\x15a:bW=`\0\x80>=`\0\xFD[PPPP\x89\x7F\x8F\xDDxa\x98\x04'\x96\x0FCy\x10\xD2\x0Bx\xBE7P6\xB3\x1F\x97\xEF\"\xA8\x04\x0F \xE4]+\xA2\x8A\x8A`@Qa:\x98\x92\x91\x90a[@V[`@Q\x80\x91\x03\x90\xA2PPPPPPPPPPV[`\0\x84\x82`@Q` \x01a:\xC1\x92\x91\x90a[\\V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a:\xE4\x82aB\xAFV[\x90P`\0a;(\x82\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPaB\xEA\x92PPPV[\x90Pa;3\x87aHUV[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a\rNW`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[```\0\x82\x80` \x01\x90Q\x81\x01\x90a;\x87\x91\x90a[\xCBV[P\x94\x99\x98PPPPPPPPPV[`\0\x80Q` a^A\x839\x81Q\x91RT`\xFF\x16\x15a2PW`@Qc\xD9<\x06e`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x87\x015\x15\x80a;\xE4WPa;\xE0`\xC0\x88\x01\x88aV\xBDV[\x15\x90P[\x15a<\x02W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xF7`\0\x86`\x02\x81\x11\x15a<\x19Wa<\x19aP\rV[`\x02\x81\x11\x15a<*Wa<*aP\rV[\x81R` \x01\x90\x81R` \x01`\0 TCa \x880a=\xEE\x84` \x8E\x015aW~V[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x92\x91\x90a.\x0BV[a>J\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82a.\x98V[\x81`\xC0\x01QQ`\0\x03a>pW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xF5T`@\x80Q`\x80\x81\x01\x90\x91R`\0\x90\x80a>\x8C\x8Da\\\xB9V[\x81R` \x01`\x01\x81R3` \x80\x83\x01\x91\x90\x91R`\0`@\x92\x83\x01\x81\x90Ra\x01\xF5\x80T`\x01\x81\x01\x82U\x91R\x83Q\x80Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1g`\t\x90\x93\x02\x92\x83\x01\x90\x81U\x92\x81\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1h\x83\x01U\x92\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1i\x82\x01U``\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1j\x82\x01U`\x80\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1k\x82\x01U`\xA0\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1l\x82\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x91\x90\x91\x17\x90U`\xC0\x83\x01Q\x93\x94P\x84\x93\x91\x92\x91\x83\x91\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1m\x01\x90a@\t\x90\x82aW\xD9V[PPP` \x82\x01Q`\x07\x82\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15a@/Wa@/aP\rV[\x02\x17\x90UP`@\x82\x01Q`\x07\x82\x01\x80Ta\x01\0`\x01`\xA8\x1B\x03\x19\x16a\x01\0`\x01`\x01`\xA0\x1B\x03\x93\x84\x16\x02\x17\x90U``\x90\x92\x01Q`\x08\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x91\x83\x16\x91\x90\x91\x17\x90U\x84Q\x90\x81\x16c\xA6\xDF\xBC\x7Fa@\x93`\xC0\x8F\x01\x8FaV\xBDV[`@Q\x83c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a@\xB0\x92\x91\x90a[@V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a@\xCDW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a@\xF1\x91\x90aW\x03V[aA\x0EW`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[aA\x1B\x85` \x01Qa,\xF3V[\x15aAgW`\x01\x15\x15\x83\x7F{\xBF\xCEe5\x8CD\xB5\x98\xA1\xEE\x0E\xEF\x06<\xE1M\xE0%\x168W\x94\xF6\xB6\x0E\xEAU#\xA96\xE4\x8B\x8B\x8B\x8B`@QaAZ\x94\x93\x92\x91\x90a]AV[`@Q\x80\x91\x03\x90\xA3aA\xB4V[`@\x80Q\x81\x81R`\0\x91\x81\x01\x82\x90R``` \x82\x01\x81\x90R\x81\x01\x82\x90R\x84\x90\x7F{\xBF\xCEe5\x8CD\xB5\x98\xA1\xEE\x0E\xEF\x06<\xE1M\xE0%\x168W\x94\xF6\xB6\x0E\xEAU#\xA96\xE4\x90`\x80\x01`@Q\x80\x91\x03\x90\xA3[PPPPPPPPPPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`$\x83\x01R`D\x82\x01\x83\x90Ra\x15 \x91\x85\x91\x82\x16\x90c\xA9\x05\x9C\xBB\x90`d\x01a.@V[aA\xFBa;\x96V[`\0\x80Q` a^A\x839\x81Q\x91R\x80T`\xFF\x19\x16`\x01\x17\x81U\x7Fb\xE7\x8C\xEA\x01\xBE\xE3 \xCDNB\x02p\xB5\xEAt\0\r\x11\xB0\xC9\xF7GT\xEB\xDB\xFCTK\x05\xA2X3a1\x8DV[a2PaH~V[a.raH~V[`\0\x80Q` a^!\x839\x81Q\x91R`\0aBf\x84a\x14\xA9V[`\0\x85\x81R` \x84\x90R`@\x80\x82 `\x01\x01\x86\x90UQ\x91\x92P\x84\x91\x83\x91\x87\x91\x7F\xBDy\xB8o\xFE\n\xB8\xE8waQQB\x17\xCD|\xAC\xD5,\x90\x9FfG\\:\xF4N\x12\x9F\x0B\0\xFF\x91\x90\xA4PPPPV[`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01a-uV[`\0\x80`\0\x80aB\xFA\x86\x86aH\xC7V[\x92P\x92P\x92PaC\n\x82\x82aI\x14V[P\x90\x94\x93PPPPV[``\x81\x01Q\x81QQ`@Qc+a\x0C-`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x92\x83\x16`\x04\x82\x01R`$\x81\x01\x91\x90\x91R`\0\x91\x82\x91\x82\x91\x82\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c+a\x0C-\x90`D\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15aC\x94W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90aC\xB8\x91\x90aZ\xD9V[\x90\x92P\x90P`\x01`\x01`\xA0\x1B\x03\x82\x16aC\xE4W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03aC\xEF\x87a\x1AtV[`\x05\x81\x11\x15aD\0WaD\0aP\rV[\x14aD!W`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[\x92P\x90P[\x92P\x92\x90PV[`\0\x80\x85\x85`@Q` \x01aDC\x92\x91\x90a]hV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0aDf\x82aB\xAFV[\x90P`\0aDt\x82\x87aB\xEAV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16aD\xA8W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[`@Qcr\x10Z\xAF`\xE0\x1B\x81R`\x04\x81\x01\x86\x90R`\x01`\x01`\xA0\x1B\x03\x82\x81\x16`$\x83\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cr\x10Z\xAF\x90`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15aE\x10W`\0\x80\xFD[PZ\xFA\x15\x80\x15aE$W=`\0\x80>=`\0\xFD[P`\x01\x9B\x9APPPPPPPPPPPV[`\x03aEA\x87a\x1AtV[`\x05\x81\x11\x15aERWaERaP\rV[\x14aEsW`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x04a\x01\xF5\x87\x81T\x81\x10aE\x89WaE\x89aVsV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15aE\xB6WaE\xB6aP\rV[\x02\x17\x90UP\x84Q` \x01Q`\0\x90aE\xCF\x90\x86\x90a[-V[\x90PaE\xDB\x84\x86a.\x98V[aF\x05\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82a.\x98V[``\x86\x01Q`@Qc\x98*A]`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\x04\x82\x01R`$\x81\x01\x85\x90R`D\x81\x01\x84\x90R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c\x98*A]\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15aF}W`\0\x80\xFD[PZ\xF1\x15\x80\x15aF\x91W=`\0\x80>=`\0\xFD[PP`@Q\x89\x92P\x7F\x07\xC3=KV\x06\xE2\xFD \xFB\x9A\xDBp\x06\xCD\xC7\xD4\xAB\x0F0\x80\x90\xDA\xBC\xFDd\xD4\x97\x9C\xD7~*\x91P`\0\x90\xA2PPPPPPPV[`\0\x80\x84\x84\x84`@Q` \x01aF\xE1\x93\x92\x91\x90a]\x81V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x91PP[\x93\x92PPPV[`\0aG\x19`\x01`\x01`\xA0\x1B\x03\x84\x16\x83aI\xCDV[\x90P\x80Q`\0\x14\x15\x80\x15aG>WP\x80\x80` \x01\x90Q\x81\x01\x90aG<\x91\x90aW\x03V[\x15[\x15a\x15 W`@QcRt\xAF\xE7`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0a\x01\xF4\x82\x81T\x81\x10aG}WaG}aVsV[\x90`\0R` `\0 \x90`\x07\x02\x01`\x02\x01T\x90P\x91\x90PV[aG\xA0\x82\x82a#yV[a\x1C\x88W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a\x0BgV[`\0\x80Q` a^A\x839\x81Q\x91RT`\xFF\x16a2PW`@Qc\x8D\xFC +`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[aH\x08\x82aI\xDBV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15aHMWa\x15 \x82\x82aJ@V[a\x1C\x88aJ\xADV[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90aHl\x91\x90a[\xCBV[PPPPPP\x91PPaF\xFD\x81aJ\xCCV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a2PW`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x83Q`A\x03aI\x01W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1AaH\xF3\x88\x82\x85\x85aJ\xFCV[\x95P\x95P\x95PPPPaI\rV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15aI(WaI(aP\rV[\x03aI1WPPV[`\x01\x82`\x03\x81\x11\x15aIEWaIEaP\rV[\x03aIcW`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15aIwWaIwaP\rV[\x03aI\x98W`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[`\x03\x82`\x03\x81\x11\x15aI\xACWaI\xACaP\rV[\x03a\x1C\x88W`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[``aF\xFD\x83\x83`\0aK\xCBV[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03aJ\x11W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80Q` a]\xE1\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@QaJ]\x91\x90a]\xC4V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14aJ\x98W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>aJ\x9DV[``\x91P[P\x91P\x91Pa0\x17\x85\x83\x83aLZV[4\x15a2PW`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81Q`@\x14aJ\xF0W`@Qc\xD2\x833]`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15aK7WP`\0\x91P`\x03\x90P\x82aK\xC1V[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15aK\x8BW=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16aK\xB7WP`\0\x92P`\x01\x91P\x82\x90PaK\xC1V[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[``\x81G\x10\x15aK\xF0W`@Qc\xCDx`Y`\xE0\x1B\x81R0`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x84\x86`@QaL\x0C\x91\x90a]\xC4V[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14aLIW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>aLNV[``\x91P[P\x91P\x91Pa\x11\xA5\x86\x83\x83[``\x82aLoWaLj\x82aL\xB6V[aF\xFDV[\x81Q\x15\x80\x15aL\x86WP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15aL\xAFW`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x0BgV[P\x80aF\xFDV[\x80Q\x15aL\xC6W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15aL\xF1W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14aF\xFDW`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12aM\x1BW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aM2W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15aD&W`\0\x80\xFD[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15aMeW`\0\x80\xFD[\x855\x94P` \x86\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aM\x83W`\0\x80\xFD[aM\x8F\x89\x83\x8A\x01aM\tV[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15aM\xA8W`\0\x80\xFD[PaM\xB5\x88\x82\x89\x01aM\tV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0\x80\x83`\x1F\x84\x01\x12aM\xD8W`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aM\xEFW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15aD&W`\0\x80\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x12\x80W`\0\x80\xFD[`\0\x80`\0\x80`\0\x80`\0\x80`\xA0\x89\x8B\x03\x12\x15aN8W`\0\x80\xFD[\x885`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aNOW`\0\x80\xFD[aN[\x8C\x83\x8D\x01aM\xC6V[\x90\x9AP\x98P` \x8B\x015\x91PaNp\x82aN\x07V[\x90\x96P`@\x8A\x015\x95P``\x8A\x015\x90\x80\x82\x11\x15aN\x8DW`\0\x80\xFD[aN\x99\x8C\x83\x8D\x01aM\xC6V[\x90\x96P\x94P`\x80\x8B\x015\x91P\x80\x82\x11\x15aN\xB2W`\0\x80\xFD[PaN\xBF\x8B\x82\x8C\x01aM\xC6V[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[\x805`\x03\x81\x10a\x14\xA4W`\0\x80\xFD[`\0`\xE0\x82\x84\x03\x12\x15aN\xF4W`\0\x80\xFD[P\x91\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15aO\x13W`\0\x80\xFD[aO\x1C\x87aN\xD3V[\x95P` \x87\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aO8W`\0\x80\xFD[aOD\x8A\x83\x8B\x01aN\xE2V[\x96P`@\x89\x015\x91P\x80\x82\x11\x15aOZW`\0\x80\xFD[aOf\x8A\x83\x8B\x01aM\xC6V[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15aO\x7FW`\0\x80\xFD[PaO\x8C\x89\x82\x8A\x01aM\xC6V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0` \x82\x84\x03\x12\x15aO\xB0W`\0\x80\xFD[P5\x91\x90PV[`\0` \x82\x84\x03\x12\x15aO\xC9W`\0\x80\xFD[aF\xFD\x82aN\xD3V[\x805a\x14\xA4\x81aN\x07V[`\0\x80`@\x83\x85\x03\x12\x15aO\xF0W`\0\x80\xFD[\x825\x91P` \x83\x015aP\x02\x81aN\x07V[\x80\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x06\x81\x10aPAWcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[` \x81\x01a\tY\x82\x84aP#V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xE0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aP\x8BWaP\x8BaPSV[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aP\xB9WaP\xB9aPSV[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aP\xDAWaP\xDAaPSV[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aP\xF9W`\0\x80\xFD[\x815aQ\x0CaQ\x07\x82aP\xC1V[aP\x91V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aQ!W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15aQQW`\0\x80\xFD[\x825aQ\\\x81aN\x07V[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aQwW`\0\x80\xFD[aQ\x83\x85\x82\x86\x01aP\xE8V[\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15aQ\xA3W`\0\x80\xFD[\x845\x93P` \x85\x015aQ\xB5\x81aN\x07V[\x92P`@\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aQ\xD0W`\0\x80\xFD[aQ\xDC\x87\x82\x88\x01aM\xC6V[\x95\x98\x94\x97P\x95PPPPV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aR\x01WaR\x01aPSV[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aR\x1CW`\0\x80\xFD[\x815` aR,aQ\x07\x83aQ\xE8V[\x80\x83\x82R` \x82\x01\x91P` \x84`\x05\x1B\x87\x01\x01\x93P\x86\x84\x11\x15aRNW`\0\x80\xFD[` \x86\x01[\x84\x81\x10\x15aRjW\x805\x83R\x91\x83\x01\x91\x83\x01aRSV[P\x96\x95PPPPPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15aR\x8AW`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aR\xA1W`\0\x80\xFD[aR\xAD\x87\x83\x88\x01aR\x0BV[\x94P` \x86\x015\x91P\x80\x82\x11\x15aR\xC3W`\0\x80\xFD[PaR\xD0\x86\x82\x87\x01aM\tV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15aR\xF2W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aS\tW`\0\x80\xFD[aS\x15\x87\x83\x88\x01aP\xE8V[\x94P` \x86\x015\x91P\x80\x82\x11\x15aS+W`\0\x80\xFD[PaR\xD0\x86\x82\x87\x01aM\xC6V[`\0[\x83\x81\x10\x15aSSW\x81\x81\x01Q\x83\x82\x01R` \x01aS;V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84RaSt\x81` \x86\x01` \x86\x01aS8V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\x80\x81R\x84Q`\x80\x82\x01R` \x85\x01Q`\xA0\x82\x01R`@\x85\x01Q`\xC0\x82\x01R``\x85\x01Q`\xE0\x82\x01R`\x80\x85\x01Qa\x01\0\x82\x01R`\x01\x80`\xA0\x1B\x03`\xA0\x86\x01Q\x16a\x01 \x82\x01R`\0`\xC0\x86\x01Q`\xE0a\x01@\x84\x01RaS\xECa\x01`\x84\x01\x82aS\\V[\x91PPaS\xFC` \x83\x01\x86aP#V[`\x01`\x01`\xA0\x1B\x03\x84\x16`@\x83\x01R`\x01`\x01`\xA0\x1B\x03\x83\x16``\x83\x01R\x95\x94PPPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15aT v\xCC75\xA9 \xA3\xCAP]8+\xBCs\xE5s\xF9VmaA\x8A4\xD5\xDE?\xF4\x93`\xF9\xC5\x1F\xEC7\xF7HeQg\x02\x90\xF6(]\xAB\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\xCD^\xD1\\n\x18~w\xE9\xAE\xE8\x81\x84\xC2\x1FO!\x82\xABX'\xCB;~\x07\xFB\xED\xCDc\xF03\0\x08\x0F^\xA8N\xD1\xDEL\x8E\xDBX\xBEe\x1C%X\x1C5Z\0\x11\xB0\xF96\r\xE5\x08+\xEC\xD6F@\xA2dipfsX\"\x12 \xF8.\xEF\x9E\xD4\x80f\x8D\xA1\xDE1\xB66V\x7F\xACA\x9A\xCD\x12?\xA9\xA7\xFD#\xF5\xB3J\xAD2hwdsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x02\x93W`\x005`\xE0\x1C\x80ceY9{\x11a\x01ZW\x80c\x97Q\xBB\xD3\x11a\0\xC1W\x80c\xD4\xC2B6\x11a\0zW\x80c\xD4\xC2B6\x14a\x08\x86W\x80c\xD5Gt\x1F\x14a\x08\xA6W\x80c\xE6\xAF\xC3\xD9\x14a\x08\xC6W\x80c\xF0`,\xAB\x14a\x08\xE6W\x80c\xF8\xA9H/\x14a\t\x06W\x80c\xFB\xEF\x98m\x14a\t9W`\0\x80\xFD[\x80c\x97Q\xBB\xD3\x14a\x07\x9FW\x80c\xA2\x17\xFD\xDF\x14a\x07\xD3W\x80c\xAD<\xB1\xCC\x14a\x07\xE8W\x80c\xB4\xCFT?\x14a\x08&W\x80c\xC2D\xA7\xB9\x14a\x08FW\x80c\xC4\xD6m\xE8\x14a\x08fW`\0\x80\xFD[\x80cy\xC7n\x1A\x11a\x01\x13W\x80cy\xC7n\x1A\x14a\x06\xC8W\x80c\x84V\xCBY\x14a\x06\xE8W\x80c\x87|\x86\xFB\x14a\x06\xFDW\x80c\x89\x88PI\x14a\x071W\x80c\x8E\xCC\xBD\xAF\x14a\x07_W\x80c\x91\xD1HT\x14a\x07\x7FW`\0\x80\xFD[\x80ceY9{\x14a\x05\xB8W\x80cf\x1D\xE5\xAC\x14a\x05\xECW\x80cl\x8D\xF5\x18\x14a\x068W\x80cm\xA6w\x9B\x14a\x06hW\x80cpS\x8F\xCA\x14a\x06\x88W\x80cx\x7F\xB0K\x14a\x06\xA8W`\0\x80\xFD[\x80c6V\x8A\xBE\x11a\x01\xFEW\x80cO\x1E\xF2\x86\x11a\x01\xB7W\x80cO\x1E\xF2\x86\x14a\x05\x0BW\x80cRy\x86\xD0\x14a\x05\x1EW\x80cR\xD1\x90-\x14a\x05>W\x80cS{[\x7F\x14a\x05SW\x80c\\\x97Z\xBB\x14a\x05sW\x80cd\x17\xFBa\x14a\x05\x98W`\0\x80\xFD[\x80c6V\x8A\xBE\x14a\x049W\x80c?K\xA8:\x14a\x04YW\x80cE\x07R\xB4\x14a\x04nW\x80cG\xE63\x80\x14a\x04\x8EW\x80cIm\xF3\xB1\x14a\x04\xB0W\x80cMFq-\x14a\x04\xDEW`\0\x80\xFD[\x80c$v\x08\x07\x11a\x02PW\x80c$v\x08\x07\x14a\x03}W\x80c$\x8A\x9C\xA3\x14a\x03\x93W\x80c(D8\xA1\x14a\x03\xB3W\x80c-\x001\x8D\x14a\x03\xD5W\x80c//\xF1]\x14a\x04\x03W\x80c1u\x93\xD2\x14a\x04#W`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02\x98W\x80c\x04K\xC8\xED\x14a\x02\xCDW\x80c\x15\xC9\x8Az\x14a\x02\xEFW\x80c\x16\x0F\xCF\xBA\x14a\x03\x0FW\x80c\x16(\xE0\xF5\x14a\x03=W\x80c }f)\x14a\x03]W[`\0\x80\xFD[4\x80\x15a\x02\xA4W`\0\x80\xFD[Pa\x02\xB8a\x02\xB36`\x04aM\x1DV[a\tNV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x02\xD9W`\0\x80\xFD[Pa\x02\xEDa\x02\xE86`\x04aM\x8BV[a\t_V[\0[4\x80\x15a\x02\xFBW`\0\x80\xFD[Pa\x02\xEDa\x03\n6`\x04aNZV[a\rkV[4\x80\x15a\x03\x1BW`\0\x80\xFD[Pa\x03/a\x03*6`\x04aO8V[a\x118V[`@Q\x90\x81R` \x01a\x02\xC4V[4\x80\x15a\x03IW`\0\x80\xFD[Pa\x02\xEDa\x03X6`\x04aO\xDCV[a\x11\xC3V[4\x80\x15a\x03iW`\0\x80\xFD[Pa\x03/a\x03x6`\x04aO\xDCV[a\x12\x97V[4\x80\x15a\x03\x89W`\0\x80\xFD[Pa\x01\xF4Ta\x03/V[4\x80\x15a\x03\x9FW`\0\x80\xFD[Pa\x03/a\x03\xAE6`\x04aO\xDCV[a\x14\xBDV[4\x80\x15a\x03\xBFW`\0\x80\xFD[Pa\x03/`\0\x80Q` a^\xAD\x839\x81Q\x91R\x81V[4\x80\x15a\x03\xE1W`\0\x80\xFD[Pa\x03/a\x03\xF06`\x04aO\xF5V[a\x01\xF7` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\x0FW`\0\x80\xFD[Pa\x02\xEDa\x04\x1E6`\x04aP\x1BV[a\x14\xDFV[4\x80\x15a\x04/W`\0\x80\xFD[Pa\x01\xF5Ta\x03/V[4\x80\x15a\x04EW`\0\x80\xFD[Pa\x02\xEDa\x04T6`\x04aP\x1BV[a\x15\x01V[4\x80\x15a\x04eW`\0\x80\xFD[Pa\x02\xEDa\x159V[4\x80\x15a\x04zW`\0\x80\xFD[Pa\x02\xEDa\x04\x896`\x04aM\x8BV[a\x15YV[4\x80\x15a\x04\x9AW`\0\x80\xFD[Pa\x03/`\0\x80Q` a^M\x839\x81Q\x91R\x81V[4\x80\x15a\x04\xBCW`\0\x80\xFD[Pa\x03/a\x04\xCB6`\x04aO\xF5V[a\x01\xF6` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\xEAW`\0\x80\xFD[Pa\x04\xFEa\x04\xF96`\x04aO\xDCV[a\x1A\x9EV[`@Qa\x02\xC4\x91\x90aP\x83V[a\x02\xEDa\x05\x196`\x04aQ|V[a\x1C\x97V[4\x80\x15a\x05*W`\0\x80\xFD[Pa\x02\xEDa\x0596`\x04aQ\xCBV[a\x1C\xB6V[4\x80\x15a\x05JW`\0\x80\xFD[Pa\x03/a\x1D\xABV[4\x80\x15a\x05_W`\0\x80\xFD[Pa\x02\xEDa\x05n6`\x04aR\xAFV[a\x1D\xC8V[4\x80\x15a\x05\x7FW`\0\x80\xFD[P`\0\x80Q` a^\x8D\x839\x81Q\x91RT`\xFF\x16a\x02\xB8V[4\x80\x15a\x05\xA4W`\0\x80\xFD[Pa\x02\xEDa\x05\xB36`\x04aS\x17V[a\x1E^V[4\x80\x15a\x05\xC4W`\0\x80\xFD[Pa\x03/\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\xF8W`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\xC4V[4\x80\x15a\x06DW`\0\x80\xFD[Pa\x06Xa\x06S6`\x04aO\xDCV[a\x1F\x17V[`@Qa\x02\xC4\x94\x93\x92\x91\x90aS\xC2V[4\x80\x15a\x06tW`\0\x80\xFD[Pa\x03/a\x06\x836`\x04aP\x1BV[a JV[4\x80\x15a\x06\x94W`\0\x80\xFD[Pa\x02\xEDa\x06\xA36`\x04aT]V[a \xA5V[4\x80\x15a\x06\xB4W`\0\x80\xFD[Pa\x02\xEDa\x06\xC36`\x04aO\xDCV[a \xD4V[4\x80\x15a\x06\xD4W`\0\x80\xFD[Pa\x02\xEDa\x06\xE36`\x04aT\xA7V[a\"\x80V[4\x80\x15a\x06\xF4W`\0\x80\xFD[Pa\x02\xEDa\"\xF0V[4\x80\x15a\x07\tW`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x07=W`\0\x80\xFD[Pa\x03/a\x07L6`\x04aT\xA7V[a\x01\xF8` R`\0\x90\x81R`@\x90 T\x81V[4\x80\x15a\x07kW`\0\x80\xFD[Pa\x02\xEDa\x07z6`\x04aT\xC4V[a#\x10V[4\x80\x15a\x07\x8BW`\0\x80\xFD[Pa\x02\xB8a\x07\x9A6`\x04aP\x1BV[a#\xADV[4\x80\x15a\x07\xABW`\0\x80\xFD[Pa\x06 \x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x07\xDFW`\0\x80\xFD[Pa\x03/`\0\x81V[4\x80\x15a\x07\xF4W`\0\x80\xFD[Pa\x08\x19`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02\xC4\x91\x90aT\xEEV[4\x80\x15a\x082W`\0\x80\xFD[Pa\x02\xEDa\x08A6`\x04aT\xC4V[a#\xE5V[4\x80\x15a\x08RW`\0\x80\xFD[Pa\x02\xEDa\x08a6`\x04aU\x01V[a$yV[4\x80\x15a\x08rW`\0\x80\xFD[Pa\x02\xEDa\x08\x816`\x04aT\xA7V[a$\x94V[4\x80\x15a\x08\x92W`\0\x80\xFD[Pa\x02\xEDa\x08\xA16`\x04aU?V[a%\xEDV[4\x80\x15a\x08\xB2W`\0\x80\xFD[Pa\x02\xEDa\x08\xC16`\x04aP\x1BV[a&\x99V[4\x80\x15a\x08\xD2W`\0\x80\xFD[Pa\x02\xEDa\x08\xE16`\x04aU\x80V[a&\xB5V[4\x80\x15a\x08\xF2W`\0\x80\xFD[Pa\x02\xEDa\t\x016`\x04aU\x01V[a(\xD2V[4\x80\x15a\t\x12W`\0\x80\xFD[Pa\t&a\t!6`\x04aO\xDCV[a,\x13V[`@Qa\x02\xC4\x97\x96\x95\x94\x93\x92\x91\x90aV]V[4\x80\x15a\tEW`\0\x80\xFD[Pa\x03/`d\x81V[`\0a\tY\x82a,\xFCV[\x92\x91PPV[`\0a\x01\xF4\x86\x81T\x81\x10a\tuWa\tuaV\xADV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a\t\xF2\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\n\x1E\x90aV\xC3V[\x80\x15a\nkW\x80`\x1F\x10a\n@Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\nkV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\nNW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`\xC0\x01QQ`\0\x03a\n\x9CW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\n\xD2W`@Qc8\x99:I`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83\x15a\x0CAWa\n\xE5\x81` \x01Qa-1V[a\x0B\x02W`@Qcz\xFC\xEF\x7F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x84\x81\x10\x15a\x0C?W`\0a\x0B;\x87\x87\x84\x81\x81\x10a\x0B$Wa\x0B$aV\xADV[\x90P` \x02\x81\x01\x90a\x0B6\x91\x90aV\xF7V[a-fV[\x90P\x82` \x01Q\x81\x03a\x0BpW`@QcZ\xB2\xFB\xC9`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x81\x01\x82\x90R`D\x01[`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\x14\x13\xA9*\x82a\x0B\xA9\x8Ba-\x88V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0B\xE7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0B\xFBW=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8A\x91P\x7F\xDC\xBE\xB0\xA3\xB1\xAC\"\x82L\xF31\x91q\x12\xBE\x12\x80I\xBAa'\xB2\xB2\x06\xA2\xEE[\x0Fl\xA9|5\x90`\0\x90\xA3P\x80a\x0C7\x81aWSV[\x91PPa\x0B\x05V[P[`\0[\x82\x81\x10\x15a\rbW`\0a\x0Cc\x85\x85\x84\x81\x81\x10a\x0B$Wa\x0B$aV\xADV[\x90P\x82`\x80\x01Q\x81\x03a\x0C\x93W`@QcZ\xB2\xFB\xC9`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x81\x01\x82\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\x14\x13\xA9*\x82a\x0C\xCC\x8Ba-\xD0V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\r\nW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\r\x1EW=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8A\x91P\x7FX\xEE\xC2\xA6\xA4~\x81\x083\"\x82\x9B3\x91\x02\x84|~\x1D\xDD}df\x86\x83\xA4\xB9\x96\xE5\xA0$\x9D\x90`\0\x90\xA3P\x80a\rZ\x81aWSV[\x91PPa\x0CDV[PPPPPPPV[a\rsa-\xFFV[3\x85\x15\x80a\r\x7FWP\x87\x15[\x80a\r\x91WP`\x01`\x01`\xA0\x1B\x03\x87\x16\x15[\x15a\r\xAFW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x86`\x01`\x01`\xA0\x1B\x03\x16c\x10\xA5By`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r\xEDW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0E\x11\x91\x90aWlV[a\x0E.W`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\xA3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x82\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a.IV[a\x01\xF4Ta\x0E\xB9a\x0E\xB4\x87\x87a-fV[a-1V[\x15a\x0FIW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1a\x0E\xF6\x83a-\x88V[\x88\x88`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x0F\x16\x93\x92\x91\x90aW\xB7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0F0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0FDW=`\0\x80>=`\0\xFD[PPPP[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1a\x0F\x81\x83a-\xD0V[\x86\x86`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x0F\xA1\x93\x92\x91\x90aW\xB7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0F\xBBW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F\xCFW=`\0\x80>=`\0\xFD[PPPPa\x01\xF4`@Q\x80`\xE0\x01`@R\x80\x8A`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01a\x0F\xFA\x89\x89a-fV[\x81R` \x81\x01\x8A\x90R`@\x01a\x10\x11`dCaW\xD1V[\x81R` \x01a\x10 \x87\x87a-fV[\x81R` \x01\x84`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x8C\x8C\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x90\x94RPP\x83T`\x01\x80\x82\x01\x86U\x94\x82R` \x91\x82\x90 \x84Q`\x07\x90\x92\x02\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x90\x81\x16`\x01`\x01`\xA0\x1B\x03\x93\x84\x16\x17\x82U\x92\x85\x01Q\x95\x81\x01\x95\x90\x95U`@\x84\x01Q`\x02\x86\x01U``\x84\x01Q`\x03\x86\x01U`\x80\x84\x01Q`\x04\x86\x01U`\xA0\x84\x01Q`\x05\x86\x01\x80T\x90\x93\x16\x91\x16\x17\x90UP`\xC0\x81\x01Q\x90\x91\x90`\x06\x82\x01\x90a\x10\xF6\x90\x82aX*V[PP`@Q\x82\x91P\x7F\xB8Z>yOG^\xD5\xE4\x03}\xC5\xF2\xD5\xC3(\xC8\xD5N\x0C\x1AL\xA5Sc\x82\x90\x15\xE6\xC7\x0C\x89\x90`\0\x90\xA2PPa\x11.a.\xB0V[PPPPPPPPV[`\0\x80a\x01\xF6`\0\x89`\x02\x81\x11\x15a\x11RWa\x11RaPKV[`\x02\x81\x11\x15a\x11cWa\x11caPKV[\x81R` \x01\x90\x81R` \x01`\0 T\x90P\x80`\0\x14a\x11\xB3W\x80\x83\x86a\x11\x8C`\xC0\x8B\x01\x8BaV\xF7V[a\x11\x97\x92\x91PaW\xD1V[a\x11\xA1\x91\x90aW\xD1V[a\x11\xAB\x91\x90aX\xE9V[\x91PPa\x11\xB9V[`\0\x91PP[\x96\x95PPPPPPV[a\x11\xCBa-\xFFV[`\x02a\x11\xD6\x82a\x1A\x9EV[`\x05\x81\x11\x15a\x11\xE7Wa\x11\xE7aPKV[\x14a\x12\x08W`@QcSi\x1DU`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[`\0a\x01\xF5\x82\x81T\x81\x10a\x12\x1EWa\x12\x1EaV\xADV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x90\x81\x01\x80T`\xFF\x19\x16`\x04\x17\x90U`\x05\x81\x01T`\x01\x82\x01T\x91\x92Pa\x12`\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90a.\xD6V[`@Q\x82\x90\x7FZ\xB6\xD2\x180;\xD8\xDC\x01\xC2\xC5\xE8\x12\xDC\xBB\xAD\xCF\xC2\xEB[\x1F\xB9\x11\x11\xE0\xB0\xAE\x87\x88\x8A\xC5h\x90`\0\x90\xA2Pa\x12\x94a.\xB0V[PV[`\0a\x12\xA1a-\xFFV[`\0a\x01\xF5\x83\x81T\x81\x10a\x12\xB7Wa\x12\xB7aV\xADV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a\x134\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x13`\x90aV\xC3V[\x80\x15a\x13\xADW\x80`\x1F\x10a\x13\x82Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x13\xADV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x13\x90W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a\x13\xD8Wa\x13\xD8aPKV[`\x05\x81\x11\x15a\x13\xE9Wa\x13\xE9aPKV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x90P`\x03a\x14!\x84a\x1A\x9EV[`\x05\x81\x11\x15a\x142Wa\x142aPKV[\x14a\x14SW`@Qc\r\x94\x85\xF1`\xE0\x1B\x81R`\x04\x81\x01\x84\x90R`$\x01a\x0BgV[``\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163\x14a\x14\x83W`@Qc\x10\xDA\x1D\xD3`\xE3\x1B\x81R`\x04\x81\x01\x84\x90R`$\x01a\x0BgV[a\x14\xAD\x83\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a/\x0EV[\x91PPa\x14\xB8a.\xB0V[\x91\x90PV[`\0\x90\x81R`\0\x80Q` a^m\x839\x81Q\x91R` R`@\x90 `\x01\x01T\x90V[a\x14\xE8\x82a\x14\xBDV[a\x14\xF1\x81a0^V[a\x14\xFB\x83\x83a0hV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x15*W`@Qc3K\xD9\x19`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x154\x82\x82a1\rV[PPPV[`\0\x80Q` a^M\x839\x81Q\x91Ra\x15Q\x81a0^V[a\x12\x94a1\x89V[`\0a\x01\xF4\x86\x81T\x81\x10a\x15oWa\x15oaV\xADV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a\x15\xEC\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x16\x18\x90aV\xC3V[\x80\x15a\x16eW\x80`\x1F\x10a\x16:Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x16eV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x16HW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`\xC0\x01QQ`\0\x03a\x16\x96W`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\x16\xCCW`@Qc8\x99:I`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83\x15a\x18\xCEWa\x16\xDF\x81` \x01Qa-1V[a\x16\xFCW`@Qcz\xFC\xEF\x7F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x84\x81\x10\x15a\x18\xCCW`\0a\x17\x12\x88a-\x88V[\x90P`\0a\x17+\x88\x88\x85\x81\x81\x10a\x0B$Wa\x0B$aV\xADV[`@Qc5\xAD\x90\xD3`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90ck[!\xA6\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x17\x9AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x17\xBE\x91\x90aWlV[\x15a\x17\xE6W`@Qc\xC6D\xD0G`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x83\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1\x83\x8A\x8A\x87\x81\x81\x10a\x18(Wa\x18(aV\xADV[\x90P` \x02\x81\x01\x90a\x18:\x91\x90aV\xF7V[`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x18X\x93\x92\x91\x90aW\xB7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x18rW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x18\x86W=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8B\x91P\x7F8\xCF^\xF7\xF2\x11\xD49\x83\xAFl\x03\xC4c\x89\x17\xEB\xDE;\x9CR\xD9hf\xF3G%\xC3\x92\x8E:{\x90`\0\x90\xA3PP\x80\x80a\x18\xC4\x90aWSV[\x91PPa\x16\xFFV[P[`\0[\x82\x81\x10\x15a\rbW`\0a\x18\xE4\x88a-\xD0V[\x90P`\0a\x18\xFD\x86\x86\x85\x81\x81\x10a\x0B$Wa\x0B$aV\xADV[`@Qc5\xAD\x90\xD3`\xE1\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90ck[!\xA6\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x19lW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x19\x90\x91\x90aWlV[\x15a\x19\xB8W`@Qc\xC6D\xD0G`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x83\x90R`D\x01a\x0BgV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1\x83\x88\x88\x87\x81\x81\x10a\x19\xFAWa\x19\xFAaV\xADV[\x90P` \x02\x81\x01\x90a\x1A\x0C\x91\x90aV\xF7V[`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x1A*\x93\x92\x91\x90aW\xB7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1ADW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x1AXW=`\0\x80>=`\0\xFD[PP`@Q\x83\x92P\x8B\x91P\x7F\xE8\xF7\xC0*\xA8\xD1\xF6M$\\\xCF\x16+\xC7\x7F\x17\x1D\xD86\xDFD\n\xC9\xA6\xB67!D^\xBEU\x89\x90`\0\x90\xA3PP\x80\x80a\x1A\x96\x90aWSV[\x91PPa\x18\xD1V[`\0\x80a\x01\xF5\x83\x81T\x81\x10a\x1A\xB5Wa\x1A\xB5aV\xADV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a\x1B2\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1B^\x90aV\xC3V[\x80\x15a\x1B\xABW\x80`\x1F\x10a\x1B\x80Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x1B\xABV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1B\x8EW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a\x1B\xD6Wa\x1B\xD6aPKV[`\x05\x81\x11\x15a\x1B\xE7Wa\x1B\xE7aPKV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x90P`\x01\x81` \x01Q`\x05\x81\x11\x15a\x1C,Wa\x1C,aPKV[\x03a\x1CQW\x80Q`@\x01QC\x10\x15a\x1CHW` \x01Q\x92\x91PPV[P`\x02\x92\x91PPV[`\x03\x81` \x01Q`\x05\x81\x11\x15a\x1CiWa\x1CiaPKV[\x03a\x1C\x8DW\x80Q`\x80\x01QC\x11\x15a\x1C\x84WP`\x05\x92\x91PPV[P`\x03\x92\x91PPV[` \x01Q\x92\x91PPV[a\x1C\x9Fa1\xE9V[a\x1C\xA8\x82a2\x90V[a\x1C\xB2\x82\x82a2\x9BV[PPV[a\x1C\xBEa-\xFFV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16cr\x10Z\xAFa\x1D\x04`\0\x80Q` a^\xAD\x839\x81Q\x91Ra3XV[3`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x04\x81\x01\x92\x90\x92R`\x01`\x01`\xA0\x1B\x03\x16`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x1DJW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x1D^W=`\0\x80>=`\0\xFD[PPPPa\x1D\xA3\x84\x84\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa3m\x92PPPV[a\x14\xFBa.\xB0V[`\0a\x1D\xB5a5\xF3V[P`\0\x80Q` a^-\x839\x81Q\x91R\x90V[a\x1D\xD0a-\xFFV[\x82Q\x81\x14a\x1D\xF1W`@Qc\xC2\x1F\xE6\xBF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83Q\x81\x10\x15a\x1EUWa\x1EC\x84\x82\x81Q\x81\x10a\x1E\x12Wa\x1E\x12aV\xADV[` \x02` \x01\x01Q\x84\x84\x84\x81\x81\x10a\x1E,Wa\x1E,aV\xADV[\x90P` \x02\x81\x01\x90a\x1E>\x91\x90aV\xF7V[a6=`\0\xFD[PPPPPPPPPV[a\x01\xF5\x81\x81T\x81\x10a\x1F(W`\0\x80\xFD[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\t\x90\x93\x02\x90\x91\x01\x80T\x83R`\x01\x81\x01T\x93\x83\x01\x93\x90\x93R`\x02\x83\x01T\x90\x82\x01R`\x03\x82\x01T``\x82\x01R`\x04\x82\x01T`\x80\x82\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x92\x93P\x90\x91\x83\x91`\xC0\x84\x01\x91a\x1F\xA0\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x1F\xCC\x90aV\xC3V[\x80\x15a \x19W\x80`\x1F\x10a\x1F\xEEWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a \x19V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x1F\xFCW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP`\x07\x82\x01T`\x08\x90\x92\x01T\x90\x91`\xFF\x81\x16\x91`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x92\x04\x82\x16\x91\x16\x84V[`\0a Ta-\xFFV[`\x05a _\x84a\x1A\x9EV[`\x05\x81\x11\x15a pWa paPKV[\x14a \x91W`@Qc\x16Y\xBE\xD5`\xE3\x1B\x81R`\x04\x81\x01\x84\x90R`$\x01a\x0BgV[a \x9B\x83\x83a/\x0EV[\x90Pa\tYa.\xB0V[a \xADa;\xD4V[a \xB5a-\xFFV[a \xC4\x863\x87\x87\x87\x87\x87a<\x05V[a \xCCa.\xB0V[PPPPPPV[`\0a\x01\xF4\x82\x81T\x81\x10a \xEAWa \xEAaV\xADV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a!g\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta!\x93\x90aV\xC3V[\x80\x15a!\xE0W\x80`\x1F\x10a!\xB5Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a!\xE0V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a!\xC3W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x80`\xC0\x01QQ`\0\x03a\"\x11W`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x163`\x01`\x01`\xA0\x1B\x03\x16\x14a\"GW`@Qc8\x99:I`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xF4\x82\x81T\x81\x10a\"[Wa\"[aV\xADV[`\0\x91\x82R` \x90\x91 `\x05`\x07\x90\x92\x02\x01\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90UPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81Ra\x01\xF8` R`@\x90 T\x80\x15a\x1C\xB2Wa\"\xD4`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x83\x83aB\0V[P`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81Ra\x01\xF8` R`@\x81 UV[`\0\x80Q` a^M\x839\x81Q\x91Ra#\x08\x81a0^V[a\x12\x94aB1V[`\0\x80Q` a^M\x839\x81Q\x91Ra#(\x81a0^V[\x81a\x01\xF6`\0\x85`\x02\x81\x11\x15a#@Wa#@aPKV[`\x02\x81\x11\x15a#QWa#QaPKV[\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 U\x82`\x02\x81\x11\x15a#tWa#taPKV[`@Q\x83\x81R\x7F\xC0\xCAkm\xF9\xB5\xA3U\x0E\xD6\xFD\xEF6\xBA\xE8\xA5A`\xC2\xCC\xDA=\xE6\xAA\xC3\xDF\x98Lf\xD3(p\x90` \x01[`@Q\x80\x91\x03\x90\xA2PPPV[`\0\x91\x82R`\0\x80Q` a^m\x839\x81Q\x91R` \x90\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[`\0\x80Q` a^M\x839\x81Q\x91Ra#\xFD\x81a0^V[\x81a\x01\xF7`\0\x85`\x02\x81\x11\x15a$\x15Wa$\x15aPKV[`\x02\x81\x11\x15a$&Wa$&aPKV[\x81R` \x81\x01\x91\x90\x91R`@\x01`\0 U\x82`\x02\x81\x11\x15a$IWa$IaPKV[`@Q\x83\x81R\x7F\xE3b4\rsdD\x93\xD7N\xE1\x01hG\x1F\xE9\xD7\xC4\x0C\xBFz\x88\xC9\x98\x07\x10+\x9A\xDF\x1C\x1A\xC1\x90` \x01a#\xA0V[a$\x81a-\xFFV[a$\x8C\x83\x83\x83a6#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a$\xD9WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a$\xF5WP0;\x15[\x90P\x81\x15\x80\x15a%\x03WP\x80\x15[\x15a%!W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a%KW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a%SaBzV[a%[aBzV[a%caBzV[a%kaBzV[a%saB\x82V[a%{aB\x82V[a%\x86`\0\x87a0hV[Pa%\xA0`\0\x80Q` a^M\x839\x81Q\x91R`\0aB\x8AV[\x83\x15a \xCCW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1PPPPPPV[`\0\x80Q` a^M\x839\x81Q\x91Ra&\x05\x81a0^V[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xFF\x11J\xE1a&K`\0\x80Q` a^\xAD\x839\x81Q\x91Ra3XV[\x85\x85`@Q\x84c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a&k\x93\x92\x91\x90aW\xB7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a&\x85W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\rbW=`\0\x80>=`\0\xFD[a&\xA2\x82a\x14\xBDV[a&\xAB\x81a0^V[a\x14\xFB\x83\x83a1\rV[a&\xBDa-\xFFV[\x84Q\x86Q\x14\x15\x80a&\xCFWP\x84Q\x83\x14\x15[\x15a&\xEDW`@Qc\xC2\x1F\xE6\xBF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x86\x86\x86\x86`@Q` \x01a'\x06\x94\x93\x92\x91\x90aY\xD5V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a')\x82aB\xEDV[\x90P`\0a'm\x82\x86\x86\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPaC(\x92PPPV[\x90P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16cr\x10Z\xAFa'\xB5`\0\x80Q` a^\xAD\x839\x81Q\x91Ra3XV[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x84\x90\x1B\x16\x81R`\x04\x81\x01\x91\x90\x91R`\x01`\x01`\xA0\x1B\x03\x84\x16`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a'\xFBW`\0\x80\xFD[PZ\xFA\x15\x80\x15a(\x0FW=`\0\x80>=`\0\xFD[PPPP`\0[\x89Q\x81\x10\x15a(\xC6Wa(\xB4\x8A\x82\x81Q\x81\x10a(4Wa(4aV\xADV[` \x02` \x01\x01Q\x8A\x83\x81Q\x81\x10a(NWa(NaV\xADV[` \x02` \x01\x01Q\x8A\x8A\x85\x81\x81\x10a(hWa(haV\xADV[\x90P` \x02\x81\x01\x90a(z\x91\x90aV\xF7V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa3m\x92PPPV[\x80a(\xBE\x81aWSV[\x91PPa(\x16V[PPPPa \xCCa.\xB0V[a(\xDAa-\xFFV[`\0a\x01\xF5\x84\x81T\x81\x10a(\xF0Wa(\xF0aV\xADV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a)m\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta)\x99\x90aV\xC3V[\x80\x15a)\xE6W\x80`\x1F\x10a)\xBBWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a)\xE6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a)\xC9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a*\x11Wa*\x11aPKV[`\x05\x81\x11\x15a*\"Wa*\"aPKV[\x81R`\x07\x82\x01T`\x01`\x01`\xA0\x1B\x03a\x01\0\x90\x91\x04\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x90\x91\x16`@\x90\x91\x01R\x80QQa\x01\xF4\x80T\x92\x93P\x90\x91`\0\x91\x90\x83\x90\x81\x10a*nWa*naV\xADV[`\0\x91\x82R` \x91\x82\x90 `@\x80Q`\xE0\x81\x01\x82R`\x07\x90\x93\x02\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x84R`\x01\x82\x01T\x94\x84\x01\x94\x90\x94R`\x02\x81\x01T\x91\x83\x01\x91\x90\x91R`\x03\x81\x01T``\x83\x01R`\x04\x81\x01T`\x80\x83\x01R`\x05\x81\x01T\x90\x92\x16`\xA0\x82\x01R`\x06\x82\x01\x80T\x91\x92\x91`\xC0\x84\x01\x91\x90a*\xEB\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta+\x17\x90aV\xC3V[\x80\x15a+dW\x80`\x1F\x10a+9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a+dV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a+GW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P`\0\x80a+|\x88\x86aCRV[\x91P\x91Pa+\xD4\x88\x86`\0\x01Q`\xC0\x01Q\x89\x89\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa+\xCF\x92P\x8A\x91Pa-\xD0\x90PV[aDkV[a+\xF4W`@Qc@i\xAF=`\xE1\x1B\x81R`\x04\x81\x01\x89\x90R`$\x01a\x0BgV[a,\x06\x88\x86\x84\x84\x88\x88`@\x01QaEtV[PPPPPa\x154a.\xB0V[a\x01\xF4\x81\x81T\x81\x10a,$W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 `\x07\x90\x91\x02\x01\x80T`\x01\x82\x01T`\x02\x83\x01T`\x03\x84\x01T`\x04\x85\x01T`\x05\x86\x01T`\x06\x87\x01\x80T`\x01`\x01`\xA0\x1B\x03\x97\x88\x16\x99P\x95\x97\x94\x96\x93\x95\x92\x94\x93\x90\x91\x16\x92\x91a,y\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta,\xA5\x90aV\xC3V[\x80\x15a,\xF2W\x80`\x1F\x10a,\xC7Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a,\xF2V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a,\xD5W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x87V[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cye\xDB\x0B`\xE0\x1B\x14\x80a\tYWPc\x01\xFF\xC9\xA7`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x14a\tYV[`\0\x81\x15\x80a-_WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x80\x80\x80a-w\x85\x87\x01\x87aZaV[\x92P\x92P\x92Pa\x11\xB9\x83\x83\x83aG\x07V[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rb3\xB2\xB7`\xE9\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`@\x80Q` \x81\x01\x82\x90R`\x03``\x82\x01Rbivs`\xE8\x1B`\x80\x82\x01R\x90\x81\x01\x82\x90R`\0\x90`\xA0\x01a-\xB3V[\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\x80T`\x01\x19\x01a.CW`@Qc>\xE5\xAE\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x90UV[`@Q`\x01`\x01`\xA0\x1B\x03\x84\x81\x16`$\x83\x01R\x83\x81\x16`D\x83\x01R`d\x82\x01\x83\x90Ra\x14\xFB\x91\x86\x91\x82\x16\x90c#\xB8r\xDD\x90`\x84\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x91P`\xE0\x1B` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x83\x81\x83\x16\x17\x83RPPPPaGBV[`\x01\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0UV[\x80\x15a\x1C\xB2W`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81Ra\x01\xF8` R`@\x81 \x80T\x83\x92\x90a/\x05\x90\x84\x90aW\xD1V[\x90\x91UPPPPV[`\0\x80a\x01\xF5\x84\x81T\x81\x10a/%Wa/%aV\xADV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x90\x81\x01\x80T`\xFF\x19\x16`\x04\x17\x90U\x80T`\x05\x82\x01T`\x01\x83\x01T\x92\x93P\x90\x91a/i\x91`\x01`\x01`\xA0\x1B\x03\x16\x90a.\xD6V[`@Q\x85\x90\x7F\xD6\xD7\xF87\xB6\x8A\xE9j\xF4v\xF0D{\xBEK\xE0`\xB2\x06B\xEB\xDFG\x08T\xF7\x01\xCA]\x8F^\xFB\x90`\0\x90\xA2`\x08\x82\x01T`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x91c\xEA\xAC\xAE\x94\x91\x16\x83a/\xD6\x81aG\xA5V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x86\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a01W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a0U\x91\x90aZ\xE8V[\x95\x94PPPPPV[a\x12\x94\x813aG\xD4V[`\0`\0\x80Q` a^m\x839\x81Q\x91Ra0\x83\x84\x84a#\xADV[a1\x03W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua0\xB93\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x85\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4`\x01\x91PPa\tYV[`\0\x91PPa\tYV[`\0`\0\x80Q` a^m\x839\x81Q\x91Ra1(\x84\x84a#\xADV[\x15a1\x03W`\0\x84\x81R` \x82\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x87\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x87\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4`\x01\x91PPa\tYV[a1\x91aH\rV[`\0\x80Q` a^\x8D\x839\x81Q\x91R\x80T`\xFF\x19\x16\x81U\x7F]\xB9\xEE\nI[\xF2\xE6\xFF\x9C\x91\xA7\x83L\x1B\xA4\xFD\xD2D\xA5\xE8\xAANS{\xD3\x8A\xEA\xE4\xB0s\xAA3[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xA1PV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a2pWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a2d`\0\x80Q` a^-\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a2\x8EW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[V[`\0a\x1C\xB2\x81a0^V[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a2\xF5WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra2\xF2\x91\x81\x01\x90aZ\xE8V[`\x01[a3\x1DW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80Q` a^-\x839\x81Q\x91R\x81\x14a3NW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[a\x154\x83\x83aH=V[`\0\x81`@Q` \x01a-\xB3\x91\x81R` \x01\x90V[`\x01a3x\x84a\x1A\x9EV[`\x05\x81\x11\x15a3\x89Wa3\x89aPKV[\x14a3\xA7W`@Qc>[N\x85`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF5\x84\x81T\x81\x10a3\xBDWa3\xBDaV\xADV[`\0\x91\x82R` \x82 `\t\x90\x91\x02\x01\x80T`@Qc\x1C~\xAEe`\xE0\x1B\x81R\x91\x93P\x82\x91`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x91c\x1C~\xAEe\x91a43\x91\x89\x91`\x04\x01`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x82R` \x82\x01R`@\x01\x90V[`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a4OW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a4s\x91\x90a[\x01V[\x91P\x91P\x81\x83`\0\x01`\x01\x01T\x10\x15a4\xA2W`@Qcb]\xAA\x9D`\xE1\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x03\x83\x01T\x81\x11\x15a4\xCAW`@Qc\xF8O\xAAI`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x07\x83\x01\x80T`\xFF\x19\x16`\x03\x90\x81\x17\x90\x91U\x83\x01Ta4\xE9\x90CaW\xD1V[`\x04\x84\x01U`\x08\x83\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x87\x16\x17\x90U\x82T`\0\x90a5\x19\x90aG\xA5V[\x84T`@Qc\xC4\x92\xEE9`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x89\x81\x16`\x04\x83\x01R`$\x82\x01\x92\x90\x92R`D\x81\x01\x83\x90R\x91\x92P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xC4\x92\xEE9\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a5\x90W`\0\x80\xFD[PZ\xF1\x15\x80\x15a5\xA4W=`\0\x80>=`\0\xFD[PPPP\x85`\x01`\x01`\xA0\x1B\x03\x16\x87\x7Fz|\xD4\x1C\xAD_<\xCC\xFD\xCEH\xDFr\x08E\xB6\xFE\x81g\x85;'\xBA\x03\x1D\x99\x98\xE2\x05\xEB\x1D\xD9\x87`@Qa5\xE2\x91\x90aT\xEEV[`@Q\x80\x91\x03\x90\xA3PPPPPPPV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a2\x8EW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x01\xF5\x84\x81T\x81\x10a6RWa6RaV\xADV[`\0\x91\x82R` \x90\x91 `@\x80Qa\x01`\x81\x01\x90\x91R`\t\x90\x92\x02\x01\x80T`\x80\x83\x01\x90\x81R`\x01\x82\x01T`\xA0\x84\x01R`\x02\x82\x01T`\xC0\x84\x01R`\x03\x82\x01T`\xE0\x84\x01R`\x04\x82\x01Ta\x01\0\x84\x01R`\x05\x82\x01T`\x01`\x01`\xA0\x1B\x03\x16a\x01 \x84\x01R`\x06\x82\x01\x80T\x84\x92\x91\x84\x91a\x01@\x85\x01\x91\x90a6\xCF\x90aV\xC3V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta6\xFB\x90aV\xC3V[\x80\x15a7HW\x80`\x1F\x10a7\x1DWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a7HV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a7+W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPPP\x81R`\x07\x82\x01T` \x90\x91\x01\x90`\xFF\x16`\x05\x81\x11\x15a7sWa7saPKV[`\x05\x81\x11\x15a7\x84Wa7\x84aPKV[\x81R`\x07\x82\x01Ta\x01\0\x90\x04`\x01`\x01`\xA0\x1B\x03\x90\x81\x16` \x83\x01R`\x08\x90\x92\x01T\x82\x16`@\x91\x82\x01R\x82QQ``\x84\x01Q\x91Qc+a\x0C-`\xE0\x1B\x81R\x91\x83\x16`\x04\x83\x01R`$\x82\x01\x81\x90R\x92\x93P`\0\x91\x82\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c+a\x0C-\x90`D\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a8#W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a8G\x91\x90a[%V[\x90\x92P\x90P`\x01`\x01`\xA0\x1B\x03\x82\x16a8sW`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03a8~\x88a\x1A\x9EV[`\x05\x81\x11\x15a8\x8FWa8\x8FaPKV[\x14a8\xB0W`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x88\x90R`$\x01a\x0BgV[\x83Q`\xC0\x01Q`@Q`\0\x91a8\xCC\x91\x89\x90\x89\x90` \x01a[SV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x01\xF4\x84\x81T\x81\x10a8\xF1Wa8\xF1aV\xADV[`\0\x91\x82R` \x90\x91 `\x07\x90\x91\x02\x01T`@QcG;\x05\x7F`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x8Ev\n\xFE\x90a9/\x90\x84\x90`\x04\x01aT\xEEV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a9LW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a9p\x91\x90aWlV[a9\x90W`@Qc^?\xA0Q`\xE0\x1B\x81R`\x04\x81\x01\x89\x90R`$\x01a\x0BgV[`\x04a\x01\xF5\x89\x81T\x81\x10a9\xA6Wa9\xA6aV\xADV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15a9\xD3Wa9\xD3aPKV[\x02\x17\x90UP\x84Q` \x01Q`\0\x90a9\xEC\x90\x84\x90a[yV[\x90Pa9\xF8\x84\x84a.\xD6V[\x85Q`\xA0\x01Qa:\x08\x90\x82a.\xD6V[`\0a:\x13\x86aG\xA5V[``\x88\x01Q`@Qc\x98*A]`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\x04\x82\x01R`$\x81\x01\x89\x90R`D\x81\x01\x83\x90R\x91\x92P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x98*A]\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a:\x8CW`\0\x80\xFD[PZ\xF1\x15\x80\x15a:\xA0W=`\0\x80>=`\0\xFD[PPPP\x89\x7F\x8F\xDDxa\x98\x04'\x96\x0FCy\x10\xD2\x0Bx\xBE7P6\xB3\x1F\x97\xEF\"\xA8\x04\x0F \xE4]+\xA2\x8A\x8A`@Qa:\xD6\x92\x91\x90a[\x8CV[`@Q\x80\x91\x03\x90\xA2PPPPPPPPPPV[`\0\x84\x82`@Q` \x01a:\xFF\x92\x91\x90a[\xA8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a;\"\x82aB\xEDV[\x90P`\0a;f\x82\x87\x87\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPaC(\x92PPPV[\x90Pa;q\x87aH\x93V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a\rbW`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[```\0\x82\x80` \x01\x90Q\x81\x01\x90a;\xC5\x91\x90a\\\x17V[P\x94\x99\x98PPPPPPPPPV[`\0\x80Q` a^\x8D\x839\x81Q\x91RT`\xFF\x16\x15a2\x8EW`@Qc\xD9<\x06e`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x87\x015\x15\x80a<\"WPa<\x1E`\xC0\x88\x01\x88aV\xF7V[\x15\x90P[\x15a<@W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xF7`\0\x86`\x02\x81\x11\x15a\x07W`@Qc/Ki\xD3`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a>\x17\x87\x8A\x88\x88\x88\x88a\x118V[\x90Pa>^\x880a>,\x84` \x8E\x015aW\xD1V[`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x92\x91\x90a.IV[a>\x88\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82a.\xD6V[\x81`\xC0\x01QQ`\0\x03a>\xAEW`@Qc\x9D\xB8\xD5\xB1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xF5T`@\x80Q`\x80\x81\x01\x90\x91R`\0\x90\x80a>\xCA\x8Da]\x05V[\x81R` \x01`\x01\x81R3` \x80\x83\x01\x91\x90\x91R`\0`@\x92\x83\x01\x81\x90Ra\x01\xF5\x80T`\x01\x81\x01\x82U\x91R\x83Q\x80Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1g`\t\x90\x93\x02\x92\x83\x01\x90\x81U\x92\x81\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1h\x83\x01U\x92\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1i\x82\x01U``\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1j\x82\x01U`\x80\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1k\x82\x01U`\xA0\x83\x01Q\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1l\x82\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x91\x90\x91\x17\x90U`\xC0\x83\x01Q\x93\x94P\x84\x93\x91\x92\x91\x83\x91\x7FsL\xCD\xFE\xCF\x0C\x98\xF1\xF6\x10\xE1>\x82\x1E\xEA\xAB\x95\xDC\x92\x18K\xA0\x90\x03*\xB8\xCFTJ(\xF1m\x01\x90a@G\x90\x82aX*V[PPP` \x82\x01Q`\x07\x82\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15a@mWa@maPKV[\x02\x17\x90UP`@\x82\x01Q`\x07\x82\x01\x80Ta\x01\0`\x01`\xA8\x1B\x03\x19\x16a\x01\0`\x01`\x01`\xA0\x1B\x03\x93\x84\x16\x02\x17\x90U``\x90\x92\x01Q`\x08\x90\x91\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x91\x83\x16\x91\x90\x91\x17\x90U\x84Q\x90\x81\x16c\xA6\xDF\xBC\x7Fa@\xD1`\xC0\x8F\x01\x8FaV\xF7V[`@Q\x83c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a@\xEE\x92\x91\x90a[\x8CV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15aA\x0BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90aA/\x91\x90aWlV[aALW`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[aAY\x85` \x01Qa-1V[\x15aA\xA5W`\x01\x15\x15\x83\x7F{\xBF\xCEe5\x8CD\xB5\x98\xA1\xEE\x0E\xEF\x06<\xE1M\xE0%\x168W\x94\xF6\xB6\x0E\xEAU#\xA96\xE4\x8B\x8B\x8B\x8B`@QaA\x98\x94\x93\x92\x91\x90a]\x8DV[`@Q\x80\x91\x03\x90\xA3aA\xF2V[`@\x80Q\x81\x81R`\0\x91\x81\x01\x82\x90R``` \x82\x01\x81\x90R\x81\x01\x82\x90R\x84\x90\x7F{\xBF\xCEe5\x8CD\xB5\x98\xA1\xEE\x0E\xEF\x06<\xE1M\xE0%\x168W\x94\xF6\xB6\x0E\xEAU#\xA96\xE4\x90`\x80\x01`@Q\x80\x91\x03\x90\xA3[PPPPPPPPPPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`$\x83\x01R`D\x82\x01\x83\x90Ra\x154\x91\x85\x91\x82\x16\x90c\xA9\x05\x9C\xBB\x90`d\x01a.~V[aB9a;\xD4V[`\0\x80Q` a^\x8D\x839\x81Q\x91R\x80T`\xFF\x19\x16`\x01\x17\x81U\x7Fb\xE7\x8C\xEA\x01\xBE\xE3 \xCDNB\x02p\xB5\xEAt\0\r\x11\xB0\xC9\xF7GT\xEB\xDB\xFCTK\x05\xA2X3a1\xCBV[a2\x8EaH\xBCV[a.\xB0aH\xBCV[`\0\x80Q` a^m\x839\x81Q\x91R`\0aB\xA4\x84a\x14\xBDV[`\0\x85\x81R` \x84\x90R`@\x80\x82 `\x01\x01\x86\x90UQ\x91\x92P\x84\x91\x83\x91\x87\x91\x7F\xBDy\xB8o\xFE\n\xB8\xE8waQQB\x17\xCD|\xAC\xD5,\x90\x9FfG\\:\xF4N\x12\x9F\x0B\0\xFF\x91\x90\xA4PPPPV[`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01a-\xB3V[`\0\x80`\0\x80aC8\x86\x86aI\x05V[\x92P\x92P\x92PaCH\x82\x82aIRV[P\x90\x94\x93PPPPV[``\x81\x01Q\x81QQ`@Qc+a\x0C-`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x92\x83\x16`\x04\x82\x01R`$\x81\x01\x91\x90\x91R`\0\x91\x82\x91\x82\x91\x82\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c+a\x0C-\x90`D\x01`@\x80Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15aC\xD2W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90aC\xF6\x91\x90a[%V[\x90\x92P\x90P`\x01`\x01`\xA0\x1B\x03\x82\x16aD\"W`@Qc\x1E\x1D\n\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03aD-\x87a\x1A\x9EV[`\x05\x81\x11\x15aD>WaD>aPKV[\x14aD_W`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[\x92P\x90P[\x92P\x92\x90PV[`\0\x80\x85\x85`@Q` \x01aD\x81\x92\x91\x90a]\xB4V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0aD\xA4\x82aB\xEDV[\x90P`\0aD\xB2\x82\x87aC(V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16aD\xE6W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[`@Qcr\x10Z\xAF`\xE0\x1B\x81R`\x04\x81\x01\x86\x90R`\x01`\x01`\xA0\x1B\x03\x82\x81\x16`$\x83\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cr\x10Z\xAF\x90`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15aENW`\0\x80\xFD[PZ\xFA\x15\x80\x15aEbW=`\0\x80>=`\0\xFD[P`\x01\x9B\x9APPPPPPPPPPPV[`\x03aE\x7F\x87a\x1A\x9EV[`\x05\x81\x11\x15aE\x90WaE\x90aPKV[\x14aE\xB1W`@Qc\x16\xF2\xD8?`\xE0\x1B\x81R`\x04\x81\x01\x87\x90R`$\x01a\x0BgV[`\x04a\x01\xF5\x87\x81T\x81\x10aE\xC7WaE\xC7aV\xADV[`\0\x91\x82R` \x90\x91 `\x07`\t\x90\x92\x02\x01\x01\x80T`\xFF\x19\x16`\x01\x83`\x05\x81\x11\x15aE\xF4WaE\xF4aPKV[\x02\x17\x90UP\x84Q` \x01Q`\0\x90aF\r\x90\x86\x90a[yV[\x90PaF\x19\x84\x86a.\xD6V[aFC\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82a.\xD6V[``\x86\x01Q`@Qc\x98*A]`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\x04\x82\x01R`$\x81\x01\x85\x90R`D\x81\x01\x84\x90R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90c\x98*A]\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15aF\xBBW`\0\x80\xFD[PZ\xF1\x15\x80\x15aF\xCFW=`\0\x80>=`\0\xFD[PP`@Q\x89\x92P\x7F\x07\xC3=KV\x06\xE2\xFD \xFB\x9A\xDBp\x06\xCD\xC7\xD4\xAB\x0F0\x80\x90\xDA\xBC\xFDd\xD4\x97\x9C\xD7~*\x91P`\0\x90\xA2PPPPPPPV[`\0\x80\x84\x84\x84`@Q` \x01aG\x1F\x93\x92\x91\x90a]\xCDV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x91PP[\x93\x92PPPV[`\0aGW`\x01`\x01`\xA0\x1B\x03\x84\x16\x83aJ\x0BV[\x90P\x80Q`\0\x14\x15\x80\x15aG|WP\x80\x80` \x01\x90Q\x81\x01\x90aGz\x91\x90aWlV[\x15[\x15a\x154W`@QcRt\xAF\xE7`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0a\x01\xF4\x82\x81T\x81\x10aG\xBBWaG\xBBaV\xADV[\x90`\0R` `\0 \x90`\x07\x02\x01`\x02\x01T\x90P\x91\x90PV[aG\xDE\x82\x82a#\xADV[a\x1C\xB2W`@Qc\xE2Q}?`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x81\x01\x83\x90R`D\x01a\x0BgV[`\0\x80Q` a^\x8D\x839\x81Q\x91RT`\xFF\x16a2\x8EW`@Qc\x8D\xFC +`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[aHF\x82aJ\x19V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15aH\x8BWa\x154\x82\x82aJ~V[a\x1C\xB2aJ\xEBV[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90aH\xAA\x91\x90a\\\x17V[PPPPPP\x91PPaG;\x81aK\nV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0T`\x01`@\x1B\x90\x04`\xFF\x16a2\x8EW`@Qc\x1A\xFC\xD7\x9F`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x83Q`A\x03aI?W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1AaI1\x88\x82\x85\x85aK:V[\x95P\x95P\x95PPPPaIKV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15aIfWaIfaPKV[\x03aIoWPPV[`\x01\x82`\x03\x81\x11\x15aI\x83WaI\x83aPKV[\x03aI\xA1W`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15aI\xB5WaI\xB5aPKV[\x03aI\xD6W`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[`\x03\x82`\x03\x81\x11\x15aI\xEAWaI\xEAaPKV[\x03a\x1C\xB2W`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x0BgV[``aG;\x83\x83`\0aL\tV[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03aJOW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80Q` a^-\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@QaJ\x9B\x91\x90a^\x10V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14aJ\xD6W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>aJ\xDBV[``\x91P[P\x91P\x91Pa0U\x85\x83\x83aL\x98V[4\x15a2\x8EW`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81Q`@\x14aK.W`@Qc\xD2\x833]`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15aKuWP`\0\x91P`\x03\x90P\x82aK\xFFV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15aK\xC9W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16aK\xF5WP`\0\x92P`\x01\x91P\x82\x90PaK\xFFV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[``\x81G\x10\x15aL.W`@Qc\xCDx`Y`\xE0\x1B\x81R0`\x04\x82\x01R`$\x01a\x0BgV[`\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x84\x86`@QaLJ\x91\x90a^\x10V[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14aL\x87W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>aL\x8CV[``\x91P[P\x91P\x91Pa\x11\xB9\x86\x83\x83[``\x82aL\xADWaL\xA8\x82aL\xF4V[aG;V[\x81Q\x15\x80\x15aL\xC4WP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15aL\xEDW`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x0BgV[P\x80aG;V[\x80Q\x15aM\x04W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15aM/W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14aG;W`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12aMYW`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aMpW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15aDdW`\0\x80\xFD[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15aM\xA3W`\0\x80\xFD[\x855\x94P` \x86\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aM\xC1W`\0\x80\xFD[aM\xCD\x89\x83\x8A\x01aMGV[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15aM\xE6W`\0\x80\xFD[PaM\xF3\x88\x82\x89\x01aMGV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0\x80\x83`\x1F\x84\x01\x12aN\x16W`\0\x80\xFD[P\x815`\x01`\x01`@\x1B\x03\x81\x11\x15aN-W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15aDdW`\0\x80\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x12\x94W`\0\x80\xFD[`\0\x80`\0\x80`\0\x80`\0\x80`\xA0\x89\x8B\x03\x12\x15aNvW`\0\x80\xFD[\x885`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aN\x8DW`\0\x80\xFD[aN\x99\x8C\x83\x8D\x01aN\x04V[\x90\x9AP\x98P` \x8B\x015\x91PaN\xAE\x82aNEV[\x90\x96P`@\x8A\x015\x95P``\x8A\x015\x90\x80\x82\x11\x15aN\xCBW`\0\x80\xFD[aN\xD7\x8C\x83\x8D\x01aN\x04V[\x90\x96P\x94P`\x80\x8B\x015\x91P\x80\x82\x11\x15aN\xF0W`\0\x80\xFD[PaN\xFD\x8B\x82\x8C\x01aN\x04V[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[\x805`\x03\x81\x10a\x14\xB8W`\0\x80\xFD[`\0`\xE0\x82\x84\x03\x12\x15aO2W`\0\x80\xFD[P\x91\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15aOQW`\0\x80\xFD[aOZ\x87aO\x11V[\x95P` \x87\x015`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aOvW`\0\x80\xFD[aO\x82\x8A\x83\x8B\x01aO V[\x96P`@\x89\x015\x91P\x80\x82\x11\x15aO\x98W`\0\x80\xFD[aO\xA4\x8A\x83\x8B\x01aN\x04V[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15aO\xBDW`\0\x80\xFD[PaO\xCA\x89\x82\x8A\x01aN\x04V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0` \x82\x84\x03\x12\x15aO\xEEW`\0\x80\xFD[P5\x91\x90PV[`\0` \x82\x84\x03\x12\x15aP\x07W`\0\x80\xFD[aG;\x82aO\x11V[\x805a\x14\xB8\x81aNEV[`\0\x80`@\x83\x85\x03\x12\x15aP.W`\0\x80\xFD[\x825\x91P` \x83\x015aP@\x81aNEV[\x80\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x06\x81\x10aP\x7FWcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[` \x81\x01a\tY\x82\x84aPaV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xE0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aP\xC9WaP\xC9aP\x91V[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15aP\xF7WaP\xF7aP\x91V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aQ\x18WaQ\x18aP\x91V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aQ7W`\0\x80\xFD[\x815aQJaQE\x82aP\xFFV[aP\xCFV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15aQ_W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15aQ\x8FW`\0\x80\xFD[\x825aQ\x9A\x81aNEV[\x91P` \x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aQ\xB5W`\0\x80\xFD[aQ\xC1\x85\x82\x86\x01aQ&V[\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15aQ\xE1W`\0\x80\xFD[\x845\x93P` \x85\x015aQ\xF3\x81aNEV[\x92P`@\x85\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aR\x0EW`\0\x80\xFD[aR\x1A\x87\x82\x88\x01aN\x04V[\x95\x98\x94\x97P\x95PPPPV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15aR?WaR?aP\x91V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12aRZW`\0\x80\xFD[\x815` aRjaQE\x83aR&V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15aR\x89W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15aR\xA4W\x805\x83R\x91\x83\x01\x91\x83\x01aR\x8DV[P\x96\x95PPPPPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15aR\xC4W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aR\xDBW`\0\x80\xFD[aR\xE7\x87\x83\x88\x01aRIV[\x94P` \x86\x015\x91P\x80\x82\x11\x15aR\xFDW`\0\x80\xFD[PaS\n\x86\x82\x87\x01aMGV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15aS,W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aSCW`\0\x80\xFD[aSO\x87\x83\x88\x01aQ&V[\x94P` \x86\x015\x91P\x80\x82\x11\x15aSeW`\0\x80\xFD[PaS\n\x86\x82\x87\x01aN\x04V[`\0[\x83\x81\x10\x15aS\x8DW\x81\x81\x01Q\x83\x82\x01R` \x01aSuV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84RaS\xAE\x81` \x86\x01` \x86\x01aSrV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\x80\x81R\x84Q`\x80\x82\x01R` \x85\x01Q`\xA0\x82\x01R`@\x85\x01Q`\xC0\x82\x01R``\x85\x01Q`\xE0\x82\x01R`\x80\x85\x01Qa\x01\0\x82\x01R`\x01\x80`\xA0\x1B\x03`\xA0\x86\x01Q\x16a\x01 \x82\x01R`\0`\xC0\x86\x01Q`\xE0a\x01@\x84\x01RaT&a\x01`\x84\x01\x82aS\x96V[\x91PPaT6` \x83\x01\x86aPaV[`\x01`\x01`\xA0\x1B\x03\x84\x16`@\x83\x01R`\x01`\x01`\xA0\x1B\x03\x83\x16``\x83\x01R\x95\x94PPPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15aTvW`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aT\x8DW`\0\x80\xFD[aT\x99\x8A\x83\x8B\x01aO V[\x97PaO\x82` \x8A\x01aO\x11V[`\0` \x82\x84\x03\x12\x15aT\xB9W`\0\x80\xFD[\x815aG;\x81aNEV[`\0\x80`@\x83\x85\x03\x12\x15aT\xD7W`\0\x80\xFD[aT\xE0\x83aO\x11V[\x94` \x93\x90\x93\x015\x93PPPV[` \x81R`\0aG;` \x83\x01\x84aS\x96V[`\0\x80`\0`@\x84\x86\x03\x12\x15aU\x16W`\0\x80\xFD[\x835\x92P` \x84\x015`\x01`\x01`@\x1B\x03\x81\x11\x15aU3W`\0\x80\xFD[aS\n\x86\x82\x87\x01aN\x04V[`\0\x80` \x83\x85\x03\x12\x15aURW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x81\x11\x15aUhW`\0\x80\xFD[aUt\x85\x82\x86\x01aN\x04V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15aU\x99W`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aU\xB0W`\0\x80\xFD[aU\xBC\x8A\x83\x8B\x01aRIV[\x97P` \x91P\x81\x89\x015\x81\x81\x11\x15aU\xD3W`\0\x80\xFD[\x89\x01`\x1F\x81\x01\x8B\x13aU\xE4W`\0\x80\xFD[\x805aU\xF2aQE\x82aR&V[\x81\x81R`\x05\x91\x90\x91\x1B\x82\x01\x84\x01\x90\x84\x81\x01\x90\x8D\x83\x11\x15aV\x11W`\0\x80\xFD[\x92\x85\x01\x92[\x82\x84\x10\x15aV8W\x835aV)\x81aNEV[\x82R\x92\x85\x01\x92\x90\x85\x01\x90aV\x16V[\x99PPPP`@\x89\x015\x91P\x80\x82\x11\x15aVQW`\0\x80\xFD[aO\xA4\x8A\x83\x8B\x01aMGV[`\0`\x01\x80`\xA0\x1B\x03\x80\x8A\x16\x83R\x88` \x84\x01R\x87`@\x84\x01R\x86``\x84\x01R\x85`\x80\x84\x01R\x80\x85\x16`\xA0\x84\x01RP`\xE0`\xC0\x83\x01RaV\xA0`\xE0\x83\x01\x84aS\x96V[\x99\x98PPPPPPPPPV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80aV\xD7W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03aO2WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12aW\x0EW`\0\x80\xFD[\x83\x01\x805\x91P`\x01`\x01`@\x1B\x03\x82\x11\x15aW(W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15aDdW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0`\x01\x82\x01aWeWaWeaW=V[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15aW~W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14aG;W`\0\x80\xFD[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[\x83\x81R`@` \x82\x01R`\0a0U`@\x83\x01\x84\x86aW\x8EV[\x80\x82\x01\x80\x82\x11\x15a\tYWa\tYaW=V[`\x1F\x82\x11\x15a\x154W`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15aX\x0BWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a \xCCW\x82\x81U`\x01\x01aX\x17V[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15aXCWaXCaP\x91V[aXW\x81aXQ\x84TaV\xC3V[\x84aW\xE4V[` \x80`\x1F\x83\x11`\x01\x81\x14aX\x8CW`\0\x84\x15aXtWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua \xCCV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15aX\xBBW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01aX\x9CV[P\x85\x82\x10\x15aX\xD9W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\tYWa\tYaW=V[`\x01\x80`\xA0\x1B\x03\x85\x16\x81R\x83` \x82\x01R`\x80`@\x82\x01R`\0aY'`\x80\x83\x01\x85aS\x96V[\x82\x81\x03``\x84\x01RaY9\x81\x85aS\x96V[\x97\x96PPPPPPPV[\x81\x83R`\0` \x80\x85\x01\x80\x81\x96P\x85`\x05\x1B\x81\x01\x91P\x84`\0[\x87\x81\x10\x15aY\xC8W\x82\x84\x03\x89R\x815`\x1E\x19\x886\x03\x01\x81\x12aY\x7FW`\0\x80\xFD[\x87\x01\x85\x81\x01\x905`\x01`\x01`@\x1B\x03\x81\x11\x15aY\x9AW`\0\x80\xFD[\x806\x03\x82\x13\x15aY\xA9W`\0\x80\xFD[aY\xB4\x86\x82\x84aW\x8EV[\x9A\x87\x01\x9A\x95PPP\x90\x84\x01\x90`\x01\x01aY^V[P\x91\x97\x96PPPPPPPV[``\x80\x82R\x85Q\x90\x82\x01\x81\x90R`\0\x90` \x90`\x80\x84\x01\x90\x82\x89\x01\x84[\x82\x81\x10\x15aZ\x0EW\x81Q\x84R\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01aY\xF2V[PPP\x83\x81\x03\x82\x85\x01R\x86Q\x80\x82R\x87\x83\x01\x91\x83\x01\x90`\0[\x81\x81\x10\x15aZLW\x83Q`\x01`\x01`\xA0\x1B\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01aZ'V[PP\x84\x81\x03`@\x86\x01RaV\xA0\x81\x87\x89aYDV[`\0\x80`\0``\x84\x86\x03\x12\x15aZvW`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15aZ\x8DW`\0\x80\xFD[aZ\x99\x87\x83\x88\x01aQ&V[\x94P` \x86\x015\x91P\x80\x82\x11\x15aZ\xAFW`\0\x80\xFD[aZ\xBB\x87\x83\x88\x01aQ&V[\x93P`@\x86\x015\x91P\x80\x82\x11\x15aZ\xD1W`\0\x80\xFD[PaZ\xDE\x86\x82\x87\x01aQ&V[\x91PP\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15aZ\xFAW`\0\x80\xFD[PQ\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a[\x14W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[`\0\x80`@\x83\x85\x03\x12\x15a[8W`\0\x80\xFD[\x82Qa[C\x81aNEV[` \x93\x90\x93\x01Q\x92\x94\x92\x93PPPV[`@\x81R`\0a[f`@\x83\x01\x86aS\x96V[\x82\x81\x03` \x84\x01Ra\x11\xB9\x81\x85\x87aW\x8EV[\x81\x81\x03\x81\x81\x11\x15a\tYWa\tYaW=V[` \x81R`\0a[\xA0` \x83\x01\x84\x86aW\x8EV[\x94\x93PPPPV[`@\x81R`\0a[\xBB`@\x83\x01\x85aS\x96V[\x90P`\x01\x80`\xA0\x1B\x03\x83\x16` \x83\x01R\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a[\xE3W`\0\x80\xFD[\x81Qa[\xF1aQE\x82aP\xFFV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\\\x06W`\0\x80\xFD[a[\xA0\x82` \x83\x01` \x87\x01aSrV[`\0\x80`\0\x80`\0\x80`\0\x80a\x01\0\x89\x8B\x03\x12\x15a\\4W`\0\x80\xFD[\x88Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\\KW`\0\x80\xFD[a\\W\x8C\x83\x8D\x01a[\xD2V[\x99P` \x8B\x01Q\x91P\x80\x82\x11\x15a\\mW`\0\x80\xFD[a\\y\x8C\x83\x8D\x01a[\xD2V[\x98P`@\x8B\x01Q\x91P\x80\x82\x11\x15a\\\x8FW`\0\x80\xFD[a\\\x9B\x8C\x83\x8D\x01a[\xD2V[\x97P``\x8B\x01Q\x91P\x80\x82\x11\x15a\\\xB1W`\0\x80\xFD[a\\\xBD\x8C\x83\x8D\x01a[\xD2V[\x96P`\x80\x8B\x01Q\x91P\x80\x82\x11\x15a\\\xD3W`\0\x80\xFD[Pa\\\xE0\x8B\x82\x8C\x01a[\xD2V[\x94PP`\xA0\x89\x01Q\x92P`\xC0\x89\x01Q\x91P`\xE0\x89\x01Q\x90P\x92\x95\x98P\x92\x95\x98\x90\x93\x96PV[`\0`\xE0\x826\x03\x12\x15a]\x17W`\0\x80\xFD[a]\x1FaP\xA7V[\x825\x81R` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01R`\x80\x83\x015`\x80\x82\x01Ra]W`\xA0\x84\x01aP\x10V[`\xA0\x82\x01R`\xC0\x83\x015`\x01`\x01`@\x1B\x03\x81\x11\x15a]uW`\0\x80\xFD[a]\x816\x82\x86\x01aQ&V[`\xC0\x83\x01RP\x92\x91PPV[`@\x81R`\0a]\xA1`@\x83\x01\x86\x88aW\x8EV[\x82\x81\x03` \x84\x01RaY9\x81\x85\x87aW\x8EV[\x82\x81R`@` \x82\x01R`\0a[\xA0`@\x83\x01\x84aS\x96V[`\0\x84Qa]\xDF\x81\x84` \x89\x01aSrV[\x84Q\x90\x83\x01\x90a]\xF3\x81\x83` \x89\x01aSrV[\x84Q\x91\x01\x90a^\x06\x81\x83` \x88\x01aSrV[\x01\x95\x94PPPPPV[`\0\x82Qa^\"\x81\x84` \x87\x01aSrV[\x91\x90\x91\x01\x92\x91PPV\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCs\xE5s\xF9VmaA\x8A4\xD5\xDE?\xF4\x93`\xF9\xC5\x1F\xEC7\xF7HeQg\x02\x90\xF6(]\xAB\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\xCD^\xD1\\n\x18~w\xE9\xAE\xE8\x81\x84\xC2\x1FO!\x82\xABX'\xCB;~\x07\xFB\xED\xCDc\xF03\0\x08\x0F^\xA8N\xD1\xDEL\x8E\xDBX\xBEe\x1C%X\x1C5Z\0\x11\xB0\xF96\r\xE5\x08+\xEC\xD6F@\xA2dipfsX\"\x12 2\x9D\xD96.\xD0\xC9(p\x8C\x8CD\xC1\x88\xAA\x8B\xB0a\x99A\x9E\xA6\xA2j\xDF\x15\x16\xFD<\x07\x08\xDEdsolcC\0\x08\x14\x003"; /// The deployed bytecode of the contract. pub static PROOFMARKETPLACE_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); @@ -6741,4 +6740,26 @@ pub mod proof_marketplace { Hash, )] pub struct SupportsInterfaceReturn(pub bool); + ///`Ask(uint256,uint256,uint256,uint256,uint256,address,bytes)` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct Ask { + pub market_id: ::ethers::core::types::U256, + pub reward: ::ethers::core::types::U256, + pub expiry: ::ethers::core::types::U256, + pub time_taken_for_proof_generation: ::ethers::core::types::U256, + pub deadline: ::ethers::core::types::U256, + pub refund_address: ::ethers::core::types::Address, + pub prover_data: ::ethers::core::types::Bytes, + } } diff --git a/bindings/src/safe_erc20.rs b/bindings/src/safe_erc20.rs index d1b6a50..b34f00d 100644 --- a/bindings/src/safe_erc20.rs +++ b/bindings/src/safe_erc20.rs @@ -68,12 +68,12 @@ pub mod safe_erc20 { pub static SAFEERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFC<\x92\x9B|\x87\xA6{\x95\xD6f\xCD\x96L\x83\xF7\xD8\xD7PO3\xFF\xF3\x17\x9D\xC9\xC0\x80\xF7\xEC\xE6\x88dsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xF77$d\x03\xF6B\xDB\x0E\xBC8z\xE59g\xE2\xB4\x8A\xC5\xEF\xF8\xC1\xE6\x88\x8B\xEBO\x86\x81\xE9?1dsolcC\0\x08\x14\x003"; /// The bytecode of the contract. pub static SAFEERC20_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFC<\x92\x9B|\x87\xA6{\x95\xD6f\xCD\x96L\x83\xF7\xD8\xD7PO3\xFF\xF3\x17\x9D\xC9\xC0\x80\xF7\xEC\xE6\x88dsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xF77$d\x03\xF6B\xDB\x0E\xBC8z\xE59g\xE2\xB4\x8A\xC5\xEF\xF8\xC1\xE6\x88\x8B\xEBO\x86\x81\xE9?1dsolcC\0\x08\x14\x003"; /// The deployed bytecode of the contract. pub static SAFEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); diff --git a/bindings/src/set_pmp.rs b/bindings/src/set_pmp.rs deleted file mode 100644 index d447763..0000000 --- a/bindings/src/set_pmp.rs +++ /dev/null @@ -1,230 +0,0 @@ -pub use set_pmp::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod set_pmp { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("proofMarketplace"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("proofMarketplace"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ProofMarketplace",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("setProofMarketplaceContract"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProofMarketplaceContract",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_proofMarketplace"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ProofMarketplace",), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static SETPMP_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct SetPmp(::ethers::contract::Contract); - impl ::core::clone::Clone for SetPmp { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for SetPmp { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for SetPmp { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for SetPmp { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(SetPmp)) - .field(&self.address()) - .finish() - } - } - impl SetPmp { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - SETPMP_ABI.clone(), - client, - )) - } - ///Calls the contract's `proofMarketplace` (0x81c45c70) function - pub fn proof_marketplace( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([129, 196, 92, 112], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `setProofMarketplaceContract` (0x056de704) function - pub fn set_proof_marketplace_contract( - &self, - proof_marketplace: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([5, 109, 231, 4], proof_marketplace) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> for SetPmp { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `proofMarketplace` function with signature `proofMarketplace()` and selector `0x81c45c70` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "proofMarketplace", abi = "proofMarketplace()")] - pub struct ProofMarketplaceCall; - ///Container type for all input parameters for the `setProofMarketplaceContract` function with signature `setProofMarketplaceContract(address)` and selector `0x056de704` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "setProofMarketplaceContract", - abi = "setProofMarketplaceContract(address)" - )] - pub struct SetProofMarketplaceContractCall { - pub proof_marketplace: ::ethers::core::types::Address, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum SetPmpCalls { - ProofMarketplace(ProofMarketplaceCall), - SetProofMarketplaceContract(SetProofMarketplaceContractCall), - } - impl ::ethers::core::abi::AbiDecode for SetPmpCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ProofMarketplace(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::SetProofMarketplaceContract(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for SetPmpCalls { - fn encode(self) -> Vec { - match self { - Self::ProofMarketplace(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SetProofMarketplaceContract(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - } - } - } - impl ::core::fmt::Display for SetPmpCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::ProofMarketplace(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProofMarketplaceContract(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for SetPmpCalls { - fn from(value: ProofMarketplaceCall) -> Self { - Self::ProofMarketplace(value) - } - } - impl ::core::convert::From for SetPmpCalls { - fn from(value: SetProofMarketplaceContractCall) -> Self { - Self::SetProofMarketplaceContract(value) - } - } - ///Container type for all return fields from the `proofMarketplace` function with signature `proofMarketplace()` and selector `0x81c45c70` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ProofMarketplaceReturn(pub ::ethers::core::types::Address); -} diff --git a/bindings/src/shared_types.rs b/bindings/src/shared_types.rs index ea67440..a847df9 100644 --- a/bindings/src/shared_types.rs +++ b/bindings/src/shared_types.rs @@ -36,25 +36,3 @@ pub struct Attestation { pub pcr2: ::ethers::core::types::Bytes, pub timestamp_in_milliseconds: ::ethers::core::types::U256, } -///`Ask(uint256,uint256,uint256,uint256,uint256,address,bytes)` -#[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, -)] -pub struct Ask { - pub market_id: ::ethers::core::types::U256, - pub reward: ::ethers::core::types::U256, - pub expiry: ::ethers::core::types::U256, - pub time_taken_for_proof_generation: ::ethers::core::types::U256, - pub deadline: ::ethers::core::types::U256, - pub refund_address: ::ethers::core::types::Address, - pub prover_data: ::ethers::core::types::Bytes, -} diff --git a/bindings/src/storage_slot.rs b/bindings/src/storage_slot.rs index 06e566c..11a712c 100644 --- a/bindings/src/storage_slot.rs +++ b/bindings/src/storage_slot.rs @@ -25,12 +25,12 @@ pub mod storage_slot { pub static STORAGESLOT_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFB3\xEE\x08\xFB\x13\xE1a\x1E\xDB\xA0^g\xD3\x06\x0C\xA4\xF1\r\x13=\xCBA0\x8C\xE2\x9F\x90\x97\xAD\x08edsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xE0-S\xAD?\xCEA\xBC\xA6\xF5Q\x1E\xB4RO\xCD\xD3\xE6a\x96\xBE\xF0\xE0v\x1F\x99\xAB\xE8\xD6d\xAC8dsolcC\0\x08\x14\x003"; /// The bytecode of the contract. pub static STORAGESLOT_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFB3\xEE\x08\xFB\x13\xE1a\x1E\xDB\xA0^g\xD3\x06\x0C\xA4\xF1\r\x13=\xCBA0\x8C\xE2\x9F\x90\x97\xAD\x08edsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xE0-S\xAD?\xCEA\xBC\xA6\xF5Q\x1E\xB4RO\xCD\xD3\xE6a\x96\xBE\xF0\xE0v\x1F\x99\xAB\xE8\xD6d\xAC8dsolcC\0\x08\x14\x003"; /// The deployed bytecode of the contract. pub static STORAGESLOT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); diff --git a/bindings/src/tee_verifier_wrapper.rs b/bindings/src/tee_verifier_wrapper.rs deleted file mode 100644 index 112888e..0000000 --- a/bindings/src/tee_verifier_wrapper.rs +++ /dev/null @@ -1,2828 +0,0 @@ -pub use tee_verifier_wrapper::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod tee_verifier_wrapper { - pub use super::super::shared_types::*; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_admin"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_av"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IAttestationVerifier",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_proverPcrs"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new(::ethers::core::abi::ethabi::ParamType::Bytes,), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes[]"), - ), - }, - ], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("ATTESTATION_MAX_AGE"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ATTESTATION_MAX_AGE",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ATTESTATION_VERIFIER"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ATTESTATION_VERIFIER",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IAttestationVerifier",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("addEnclaveImageToFamily"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("addEnclaveImageToFamily",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_proverPcr"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("admin"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("admin"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeInputAndProofForVerification"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "encodeInputAndProofForVerification", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::String, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("proof"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("encodeInputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::String, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string[]"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("encodeProof"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("proof"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("getVerifiedKey"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("getVerifiedKey"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_key"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("getWhitelistedImage"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("getWhitelistedImage",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct AttestationAuther.EnclaveImage", - ), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("isImageInFamily"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("isImageInFamily"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("family"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleInput"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleInput"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleProof"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("encodedData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyEnclaveKey"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyEnclaveKey"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("signature"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("attestation"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct IAttestationVerifier.Attestation", - ), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyInputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyKey"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyKey"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("attestation_data"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyProofForTeeVerifier"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyProofForTeeVerifier",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("proverData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("proofData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("proofSignature"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("EnclaveImageAddedToFamily"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveImageAddedToFamily",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("family"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveImageRemovedFromFamily"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveImageRemovedFromFamily",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("family"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveImageRevoked"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveImageRevoked",), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - },], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveImageWhitelisted"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveImageWhitelisted",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("PCR0"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("PCR1"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("PCR2"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveKeyRevoked"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveKeyRevoked"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclaveAddress"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - },], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveKeyVerified"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveKeyVerified"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclaveAddress"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclavePubKey"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("EnclaveKeyWhitelisted"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EnclaveKeyWhitelisted",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclaveAddress"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("enclavePubKey"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - },], - ), - ]), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherAttestationTooOld"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationAutherAttestationTooOld", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherImageNotInFamily"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AttestationAutherImageNotInFamily",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherImageNotWhitelisted"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationAutherImageNotWhitelisted", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherKeyNotVerified"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AttestationAutherKeyNotVerified",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherMismatchedLengths"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationAutherMismatchedLengths", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherPCRsInvalid"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AttestationAutherPCRsInvalid",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("AttestationAutherPubkeyLengthInvalid"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "AttestationAutherPubkeyLengthInvalid", - ), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignature"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignature",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureLength"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureLength",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("length"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureS"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ECDSAInvalidSignatureS",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("s"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InferredImageIdIsDifferent"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InferredImageIdIsDifferent",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InvalidEnclaveSignature"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidEnclaveSignature",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("invalidSignerAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InvalidInputs"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidInputs"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("MustBeAnEnclave"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("MustBeAnEnclave"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("imageId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("OnlyAdminCanCall"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("OnlyAdminCanCall"), - inputs: ::std::vec![], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static TEE_VERIFIER_WRAPPER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0$\xE68\x03\x80b\0$\xE6\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x05\x03V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\x80Ra\xEA``\xA0R`\0[\x81Q\x81\x10\x15b\0\x01cW`\0\x80`\0\x84\x84\x81Q\x81\x10b\0\0nWb\0\0nb\0\x06\x01V[` \x02` \x01\x01Q\x80` \x01\x90Q\x81\x01\x90b\0\0\x8B\x91\x90b\0\x06\x17V[\x91\x94P\x92P\x90P`\0b\0\0\xA1\x84\x84\x84b\0\x01\x8DV[\x90Pb\0\0\xAE\x81b\0\x01\xC8V[b\0\0\xD3W`@Qc\x065l\xB3`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01`@Q\x80\x91\x03\x90\xFD[`\0b\0\x01\0`@Q\x80``\x01`@R\x80\x87\x81R` \x01\x86\x81R` \x01\x85\x81RPb\0\x01\xFE` \x1B` \x1CV[P\x90P\x81\x81\x14b\0\x01$W`@Qc\x0CZ\x1A\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[b\0\x01P\x82\x7F+t\xD9\x9C\\@\x12=5\xC0\xFEN\xC1\xBCsj1\xA8\x0BpQr\x11\x93\x11\x8D\xC1Q~\\y?b\0\x03zV[PP`\x01\x90\x94\x01\x93Pb\0\0J\x92PPPV[PP`\x05\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x92\x90\x92\x17\x90\x91UPb\0\x08\xC5V[`\0\x80\x84\x84\x84`@Q` \x01b\0\x01\xA7\x93\x92\x91\x90b\0\x06\xA8V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`\0\x81\x15\x80b\0\x01\xF7WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x80\x82`\0\x01QQ`0\x14\x80\x15b\0\x02\x1CWP\x82` \x01QQ`0\x14[\x80\x15b\0\x02.WP\x82`@\x01QQ`0\x14[b\0\x02LW`@QcBc\r\xDB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x01Q\x84` \x01Q\x85`@\x01Q`@Q` \x01b\0\x02q\x93\x92\x91\x90b\0\x06\xA8V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90b\0\x02\xA5\x90b\0\x06\xF1V[\x15\x90Pb\0\x02\xB7W\x93`\0\x93P\x91PPV[`@\x80Q``\x81\x01\x82R\x85Q\x81R` \x80\x87\x01Q\x81\x83\x01R\x86\x83\x01Q\x82\x84\x01R`\0\x84\x81R\x90\x81\x90R\x91\x90\x91 \x81Q\x81\x90b\0\x02\xF4\x90\x82b\0\x07\x82V[P` \x82\x01Q`\x01\x82\x01\x90b\0\x03\x0B\x90\x82b\0\x07\x82V[P`@\x82\x01Q`\x02\x82\x01\x90b\0\x03\"\x90\x82b\0\x07\x82V[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x85`\0\x01Q\x86` \x01Q\x87`@\x01Q`@Qb\0\x03h\x93\x92\x91\x90b\0\x08|V[`@Q\x80\x91\x03\x90\xA2\x93`\x01\x93P\x91PPV[`\0\x81\x81R`\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x81 T`\xFF\x16\x15b\0\x03\xA6WP`\0b\0\x04\x01V[`\0\x82\x81R`\x02` \x90\x81R`@\x80\x83 \x86\x84R\x82R\x91\x82\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U\x90Q\x83\x81R\x84\x91\x7F\xBF\xB1&\xE7B\xCE\x96\x18\xB5\xBFkT\x83\x99\x16\x92o\\9wR\xBE5@L\x83h\xDD\xCFh\xC1\n\x91\x01`@Q\x80\x91\x03\x90\xA2P`\x01[\x92\x91PPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x04\x1DW`\0\x80\xFD[PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x04aWb\0\x04ab\0\x04 V[`@R\x91\x90PV[`\0[\x83\x81\x10\x15b\0\x04\x86W\x81\x81\x01Q\x83\x82\x01R` \x01b\0\x04lV[PP`\0\x91\x01RV[`\0\x82`\x1F\x83\x01\x12b\0\x04\xA1W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x04\xBDWb\0\x04\xBDb\0\x04 V[b\0\x04\xD2`\x1F\x82\x01`\x1F\x19\x16` \x01b\0\x046V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15b\0\x04\xE8W`\0\x80\xFD[b\0\x04\xFB\x82` \x83\x01` \x87\x01b\0\x04iV[\x94\x93PPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x05\x19W`\0\x80\xFD[\x83Qb\0\x05&\x81b\0\x04\x07V[\x80\x93PP` \x80\x85\x01Qb\0\x05;\x81b\0\x04\x07V[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x05YW`\0\x80\xFD[\x81\x87\x01\x91P\x87`\x1F\x83\x01\x12b\0\x05nW`\0\x80\xFD[\x81Q\x81\x81\x11\x15b\0\x05\x83Wb\0\x05\x83b\0\x04 V[\x80`\x05\x1Bb\0\x05\x94\x85\x82\x01b\0\x046V[\x91\x82R\x83\x81\x01\x85\x01\x91\x85\x81\x01\x90\x8B\x84\x11\x15b\0\x05\xAFW`\0\x80\xFD[\x86\x86\x01\x92P[\x83\x83\x10\x15b\0\x05\xF0W\x82Q\x85\x81\x11\x15b\0\x05\xCFW`\0\x80\x81\xFD[b\0\x05\xDF\x8D\x89\x83\x8A\x01\x01b\0\x04\x8FV[\x83RP\x91\x86\x01\x91\x90\x86\x01\x90b\0\x05\xB5V[\x80\x97PPPPPPPP\x92P\x92P\x92V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x06-W`\0\x80\xFD[\x83Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x06EW`\0\x80\xFD[b\0\x06S\x87\x83\x88\x01b\0\x04\x8FV[\x94P` \x86\x01Q\x91P\x80\x82\x11\x15b\0\x06jW`\0\x80\xFD[b\0\x06x\x87\x83\x88\x01b\0\x04\x8FV[\x93P`@\x86\x01Q\x91P\x80\x82\x11\x15b\0\x06\x8FW`\0\x80\xFD[Pb\0\x06\x9E\x86\x82\x87\x01b\0\x04\x8FV[\x91PP\x92P\x92P\x92V[`\0\x84Qb\0\x06\xBC\x81\x84` \x89\x01b\0\x04iV[\x84Q\x90\x83\x01\x90b\0\x06\xD2\x81\x83` \x89\x01b\0\x04iV[\x84Q\x91\x01\x90b\0\x06\xE7\x81\x83` \x88\x01b\0\x04iV[\x01\x95\x94PPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x07\x06W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x07'WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x07}W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x07XWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x07yW\x82\x81U`\x01\x01b\0\x07dV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x07\x9EWb\0\x07\x9Eb\0\x04 V[b\0\x07\xB6\x81b\0\x07\xAF\x84Tb\0\x06\xF1V[\x84b\0\x07-V[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x07\xEEW`\0\x84\x15b\0\x07\xD5WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x07yV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x08\x1FW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x07\xFEV[P\x85\x82\x10\x15b\0\x08>W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x81Q\x80\x84Rb\0\x08h\x81` \x86\x01` \x86\x01b\0\x04iV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[``\x81R`\0b\0\x08\x91``\x83\x01\x86b\0\x08NV[\x82\x81\x03` \x84\x01Rb\0\x08\xA5\x81\x86b\0\x08NV[\x90P\x82\x81\x03`@\x84\x01Rb\0\x08\xBB\x81\x85b\0\x08NV[\x96\x95PPPPPPV[`\x80Q`\xA0Qa\x1B\xEDb\0\x08\xF9`\09`\0\x81\x81a\x02i\x01Ra\x0C\xA8\x01R`\0\x81\x81a\x02\xAE\x01Ra\r\x14\x01Ra\x1B\xED`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01!W`\x005`\xE0\x1C\x80c}\x8A\xD4+\x11a\0\xADW\x80c\xA7l\x05Q\x11a\0qW\x80c\xA7l\x05Q\x14a\x02\xA1W\x80c\xCDy\xF9\x06\x14a\x02\xA9W\x80c\xD2\xE8\x982\x14a\x02\xE8W\x80c\xF6\xEA\x99b\x14a\x02\xFBW\x80c\xF8Q\xA4@\x14a\x03\x0EW`\0\x80\xFD[\x80c}\x8A\xD4+\x14a\x026W\x80c\x81\xFD?W\x14a\x02>W\x80c\x8Ev\n\xFE\x14a\x02QW\x80c\x9A\xEC\x99\x0E\x14a\x02dW\x80c\xA6\xDF\xBC\x7F\x14a\x02\x8BW`\0\x80\xFD[\x80c\x10\xA5By\x11a\0\xF4W\x80c\x10\xA5By\x14a\x01\xAEW\x80c$\x10\xF6\xBA\x14a\x01\xB6W\x80c[\xE5Y\xAF\x14a\x01\xD6W\x80ck[!\xA6\x14a\x01\xF6W\x80cu\x84{\x84\x14a\x02#W`\0\x80\xFD[\x80c\x01\xD5\x8F\xA3\x14a\x01&W\x80c\x02\xF7}\x19\x14a\x01bW\x80c\x07\x07Y\x1F\x14a\x01\x86W\x80c\x10\x84\xD6\\\x14a\x01\x9BW[`\0\x80\xFD[a\x01Oa\x0146`\x04a\x10\xF9V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01va\x01p6`\x04a\x12\rV[P`\x01\x90V[`@Q\x90\x15\x15\x81R` \x01a\x01YV[a\x01\x99a\x01\x946`\x04a\x12IV[a\x03!V[\0[a\x01\x99a\x01\xA96`\x04a\x12\rV[a\x03/V[a\x01va\x042V[a\x01\xC9a\x01\xC46`\x04a\x12\xBAV[a\x04\xCDV[`@Qa\x01Y\x91\x90a\x13#V[a\x01\xE9a\x01\xE46`\x04a\x14\"V[a\x06\xC6V[`@Qa\x01Y\x91\x90a\x14\x85V[a\x01va\x02\x046`\x04a\x14\x98V[`\0\x90\x81R`\x02` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x90V[a\x01va\x0216`\x04a\x14\xBAV[a\x07\x03V[a\x01\xE9a\x07\x16V[a\x01\xE9a\x02L6`\x04a\x12\rV[a\x07\xA4V[a\x01va\x02_6`\x04a\x12\rV[a\x07\xCDV[a\x01O\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01va\x02\x996`\x04a\x12IV[`\x01\x92\x91PPV[a\x01\xE9a\x08MV[a\x02\xD0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01YV[a\x01va\x02\xF66`\x04a\x15\xC3V[a\x08ZV[a\x01\xE9a\x03\t6`\x04a\x16JV[a\tZV[`\x05Ta\x02\xD0\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x03+\x82\x82a\tmV[PPV[`\x05T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x03ZW`@QcS\xFCwk`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x03s\x91\x90a\x16\xC3V[\x91\x94P\x92P\x90P`\0a\x03\x87\x84\x84\x84a\t\xC7V[\x90Pa\x03\x92\x81a\n\0V[a\x03\xB7W`@Qc\x065l\xB3`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0a\x03\xDC`@Q\x80``\x01`@R\x80\x87\x81R` \x01\x86\x81R` \x01\x85\x81RPa\n5V[P\x90P\x81\x81\x14a\x03\xFFW`@Qc\x0CZ\x1A\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04)\x82\x7F+t\xD9\x9C\\@\x12=5\xC0\xFEN\xC1\xBCsj1\xA8\x0BpQr\x11\x93\x11\x8D\xC1Q~\\y?a\x0B\xA1V[PPPPPPPV[`\0a\x04\xC8`\x04\x80Ta\x04D\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x04p\x90a\x17@V[\x80\x15a\x04\xBDW\x80`\x1F\x10a\x04\x92Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x04\xBDV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x04\xA0W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPP`\x01\x90V[\x90P\x90V[a\x04\xF1`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R` \x81\x90R`@\x90\x81\x90 \x81Q``\x81\x01\x90\x92R\x80T\x82\x90\x82\x90a\x05\x19\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05E\x90a\x17@V[\x80\x15a\x05\x92W\x80`\x1F\x10a\x05gWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\x92V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05uW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80Ta\x05\xAB\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\xD7\x90a\x17@V[\x80\x15a\x06$W\x80`\x1F\x10a\x05\xF9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06$V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x07W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x02\x82\x01\x80Ta\x06=\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06i\x90a\x17@V[\x80\x15a\x06\xB6W\x80`\x1F\x10a\x06\x8BWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xB6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x99W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[``a\x06\xD1\x83a\tZV[a\x06\xDA\x83a\x07\xA4V[`@Q` \x01a\x06\xEB\x92\x91\x90a\x17zV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P[\x92\x91PPV[`\0a\x07\x0F\x83\x83a\x0C+V[\x93\x92PPPV[`\x03\x80Ta\x07#\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07O\x90a\x17@V[\x80\x15a\x07\x9CW\x80`\x1F\x10a\x07qWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\x9CV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x07\x7FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[``\x81`@Q` \x01a\x07\xB7\x91\x90a\x14\x85V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x91\x90PV[`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x07\xE6\x91\x90a\x17\x9FV[\x91P\x91P`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x08\x03\x91\x90a\x16\xC3V[\x92P\x92P\x92P\x82\x80Q\x90` \x01 \x85\x80Q\x90` \x01 \x14a\x087W`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08B\x83\x83\x83a\x08ZV[\x97\x96PPPPPPPV[`\x04\x80Ta\x07#\x90a\x17@V[`\0\x80\x84\x84`@Q` \x01a\x08p\x92\x91\x90a\x17zV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a\x08\xE1\x82`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[\x90P`\0a\x08\xEF\x82\x86a\x0E\x19V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\t#W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x03\xAEV[a\tM\x81\x7F+t\xD9\x9C\\@\x12=5\xC0\xFEN\xC1\xBCsj1\xA8\x0BpQr\x11\x93\x11\x8D\xC1Q~\\y?a\x0ECV[P`\x01\x96\x95PPPPPPV[``\x81`@Q` \x01a\x07\xB7\x91\x90a\x17\xF8V[`\0\x80\x80\x80\x80\x80a\t\x80\x87\x89\x01\x89a\x18\\V[\x95P\x95P\x95P\x95P\x95P\x95Pa\t\xBC\x86`@Q\x80`\xA0\x01`@R\x80\x88\x81R` \x01\x87\x81R` \x01\x86\x81R` \x01\x85\x81R` \x01\x84\x81RPa\x0C+V[PPPPPPPPPV[`\0\x80\x84\x84\x84`@Q` \x01a\t\xDF\x93\x92\x91\x90a\x195V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`\0\x81\x15\x80a\n.WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x80\x82`\0\x01QQ`0\x14\x80\x15a\nRWP\x82` \x01QQ`0\x14[\x80\x15a\ncWP\x82`@\x01QQ`0\x14[a\n\x80W`@QcBc\r\xDB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x01Q\x84` \x01Q\x85`@\x01Q`@Q` \x01a\n\xA3\x93\x92\x91\x90a\x195V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90a\n\xD5\x90a\x17@V[\x15\x90Pa\n\xE6W\x93`\0\x93P\x91PPV[`@\x80Q``\x81\x01\x82R\x85Q\x81R` \x80\x87\x01Q\x81\x83\x01R\x86\x83\x01Q\x82\x84\x01R`\0\x84\x81R\x90\x81\x90R\x91\x90\x91 \x81Q\x81\x90a\x0B!\x90\x82a\x19\xC8V[P` \x82\x01Q`\x01\x82\x01\x90a\x0B6\x90\x82a\x19\xC8V[P`@\x82\x01Q`\x02\x82\x01\x90a\x0BK\x90\x82a\x19\xC8V[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x85`\0\x01Q\x86` \x01Q\x87`@\x01Q`@Qa\x0B\x8F\x93\x92\x91\x90a\x1A\x87V[`@Q\x80\x91\x03\x90\xA2\x93`\x01\x93P\x91PPV[`\0\x81\x81R`\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x81 T`\xFF\x16\x15a\x0B\xCBWP`\0a\x06\xFDV[`\0\x82\x81R`\x02` \x90\x81R`@\x80\x83 \x86\x84R\x82R\x91\x82\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U\x90Q\x83\x81R\x84\x91\x7F\xBF\xB1&\xE7B\xCE\x96\x18\xB5\xBFkT\x83\x99\x16\x92o\\9wR\xBE5@L\x83h\xDD\xCFh\xC1\n\x91\x01`@Q\x80\x91\x03\x90\xA2P`\x01\x92\x91PPV[`\0\x80\x82` \x01Q\x83`@\x01Q\x84``\x01Q`@Q` \x01a\x0CO\x93\x92\x91\x90a\x195V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90a\x0C\x81\x90a\x17@V[\x90P`\0\x03a\x0C\xA3W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0C\xCD\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba\x1A\xCAV[a\x03\xE8\x84`\x80\x01Qa\x0C\xDF\x91\x90a\x1A\xEBV[\x11a\x0C\xFDW`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\rK\x90\x87\x90\x87\x90`\x04\x01a\x1B\rV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\rcW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\rwW=`\0\x80>=`\0\xFD[PPPP`\0a\r\x8A\x84`\0\x01Qa\x0E\xF4V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01` R`@\x90 T\x90\x91P\x15a\r\xB6W`\0\x92PPPa\x06\xFDV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\x01` R`@\x90\x81\x90 \x84\x90U\x85Q\x90Q\x84\x92\x91\x7F\xBBMd(\xD5>\xA9$\xD9K\xE0H\x84s\xDE\xB5\xC0\xA7\x0C\x97\x9F\x84w\xD2\x19\x11\xCB[\xEE@7\xFD\x91a\x0E\x06\x91\x90a\x14\x85V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0\x80`\0\x80a\x0E)\x86\x86a\x0F$V[\x92P\x92P\x92Pa\x0E9\x82\x82a\x0FqV[P\x90\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x01` R`@\x90 T\x80a\x0EzW`@Qc=\xD8\xCA\x95`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81R` \x81\x90R`@\x90 \x80Ta\x0E\x93\x90a\x17@V[\x90P`\0\x03a\x0E\xB5W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82\x81R`\x02` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x90 T`\xFF\x16a\x0E\xEFW`@QcHf%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[`\0\x81Q`@\x14a\x0F\x18W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80`\0\x83Q`A\x03a\x0F^W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa\x0FP\x88\x82\x85\x85a\x10*V[\x95P\x95P\x95PPPPa\x0FjV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15a\x0F\x85Wa\x0F\x85a\x1B\xA1V[\x03a\x0F\x8EWPPV[`\x01\x82`\x03\x81\x11\x15a\x0F\xA2Wa\x0F\xA2a\x1B\xA1V[\x03a\x0F\xC0W`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a\x0F\xD4Wa\x0F\xD4a\x1B\xA1V[\x03a\x0F\xF5W`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x03\xAEV[`\x03\x82`\x03\x81\x11\x15a\x10\tWa\x10\ta\x1B\xA1V[\x03a\x03+W`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x03\xAEV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a\x10eWP`\0\x91P`\x03\x90P\x82a\x10\xEFV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x10\xB9W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a\x10\xE5WP`\0\x92P`\x01\x91P\x82\x90Pa\x10\xEFV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[`\0` \x82\x84\x03\x12\x15a\x11\x0BW`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x07\x0FW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x11ZWa\x11Za\x11\"V[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x11\x88Wa\x11\x88a\x11\"V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x11\xA9Wa\x11\xA9a\x11\"V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x11\xC8W`\0\x80\xFD[\x815a\x11\xDBa\x11\xD6\x82a\x11\x90V[a\x11`V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x11\xF0W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x12\x1FW`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x125W`\0\x80\xFD[a\x12A\x84\x82\x85\x01a\x11\xB7V[\x94\x93PPPPV[`\0\x80` \x83\x85\x03\x12\x15a\x12\\W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x12sW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x12\x87W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x12\x96W`\0\x80\xFD[\x86` \x82\x85\x01\x01\x11\x15a\x12\xA8W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x12\xCCW`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x12\xEEW\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\xD6V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x13\x0F\x81` \x86\x01` \x86\x01a\x12\xD3V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x13?`\x80\x84\x01\x82a\x12\xF7V[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x13]\x83\x83a\x12\xF7V[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x13{\x82\x82a\x12\xF7V[\x95\x94PPPPPV[`\0\x82`\x1F\x83\x01\x12a\x13\x95W`\0\x80\xFD[\x815` `\x01`\x01`@\x1B\x03\x80\x83\x11\x15a\x13\xB1Wa\x13\xB1a\x11\"V[\x82`\x05\x1Ba\x13\xC0\x83\x82\x01a\x11`V[\x93\x84R\x85\x81\x01\x83\x01\x93\x83\x81\x01\x90\x88\x86\x11\x15a\x13\xDAW`\0\x80\xFD[\x84\x88\x01\x92P[\x85\x83\x10\x15a\x14\x16W\x825\x84\x81\x11\x15a\x13\xF8W`\0\x80\x81\xFD[a\x14\x06\x8A\x87\x83\x8C\x01\x01a\x11\xB7V[\x83RP\x91\x84\x01\x91\x90\x84\x01\x90a\x13\xE0V[\x98\x97PPPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x145W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x14LW`\0\x80\xFD[a\x14X\x86\x83\x87\x01a\x13\x84V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x14nW`\0\x80\xFD[Pa\x14{\x85\x82\x86\x01a\x11\xB7V[\x91PP\x92P\x92\x90PV[` \x81R`\0a\x07\x0F` \x83\x01\x84a\x12\xF7V[`\0\x80`@\x83\x85\x03\x12\x15a\x14\xABW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0\x80`@\x83\x85\x03\x12\x15a\x14\xCDW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x14\xE4W`\0\x80\xFD[a\x14\xF0\x86\x83\x87\x01a\x11\xB7V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x15\x06W`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x15\x1AW`\0\x80\xFD[a\x15\"a\x118V[\x825\x82\x81\x11\x15a\x151W`\0\x80\xFD[a\x15=\x88\x82\x86\x01a\x11\xB7V[\x82RP` \x83\x015\x82\x81\x11\x15a\x15RW`\0\x80\xFD[a\x15^\x88\x82\x86\x01a\x11\xB7V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x15vW`\0\x80\xFD[a\x15\x82\x88\x82\x86\x01a\x11\xB7V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\x15\x9AW`\0\x80\xFD[a\x15\xA6\x88\x82\x86\x01a\x11\xB7V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x15\xD8W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x15\xEFW`\0\x80\xFD[a\x15\xFB\x87\x83\x88\x01a\x11\xB7V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x16\x11W`\0\x80\xFD[a\x16\x1D\x87\x83\x88\x01a\x11\xB7V[\x93P`@\x86\x015\x91P\x80\x82\x11\x15a\x163W`\0\x80\xFD[Pa\x16@\x86\x82\x87\x01a\x11\xB7V[\x91PP\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x16\\W`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x16rW`\0\x80\xFD[a\x12A\x84\x82\x85\x01a\x13\x84V[`\0\x82`\x1F\x83\x01\x12a\x16\x8FW`\0\x80\xFD[\x81Qa\x16\x9Da\x11\xD6\x82a\x11\x90V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x16\xB2W`\0\x80\xFD[a\x12A\x82` \x83\x01` \x87\x01a\x12\xD3V[`\0\x80`\0``\x84\x86\x03\x12\x15a\x16\xD8W`\0\x80\xFD[\x83Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x16\xEFW`\0\x80\xFD[a\x16\xFB\x87\x83\x88\x01a\x16~V[\x94P` \x86\x01Q\x91P\x80\x82\x11\x15a\x17\x11W`\0\x80\xFD[a\x17\x1D\x87\x83\x88\x01a\x16~V[\x93P`@\x86\x01Q\x91P\x80\x82\x11\x15a\x173W`\0\x80\xFD[Pa\x16@\x86\x82\x87\x01a\x16~V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x17TW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x17tWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`@\x81R`\0a\x17\x8D`@\x83\x01\x85a\x12\xF7V[\x82\x81\x03` \x84\x01Ra\x13{\x81\x85a\x12\xF7V[`\0\x80`@\x83\x85\x03\x12\x15a\x17\xB2W`\0\x80\xFD[\x82Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x17\xC9W`\0\x80\xFD[a\x17\xD5\x86\x83\x87\x01a\x16~V[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a\x17\xEBW`\0\x80\xFD[Pa\x14{\x85\x82\x86\x01a\x16~V[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15a\x18OW`?\x19\x88\x86\x03\x01\x84Ra\x18=\x85\x83Qa\x12\xF7V[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x18!V[P\x92\x97\x96PPPPPPPV[`\0\x80`\0\x80`\0\x80`\xC0\x87\x89\x03\x12\x15a\x18uW`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x18\x8CW`\0\x80\xFD[a\x18\x98\x8A\x83\x8B\x01a\x11\xB7V[\x97P` \x89\x015\x91P\x80\x82\x11\x15a\x18\xAEW`\0\x80\xFD[a\x18\xBA\x8A\x83\x8B\x01a\x11\xB7V[\x96P`@\x89\x015\x91P\x80\x82\x11\x15a\x18\xD0W`\0\x80\xFD[a\x18\xDC\x8A\x83\x8B\x01a\x11\xB7V[\x95P``\x89\x015\x91P\x80\x82\x11\x15a\x18\xF2W`\0\x80\xFD[a\x18\xFE\x8A\x83\x8B\x01a\x11\xB7V[\x94P`\x80\x89\x015\x91P\x80\x82\x11\x15a\x19\x14W`\0\x80\xFD[Pa\x19!\x89\x82\x8A\x01a\x11\xB7V[\x92PP`\xA0\x87\x015\x90P\x92\x95P\x92\x95P\x92\x95V[`\0\x84Qa\x19G\x81\x84` \x89\x01a\x12\xD3V[\x84Q\x90\x83\x01\x90a\x19[\x81\x83` \x89\x01a\x12\xD3V[\x84Q\x91\x01\x90a\x19n\x81\x83` \x88\x01a\x12\xD3V[\x01\x95\x94PPPPPV[`\x1F\x82\x11\x15a\x0E\xEFW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x19\xA1WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x19\xC0W\x82\x81U`\x01\x01a\x19\xADV[PPPPPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\x19\xE1Wa\x19\xE1a\x11\"V[a\x19\xF5\x81a\x19\xEF\x84Ta\x17@V[\x84a\x19xV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x1A*W`\0\x84\x15a\x1A\x12WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x19\xC0V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\x1AYW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x1A:V[P\x85\x82\x10\x15a\x1AwW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[``\x81R`\0a\x1A\x9A``\x83\x01\x86a\x12\xF7V[\x82\x81\x03` \x84\x01Ra\x1A\xAC\x81\x86a\x12\xF7V[\x90P\x82\x81\x03`@\x84\x01Ra\x1A\xC0\x81\x85a\x12\xF7V[\x96\x95PPPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x06\xFDWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\x1B\x08WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a\x1B `@\x83\x01\x85a\x12\xF7V[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra\x1B;`\xA0\x83\x01\x82a\x12\xF7V[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra\x1BT\x82\x82a\x12\xF7V[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra\x1Bn\x82\x82a\x12\xF7V[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra\x1B\x88\x82\x82a\x12\xF7V[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \x7F\x1F\xBC\xA7\x14O\xDBg\xA3\x85\xFB\xD9\xBAKdN\x83\xC7\x84\x86P\xA9\x85\xC1\xE2\xD5\\\xABBX\xAE&dsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static TEE_VERIFIER_WRAPPER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01!W`\x005`\xE0\x1C\x80c}\x8A\xD4+\x11a\0\xADW\x80c\xA7l\x05Q\x11a\0qW\x80c\xA7l\x05Q\x14a\x02\xA1W\x80c\xCDy\xF9\x06\x14a\x02\xA9W\x80c\xD2\xE8\x982\x14a\x02\xE8W\x80c\xF6\xEA\x99b\x14a\x02\xFBW\x80c\xF8Q\xA4@\x14a\x03\x0EW`\0\x80\xFD[\x80c}\x8A\xD4+\x14a\x026W\x80c\x81\xFD?W\x14a\x02>W\x80c\x8Ev\n\xFE\x14a\x02QW\x80c\x9A\xEC\x99\x0E\x14a\x02dW\x80c\xA6\xDF\xBC\x7F\x14a\x02\x8BW`\0\x80\xFD[\x80c\x10\xA5By\x11a\0\xF4W\x80c\x10\xA5By\x14a\x01\xAEW\x80c$\x10\xF6\xBA\x14a\x01\xB6W\x80c[\xE5Y\xAF\x14a\x01\xD6W\x80ck[!\xA6\x14a\x01\xF6W\x80cu\x84{\x84\x14a\x02#W`\0\x80\xFD[\x80c\x01\xD5\x8F\xA3\x14a\x01&W\x80c\x02\xF7}\x19\x14a\x01bW\x80c\x07\x07Y\x1F\x14a\x01\x86W\x80c\x10\x84\xD6\\\x14a\x01\x9BW[`\0\x80\xFD[a\x01Oa\x0146`\x04a\x10\xF9V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01va\x01p6`\x04a\x12\rV[P`\x01\x90V[`@Q\x90\x15\x15\x81R` \x01a\x01YV[a\x01\x99a\x01\x946`\x04a\x12IV[a\x03!V[\0[a\x01\x99a\x01\xA96`\x04a\x12\rV[a\x03/V[a\x01va\x042V[a\x01\xC9a\x01\xC46`\x04a\x12\xBAV[a\x04\xCDV[`@Qa\x01Y\x91\x90a\x13#V[a\x01\xE9a\x01\xE46`\x04a\x14\"V[a\x06\xC6V[`@Qa\x01Y\x91\x90a\x14\x85V[a\x01va\x02\x046`\x04a\x14\x98V[`\0\x90\x81R`\x02` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x90V[a\x01va\x0216`\x04a\x14\xBAV[a\x07\x03V[a\x01\xE9a\x07\x16V[a\x01\xE9a\x02L6`\x04a\x12\rV[a\x07\xA4V[a\x01va\x02_6`\x04a\x12\rV[a\x07\xCDV[a\x01O\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01va\x02\x996`\x04a\x12IV[`\x01\x92\x91PPV[a\x01\xE9a\x08MV[a\x02\xD0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01YV[a\x01va\x02\xF66`\x04a\x15\xC3V[a\x08ZV[a\x01\xE9a\x03\t6`\x04a\x16JV[a\tZV[`\x05Ta\x02\xD0\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x03+\x82\x82a\tmV[PPV[`\x05T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x03ZW`@QcS\xFCwk`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x03s\x91\x90a\x16\xC3V[\x91\x94P\x92P\x90P`\0a\x03\x87\x84\x84\x84a\t\xC7V[\x90Pa\x03\x92\x81a\n\0V[a\x03\xB7W`@Qc\x065l\xB3`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0a\x03\xDC`@Q\x80``\x01`@R\x80\x87\x81R` \x01\x86\x81R` \x01\x85\x81RPa\n5V[P\x90P\x81\x81\x14a\x03\xFFW`@Qc\x0CZ\x1A\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04)\x82\x7F+t\xD9\x9C\\@\x12=5\xC0\xFEN\xC1\xBCsj1\xA8\x0BpQr\x11\x93\x11\x8D\xC1Q~\\y?a\x0B\xA1V[PPPPPPPV[`\0a\x04\xC8`\x04\x80Ta\x04D\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x04p\x90a\x17@V[\x80\x15a\x04\xBDW\x80`\x1F\x10a\x04\x92Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x04\xBDV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x04\xA0W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPP`\x01\x90V[\x90P\x90V[a\x04\xF1`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R` \x81\x90R`@\x90\x81\x90 \x81Q``\x81\x01\x90\x92R\x80T\x82\x90\x82\x90a\x05\x19\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05E\x90a\x17@V[\x80\x15a\x05\x92W\x80`\x1F\x10a\x05gWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\x92V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05uW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80Ta\x05\xAB\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\xD7\x90a\x17@V[\x80\x15a\x06$W\x80`\x1F\x10a\x05\xF9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06$V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x07W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x02\x82\x01\x80Ta\x06=\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06i\x90a\x17@V[\x80\x15a\x06\xB6W\x80`\x1F\x10a\x06\x8BWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xB6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x99W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[``a\x06\xD1\x83a\tZV[a\x06\xDA\x83a\x07\xA4V[`@Q` \x01a\x06\xEB\x92\x91\x90a\x17zV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P[\x92\x91PPV[`\0a\x07\x0F\x83\x83a\x0C+V[\x93\x92PPPV[`\x03\x80Ta\x07#\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07O\x90a\x17@V[\x80\x15a\x07\x9CW\x80`\x1F\x10a\x07qWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\x9CV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x07\x7FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[``\x81`@Q` \x01a\x07\xB7\x91\x90a\x14\x85V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x91\x90PV[`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x07\xE6\x91\x90a\x17\x9FV[\x91P\x91P`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x08\x03\x91\x90a\x16\xC3V[\x92P\x92P\x92P\x82\x80Q\x90` \x01 \x85\x80Q\x90` \x01 \x14a\x087W`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08B\x83\x83\x83a\x08ZV[\x97\x96PPPPPPPV[`\x04\x80Ta\x07#\x90a\x17@V[`\0\x80\x84\x84`@Q` \x01a\x08p\x92\x91\x90a\x17zV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a\x08\xE1\x82`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[\x90P`\0a\x08\xEF\x82\x86a\x0E\x19V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\t#W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x03\xAEV[a\tM\x81\x7F+t\xD9\x9C\\@\x12=5\xC0\xFEN\xC1\xBCsj1\xA8\x0BpQr\x11\x93\x11\x8D\xC1Q~\\y?a\x0ECV[P`\x01\x96\x95PPPPPPV[``\x81`@Q` \x01a\x07\xB7\x91\x90a\x17\xF8V[`\0\x80\x80\x80\x80\x80a\t\x80\x87\x89\x01\x89a\x18\\V[\x95P\x95P\x95P\x95P\x95P\x95Pa\t\xBC\x86`@Q\x80`\xA0\x01`@R\x80\x88\x81R` \x01\x87\x81R` \x01\x86\x81R` \x01\x85\x81R` \x01\x84\x81RPa\x0C+V[PPPPPPPPPV[`\0\x80\x84\x84\x84`@Q` \x01a\t\xDF\x93\x92\x91\x90a\x195V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`\0\x81\x15\x80a\n.WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x80\x82`\0\x01QQ`0\x14\x80\x15a\nRWP\x82` \x01QQ`0\x14[\x80\x15a\ncWP\x82`@\x01QQ`0\x14[a\n\x80W`@QcBc\r\xDB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x01Q\x84` \x01Q\x85`@\x01Q`@Q` \x01a\n\xA3\x93\x92\x91\x90a\x195V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90a\n\xD5\x90a\x17@V[\x15\x90Pa\n\xE6W\x93`\0\x93P\x91PPV[`@\x80Q``\x81\x01\x82R\x85Q\x81R` \x80\x87\x01Q\x81\x83\x01R\x86\x83\x01Q\x82\x84\x01R`\0\x84\x81R\x90\x81\x90R\x91\x90\x91 \x81Q\x81\x90a\x0B!\x90\x82a\x19\xC8V[P` \x82\x01Q`\x01\x82\x01\x90a\x0B6\x90\x82a\x19\xC8V[P`@\x82\x01Q`\x02\x82\x01\x90a\x0BK\x90\x82a\x19\xC8V[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x85`\0\x01Q\x86` \x01Q\x87`@\x01Q`@Qa\x0B\x8F\x93\x92\x91\x90a\x1A\x87V[`@Q\x80\x91\x03\x90\xA2\x93`\x01\x93P\x91PPV[`\0\x81\x81R`\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x81 T`\xFF\x16\x15a\x0B\xCBWP`\0a\x06\xFDV[`\0\x82\x81R`\x02` \x90\x81R`@\x80\x83 \x86\x84R\x82R\x91\x82\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U\x90Q\x83\x81R\x84\x91\x7F\xBF\xB1&\xE7B\xCE\x96\x18\xB5\xBFkT\x83\x99\x16\x92o\\9wR\xBE5@L\x83h\xDD\xCFh\xC1\n\x91\x01`@Q\x80\x91\x03\x90\xA2P`\x01\x92\x91PPV[`\0\x80\x82` \x01Q\x83`@\x01Q\x84``\x01Q`@Q` \x01a\x0CO\x93\x92\x91\x90a\x195V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90a\x0C\x81\x90a\x17@V[\x90P`\0\x03a\x0C\xA3W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0C\xCD\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba\x1A\xCAV[a\x03\xE8\x84`\x80\x01Qa\x0C\xDF\x91\x90a\x1A\xEBV[\x11a\x0C\xFDW`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\rK\x90\x87\x90\x87\x90`\x04\x01a\x1B\rV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\rcW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\rwW=`\0\x80>=`\0\xFD[PPPP`\0a\r\x8A\x84`\0\x01Qa\x0E\xF4V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01` R`@\x90 T\x90\x91P\x15a\r\xB6W`\0\x92PPPa\x06\xFDV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\x01` R`@\x90\x81\x90 \x84\x90U\x85Q\x90Q\x84\x92\x91\x7F\xBBMd(\xD5>\xA9$\xD9K\xE0H\x84s\xDE\xB5\xC0\xA7\x0C\x97\x9F\x84w\xD2\x19\x11\xCB[\xEE@7\xFD\x91a\x0E\x06\x91\x90a\x14\x85V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0\x80`\0\x80a\x0E)\x86\x86a\x0F$V[\x92P\x92P\x92Pa\x0E9\x82\x82a\x0FqV[P\x90\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x01` R`@\x90 T\x80a\x0EzW`@Qc=\xD8\xCA\x95`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81R` \x81\x90R`@\x90 \x80Ta\x0E\x93\x90a\x17@V[\x90P`\0\x03a\x0E\xB5W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82\x81R`\x02` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x90 T`\xFF\x16a\x0E\xEFW`@QcHf%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[`\0\x81Q`@\x14a\x0F\x18W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80`\0\x83Q`A\x03a\x0F^W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa\x0FP\x88\x82\x85\x85a\x10*V[\x95P\x95P\x95PPPPa\x0FjV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15a\x0F\x85Wa\x0F\x85a\x1B\xA1V[\x03a\x0F\x8EWPPV[`\x01\x82`\x03\x81\x11\x15a\x0F\xA2Wa\x0F\xA2a\x1B\xA1V[\x03a\x0F\xC0W`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a\x0F\xD4Wa\x0F\xD4a\x1B\xA1V[\x03a\x0F\xF5W`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x03\xAEV[`\x03\x82`\x03\x81\x11\x15a\x10\tWa\x10\ta\x1B\xA1V[\x03a\x03+W`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x03\xAEV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a\x10eWP`\0\x91P`\x03\x90P\x82a\x10\xEFV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x10\xB9W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a\x10\xE5WP`\0\x92P`\x01\x91P\x82\x90Pa\x10\xEFV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[`\0` \x82\x84\x03\x12\x15a\x11\x0BW`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x07\x0FW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x11ZWa\x11Za\x11\"V[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x11\x88Wa\x11\x88a\x11\"V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x11\xA9Wa\x11\xA9a\x11\"V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x11\xC8W`\0\x80\xFD[\x815a\x11\xDBa\x11\xD6\x82a\x11\x90V[a\x11`V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x11\xF0W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x12\x1FW`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x125W`\0\x80\xFD[a\x12A\x84\x82\x85\x01a\x11\xB7V[\x94\x93PPPPV[`\0\x80` \x83\x85\x03\x12\x15a\x12\\W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x12sW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x12\x87W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x12\x96W`\0\x80\xFD[\x86` \x82\x85\x01\x01\x11\x15a\x12\xA8W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x12\xCCW`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x12\xEEW\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\xD6V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x13\x0F\x81` \x86\x01` \x86\x01a\x12\xD3V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x13?`\x80\x84\x01\x82a\x12\xF7V[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x13]\x83\x83a\x12\xF7V[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x13{\x82\x82a\x12\xF7V[\x95\x94PPPPPV[`\0\x82`\x1F\x83\x01\x12a\x13\x95W`\0\x80\xFD[\x815` `\x01`\x01`@\x1B\x03\x80\x83\x11\x15a\x13\xB1Wa\x13\xB1a\x11\"V[\x82`\x05\x1Ba\x13\xC0\x83\x82\x01a\x11`V[\x93\x84R\x85\x81\x01\x83\x01\x93\x83\x81\x01\x90\x88\x86\x11\x15a\x13\xDAW`\0\x80\xFD[\x84\x88\x01\x92P[\x85\x83\x10\x15a\x14\x16W\x825\x84\x81\x11\x15a\x13\xF8W`\0\x80\x81\xFD[a\x14\x06\x8A\x87\x83\x8C\x01\x01a\x11\xB7V[\x83RP\x91\x84\x01\x91\x90\x84\x01\x90a\x13\xE0V[\x98\x97PPPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x145W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x14LW`\0\x80\xFD[a\x14X\x86\x83\x87\x01a\x13\x84V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x14nW`\0\x80\xFD[Pa\x14{\x85\x82\x86\x01a\x11\xB7V[\x91PP\x92P\x92\x90PV[` \x81R`\0a\x07\x0F` \x83\x01\x84a\x12\xF7V[`\0\x80`@\x83\x85\x03\x12\x15a\x14\xABW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0\x80`@\x83\x85\x03\x12\x15a\x14\xCDW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x14\xE4W`\0\x80\xFD[a\x14\xF0\x86\x83\x87\x01a\x11\xB7V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x15\x06W`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x15\x1AW`\0\x80\xFD[a\x15\"a\x118V[\x825\x82\x81\x11\x15a\x151W`\0\x80\xFD[a\x15=\x88\x82\x86\x01a\x11\xB7V[\x82RP` \x83\x015\x82\x81\x11\x15a\x15RW`\0\x80\xFD[a\x15^\x88\x82\x86\x01a\x11\xB7V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x15vW`\0\x80\xFD[a\x15\x82\x88\x82\x86\x01a\x11\xB7V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\x15\x9AW`\0\x80\xFD[a\x15\xA6\x88\x82\x86\x01a\x11\xB7V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x15\xD8W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x15\xEFW`\0\x80\xFD[a\x15\xFB\x87\x83\x88\x01a\x11\xB7V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x16\x11W`\0\x80\xFD[a\x16\x1D\x87\x83\x88\x01a\x11\xB7V[\x93P`@\x86\x015\x91P\x80\x82\x11\x15a\x163W`\0\x80\xFD[Pa\x16@\x86\x82\x87\x01a\x11\xB7V[\x91PP\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x16\\W`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x16rW`\0\x80\xFD[a\x12A\x84\x82\x85\x01a\x13\x84V[`\0\x82`\x1F\x83\x01\x12a\x16\x8FW`\0\x80\xFD[\x81Qa\x16\x9Da\x11\xD6\x82a\x11\x90V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x16\xB2W`\0\x80\xFD[a\x12A\x82` \x83\x01` \x87\x01a\x12\xD3V[`\0\x80`\0``\x84\x86\x03\x12\x15a\x16\xD8W`\0\x80\xFD[\x83Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x16\xEFW`\0\x80\xFD[a\x16\xFB\x87\x83\x88\x01a\x16~V[\x94P` \x86\x01Q\x91P\x80\x82\x11\x15a\x17\x11W`\0\x80\xFD[a\x17\x1D\x87\x83\x88\x01a\x16~V[\x93P`@\x86\x01Q\x91P\x80\x82\x11\x15a\x173W`\0\x80\xFD[Pa\x16@\x86\x82\x87\x01a\x16~V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x17TW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x17tWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`@\x81R`\0a\x17\x8D`@\x83\x01\x85a\x12\xF7V[\x82\x81\x03` \x84\x01Ra\x13{\x81\x85a\x12\xF7V[`\0\x80`@\x83\x85\x03\x12\x15a\x17\xB2W`\0\x80\xFD[\x82Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x17\xC9W`\0\x80\xFD[a\x17\xD5\x86\x83\x87\x01a\x16~V[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a\x17\xEBW`\0\x80\xFD[Pa\x14{\x85\x82\x86\x01a\x16~V[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15a\x18OW`?\x19\x88\x86\x03\x01\x84Ra\x18=\x85\x83Qa\x12\xF7V[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x18!V[P\x92\x97\x96PPPPPPPV[`\0\x80`\0\x80`\0\x80`\xC0\x87\x89\x03\x12\x15a\x18uW`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x18\x8CW`\0\x80\xFD[a\x18\x98\x8A\x83\x8B\x01a\x11\xB7V[\x97P` \x89\x015\x91P\x80\x82\x11\x15a\x18\xAEW`\0\x80\xFD[a\x18\xBA\x8A\x83\x8B\x01a\x11\xB7V[\x96P`@\x89\x015\x91P\x80\x82\x11\x15a\x18\xD0W`\0\x80\xFD[a\x18\xDC\x8A\x83\x8B\x01a\x11\xB7V[\x95P``\x89\x015\x91P\x80\x82\x11\x15a\x18\xF2W`\0\x80\xFD[a\x18\xFE\x8A\x83\x8B\x01a\x11\xB7V[\x94P`\x80\x89\x015\x91P\x80\x82\x11\x15a\x19\x14W`\0\x80\xFD[Pa\x19!\x89\x82\x8A\x01a\x11\xB7V[\x92PP`\xA0\x87\x015\x90P\x92\x95P\x92\x95P\x92\x95V[`\0\x84Qa\x19G\x81\x84` \x89\x01a\x12\xD3V[\x84Q\x90\x83\x01\x90a\x19[\x81\x83` \x89\x01a\x12\xD3V[\x84Q\x91\x01\x90a\x19n\x81\x83` \x88\x01a\x12\xD3V[\x01\x95\x94PPPPPV[`\x1F\x82\x11\x15a\x0E\xEFW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x19\xA1WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x19\xC0W\x82\x81U`\x01\x01a\x19\xADV[PPPPPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\x19\xE1Wa\x19\xE1a\x11\"V[a\x19\xF5\x81a\x19\xEF\x84Ta\x17@V[\x84a\x19xV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x1A*W`\0\x84\x15a\x1A\x12WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x19\xC0V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\x1AYW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x1A:V[P\x85\x82\x10\x15a\x1AwW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[``\x81R`\0a\x1A\x9A``\x83\x01\x86a\x12\xF7V[\x82\x81\x03` \x84\x01Ra\x1A\xAC\x81\x86a\x12\xF7V[\x90P\x82\x81\x03`@\x84\x01Ra\x1A\xC0\x81\x85a\x12\xF7V[\x96\x95PPPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x06\xFDWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\x1B\x08WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a\x1B `@\x83\x01\x85a\x12\xF7V[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra\x1B;`\xA0\x83\x01\x82a\x12\xF7V[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra\x1BT\x82\x82a\x12\xF7V[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra\x1Bn\x82\x82a\x12\xF7V[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra\x1B\x88\x82\x82a\x12\xF7V[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \x7F\x1F\xBC\xA7\x14O\xDBg\xA3\x85\xFB\xD9\xBAKdN\x83\xC7\x84\x86P\xA9\x85\xC1\xE2\xD5\\\xABBX\xAE&dsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static TEE_VERIFIER_WRAPPER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct tee_verifier_wrapper(::ethers::contract::Contract); - impl ::core::clone::Clone for tee_verifier_wrapper { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for tee_verifier_wrapper { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for tee_verifier_wrapper { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for tee_verifier_wrapper { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(tee_verifier_wrapper)) - .field(&self.address()) - .finish() - } - } - impl tee_verifier_wrapper { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - TEE_VERIFIER_WRAPPER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - TEE_VERIFIER_WRAPPER_ABI.clone(), - TEE_VERIFIER_WRAPPER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `ATTESTATION_MAX_AGE` (0x9aec990e) function - pub fn attestation_max_age( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([154, 236, 153, 14], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `ATTESTATION_VERIFIER` (0xcd79f906) function - pub fn attestation_verifier( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([205, 121, 249, 6], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `addEnclaveImageToFamily` (0x1084d65c) function - pub fn add_enclave_image_to_family( - &self, - prover_pcr: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([16, 132, 214, 92], prover_pcr) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `admin` (0xf851a440) function - pub fn admin( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([248, 81, 164, 64], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `checkSampleInputsAndProof` (0x10a54279) function - pub fn check_sample_inputs_and_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([16, 165, 66, 121], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeInputAndProofForVerification` (0x5be559af) function - pub fn encode_input_and_proof_for_verification( - &self, - inputs: ::std::vec::Vec<::std::string::String>, - proof: ::std::string::String, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([91, 229, 89, 175], (inputs, proof)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeInputs` (0xf6ea9962) function - pub fn encode_inputs( - &self, - inputs: ::std::vec::Vec<::std::string::String>, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([246, 234, 153, 98], inputs) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeProof` (0x81fd3f57) function - pub fn encode_proof( - &self, - proof: ::std::string::String, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([129, 253, 63, 87], proof) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `getVerifiedKey` (0x01d58fa3) function - pub fn get_verified_key( - &self, - key: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([1, 213, 143, 163], key) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `getWhitelistedImage` (0x2410f6ba) function - pub fn get_whitelisted_image( - &self, - image_id: [u8; 32], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([36, 16, 246, 186], image_id) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `isImageInFamily` (0x6b5b21a6) function - pub fn is_image_in_family( - &self, - image_id: [u8; 32], - family: [u8; 32], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([107, 91, 33, 166], (image_id, family)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleInput` (0x7d8ad42b) function - pub fn sample_input( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([125, 138, 212, 43], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleProof` (0xa76c0551) function - pub fn sample_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([167, 108, 5, 81], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0x8e760afe) function - pub fn verify( - &self, - encoded_data: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([142, 118, 10, 254], encoded_data) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyAgainstSampleInputs` (0x02f77d19) function - pub fn verify_against_sample_inputs( - &self, - p0: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([2, 247, 125, 25], p0) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyEnclaveKey` (0x75847b84) function - pub fn verify_enclave_key( - &self, - signature: ::ethers::core::types::Bytes, - attestation: Attestation, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([117, 132, 123, 132], (signature, attestation)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyInputs` (0xa6dfbc7f) function - pub fn verify_inputs( - &self, - p0: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([166, 223, 188, 127], p0) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyKey` (0x0707591f) function - pub fn verify_key( - &self, - attestation_data: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([7, 7, 89, 31], attestation_data) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyProofForTeeVerifier` (0xd2e89832) function - pub fn verify_proof_for_tee_verifier( - &self, - prover_data: ::ethers::core::types::Bytes, - proof_data: ::ethers::core::types::Bytes, - proof_signature: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash( - [210, 232, 152, 50], - (prover_data, proof_data, proof_signature), - ) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `EnclaveImageAddedToFamily` event - pub fn enclave_image_added_to_family_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - EnclaveImageAddedToFamilyFilter, - > { - self.0.event() - } - ///Gets the contract's `EnclaveImageRemovedFromFamily` event - pub fn enclave_image_removed_from_family_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - EnclaveImageRemovedFromFamilyFilter, - > { - self.0.event() - } - ///Gets the contract's `EnclaveImageRevoked` event - pub fn enclave_image_revoked_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveImageRevokedFilter> - { - self.0.event() - } - ///Gets the contract's `EnclaveImageWhitelisted` event - pub fn enclave_image_whitelisted_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - EnclaveImageWhitelistedFilter, - > { - self.0.event() - } - ///Gets the contract's `EnclaveKeyRevoked` event - pub fn enclave_key_revoked_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveKeyRevokedFilter> - { - self.0.event() - } - ///Gets the contract's `EnclaveKeyVerified` event - pub fn enclave_key_verified_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveKeyVerifiedFilter> - { - self.0.event() - } - ///Gets the contract's `EnclaveKeyWhitelisted` event - pub fn enclave_key_whitelisted_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, EnclaveKeyWhitelistedFilter> - { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, tee_verifier_wrapperEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> - for tee_verifier_wrapper - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `AttestationAutherAttestationTooOld` with signature `AttestationAutherAttestationTooOld()` and selector `0x19605e0a` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherAttestationTooOld", - abi = "AttestationAutherAttestationTooOld()" - )] - pub struct AttestationAutherAttestationTooOld; - ///Custom Error type `AttestationAutherImageNotInFamily` with signature `AttestationAutherImageNotInFamily()` and selector `0x90cc4b02` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherImageNotInFamily", - abi = "AttestationAutherImageNotInFamily()" - )] - pub struct AttestationAutherImageNotInFamily; - ///Custom Error type `AttestationAutherImageNotWhitelisted` with signature `AttestationAutherImageNotWhitelisted()` and selector `0x38c4ac16` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherImageNotWhitelisted", - abi = "AttestationAutherImageNotWhitelisted()" - )] - pub struct AttestationAutherImageNotWhitelisted; - ///Custom Error type `AttestationAutherKeyNotVerified` with signature `AttestationAutherKeyNotVerified()` and selector `0x3dd8ca95` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherKeyNotVerified", - abi = "AttestationAutherKeyNotVerified()" - )] - pub struct AttestationAutherKeyNotVerified; - ///Custom Error type `AttestationAutherMismatchedLengths` with signature `AttestationAutherMismatchedLengths()` and selector `0xd30d02c5` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherMismatchedLengths", - abi = "AttestationAutherMismatchedLengths()" - )] - pub struct AttestationAutherMismatchedLengths; - ///Custom Error type `AttestationAutherPCRsInvalid` with signature `AttestationAutherPCRsInvalid()` and selector `0x84c61bb6` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherPCRsInvalid", - abi = "AttestationAutherPCRsInvalid()" - )] - pub struct AttestationAutherPCRsInvalid; - ///Custom Error type `AttestationAutherPubkeyLengthInvalid` with signature `AttestationAutherPubkeyLengthInvalid()` and selector `0xbd9c80c1` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "AttestationAutherPubkeyLengthInvalid", - abi = "AttestationAutherPubkeyLengthInvalid()" - )] - pub struct AttestationAutherPubkeyLengthInvalid; - ///Custom Error type `ECDSAInvalidSignature` with signature `ECDSAInvalidSignature()` and selector `0xf645eedf` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ECDSAInvalidSignature", abi = "ECDSAInvalidSignature()")] - pub struct ECDSAInvalidSignature; - ///Custom Error type `ECDSAInvalidSignatureLength` with signature `ECDSAInvalidSignatureLength(uint256)` and selector `0xfce698f7` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ECDSAInvalidSignatureLength", - abi = "ECDSAInvalidSignatureLength(uint256)" - )] - pub struct ECDSAInvalidSignatureLength { - pub length: ::ethers::core::types::U256, - } - ///Custom Error type `ECDSAInvalidSignatureS` with signature `ECDSAInvalidSignatureS(bytes32)` and selector `0xd78bce0c` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ECDSAInvalidSignatureS", - abi = "ECDSAInvalidSignatureS(bytes32)" - )] - pub struct ECDSAInvalidSignatureS { - pub s: [u8; 32], - } - ///Custom Error type `InferredImageIdIsDifferent` with signature `InferredImageIdIsDifferent()` and selector `0x18b43556` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "InferredImageIdIsDifferent", - abi = "InferredImageIdIsDifferent()" - )] - pub struct InferredImageIdIsDifferent; - ///Custom Error type `InvalidEnclaveSignature` with signature `InvalidEnclaveSignature(address)` and selector `0x2880cb7f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "InvalidEnclaveSignature", - abi = "InvalidEnclaveSignature(address)" - )] - pub struct InvalidEnclaveSignature { - pub invalid_signer_address: ::ethers::core::types::Address, - } - ///Custom Error type `InvalidInputs` with signature `InvalidInputs()` and selector `0xf34cfab6` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "InvalidInputs", abi = "InvalidInputs()")] - pub struct InvalidInputs; - ///Custom Error type `MustBeAnEnclave` with signature `MustBeAnEnclave(bytes32)` and selector `0x06356cb3` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "MustBeAnEnclave", abi = "MustBeAnEnclave(bytes32)")] - pub struct MustBeAnEnclave { - pub image_id: [u8; 32], - } - ///Custom Error type `OnlyAdminCanCall` with signature `OnlyAdminCanCall()` and selector `0xa7f8eed6` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "OnlyAdminCanCall", abi = "OnlyAdminCanCall()")] - pub struct OnlyAdminCanCall; - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum tee_verifier_wrapperErrors { - AttestationAutherAttestationTooOld(AttestationAutherAttestationTooOld), - AttestationAutherImageNotInFamily(AttestationAutherImageNotInFamily), - AttestationAutherImageNotWhitelisted(AttestationAutherImageNotWhitelisted), - AttestationAutherKeyNotVerified(AttestationAutherKeyNotVerified), - AttestationAutherMismatchedLengths(AttestationAutherMismatchedLengths), - AttestationAutherPCRsInvalid(AttestationAutherPCRsInvalid), - AttestationAutherPubkeyLengthInvalid(AttestationAutherPubkeyLengthInvalid), - ECDSAInvalidSignature(ECDSAInvalidSignature), - ECDSAInvalidSignatureLength(ECDSAInvalidSignatureLength), - ECDSAInvalidSignatureS(ECDSAInvalidSignatureS), - InferredImageIdIsDifferent(InferredImageIdIsDifferent), - InvalidEnclaveSignature(InvalidEnclaveSignature), - InvalidInputs(InvalidInputs), - MustBeAnEnclave(MustBeAnEnclave), - OnlyAdminCanCall(OnlyAdminCanCall), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for tee_verifier_wrapperErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationAutherAttestationTooOld(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationAutherImageNotInFamily(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::AttestationAutherImageNotWhitelisted(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationAutherKeyNotVerified(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationAutherMismatchedLengths(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationAutherPCRsInvalid(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::AttestationAutherPubkeyLengthInvalid(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ECDSAInvalidSignature(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ECDSAInvalidSignatureLength(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ECDSAInvalidSignatureS(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InferredImageIdIsDifferent(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InvalidEnclaveSignature(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::InvalidInputs(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::MustBeAnEnclave(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::OnlyAdminCanCall(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for tee_verifier_wrapperErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::AttestationAutherAttestationTooOld(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherImageNotInFamily(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherImageNotWhitelisted(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherKeyNotVerified(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherMismatchedLengths(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherPCRsInvalid(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AttestationAutherPubkeyLengthInvalid(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ECDSAInvalidSignature(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ECDSAInvalidSignatureLength(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ECDSAInvalidSignatureS(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::InferredImageIdIsDifferent(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::InvalidEnclaveSignature(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::InvalidInputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::MustBeAnEnclave(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::OnlyAdminCanCall(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for tee_verifier_wrapperErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for tee_verifier_wrapperErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::AttestationAutherAttestationTooOld(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherImageNotInFamily(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherImageNotWhitelisted(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherKeyNotVerified(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherMismatchedLengths(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherPCRsInvalid(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::AttestationAutherPubkeyLengthInvalid(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ECDSAInvalidSignature(element) => ::core::fmt::Display::fmt(element, f), - Self::ECDSAInvalidSignatureLength(element) => ::core::fmt::Display::fmt(element, f), - Self::ECDSAInvalidSignatureS(element) => ::core::fmt::Display::fmt(element, f), - Self::InferredImageIdIsDifferent(element) => ::core::fmt::Display::fmt(element, f), - Self::InvalidEnclaveSignature(element) => ::core::fmt::Display::fmt(element, f), - Self::InvalidInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::MustBeAnEnclave(element) => ::core::fmt::Display::fmt(element, f), - Self::OnlyAdminCanCall(element) => ::core::fmt::Display::fmt(element, f), - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for tee_verifier_wrapperErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: AttestationAutherAttestationTooOld) -> Self { - Self::AttestationAutherAttestationTooOld(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: AttestationAutherImageNotInFamily) -> Self { - Self::AttestationAutherImageNotInFamily(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: AttestationAutherImageNotWhitelisted) -> Self { - Self::AttestationAutherImageNotWhitelisted(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: AttestationAutherKeyNotVerified) -> Self { - Self::AttestationAutherKeyNotVerified(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: AttestationAutherMismatchedLengths) -> Self { - Self::AttestationAutherMismatchedLengths(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: AttestationAutherPCRsInvalid) -> Self { - Self::AttestationAutherPCRsInvalid(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: AttestationAutherPubkeyLengthInvalid) -> Self { - Self::AttestationAutherPubkeyLengthInvalid(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: ECDSAInvalidSignature) -> Self { - Self::ECDSAInvalidSignature(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: ECDSAInvalidSignatureLength) -> Self { - Self::ECDSAInvalidSignatureLength(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: ECDSAInvalidSignatureS) -> Self { - Self::ECDSAInvalidSignatureS(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: InferredImageIdIsDifferent) -> Self { - Self::InferredImageIdIsDifferent(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: InvalidEnclaveSignature) -> Self { - Self::InvalidEnclaveSignature(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: InvalidInputs) -> Self { - Self::InvalidInputs(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: MustBeAnEnclave) -> Self { - Self::MustBeAnEnclave(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperErrors { - fn from(value: OnlyAdminCanCall) -> Self { - Self::OnlyAdminCanCall(value) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveImageAddedToFamily", - abi = "EnclaveImageAddedToFamily(bytes32,bytes32)" - )] - pub struct EnclaveImageAddedToFamilyFilter { - #[ethevent(indexed)] - pub image_id: [u8; 32], - pub family: [u8; 32], - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveImageRemovedFromFamily", - abi = "EnclaveImageRemovedFromFamily(bytes32,bytes32)" - )] - pub struct EnclaveImageRemovedFromFamilyFilter { - #[ethevent(indexed)] - pub image_id: [u8; 32], - pub family: [u8; 32], - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "EnclaveImageRevoked", abi = "EnclaveImageRevoked(bytes32)")] - pub struct EnclaveImageRevokedFilter { - #[ethevent(indexed)] - pub image_id: [u8; 32], - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveImageWhitelisted", - abi = "EnclaveImageWhitelisted(bytes32,bytes,bytes,bytes)" - )] - pub struct EnclaveImageWhitelistedFilter { - #[ethevent(indexed)] - pub image_id: [u8; 32], - pub pcr0: ::ethers::core::types::Bytes, - pub pcr1: ::ethers::core::types::Bytes, - pub pcr2: ::ethers::core::types::Bytes, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "EnclaveKeyRevoked", abi = "EnclaveKeyRevoked(address)")] - pub struct EnclaveKeyRevokedFilter { - #[ethevent(indexed)] - pub enclave_address: ::ethers::core::types::Address, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveKeyVerified", - abi = "EnclaveKeyVerified(address,bytes32,bytes)" - )] - pub struct EnclaveKeyVerifiedFilter { - #[ethevent(indexed)] - pub enclave_address: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub image_id: [u8; 32], - pub enclave_pub_key: ::ethers::core::types::Bytes, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "EnclaveKeyWhitelisted", - abi = "EnclaveKeyWhitelisted(address,bytes32,bytes)" - )] - pub struct EnclaveKeyWhitelistedFilter { - #[ethevent(indexed)] - pub enclave_address: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub image_id: [u8; 32], - pub enclave_pub_key: ::ethers::core::types::Bytes, - } - ///Container type for all of the contract's events - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum tee_verifier_wrapperEvents { - EnclaveImageAddedToFamilyFilter(EnclaveImageAddedToFamilyFilter), - EnclaveImageRemovedFromFamilyFilter(EnclaveImageRemovedFromFamilyFilter), - EnclaveImageRevokedFilter(EnclaveImageRevokedFilter), - EnclaveImageWhitelistedFilter(EnclaveImageWhitelistedFilter), - EnclaveKeyRevokedFilter(EnclaveKeyRevokedFilter), - EnclaveKeyVerifiedFilter(EnclaveKeyVerifiedFilter), - EnclaveKeyWhitelistedFilter(EnclaveKeyWhitelistedFilter), - } - impl ::ethers::contract::EthLogDecode for tee_verifier_wrapperEvents { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = EnclaveImageAddedToFamilyFilter::decode_log(log) { - return Ok(tee_verifier_wrapperEvents::EnclaveImageAddedToFamilyFilter( - decoded, - )); - } - if let Ok(decoded) = EnclaveImageRemovedFromFamilyFilter::decode_log(log) { - return Ok( - tee_verifier_wrapperEvents::EnclaveImageRemovedFromFamilyFilter(decoded), - ); - } - if let Ok(decoded) = EnclaveImageRevokedFilter::decode_log(log) { - return Ok(tee_verifier_wrapperEvents::EnclaveImageRevokedFilter( - decoded, - )); - } - if let Ok(decoded) = EnclaveImageWhitelistedFilter::decode_log(log) { - return Ok(tee_verifier_wrapperEvents::EnclaveImageWhitelistedFilter( - decoded, - )); - } - if let Ok(decoded) = EnclaveKeyRevokedFilter::decode_log(log) { - return Ok(tee_verifier_wrapperEvents::EnclaveKeyRevokedFilter(decoded)); - } - if let Ok(decoded) = EnclaveKeyVerifiedFilter::decode_log(log) { - return Ok(tee_verifier_wrapperEvents::EnclaveKeyVerifiedFilter( - decoded, - )); - } - if let Ok(decoded) = EnclaveKeyWhitelistedFilter::decode_log(log) { - return Ok(tee_verifier_wrapperEvents::EnclaveKeyWhitelistedFilter( - decoded, - )); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for tee_verifier_wrapperEvents { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::EnclaveImageAddedToFamilyFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::EnclaveImageRemovedFromFamilyFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::EnclaveImageRevokedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::EnclaveImageWhitelistedFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::EnclaveKeyRevokedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::EnclaveKeyVerifiedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::EnclaveKeyWhitelistedFilter(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for tee_verifier_wrapperEvents { - fn from(value: EnclaveImageAddedToFamilyFilter) -> Self { - Self::EnclaveImageAddedToFamilyFilter(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperEvents { - fn from(value: EnclaveImageRemovedFromFamilyFilter) -> Self { - Self::EnclaveImageRemovedFromFamilyFilter(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperEvents { - fn from(value: EnclaveImageRevokedFilter) -> Self { - Self::EnclaveImageRevokedFilter(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperEvents { - fn from(value: EnclaveImageWhitelistedFilter) -> Self { - Self::EnclaveImageWhitelistedFilter(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperEvents { - fn from(value: EnclaveKeyRevokedFilter) -> Self { - Self::EnclaveKeyRevokedFilter(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperEvents { - fn from(value: EnclaveKeyVerifiedFilter) -> Self { - Self::EnclaveKeyVerifiedFilter(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperEvents { - fn from(value: EnclaveKeyWhitelistedFilter) -> Self { - Self::EnclaveKeyWhitelistedFilter(value) - } - } - ///Container type for all input parameters for the `ATTESTATION_MAX_AGE` function with signature `ATTESTATION_MAX_AGE()` and selector `0x9aec990e` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "ATTESTATION_MAX_AGE", abi = "ATTESTATION_MAX_AGE()")] - pub struct AttestationMaxAgeCall; - ///Container type for all input parameters for the `ATTESTATION_VERIFIER` function with signature `ATTESTATION_VERIFIER()` and selector `0xcd79f906` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "ATTESTATION_VERIFIER", abi = "ATTESTATION_VERIFIER()")] - pub struct AttestationVerifierCall; - ///Container type for all input parameters for the `addEnclaveImageToFamily` function with signature `addEnclaveImageToFamily(bytes)` and selector `0x1084d65c` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "addEnclaveImageToFamily", - abi = "addEnclaveImageToFamily(bytes)" - )] - pub struct AddEnclaveImageToFamilyCall { - pub prover_pcr: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `admin` function with signature `admin()` and selector `0xf851a440` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "admin", abi = "admin()")] - pub struct AdminCall; - ///Container type for all input parameters for the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "checkSampleInputsAndProof", - abi = "checkSampleInputsAndProof()" - )] - pub struct CheckSampleInputsAndProofCall; - ///Container type for all input parameters for the `encodeInputAndProofForVerification` function with signature `encodeInputAndProofForVerification(string[],string)` and selector `0x5be559af` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "encodeInputAndProofForVerification", - abi = "encodeInputAndProofForVerification(string[],string)" - )] - pub struct EncodeInputAndProofForVerificationCall { - pub inputs: ::std::vec::Vec<::std::string::String>, - pub proof: ::std::string::String, - } - ///Container type for all input parameters for the `encodeInputs` function with signature `encodeInputs(string[])` and selector `0xf6ea9962` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "encodeInputs", abi = "encodeInputs(string[])")] - pub struct EncodeInputsCall { - pub inputs: ::std::vec::Vec<::std::string::String>, - } - ///Container type for all input parameters for the `encodeProof` function with signature `encodeProof(string)` and selector `0x81fd3f57` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "encodeProof", abi = "encodeProof(string)")] - pub struct EncodeProofCall { - pub proof: ::std::string::String, - } - ///Container type for all input parameters for the `getVerifiedKey` function with signature `getVerifiedKey(address)` and selector `0x01d58fa3` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "getVerifiedKey", abi = "getVerifiedKey(address)")] - pub struct GetVerifiedKeyCall { - pub key: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `getWhitelistedImage` function with signature `getWhitelistedImage(bytes32)` and selector `0x2410f6ba` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "getWhitelistedImage", abi = "getWhitelistedImage(bytes32)")] - pub struct GetWhitelistedImageCall { - pub image_id: [u8; 32], - } - ///Container type for all input parameters for the `isImageInFamily` function with signature `isImageInFamily(bytes32,bytes32)` and selector `0x6b5b21a6` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "isImageInFamily", abi = "isImageInFamily(bytes32,bytes32)")] - pub struct IsImageInFamilyCall { - pub image_id: [u8; 32], - pub family: [u8; 32], - } - ///Container type for all input parameters for the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleInput", abi = "sampleInput()")] - pub struct SampleInputCall; - ///Container type for all input parameters for the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleProof", abi = "sampleProof()")] - pub struct SampleProofCall; - ///Container type for all input parameters for the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes)")] - pub struct VerifyCall { - pub encoded_data: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyAgainstSampleInputs", - abi = "verifyAgainstSampleInputs(bytes)" - )] - pub struct VerifyAgainstSampleInputsCall(pub ::ethers::core::types::Bytes); - ///Container type for all input parameters for the `verifyEnclaveKey` function with signature `verifyEnclaveKey(bytes,(bytes,bytes,bytes,bytes,uint256))` and selector `0x75847b84` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyEnclaveKey", - abi = "verifyEnclaveKey(bytes,(bytes,bytes,bytes,bytes,uint256))" - )] - pub struct VerifyEnclaveKeyCall { - pub signature: ::ethers::core::types::Bytes, - pub attestation: Attestation, - } - ///Container type for all input parameters for the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verifyInputs", abi = "verifyInputs(bytes)")] - pub struct VerifyInputsCall(pub ::ethers::core::types::Bytes); - ///Container type for all input parameters for the `verifyKey` function with signature `verifyKey(bytes)` and selector `0x0707591f` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verifyKey", abi = "verifyKey(bytes)")] - pub struct VerifyKeyCall { - pub attestation_data: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verifyProofForTeeVerifier` function with signature `verifyProofForTeeVerifier(bytes,bytes,bytes)` and selector `0xd2e89832` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyProofForTeeVerifier", - abi = "verifyProofForTeeVerifier(bytes,bytes,bytes)" - )] - pub struct VerifyProofForTeeVerifierCall { - pub prover_data: ::ethers::core::types::Bytes, - pub proof_data: ::ethers::core::types::Bytes, - pub proof_signature: ::ethers::core::types::Bytes, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum tee_verifier_wrapperCalls { - AttestationMaxAge(AttestationMaxAgeCall), - AttestationVerifier(AttestationVerifierCall), - AddEnclaveImageToFamily(AddEnclaveImageToFamilyCall), - Admin(AdminCall), - CheckSampleInputsAndProof(CheckSampleInputsAndProofCall), - EncodeInputAndProofForVerification(EncodeInputAndProofForVerificationCall), - EncodeInputs(EncodeInputsCall), - EncodeProof(EncodeProofCall), - GetVerifiedKey(GetVerifiedKeyCall), - GetWhitelistedImage(GetWhitelistedImageCall), - IsImageInFamily(IsImageInFamilyCall), - SampleInput(SampleInputCall), - SampleProof(SampleProofCall), - Verify(VerifyCall), - VerifyAgainstSampleInputs(VerifyAgainstSampleInputsCall), - VerifyEnclaveKey(VerifyEnclaveKeyCall), - VerifyInputs(VerifyInputsCall), - VerifyKey(VerifyKeyCall), - VerifyProofForTeeVerifier(VerifyProofForTeeVerifierCall), - } - impl ::ethers::core::abi::AbiDecode for tee_verifier_wrapperCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationMaxAge(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AttestationVerifier(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::AddEnclaveImageToFamily(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Admin(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::CheckSampleInputsAndProof(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::EncodeInputAndProofForVerification(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::EncodeInputs(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::EncodeProof(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::GetVerifiedKey(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::GetWhitelistedImage(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::IsImageInFamily(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleInput(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleProof(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyAgainstSampleInputs(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyEnclaveKey(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::VerifyInputs(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::VerifyKey(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyProofForTeeVerifier(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for tee_verifier_wrapperCalls { - fn encode(self) -> Vec { - match self { - Self::AttestationMaxAge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::AttestationVerifier(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::AddEnclaveImageToFamily(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Admin(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::CheckSampleInputsAndProof(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::EncodeInputAndProofForVerification(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::EncodeInputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::EncodeProof(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::GetVerifiedKey(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::GetWhitelistedImage(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::IsImageInFamily(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SampleInput(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SampleProof(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyAgainstSampleInputs(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::VerifyEnclaveKey(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyInputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyKey(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyProofForTeeVerifier(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - } - } - } - impl ::core::fmt::Display for tee_verifier_wrapperCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::AttestationMaxAge(element) => ::core::fmt::Display::fmt(element, f), - Self::AttestationVerifier(element) => ::core::fmt::Display::fmt(element, f), - Self::AddEnclaveImageToFamily(element) => ::core::fmt::Display::fmt(element, f), - Self::Admin(element) => ::core::fmt::Display::fmt(element, f), - Self::CheckSampleInputsAndProof(element) => ::core::fmt::Display::fmt(element, f), - Self::EncodeInputAndProofForVerification(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::EncodeInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::EncodeProof(element) => ::core::fmt::Display::fmt(element, f), - Self::GetVerifiedKey(element) => ::core::fmt::Display::fmt(element, f), - Self::GetWhitelistedImage(element) => ::core::fmt::Display::fmt(element, f), - Self::IsImageInFamily(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleInput(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleProof(element) => ::core::fmt::Display::fmt(element, f), - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyAgainstSampleInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyEnclaveKey(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyKey(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyProofForTeeVerifier(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: AttestationMaxAgeCall) -> Self { - Self::AttestationMaxAge(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: AttestationVerifierCall) -> Self { - Self::AttestationVerifier(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: AddEnclaveImageToFamilyCall) -> Self { - Self::AddEnclaveImageToFamily(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: AdminCall) -> Self { - Self::Admin(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: CheckSampleInputsAndProofCall) -> Self { - Self::CheckSampleInputsAndProof(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: EncodeInputAndProofForVerificationCall) -> Self { - Self::EncodeInputAndProofForVerification(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: EncodeInputsCall) -> Self { - Self::EncodeInputs(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: EncodeProofCall) -> Self { - Self::EncodeProof(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: GetVerifiedKeyCall) -> Self { - Self::GetVerifiedKey(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: GetWhitelistedImageCall) -> Self { - Self::GetWhitelistedImage(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: IsImageInFamilyCall) -> Self { - Self::IsImageInFamily(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: SampleInputCall) -> Self { - Self::SampleInput(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: SampleProofCall) -> Self { - Self::SampleProof(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: VerifyAgainstSampleInputsCall) -> Self { - Self::VerifyAgainstSampleInputs(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: VerifyEnclaveKeyCall) -> Self { - Self::VerifyEnclaveKey(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: VerifyInputsCall) -> Self { - Self::VerifyInputs(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: VerifyKeyCall) -> Self { - Self::VerifyKey(value) - } - } - impl ::core::convert::From for tee_verifier_wrapperCalls { - fn from(value: VerifyProofForTeeVerifierCall) -> Self { - Self::VerifyProofForTeeVerifier(value) - } - } - ///Container type for all return fields from the `ATTESTATION_MAX_AGE` function with signature `ATTESTATION_MAX_AGE()` and selector `0x9aec990e` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct AttestationMaxAgeReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `ATTESTATION_VERIFIER` function with signature `ATTESTATION_VERIFIER()` and selector `0xcd79f906` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct AttestationVerifierReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `admin` function with signature `admin()` and selector `0xf851a440` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct AdminReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct CheckSampleInputsAndProofReturn(pub bool); - ///Container type for all return fields from the `encodeInputAndProofForVerification` function with signature `encodeInputAndProofForVerification(string[],string)` and selector `0x5be559af` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeInputAndProofForVerificationReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `encodeInputs` function with signature `encodeInputs(string[])` and selector `0xf6ea9962` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeInputsReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `encodeProof` function with signature `encodeProof(string)` and selector `0x81fd3f57` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeProofReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `getVerifiedKey` function with signature `getVerifiedKey(address)` and selector `0x01d58fa3` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct GetVerifiedKeyReturn(pub [u8; 32]); - ///Container type for all return fields from the `getWhitelistedImage` function with signature `getWhitelistedImage(bytes32)` and selector `0x2410f6ba` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct GetWhitelistedImageReturn(pub EnclaveImage); - ///Container type for all return fields from the `isImageInFamily` function with signature `isImageInFamily(bytes32,bytes32)` and selector `0x6b5b21a6` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct IsImageInFamilyReturn(pub bool); - ///Container type for all return fields from the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleInputReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleProofReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); - ///Container type for all return fields from the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyAgainstSampleInputsReturn(pub bool); - ///Container type for all return fields from the `verifyEnclaveKey` function with signature `verifyEnclaveKey(bytes,(bytes,bytes,bytes,bytes,uint256))` and selector `0x75847b84` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyEnclaveKeyReturn(pub bool); - ///Container type for all return fields from the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyInputsReturn(pub bool); - ///Container type for all return fields from the `verifyProofForTeeVerifier` function with signature `verifyProofForTeeVerifier(bytes,bytes,bytes)` and selector `0xd2e89832` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyProofForTeeVerifierReturn(pub bool); -} diff --git a/bindings/src/tee_verifier_wrapper_factory.rs b/bindings/src/tee_verifier_wrapper_factory.rs deleted file mode 100644 index a0805ef..0000000 --- a/bindings/src/tee_verifier_wrapper_factory.rs +++ /dev/null @@ -1,263 +0,0 @@ -pub use tee_verifier_wrapper_factory::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod tee_verifier_wrapper_factory { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("create_tee_verifier_wrapper"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("create_tee_verifier_wrapper",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("admin"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_av"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IAttestationVerifier",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_proverPcrs"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Bytes, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes[]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("a"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract tee_verifier_wrapper",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - )]), - events: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("TeeVerifierWrapperCreated"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("TeeVerifierWrapperCreated",), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("a"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - },], - anonymous: false, - },], - )]), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static TEE_VERIFIER_WRAPPER_FACTORY_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa'\xBA\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`\x046\x10b\0\0.W`\x005`\xE0\x1C\x80c\xBF\xC7\xE9\xE2\x14b\0\x003W[`\0\x80\xFD[b\0\0Jb\0\0D6`\x04b\0\x01\x15V[b\0\0fV[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[`\0\x84\x84\x84\x84`@Qb\0\0z\x90b\0\0\xEEV[b\0\0\x89\x94\x93\x92\x91\x90b\0\x01\xDCV[`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15b\0\0\xA6W=`\0\x80>=`\0\xFD[P`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x90\x91P\x7FP\x1C\x9E\x95\xD3\x12G\xA27\x10\xAB\xE3\n\xF4A\x87\x10\x92q\x8A\x10`\xBC\x91\xAE\x07\x19\x12\xEEg=f\x90` \x01`@Q\x80\x91\x03\x90\xA1\x94\x93PPPPV[a$\xE6\x80b\0\x02\x9F\x839\x01\x90V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01\x12W`\0\x80\xFD[PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15b\0\x01,W`\0\x80\xFD[\x845b\0\x019\x81b\0\0\xFCV[\x93P` \x85\x015b\0\x01K\x81b\0\0\xFCV[\x92P`@\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15b\0\x01iW`\0\x80\xFD[\x81\x87\x01\x91P\x87`\x1F\x83\x01\x12b\0\x01~W`\0\x80\xFD[\x815\x81\x81\x11\x15b\0\x01\x8EW`\0\x80\xFD[\x88` \x82`\x05\x1B\x85\x01\x01\x11\x15b\0\x01\xA4W`\0\x80\xFD[\x95\x98\x94\x97PP` \x01\x94PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`\x01`\x01`\xA0\x1B\x03\x85\x81\x16\x82R\x84\x16` \x80\x83\x01\x91\x90\x91R```@\x83\x01\x81\x90R\x82\x01\x83\x90R`\0\x90`\x80`\x05\x85\x90\x1B\x84\x01\x81\x01\x91\x90\x84\x01\x90\x86\x84[\x87\x81\x10\x15b\0\x02\x8FW\x86\x85\x03`\x7F\x19\x01\x84R\x8156\x8A\x90\x03`\x1E\x19\x01\x81\x12b\0\x02@W`\0\x80\xFD[\x89\x01\x83\x81\x01\x905g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15b\0\x02]W`\0\x80\xFD[\x806\x03\x82\x13\x15b\0\x02mW`\0\x80\xFD[b\0\x02z\x87\x82\x84b\0\x01\xB3V[\x96PPP\x92\x82\x01\x92\x90\x82\x01\x90`\x01\x01b\0\x02\x18V[P\x92\x99\x98PPPPPPPPPV\xFE`\xC0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0$\xE68\x03\x80b\0$\xE6\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x05\x03V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\x80Ra\xEA``\xA0R`\0[\x81Q\x81\x10\x15b\0\x01cW`\0\x80`\0\x84\x84\x81Q\x81\x10b\0\0nWb\0\0nb\0\x06\x01V[` \x02` \x01\x01Q\x80` \x01\x90Q\x81\x01\x90b\0\0\x8B\x91\x90b\0\x06\x17V[\x91\x94P\x92P\x90P`\0b\0\0\xA1\x84\x84\x84b\0\x01\x8DV[\x90Pb\0\0\xAE\x81b\0\x01\xC8V[b\0\0\xD3W`@Qc\x065l\xB3`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01`@Q\x80\x91\x03\x90\xFD[`\0b\0\x01\0`@Q\x80``\x01`@R\x80\x87\x81R` \x01\x86\x81R` \x01\x85\x81RPb\0\x01\xFE` \x1B` \x1CV[P\x90P\x81\x81\x14b\0\x01$W`@Qc\x0CZ\x1A\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[b\0\x01P\x82\x7F+t\xD9\x9C\\@\x12=5\xC0\xFEN\xC1\xBCsj1\xA8\x0BpQr\x11\x93\x11\x8D\xC1Q~\\y?b\0\x03zV[PP`\x01\x90\x94\x01\x93Pb\0\0J\x92PPPV[PP`\x05\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x92\x90\x92\x17\x90\x91UPb\0\x08\xC5V[`\0\x80\x84\x84\x84`@Q` \x01b\0\x01\xA7\x93\x92\x91\x90b\0\x06\xA8V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`\0\x81\x15\x80b\0\x01\xF7WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x80\x82`\0\x01QQ`0\x14\x80\x15b\0\x02\x1CWP\x82` \x01QQ`0\x14[\x80\x15b\0\x02.WP\x82`@\x01QQ`0\x14[b\0\x02LW`@QcBc\r\xDB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x01Q\x84` \x01Q\x85`@\x01Q`@Q` \x01b\0\x02q\x93\x92\x91\x90b\0\x06\xA8V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90b\0\x02\xA5\x90b\0\x06\xF1V[\x15\x90Pb\0\x02\xB7W\x93`\0\x93P\x91PPV[`@\x80Q``\x81\x01\x82R\x85Q\x81R` \x80\x87\x01Q\x81\x83\x01R\x86\x83\x01Q\x82\x84\x01R`\0\x84\x81R\x90\x81\x90R\x91\x90\x91 \x81Q\x81\x90b\0\x02\xF4\x90\x82b\0\x07\x82V[P` \x82\x01Q`\x01\x82\x01\x90b\0\x03\x0B\x90\x82b\0\x07\x82V[P`@\x82\x01Q`\x02\x82\x01\x90b\0\x03\"\x90\x82b\0\x07\x82V[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x85`\0\x01Q\x86` \x01Q\x87`@\x01Q`@Qb\0\x03h\x93\x92\x91\x90b\0\x08|V[`@Q\x80\x91\x03\x90\xA2\x93`\x01\x93P\x91PPV[`\0\x81\x81R`\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x81 T`\xFF\x16\x15b\0\x03\xA6WP`\0b\0\x04\x01V[`\0\x82\x81R`\x02` \x90\x81R`@\x80\x83 \x86\x84R\x82R\x91\x82\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U\x90Q\x83\x81R\x84\x91\x7F\xBF\xB1&\xE7B\xCE\x96\x18\xB5\xBFkT\x83\x99\x16\x92o\\9wR\xBE5@L\x83h\xDD\xCFh\xC1\n\x91\x01`@Q\x80\x91\x03\x90\xA2P`\x01[\x92\x91PPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x04\x1DW`\0\x80\xFD[PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x04aWb\0\x04ab\0\x04 V[`@R\x91\x90PV[`\0[\x83\x81\x10\x15b\0\x04\x86W\x81\x81\x01Q\x83\x82\x01R` \x01b\0\x04lV[PP`\0\x91\x01RV[`\0\x82`\x1F\x83\x01\x12b\0\x04\xA1W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x04\xBDWb\0\x04\xBDb\0\x04 V[b\0\x04\xD2`\x1F\x82\x01`\x1F\x19\x16` \x01b\0\x046V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15b\0\x04\xE8W`\0\x80\xFD[b\0\x04\xFB\x82` \x83\x01` \x87\x01b\0\x04iV[\x94\x93PPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x05\x19W`\0\x80\xFD[\x83Qb\0\x05&\x81b\0\x04\x07V[\x80\x93PP` \x80\x85\x01Qb\0\x05;\x81b\0\x04\x07V[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x05YW`\0\x80\xFD[\x81\x87\x01\x91P\x87`\x1F\x83\x01\x12b\0\x05nW`\0\x80\xFD[\x81Q\x81\x81\x11\x15b\0\x05\x83Wb\0\x05\x83b\0\x04 V[\x80`\x05\x1Bb\0\x05\x94\x85\x82\x01b\0\x046V[\x91\x82R\x83\x81\x01\x85\x01\x91\x85\x81\x01\x90\x8B\x84\x11\x15b\0\x05\xAFW`\0\x80\xFD[\x86\x86\x01\x92P[\x83\x83\x10\x15b\0\x05\xF0W\x82Q\x85\x81\x11\x15b\0\x05\xCFW`\0\x80\x81\xFD[b\0\x05\xDF\x8D\x89\x83\x8A\x01\x01b\0\x04\x8FV[\x83RP\x91\x86\x01\x91\x90\x86\x01\x90b\0\x05\xB5V[\x80\x97PPPPPPPP\x92P\x92P\x92V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x06-W`\0\x80\xFD[\x83Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x06EW`\0\x80\xFD[b\0\x06S\x87\x83\x88\x01b\0\x04\x8FV[\x94P` \x86\x01Q\x91P\x80\x82\x11\x15b\0\x06jW`\0\x80\xFD[b\0\x06x\x87\x83\x88\x01b\0\x04\x8FV[\x93P`@\x86\x01Q\x91P\x80\x82\x11\x15b\0\x06\x8FW`\0\x80\xFD[Pb\0\x06\x9E\x86\x82\x87\x01b\0\x04\x8FV[\x91PP\x92P\x92P\x92V[`\0\x84Qb\0\x06\xBC\x81\x84` \x89\x01b\0\x04iV[\x84Q\x90\x83\x01\x90b\0\x06\xD2\x81\x83` \x89\x01b\0\x04iV[\x84Q\x91\x01\x90b\0\x06\xE7\x81\x83` \x88\x01b\0\x04iV[\x01\x95\x94PPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x07\x06W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x07'WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x07}W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x07XWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x07yW\x82\x81U`\x01\x01b\0\x07dV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x07\x9EWb\0\x07\x9Eb\0\x04 V[b\0\x07\xB6\x81b\0\x07\xAF\x84Tb\0\x06\xF1V[\x84b\0\x07-V[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x07\xEEW`\0\x84\x15b\0\x07\xD5WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x07yV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x08\x1FW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x07\xFEV[P\x85\x82\x10\x15b\0\x08>W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x81Q\x80\x84Rb\0\x08h\x81` \x86\x01` \x86\x01b\0\x04iV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[``\x81R`\0b\0\x08\x91``\x83\x01\x86b\0\x08NV[\x82\x81\x03` \x84\x01Rb\0\x08\xA5\x81\x86b\0\x08NV[\x90P\x82\x81\x03`@\x84\x01Rb\0\x08\xBB\x81\x85b\0\x08NV[\x96\x95PPPPPPV[`\x80Q`\xA0Qa\x1B\xEDb\0\x08\xF9`\09`\0\x81\x81a\x02i\x01Ra\x0C\xA8\x01R`\0\x81\x81a\x02\xAE\x01Ra\r\x14\x01Ra\x1B\xED`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01!W`\x005`\xE0\x1C\x80c}\x8A\xD4+\x11a\0\xADW\x80c\xA7l\x05Q\x11a\0qW\x80c\xA7l\x05Q\x14a\x02\xA1W\x80c\xCDy\xF9\x06\x14a\x02\xA9W\x80c\xD2\xE8\x982\x14a\x02\xE8W\x80c\xF6\xEA\x99b\x14a\x02\xFBW\x80c\xF8Q\xA4@\x14a\x03\x0EW`\0\x80\xFD[\x80c}\x8A\xD4+\x14a\x026W\x80c\x81\xFD?W\x14a\x02>W\x80c\x8Ev\n\xFE\x14a\x02QW\x80c\x9A\xEC\x99\x0E\x14a\x02dW\x80c\xA6\xDF\xBC\x7F\x14a\x02\x8BW`\0\x80\xFD[\x80c\x10\xA5By\x11a\0\xF4W\x80c\x10\xA5By\x14a\x01\xAEW\x80c$\x10\xF6\xBA\x14a\x01\xB6W\x80c[\xE5Y\xAF\x14a\x01\xD6W\x80ck[!\xA6\x14a\x01\xF6W\x80cu\x84{\x84\x14a\x02#W`\0\x80\xFD[\x80c\x01\xD5\x8F\xA3\x14a\x01&W\x80c\x02\xF7}\x19\x14a\x01bW\x80c\x07\x07Y\x1F\x14a\x01\x86W\x80c\x10\x84\xD6\\\x14a\x01\x9BW[`\0\x80\xFD[a\x01Oa\x0146`\x04a\x10\xF9V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01va\x01p6`\x04a\x12\rV[P`\x01\x90V[`@Q\x90\x15\x15\x81R` \x01a\x01YV[a\x01\x99a\x01\x946`\x04a\x12IV[a\x03!V[\0[a\x01\x99a\x01\xA96`\x04a\x12\rV[a\x03/V[a\x01va\x042V[a\x01\xC9a\x01\xC46`\x04a\x12\xBAV[a\x04\xCDV[`@Qa\x01Y\x91\x90a\x13#V[a\x01\xE9a\x01\xE46`\x04a\x14\"V[a\x06\xC6V[`@Qa\x01Y\x91\x90a\x14\x85V[a\x01va\x02\x046`\x04a\x14\x98V[`\0\x90\x81R`\x02` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x90V[a\x01va\x0216`\x04a\x14\xBAV[a\x07\x03V[a\x01\xE9a\x07\x16V[a\x01\xE9a\x02L6`\x04a\x12\rV[a\x07\xA4V[a\x01va\x02_6`\x04a\x12\rV[a\x07\xCDV[a\x01O\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01va\x02\x996`\x04a\x12IV[`\x01\x92\x91PPV[a\x01\xE9a\x08MV[a\x02\xD0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01YV[a\x01va\x02\xF66`\x04a\x15\xC3V[a\x08ZV[a\x01\xE9a\x03\t6`\x04a\x16JV[a\tZV[`\x05Ta\x02\xD0\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x03+\x82\x82a\tmV[PPV[`\x05T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x03ZW`@QcS\xFCwk`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x03s\x91\x90a\x16\xC3V[\x91\x94P\x92P\x90P`\0a\x03\x87\x84\x84\x84a\t\xC7V[\x90Pa\x03\x92\x81a\n\0V[a\x03\xB7W`@Qc\x065l\xB3`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0a\x03\xDC`@Q\x80``\x01`@R\x80\x87\x81R` \x01\x86\x81R` \x01\x85\x81RPa\n5V[P\x90P\x81\x81\x14a\x03\xFFW`@Qc\x0CZ\x1A\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04)\x82\x7F+t\xD9\x9C\\@\x12=5\xC0\xFEN\xC1\xBCsj1\xA8\x0BpQr\x11\x93\x11\x8D\xC1Q~\\y?a\x0B\xA1V[PPPPPPPV[`\0a\x04\xC8`\x04\x80Ta\x04D\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x04p\x90a\x17@V[\x80\x15a\x04\xBDW\x80`\x1F\x10a\x04\x92Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x04\xBDV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x04\xA0W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPP`\x01\x90V[\x90P\x90V[a\x04\xF1`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R` \x81\x90R`@\x90\x81\x90 \x81Q``\x81\x01\x90\x92R\x80T\x82\x90\x82\x90a\x05\x19\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05E\x90a\x17@V[\x80\x15a\x05\x92W\x80`\x1F\x10a\x05gWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\x92V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05uW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80Ta\x05\xAB\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\xD7\x90a\x17@V[\x80\x15a\x06$W\x80`\x1F\x10a\x05\xF9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06$V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x07W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x02\x82\x01\x80Ta\x06=\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06i\x90a\x17@V[\x80\x15a\x06\xB6W\x80`\x1F\x10a\x06\x8BWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xB6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x99W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[``a\x06\xD1\x83a\tZV[a\x06\xDA\x83a\x07\xA4V[`@Q` \x01a\x06\xEB\x92\x91\x90a\x17zV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P[\x92\x91PPV[`\0a\x07\x0F\x83\x83a\x0C+V[\x93\x92PPPV[`\x03\x80Ta\x07#\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07O\x90a\x17@V[\x80\x15a\x07\x9CW\x80`\x1F\x10a\x07qWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\x9CV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x07\x7FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[``\x81`@Q` \x01a\x07\xB7\x91\x90a\x14\x85V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x91\x90PV[`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x07\xE6\x91\x90a\x17\x9FV[\x91P\x91P`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x08\x03\x91\x90a\x16\xC3V[\x92P\x92P\x92P\x82\x80Q\x90` \x01 \x85\x80Q\x90` \x01 \x14a\x087W`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08B\x83\x83\x83a\x08ZV[\x97\x96PPPPPPPV[`\x04\x80Ta\x07#\x90a\x17@V[`\0\x80\x84\x84`@Q` \x01a\x08p\x92\x91\x90a\x17zV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a\x08\xE1\x82`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[\x90P`\0a\x08\xEF\x82\x86a\x0E\x19V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\t#W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x03\xAEV[a\tM\x81\x7F+t\xD9\x9C\\@\x12=5\xC0\xFEN\xC1\xBCsj1\xA8\x0BpQr\x11\x93\x11\x8D\xC1Q~\\y?a\x0ECV[P`\x01\x96\x95PPPPPPV[``\x81`@Q` \x01a\x07\xB7\x91\x90a\x17\xF8V[`\0\x80\x80\x80\x80\x80a\t\x80\x87\x89\x01\x89a\x18\\V[\x95P\x95P\x95P\x95P\x95P\x95Pa\t\xBC\x86`@Q\x80`\xA0\x01`@R\x80\x88\x81R` \x01\x87\x81R` \x01\x86\x81R` \x01\x85\x81R` \x01\x84\x81RPa\x0C+V[PPPPPPPPPV[`\0\x80\x84\x84\x84`@Q` \x01a\t\xDF\x93\x92\x91\x90a\x195V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`\0\x81\x15\x80a\n.WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x80\x82`\0\x01QQ`0\x14\x80\x15a\nRWP\x82` \x01QQ`0\x14[\x80\x15a\ncWP\x82`@\x01QQ`0\x14[a\n\x80W`@QcBc\r\xDB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x01Q\x84` \x01Q\x85`@\x01Q`@Q` \x01a\n\xA3\x93\x92\x91\x90a\x195V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90a\n\xD5\x90a\x17@V[\x15\x90Pa\n\xE6W\x93`\0\x93P\x91PPV[`@\x80Q``\x81\x01\x82R\x85Q\x81R` \x80\x87\x01Q\x81\x83\x01R\x86\x83\x01Q\x82\x84\x01R`\0\x84\x81R\x90\x81\x90R\x91\x90\x91 \x81Q\x81\x90a\x0B!\x90\x82a\x19\xC8V[P` \x82\x01Q`\x01\x82\x01\x90a\x0B6\x90\x82a\x19\xC8V[P`@\x82\x01Q`\x02\x82\x01\x90a\x0BK\x90\x82a\x19\xC8V[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x85`\0\x01Q\x86` \x01Q\x87`@\x01Q`@Qa\x0B\x8F\x93\x92\x91\x90a\x1A\x87V[`@Q\x80\x91\x03\x90\xA2\x93`\x01\x93P\x91PPV[`\0\x81\x81R`\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x81 T`\xFF\x16\x15a\x0B\xCBWP`\0a\x06\xFDV[`\0\x82\x81R`\x02` \x90\x81R`@\x80\x83 \x86\x84R\x82R\x91\x82\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U\x90Q\x83\x81R\x84\x91\x7F\xBF\xB1&\xE7B\xCE\x96\x18\xB5\xBFkT\x83\x99\x16\x92o\\9wR\xBE5@L\x83h\xDD\xCFh\xC1\n\x91\x01`@Q\x80\x91\x03\x90\xA2P`\x01\x92\x91PPV[`\0\x80\x82` \x01Q\x83`@\x01Q\x84``\x01Q`@Q` \x01a\x0CO\x93\x92\x91\x90a\x195V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90a\x0C\x81\x90a\x17@V[\x90P`\0\x03a\x0C\xA3W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0C\xCD\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba\x1A\xCAV[a\x03\xE8\x84`\x80\x01Qa\x0C\xDF\x91\x90a\x1A\xEBV[\x11a\x0C\xFDW`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\rK\x90\x87\x90\x87\x90`\x04\x01a\x1B\rV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\rcW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\rwW=`\0\x80>=`\0\xFD[PPPP`\0a\r\x8A\x84`\0\x01Qa\x0E\xF4V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01` R`@\x90 T\x90\x91P\x15a\r\xB6W`\0\x92PPPa\x06\xFDV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\x01` R`@\x90\x81\x90 \x84\x90U\x85Q\x90Q\x84\x92\x91\x7F\xBBMd(\xD5>\xA9$\xD9K\xE0H\x84s\xDE\xB5\xC0\xA7\x0C\x97\x9F\x84w\xD2\x19\x11\xCB[\xEE@7\xFD\x91a\x0E\x06\x91\x90a\x14\x85V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0\x80`\0\x80a\x0E)\x86\x86a\x0F$V[\x92P\x92P\x92Pa\x0E9\x82\x82a\x0FqV[P\x90\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x01` R`@\x90 T\x80a\x0EzW`@Qc=\xD8\xCA\x95`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81R` \x81\x90R`@\x90 \x80Ta\x0E\x93\x90a\x17@V[\x90P`\0\x03a\x0E\xB5W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82\x81R`\x02` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x90 T`\xFF\x16a\x0E\xEFW`@QcHf%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[`\0\x81Q`@\x14a\x0F\x18W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80`\0\x83Q`A\x03a\x0F^W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa\x0FP\x88\x82\x85\x85a\x10*V[\x95P\x95P\x95PPPPa\x0FjV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15a\x0F\x85Wa\x0F\x85a\x1B\xA1V[\x03a\x0F\x8EWPPV[`\x01\x82`\x03\x81\x11\x15a\x0F\xA2Wa\x0F\xA2a\x1B\xA1V[\x03a\x0F\xC0W`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a\x0F\xD4Wa\x0F\xD4a\x1B\xA1V[\x03a\x0F\xF5W`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x03\xAEV[`\x03\x82`\x03\x81\x11\x15a\x10\tWa\x10\ta\x1B\xA1V[\x03a\x03+W`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x03\xAEV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a\x10eWP`\0\x91P`\x03\x90P\x82a\x10\xEFV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x10\xB9W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a\x10\xE5WP`\0\x92P`\x01\x91P\x82\x90Pa\x10\xEFV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[`\0` \x82\x84\x03\x12\x15a\x11\x0BW`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x07\x0FW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x11ZWa\x11Za\x11\"V[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x11\x88Wa\x11\x88a\x11\"V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x11\xA9Wa\x11\xA9a\x11\"V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x11\xC8W`\0\x80\xFD[\x815a\x11\xDBa\x11\xD6\x82a\x11\x90V[a\x11`V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x11\xF0W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x12\x1FW`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x125W`\0\x80\xFD[a\x12A\x84\x82\x85\x01a\x11\xB7V[\x94\x93PPPPV[`\0\x80` \x83\x85\x03\x12\x15a\x12\\W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x12sW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x12\x87W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x12\x96W`\0\x80\xFD[\x86` \x82\x85\x01\x01\x11\x15a\x12\xA8W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x12\xCCW`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x12\xEEW\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\xD6V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x13\x0F\x81` \x86\x01` \x86\x01a\x12\xD3V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x13?`\x80\x84\x01\x82a\x12\xF7V[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x13]\x83\x83a\x12\xF7V[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x13{\x82\x82a\x12\xF7V[\x95\x94PPPPPV[`\0\x82`\x1F\x83\x01\x12a\x13\x95W`\0\x80\xFD[\x815` `\x01`\x01`@\x1B\x03\x80\x83\x11\x15a\x13\xB1Wa\x13\xB1a\x11\"V[\x82`\x05\x1Ba\x13\xC0\x83\x82\x01a\x11`V[\x93\x84R\x85\x81\x01\x83\x01\x93\x83\x81\x01\x90\x88\x86\x11\x15a\x13\xDAW`\0\x80\xFD[\x84\x88\x01\x92P[\x85\x83\x10\x15a\x14\x16W\x825\x84\x81\x11\x15a\x13\xF8W`\0\x80\x81\xFD[a\x14\x06\x8A\x87\x83\x8C\x01\x01a\x11\xB7V[\x83RP\x91\x84\x01\x91\x90\x84\x01\x90a\x13\xE0V[\x98\x97PPPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x145W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x14LW`\0\x80\xFD[a\x14X\x86\x83\x87\x01a\x13\x84V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x14nW`\0\x80\xFD[Pa\x14{\x85\x82\x86\x01a\x11\xB7V[\x91PP\x92P\x92\x90PV[` \x81R`\0a\x07\x0F` \x83\x01\x84a\x12\xF7V[`\0\x80`@\x83\x85\x03\x12\x15a\x14\xABW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0\x80`@\x83\x85\x03\x12\x15a\x14\xCDW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x14\xE4W`\0\x80\xFD[a\x14\xF0\x86\x83\x87\x01a\x11\xB7V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x15\x06W`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x15\x1AW`\0\x80\xFD[a\x15\"a\x118V[\x825\x82\x81\x11\x15a\x151W`\0\x80\xFD[a\x15=\x88\x82\x86\x01a\x11\xB7V[\x82RP` \x83\x015\x82\x81\x11\x15a\x15RW`\0\x80\xFD[a\x15^\x88\x82\x86\x01a\x11\xB7V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x15vW`\0\x80\xFD[a\x15\x82\x88\x82\x86\x01a\x11\xB7V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\x15\x9AW`\0\x80\xFD[a\x15\xA6\x88\x82\x86\x01a\x11\xB7V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x15\xD8W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x15\xEFW`\0\x80\xFD[a\x15\xFB\x87\x83\x88\x01a\x11\xB7V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x16\x11W`\0\x80\xFD[a\x16\x1D\x87\x83\x88\x01a\x11\xB7V[\x93P`@\x86\x015\x91P\x80\x82\x11\x15a\x163W`\0\x80\xFD[Pa\x16@\x86\x82\x87\x01a\x11\xB7V[\x91PP\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x16\\W`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x16rW`\0\x80\xFD[a\x12A\x84\x82\x85\x01a\x13\x84V[`\0\x82`\x1F\x83\x01\x12a\x16\x8FW`\0\x80\xFD[\x81Qa\x16\x9Da\x11\xD6\x82a\x11\x90V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x16\xB2W`\0\x80\xFD[a\x12A\x82` \x83\x01` \x87\x01a\x12\xD3V[`\0\x80`\0``\x84\x86\x03\x12\x15a\x16\xD8W`\0\x80\xFD[\x83Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x16\xEFW`\0\x80\xFD[a\x16\xFB\x87\x83\x88\x01a\x16~V[\x94P` \x86\x01Q\x91P\x80\x82\x11\x15a\x17\x11W`\0\x80\xFD[a\x17\x1D\x87\x83\x88\x01a\x16~V[\x93P`@\x86\x01Q\x91P\x80\x82\x11\x15a\x173W`\0\x80\xFD[Pa\x16@\x86\x82\x87\x01a\x16~V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x17TW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x17tWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`@\x81R`\0a\x17\x8D`@\x83\x01\x85a\x12\xF7V[\x82\x81\x03` \x84\x01Ra\x13{\x81\x85a\x12\xF7V[`\0\x80`@\x83\x85\x03\x12\x15a\x17\xB2W`\0\x80\xFD[\x82Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x17\xC9W`\0\x80\xFD[a\x17\xD5\x86\x83\x87\x01a\x16~V[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a\x17\xEBW`\0\x80\xFD[Pa\x14{\x85\x82\x86\x01a\x16~V[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15a\x18OW`?\x19\x88\x86\x03\x01\x84Ra\x18=\x85\x83Qa\x12\xF7V[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x18!V[P\x92\x97\x96PPPPPPPV[`\0\x80`\0\x80`\0\x80`\xC0\x87\x89\x03\x12\x15a\x18uW`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x18\x8CW`\0\x80\xFD[a\x18\x98\x8A\x83\x8B\x01a\x11\xB7V[\x97P` \x89\x015\x91P\x80\x82\x11\x15a\x18\xAEW`\0\x80\xFD[a\x18\xBA\x8A\x83\x8B\x01a\x11\xB7V[\x96P`@\x89\x015\x91P\x80\x82\x11\x15a\x18\xD0W`\0\x80\xFD[a\x18\xDC\x8A\x83\x8B\x01a\x11\xB7V[\x95P``\x89\x015\x91P\x80\x82\x11\x15a\x18\xF2W`\0\x80\xFD[a\x18\xFE\x8A\x83\x8B\x01a\x11\xB7V[\x94P`\x80\x89\x015\x91P\x80\x82\x11\x15a\x19\x14W`\0\x80\xFD[Pa\x19!\x89\x82\x8A\x01a\x11\xB7V[\x92PP`\xA0\x87\x015\x90P\x92\x95P\x92\x95P\x92\x95V[`\0\x84Qa\x19G\x81\x84` \x89\x01a\x12\xD3V[\x84Q\x90\x83\x01\x90a\x19[\x81\x83` \x89\x01a\x12\xD3V[\x84Q\x91\x01\x90a\x19n\x81\x83` \x88\x01a\x12\xD3V[\x01\x95\x94PPPPPV[`\x1F\x82\x11\x15a\x0E\xEFW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x19\xA1WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x19\xC0W\x82\x81U`\x01\x01a\x19\xADV[PPPPPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\x19\xE1Wa\x19\xE1a\x11\"V[a\x19\xF5\x81a\x19\xEF\x84Ta\x17@V[\x84a\x19xV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x1A*W`\0\x84\x15a\x1A\x12WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x19\xC0V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\x1AYW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x1A:V[P\x85\x82\x10\x15a\x1AwW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[``\x81R`\0a\x1A\x9A``\x83\x01\x86a\x12\xF7V[\x82\x81\x03` \x84\x01Ra\x1A\xAC\x81\x86a\x12\xF7V[\x90P\x82\x81\x03`@\x84\x01Ra\x1A\xC0\x81\x85a\x12\xF7V[\x96\x95PPPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x06\xFDWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\x1B\x08WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a\x1B `@\x83\x01\x85a\x12\xF7V[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra\x1B;`\xA0\x83\x01\x82a\x12\xF7V[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra\x1BT\x82\x82a\x12\xF7V[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra\x1Bn\x82\x82a\x12\xF7V[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra\x1B\x88\x82\x82a\x12\xF7V[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \x7F\x1F\xBC\xA7\x14O\xDBg\xA3\x85\xFB\xD9\xBAKdN\x83\xC7\x84\x86P\xA9\x85\xC1\xE2\xD5\\\xABBX\xAE&dsolcC\0\x08\x18\x003\xA2dipfsX\"\x12 \x98\xA4\xAB@\xB0\x93':\xA5_\xF6\xCF\x10\"\xA6`\xE2\x12\x14\x19\x19W\x8C\xAC\xDC\xBA=\xE0\x0E`\x9ExdsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static TEE_VERIFIER_WRAPPER_FACTORY_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`\x046\x10b\0\0.W`\x005`\xE0\x1C\x80c\xBF\xC7\xE9\xE2\x14b\0\x003W[`\0\x80\xFD[b\0\0Jb\0\0D6`\x04b\0\x01\x15V[b\0\0fV[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[`\0\x84\x84\x84\x84`@Qb\0\0z\x90b\0\0\xEEV[b\0\0\x89\x94\x93\x92\x91\x90b\0\x01\xDCV[`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15b\0\0\xA6W=`\0\x80>=`\0\xFD[P`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x90\x91P\x7FP\x1C\x9E\x95\xD3\x12G\xA27\x10\xAB\xE3\n\xF4A\x87\x10\x92q\x8A\x10`\xBC\x91\xAE\x07\x19\x12\xEEg=f\x90` \x01`@Q\x80\x91\x03\x90\xA1\x94\x93PPPPV[a$\xE6\x80b\0\x02\x9F\x839\x01\x90V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01\x12W`\0\x80\xFD[PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15b\0\x01,W`\0\x80\xFD[\x845b\0\x019\x81b\0\0\xFCV[\x93P` \x85\x015b\0\x01K\x81b\0\0\xFCV[\x92P`@\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15b\0\x01iW`\0\x80\xFD[\x81\x87\x01\x91P\x87`\x1F\x83\x01\x12b\0\x01~W`\0\x80\xFD[\x815\x81\x81\x11\x15b\0\x01\x8EW`\0\x80\xFD[\x88` \x82`\x05\x1B\x85\x01\x01\x11\x15b\0\x01\xA4W`\0\x80\xFD[\x95\x98\x94\x97PP` \x01\x94PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`\x01`\x01`\xA0\x1B\x03\x85\x81\x16\x82R\x84\x16` \x80\x83\x01\x91\x90\x91R```@\x83\x01\x81\x90R\x82\x01\x83\x90R`\0\x90`\x80`\x05\x85\x90\x1B\x84\x01\x81\x01\x91\x90\x84\x01\x90\x86\x84[\x87\x81\x10\x15b\0\x02\x8FW\x86\x85\x03`\x7F\x19\x01\x84R\x8156\x8A\x90\x03`\x1E\x19\x01\x81\x12b\0\x02@W`\0\x80\xFD[\x89\x01\x83\x81\x01\x905g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15b\0\x02]W`\0\x80\xFD[\x806\x03\x82\x13\x15b\0\x02mW`\0\x80\xFD[b\0\x02z\x87\x82\x84b\0\x01\xB3V[\x96PPP\x92\x82\x01\x92\x90\x82\x01\x90`\x01\x01b\0\x02\x18V[P\x92\x99\x98PPPPPPPPPV\xFE`\xC0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0$\xE68\x03\x80b\0$\xE6\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x05\x03V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\x80Ra\xEA``\xA0R`\0[\x81Q\x81\x10\x15b\0\x01cW`\0\x80`\0\x84\x84\x81Q\x81\x10b\0\0nWb\0\0nb\0\x06\x01V[` \x02` \x01\x01Q\x80` \x01\x90Q\x81\x01\x90b\0\0\x8B\x91\x90b\0\x06\x17V[\x91\x94P\x92P\x90P`\0b\0\0\xA1\x84\x84\x84b\0\x01\x8DV[\x90Pb\0\0\xAE\x81b\0\x01\xC8V[b\0\0\xD3W`@Qc\x065l\xB3`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01`@Q\x80\x91\x03\x90\xFD[`\0b\0\x01\0`@Q\x80``\x01`@R\x80\x87\x81R` \x01\x86\x81R` \x01\x85\x81RPb\0\x01\xFE` \x1B` \x1CV[P\x90P\x81\x81\x14b\0\x01$W`@Qc\x0CZ\x1A\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[b\0\x01P\x82\x7F+t\xD9\x9C\\@\x12=5\xC0\xFEN\xC1\xBCsj1\xA8\x0BpQr\x11\x93\x11\x8D\xC1Q~\\y?b\0\x03zV[PP`\x01\x90\x94\x01\x93Pb\0\0J\x92PPPV[PP`\x05\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x92\x90\x92\x17\x90\x91UPb\0\x08\xC5V[`\0\x80\x84\x84\x84`@Q` \x01b\0\x01\xA7\x93\x92\x91\x90b\0\x06\xA8V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`\0\x81\x15\x80b\0\x01\xF7WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x80\x82`\0\x01QQ`0\x14\x80\x15b\0\x02\x1CWP\x82` \x01QQ`0\x14[\x80\x15b\0\x02.WP\x82`@\x01QQ`0\x14[b\0\x02LW`@QcBc\r\xDB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x01Q\x84` \x01Q\x85`@\x01Q`@Q` \x01b\0\x02q\x93\x92\x91\x90b\0\x06\xA8V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90b\0\x02\xA5\x90b\0\x06\xF1V[\x15\x90Pb\0\x02\xB7W\x93`\0\x93P\x91PPV[`@\x80Q``\x81\x01\x82R\x85Q\x81R` \x80\x87\x01Q\x81\x83\x01R\x86\x83\x01Q\x82\x84\x01R`\0\x84\x81R\x90\x81\x90R\x91\x90\x91 \x81Q\x81\x90b\0\x02\xF4\x90\x82b\0\x07\x82V[P` \x82\x01Q`\x01\x82\x01\x90b\0\x03\x0B\x90\x82b\0\x07\x82V[P`@\x82\x01Q`\x02\x82\x01\x90b\0\x03\"\x90\x82b\0\x07\x82V[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x85`\0\x01Q\x86` \x01Q\x87`@\x01Q`@Qb\0\x03h\x93\x92\x91\x90b\0\x08|V[`@Q\x80\x91\x03\x90\xA2\x93`\x01\x93P\x91PPV[`\0\x81\x81R`\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x81 T`\xFF\x16\x15b\0\x03\xA6WP`\0b\0\x04\x01V[`\0\x82\x81R`\x02` \x90\x81R`@\x80\x83 \x86\x84R\x82R\x91\x82\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U\x90Q\x83\x81R\x84\x91\x7F\xBF\xB1&\xE7B\xCE\x96\x18\xB5\xBFkT\x83\x99\x16\x92o\\9wR\xBE5@L\x83h\xDD\xCFh\xC1\n\x91\x01`@Q\x80\x91\x03\x90\xA2P`\x01[\x92\x91PPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x04\x1DW`\0\x80\xFD[PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x04aWb\0\x04ab\0\x04 V[`@R\x91\x90PV[`\0[\x83\x81\x10\x15b\0\x04\x86W\x81\x81\x01Q\x83\x82\x01R` \x01b\0\x04lV[PP`\0\x91\x01RV[`\0\x82`\x1F\x83\x01\x12b\0\x04\xA1W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x04\xBDWb\0\x04\xBDb\0\x04 V[b\0\x04\xD2`\x1F\x82\x01`\x1F\x19\x16` \x01b\0\x046V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15b\0\x04\xE8W`\0\x80\xFD[b\0\x04\xFB\x82` \x83\x01` \x87\x01b\0\x04iV[\x94\x93PPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x05\x19W`\0\x80\xFD[\x83Qb\0\x05&\x81b\0\x04\x07V[\x80\x93PP` \x80\x85\x01Qb\0\x05;\x81b\0\x04\x07V[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x05YW`\0\x80\xFD[\x81\x87\x01\x91P\x87`\x1F\x83\x01\x12b\0\x05nW`\0\x80\xFD[\x81Q\x81\x81\x11\x15b\0\x05\x83Wb\0\x05\x83b\0\x04 V[\x80`\x05\x1Bb\0\x05\x94\x85\x82\x01b\0\x046V[\x91\x82R\x83\x81\x01\x85\x01\x91\x85\x81\x01\x90\x8B\x84\x11\x15b\0\x05\xAFW`\0\x80\xFD[\x86\x86\x01\x92P[\x83\x83\x10\x15b\0\x05\xF0W\x82Q\x85\x81\x11\x15b\0\x05\xCFW`\0\x80\x81\xFD[b\0\x05\xDF\x8D\x89\x83\x8A\x01\x01b\0\x04\x8FV[\x83RP\x91\x86\x01\x91\x90\x86\x01\x90b\0\x05\xB5V[\x80\x97PPPPPPPP\x92P\x92P\x92V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x06-W`\0\x80\xFD[\x83Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x06EW`\0\x80\xFD[b\0\x06S\x87\x83\x88\x01b\0\x04\x8FV[\x94P` \x86\x01Q\x91P\x80\x82\x11\x15b\0\x06jW`\0\x80\xFD[b\0\x06x\x87\x83\x88\x01b\0\x04\x8FV[\x93P`@\x86\x01Q\x91P\x80\x82\x11\x15b\0\x06\x8FW`\0\x80\xFD[Pb\0\x06\x9E\x86\x82\x87\x01b\0\x04\x8FV[\x91PP\x92P\x92P\x92V[`\0\x84Qb\0\x06\xBC\x81\x84` \x89\x01b\0\x04iV[\x84Q\x90\x83\x01\x90b\0\x06\xD2\x81\x83` \x89\x01b\0\x04iV[\x84Q\x91\x01\x90b\0\x06\xE7\x81\x83` \x88\x01b\0\x04iV[\x01\x95\x94PPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x07\x06W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x07'WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x07}W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x07XWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x07yW\x82\x81U`\x01\x01b\0\x07dV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x07\x9EWb\0\x07\x9Eb\0\x04 V[b\0\x07\xB6\x81b\0\x07\xAF\x84Tb\0\x06\xF1V[\x84b\0\x07-V[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x07\xEEW`\0\x84\x15b\0\x07\xD5WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x07yV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x08\x1FW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x07\xFEV[P\x85\x82\x10\x15b\0\x08>W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x81Q\x80\x84Rb\0\x08h\x81` \x86\x01` \x86\x01b\0\x04iV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[``\x81R`\0b\0\x08\x91``\x83\x01\x86b\0\x08NV[\x82\x81\x03` \x84\x01Rb\0\x08\xA5\x81\x86b\0\x08NV[\x90P\x82\x81\x03`@\x84\x01Rb\0\x08\xBB\x81\x85b\0\x08NV[\x96\x95PPPPPPV[`\x80Q`\xA0Qa\x1B\xEDb\0\x08\xF9`\09`\0\x81\x81a\x02i\x01Ra\x0C\xA8\x01R`\0\x81\x81a\x02\xAE\x01Ra\r\x14\x01Ra\x1B\xED`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01!W`\x005`\xE0\x1C\x80c}\x8A\xD4+\x11a\0\xADW\x80c\xA7l\x05Q\x11a\0qW\x80c\xA7l\x05Q\x14a\x02\xA1W\x80c\xCDy\xF9\x06\x14a\x02\xA9W\x80c\xD2\xE8\x982\x14a\x02\xE8W\x80c\xF6\xEA\x99b\x14a\x02\xFBW\x80c\xF8Q\xA4@\x14a\x03\x0EW`\0\x80\xFD[\x80c}\x8A\xD4+\x14a\x026W\x80c\x81\xFD?W\x14a\x02>W\x80c\x8Ev\n\xFE\x14a\x02QW\x80c\x9A\xEC\x99\x0E\x14a\x02dW\x80c\xA6\xDF\xBC\x7F\x14a\x02\x8BW`\0\x80\xFD[\x80c\x10\xA5By\x11a\0\xF4W\x80c\x10\xA5By\x14a\x01\xAEW\x80c$\x10\xF6\xBA\x14a\x01\xB6W\x80c[\xE5Y\xAF\x14a\x01\xD6W\x80ck[!\xA6\x14a\x01\xF6W\x80cu\x84{\x84\x14a\x02#W`\0\x80\xFD[\x80c\x01\xD5\x8F\xA3\x14a\x01&W\x80c\x02\xF7}\x19\x14a\x01bW\x80c\x07\x07Y\x1F\x14a\x01\x86W\x80c\x10\x84\xD6\\\x14a\x01\x9BW[`\0\x80\xFD[a\x01Oa\x0146`\x04a\x10\xF9V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x01` R`@\x90 T\x90V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01va\x01p6`\x04a\x12\rV[P`\x01\x90V[`@Q\x90\x15\x15\x81R` \x01a\x01YV[a\x01\x99a\x01\x946`\x04a\x12IV[a\x03!V[\0[a\x01\x99a\x01\xA96`\x04a\x12\rV[a\x03/V[a\x01va\x042V[a\x01\xC9a\x01\xC46`\x04a\x12\xBAV[a\x04\xCDV[`@Qa\x01Y\x91\x90a\x13#V[a\x01\xE9a\x01\xE46`\x04a\x14\"V[a\x06\xC6V[`@Qa\x01Y\x91\x90a\x14\x85V[a\x01va\x02\x046`\x04a\x14\x98V[`\0\x90\x81R`\x02` \x90\x81R`@\x80\x83 \x93\x83R\x92\x90R T`\xFF\x16\x90V[a\x01va\x0216`\x04a\x14\xBAV[a\x07\x03V[a\x01\xE9a\x07\x16V[a\x01\xE9a\x02L6`\x04a\x12\rV[a\x07\xA4V[a\x01va\x02_6`\x04a\x12\rV[a\x07\xCDV[a\x01O\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01va\x02\x996`\x04a\x12IV[`\x01\x92\x91PPV[a\x01\xE9a\x08MV[a\x02\xD0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01YV[a\x01va\x02\xF66`\x04a\x15\xC3V[a\x08ZV[a\x01\xE9a\x03\t6`\x04a\x16JV[a\tZV[`\x05Ta\x02\xD0\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x03+\x82\x82a\tmV[PPV[`\x05T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x03ZW`@QcS\xFCwk`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x03s\x91\x90a\x16\xC3V[\x91\x94P\x92P\x90P`\0a\x03\x87\x84\x84\x84a\t\xC7V[\x90Pa\x03\x92\x81a\n\0V[a\x03\xB7W`@Qc\x065l\xB3`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0a\x03\xDC`@Q\x80``\x01`@R\x80\x87\x81R` \x01\x86\x81R` \x01\x85\x81RPa\n5V[P\x90P\x81\x81\x14a\x03\xFFW`@Qc\x0CZ\x1A\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04)\x82\x7F+t\xD9\x9C\\@\x12=5\xC0\xFEN\xC1\xBCsj1\xA8\x0BpQr\x11\x93\x11\x8D\xC1Q~\\y?a\x0B\xA1V[PPPPPPPV[`\0a\x04\xC8`\x04\x80Ta\x04D\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x04p\x90a\x17@V[\x80\x15a\x04\xBDW\x80`\x1F\x10a\x04\x92Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x04\xBDV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x04\xA0W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPP`\x01\x90V[\x90P\x90V[a\x04\xF1`@Q\x80``\x01`@R\x80``\x81R` \x01``\x81R` \x01``\x81RP\x90V[`\0\x82\x81R` \x81\x90R`@\x90\x81\x90 \x81Q``\x81\x01\x90\x92R\x80T\x82\x90\x82\x90a\x05\x19\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05E\x90a\x17@V[\x80\x15a\x05\x92W\x80`\x1F\x10a\x05gWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\x92V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05uW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80Ta\x05\xAB\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\xD7\x90a\x17@V[\x80\x15a\x06$W\x80`\x1F\x10a\x05\xF9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06$V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x07W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x02\x82\x01\x80Ta\x06=\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06i\x90a\x17@V[\x80\x15a\x06\xB6W\x80`\x1F\x10a\x06\x8BWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xB6V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x99W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[``a\x06\xD1\x83a\tZV[a\x06\xDA\x83a\x07\xA4V[`@Q` \x01a\x06\xEB\x92\x91\x90a\x17zV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P[\x92\x91PPV[`\0a\x07\x0F\x83\x83a\x0C+V[\x93\x92PPPV[`\x03\x80Ta\x07#\x90a\x17@V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x07O\x90a\x17@V[\x80\x15a\x07\x9CW\x80`\x1F\x10a\x07qWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\x9CV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x07\x7FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[``\x81`@Q` \x01a\x07\xB7\x91\x90a\x14\x85V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x91\x90PV[`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x07\xE6\x91\x90a\x17\x9FV[\x91P\x91P`\0\x80`\0\x83\x80` \x01\x90Q\x81\x01\x90a\x08\x03\x91\x90a\x16\xC3V[\x92P\x92P\x92P\x82\x80Q\x90` \x01 \x85\x80Q\x90` \x01 \x14a\x087W`@Qcy\xA6}[`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08B\x83\x83\x83a\x08ZV[\x97\x96PPPPPPPV[`\x04\x80Ta\x07#\x90a\x17@V[`\0\x80\x84\x84`@Q` \x01a\x08p\x92\x91\x90a\x17zV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\0a\x08\xE1\x82`@Q\x7F\x19Ethereum Signed Message:\n32\0\0\0\0` \x82\x01R`<\x81\x01\x82\x90R`\0\x90`\\\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[\x90P`\0a\x08\xEF\x82\x86a\x0E\x19V[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16a\t#W`@Qc(\x80\xCB\x7F`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x03\xAEV[a\tM\x81\x7F+t\xD9\x9C\\@\x12=5\xC0\xFEN\xC1\xBCsj1\xA8\x0BpQr\x11\x93\x11\x8D\xC1Q~\\y?a\x0ECV[P`\x01\x96\x95PPPPPPV[``\x81`@Q` \x01a\x07\xB7\x91\x90a\x17\xF8V[`\0\x80\x80\x80\x80\x80a\t\x80\x87\x89\x01\x89a\x18\\V[\x95P\x95P\x95P\x95P\x95P\x95Pa\t\xBC\x86`@Q\x80`\xA0\x01`@R\x80\x88\x81R` \x01\x87\x81R` \x01\x86\x81R` \x01\x85\x81R` \x01\x84\x81RPa\x0C+V[PPPPPPPPPV[`\0\x80\x84\x84\x84`@Q` \x01a\t\xDF\x93\x92\x91\x90a\x195V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x90\x91\x01 \x95\x94PPPPPV[`\0\x81\x15\x80a\n.WP\x7F\xCD.f\xBF\x0B\x91\xEE\xED\xC6\xC6H\xAE\x935\xA7\x8D|\x9AJ\xB0\xEF3a*\x82M\x91\xCD\xC6\x8AO!\x82\x14[\x15\x92\x91PPV[`\0\x80\x82`\0\x01QQ`0\x14\x80\x15a\nRWP\x82` \x01QQ`0\x14[\x80\x15a\ncWP\x82`@\x01QQ`0\x14[a\n\x80W`@QcBc\r\xDB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x01Q\x84` \x01Q\x85`@\x01Q`@Q` \x01a\n\xA3\x93\x92\x91\x90a\x195V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90a\n\xD5\x90a\x17@V[\x15\x90Pa\n\xE6W\x93`\0\x93P\x91PPV[`@\x80Q``\x81\x01\x82R\x85Q\x81R` \x80\x87\x01Q\x81\x83\x01R\x86\x83\x01Q\x82\x84\x01R`\0\x84\x81R\x90\x81\x90R\x91\x90\x91 \x81Q\x81\x90a\x0B!\x90\x82a\x19\xC8V[P` \x82\x01Q`\x01\x82\x01\x90a\x0B6\x90\x82a\x19\xC8V[P`@\x82\x01Q`\x02\x82\x01\x90a\x0BK\x90\x82a\x19\xC8V[P\x90PP\x80\x7FR\xB2\x9B\xBD\xD9z\xB9\x83A\x9FP\xFA\x15\x90\xE5\xABu\xE9\x94\"y\xE9^\x10\xA0\x86\x07\xB0l##\x8B\x85`\0\x01Q\x86` \x01Q\x87`@\x01Q`@Qa\x0B\x8F\x93\x92\x91\x90a\x1A\x87V[`@Q\x80\x91\x03\x90\xA2\x93`\x01\x93P\x91PPV[`\0\x81\x81R`\x02` \x90\x81R`@\x80\x83 \x85\x84R\x90\x91R\x81 T`\xFF\x16\x15a\x0B\xCBWP`\0a\x06\xFDV[`\0\x82\x81R`\x02` \x90\x81R`@\x80\x83 \x86\x84R\x82R\x91\x82\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U\x90Q\x83\x81R\x84\x91\x7F\xBF\xB1&\xE7B\xCE\x96\x18\xB5\xBFkT\x83\x99\x16\x92o\\9wR\xBE5@L\x83h\xDD\xCFh\xC1\n\x91\x01`@Q\x80\x91\x03\x90\xA2P`\x01\x92\x91PPV[`\0\x80\x82` \x01Q\x83`@\x01Q\x84``\x01Q`@Q` \x01a\x0CO\x93\x92\x91\x90a\x195V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R\x81Q` \x92\x83\x01 `\0\x81\x81R\x92\x83\x90R\x91 \x80T\x91\x92P\x90a\x0C\x81\x90a\x17@V[\x90P`\0\x03a\x0C\xA3W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0C\xCD\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ba\x1A\xCAV[a\x03\xE8\x84`\x80\x01Qa\x0C\xDF\x91\x90a\x1A\xEBV[\x11a\x0C\xFDW`@Qc\x0C\xB0/\x05`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Qc\xEA\xC7\x08\xA3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xEA\xC7\x08\xA3\x90a\rK\x90\x87\x90\x87\x90`\x04\x01a\x1B\rV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\rcW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\rwW=`\0\x80>=`\0\xFD[PPPP`\0a\r\x8A\x84`\0\x01Qa\x0E\xF4V[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x01` R`@\x90 T\x90\x91P\x15a\r\xB6W`\0\x92PPPa\x06\xFDV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\x01` R`@\x90\x81\x90 \x84\x90U\x85Q\x90Q\x84\x92\x91\x7F\xBBMd(\xD5>\xA9$\xD9K\xE0H\x84s\xDE\xB5\xC0\xA7\x0C\x97\x9F\x84w\xD2\x19\x11\xCB[\xEE@7\xFD\x91a\x0E\x06\x91\x90a\x14\x85V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0\x80`\0\x80a\x0E)\x86\x86a\x0F$V[\x92P\x92P\x92Pa\x0E9\x82\x82a\x0FqV[P\x90\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x01` R`@\x90 T\x80a\x0EzW`@Qc=\xD8\xCA\x95`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x81\x81R` \x81\x90R`@\x90 \x80Ta\x0E\x93\x90a\x17@V[\x90P`\0\x03a\x0E\xB5W`@Qc\x1CbV\x0B`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82\x81R`\x02` \x90\x81R`@\x80\x83 \x84\x84R\x90\x91R\x90 T`\xFF\x16a\x0E\xEFW`@QcHf%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[`\0\x81Q`@\x14a\x0F\x18W`@Qc\xBD\x9C\x80\xC1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x80Q` \x90\x91\x01 \x90V[`\0\x80`\0\x83Q`A\x03a\x0F^W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa\x0FP\x88\x82\x85\x85a\x10*V[\x95P\x95P\x95PPPPa\x0FjV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15a\x0F\x85Wa\x0F\x85a\x1B\xA1V[\x03a\x0F\x8EWPPV[`\x01\x82`\x03\x81\x11\x15a\x0F\xA2Wa\x0F\xA2a\x1B\xA1V[\x03a\x0F\xC0W`@Qc\xF6E\xEE\xDF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a\x0F\xD4Wa\x0F\xD4a\x1B\xA1V[\x03a\x0F\xF5W`@Qc\xFC\xE6\x98\xF7`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x03\xAEV[`\x03\x82`\x03\x81\x11\x15a\x10\tWa\x10\ta\x1B\xA1V[\x03a\x03+W`@Qc5\xE2\xF3\x83`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x03\xAEV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a\x10eWP`\0\x91P`\x03\x90P\x82a\x10\xEFV[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x10\xB9W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a\x10\xE5WP`\0\x92P`\x01\x91P\x82\x90Pa\x10\xEFV[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[`\0` \x82\x84\x03\x12\x15a\x11\x0BW`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x07\x0FW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\xA0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x11ZWa\x11Za\x11\"V[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15a\x11\x88Wa\x11\x88a\x11\"V[`@R\x91\x90PV[`\0`\x01`\x01`@\x1B\x03\x82\x11\x15a\x11\xA9Wa\x11\xA9a\x11\"V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x11\xC8W`\0\x80\xFD[\x815a\x11\xDBa\x11\xD6\x82a\x11\x90V[a\x11`V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x11\xF0W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x12\x1FW`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x125W`\0\x80\xFD[a\x12A\x84\x82\x85\x01a\x11\xB7V[\x94\x93PPPPV[`\0\x80` \x83\x85\x03\x12\x15a\x12\\W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x12sW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x12\x87W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x12\x96W`\0\x80\xFD[\x86` \x82\x85\x01\x01\x11\x15a\x12\xA8W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x12\xCCW`\0\x80\xFD[P5\x91\x90PV[`\0[\x83\x81\x10\x15a\x12\xEEW\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\xD6V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x13\x0F\x81` \x86\x01` \x86\x01a\x12\xD3V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0\x82Q``` \x84\x01Ra\x13?`\x80\x84\x01\x82a\x12\xF7V[\x90P` \x84\x01Q`\x1F\x19\x80\x85\x84\x03\x01`@\x86\x01Ra\x13]\x83\x83a\x12\xF7V[\x92P`@\x86\x01Q\x91P\x80\x85\x84\x03\x01``\x86\x01RPa\x13{\x82\x82a\x12\xF7V[\x95\x94PPPPPV[`\0\x82`\x1F\x83\x01\x12a\x13\x95W`\0\x80\xFD[\x815` `\x01`\x01`@\x1B\x03\x80\x83\x11\x15a\x13\xB1Wa\x13\xB1a\x11\"V[\x82`\x05\x1Ba\x13\xC0\x83\x82\x01a\x11`V[\x93\x84R\x85\x81\x01\x83\x01\x93\x83\x81\x01\x90\x88\x86\x11\x15a\x13\xDAW`\0\x80\xFD[\x84\x88\x01\x92P[\x85\x83\x10\x15a\x14\x16W\x825\x84\x81\x11\x15a\x13\xF8W`\0\x80\x81\xFD[a\x14\x06\x8A\x87\x83\x8C\x01\x01a\x11\xB7V[\x83RP\x91\x84\x01\x91\x90\x84\x01\x90a\x13\xE0V[\x98\x97PPPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x145W`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x14LW`\0\x80\xFD[a\x14X\x86\x83\x87\x01a\x13\x84V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x14nW`\0\x80\xFD[Pa\x14{\x85\x82\x86\x01a\x11\xB7V[\x91PP\x92P\x92\x90PV[` \x81R`\0a\x07\x0F` \x83\x01\x84a\x12\xF7V[`\0\x80`@\x83\x85\x03\x12\x15a\x14\xABW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0\x80`@\x83\x85\x03\x12\x15a\x14\xCDW`\0\x80\xFD[\x825`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x14\xE4W`\0\x80\xFD[a\x14\xF0\x86\x83\x87\x01a\x11\xB7V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x15\x06W`\0\x80\xFD[\x90\x84\x01\x90`\xA0\x82\x87\x03\x12\x15a\x15\x1AW`\0\x80\xFD[a\x15\"a\x118V[\x825\x82\x81\x11\x15a\x151W`\0\x80\xFD[a\x15=\x88\x82\x86\x01a\x11\xB7V[\x82RP` \x83\x015\x82\x81\x11\x15a\x15RW`\0\x80\xFD[a\x15^\x88\x82\x86\x01a\x11\xB7V[` \x83\x01RP`@\x83\x015\x82\x81\x11\x15a\x15vW`\0\x80\xFD[a\x15\x82\x88\x82\x86\x01a\x11\xB7V[`@\x83\x01RP``\x83\x015\x82\x81\x11\x15a\x15\x9AW`\0\x80\xFD[a\x15\xA6\x88\x82\x86\x01a\x11\xB7V[``\x83\x01RP`\x80\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x15\xD8W`\0\x80\xFD[\x835`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x15\xEFW`\0\x80\xFD[a\x15\xFB\x87\x83\x88\x01a\x11\xB7V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x16\x11W`\0\x80\xFD[a\x16\x1D\x87\x83\x88\x01a\x11\xB7V[\x93P`@\x86\x015\x91P\x80\x82\x11\x15a\x163W`\0\x80\xFD[Pa\x16@\x86\x82\x87\x01a\x11\xB7V[\x91PP\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x16\\W`\0\x80\xFD[\x815`\x01`\x01`@\x1B\x03\x81\x11\x15a\x16rW`\0\x80\xFD[a\x12A\x84\x82\x85\x01a\x13\x84V[`\0\x82`\x1F\x83\x01\x12a\x16\x8FW`\0\x80\xFD[\x81Qa\x16\x9Da\x11\xD6\x82a\x11\x90V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x16\xB2W`\0\x80\xFD[a\x12A\x82` \x83\x01` \x87\x01a\x12\xD3V[`\0\x80`\0``\x84\x86\x03\x12\x15a\x16\xD8W`\0\x80\xFD[\x83Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x16\xEFW`\0\x80\xFD[a\x16\xFB\x87\x83\x88\x01a\x16~V[\x94P` \x86\x01Q\x91P\x80\x82\x11\x15a\x17\x11W`\0\x80\xFD[a\x17\x1D\x87\x83\x88\x01a\x16~V[\x93P`@\x86\x01Q\x91P\x80\x82\x11\x15a\x173W`\0\x80\xFD[Pa\x16@\x86\x82\x87\x01a\x16~V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x17TW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x17tWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`@\x81R`\0a\x17\x8D`@\x83\x01\x85a\x12\xF7V[\x82\x81\x03` \x84\x01Ra\x13{\x81\x85a\x12\xF7V[`\0\x80`@\x83\x85\x03\x12\x15a\x17\xB2W`\0\x80\xFD[\x82Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x17\xC9W`\0\x80\xFD[a\x17\xD5\x86\x83\x87\x01a\x16~V[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a\x17\xEBW`\0\x80\xFD[Pa\x14{\x85\x82\x86\x01a\x16~V[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15a\x18OW`?\x19\x88\x86\x03\x01\x84Ra\x18=\x85\x83Qa\x12\xF7V[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x18!V[P\x92\x97\x96PPPPPPPV[`\0\x80`\0\x80`\0\x80`\xC0\x87\x89\x03\x12\x15a\x18uW`\0\x80\xFD[\x865`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x18\x8CW`\0\x80\xFD[a\x18\x98\x8A\x83\x8B\x01a\x11\xB7V[\x97P` \x89\x015\x91P\x80\x82\x11\x15a\x18\xAEW`\0\x80\xFD[a\x18\xBA\x8A\x83\x8B\x01a\x11\xB7V[\x96P`@\x89\x015\x91P\x80\x82\x11\x15a\x18\xD0W`\0\x80\xFD[a\x18\xDC\x8A\x83\x8B\x01a\x11\xB7V[\x95P``\x89\x015\x91P\x80\x82\x11\x15a\x18\xF2W`\0\x80\xFD[a\x18\xFE\x8A\x83\x8B\x01a\x11\xB7V[\x94P`\x80\x89\x015\x91P\x80\x82\x11\x15a\x19\x14W`\0\x80\xFD[Pa\x19!\x89\x82\x8A\x01a\x11\xB7V[\x92PP`\xA0\x87\x015\x90P\x92\x95P\x92\x95P\x92\x95V[`\0\x84Qa\x19G\x81\x84` \x89\x01a\x12\xD3V[\x84Q\x90\x83\x01\x90a\x19[\x81\x83` \x89\x01a\x12\xD3V[\x84Q\x91\x01\x90a\x19n\x81\x83` \x88\x01a\x12\xD3V[\x01\x95\x94PPPPPV[`\x1F\x82\x11\x15a\x0E\xEFW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x19\xA1WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x19\xC0W\x82\x81U`\x01\x01a\x19\xADV[PPPPPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\x19\xE1Wa\x19\xE1a\x11\"V[a\x19\xF5\x81a\x19\xEF\x84Ta\x17@V[\x84a\x19xV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x1A*W`\0\x84\x15a\x1A\x12WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x19\xC0V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\x1AYW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x1A:V[P\x85\x82\x10\x15a\x1AwW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[``\x81R`\0a\x1A\x9A``\x83\x01\x86a\x12\xF7V[\x82\x81\x03` \x84\x01Ra\x1A\xAC\x81\x86a\x12\xF7V[\x90P\x82\x81\x03`@\x84\x01Ra\x1A\xC0\x81\x85a\x12\xF7V[\x96\x95PPPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x06\xFDWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0\x82a\x1B\x08WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`@\x81R`\0a\x1B `@\x83\x01\x85a\x12\xF7V[\x82\x81\x03` \x84\x01R\x83Q`\xA0\x82Ra\x1B;`\xA0\x83\x01\x82a\x12\xF7V[\x90P` \x85\x01Q\x82\x82\x03` \x84\x01Ra\x1BT\x82\x82a\x12\xF7V[\x91PP`@\x85\x01Q\x82\x82\x03`@\x84\x01Ra\x1Bn\x82\x82a\x12\xF7V[\x91PP``\x85\x01Q\x82\x82\x03``\x84\x01Ra\x1B\x88\x82\x82a\x12\xF7V[\x91PP`\x80\x85\x01Q`\x80\x83\x01R\x80\x92PPP\x93\x92PPPV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \x7F\x1F\xBC\xA7\x14O\xDBg\xA3\x85\xFB\xD9\xBAKdN\x83\xC7\x84\x86P\xA9\x85\xC1\xE2\xD5\\\xABBX\xAE&dsolcC\0\x08\x18\x003\xA2dipfsX\"\x12 \x98\xA4\xAB@\xB0\x93':\xA5_\xF6\xCF\x10\"\xA6`\xE2\x12\x14\x19\x19W\x8C\xAC\xDC\xBA=\xE0\x0E`\x9ExdsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static TEE_VERIFIER_WRAPPER_FACTORY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct tee_verifier_wrapper_factory(::ethers::contract::Contract); - impl ::core::clone::Clone for tee_verifier_wrapper_factory { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for tee_verifier_wrapper_factory { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for tee_verifier_wrapper_factory { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for tee_verifier_wrapper_factory { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(tee_verifier_wrapper_factory)) - .field(&self.address()) - .finish() - } - } - impl tee_verifier_wrapper_factory { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - TEE_VERIFIER_WRAPPER_FACTORY_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - TEE_VERIFIER_WRAPPER_FACTORY_ABI.clone(), - TEE_VERIFIER_WRAPPER_FACTORY_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `create_tee_verifier_wrapper` (0xbfc7e9e2) function - pub fn create_tee_verifier_wrapper( - &self, - admin: ::ethers::core::types::Address, - av: ::ethers::core::types::Address, - prover_pcrs: ::std::vec::Vec<::ethers::core::types::Bytes>, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([191, 199, 233, 226], (admin, av, prover_pcrs)) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `TeeVerifierWrapperCreated` event - pub fn tee_verifier_wrapper_created_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - TeeVerifierWrapperCreatedFilter, - > { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - TeeVerifierWrapperCreatedFilter, - > { - self.0 - .event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> - for tee_verifier_wrapper_factory - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "TeeVerifierWrapperCreated", - abi = "TeeVerifierWrapperCreated(address)" - )] - pub struct TeeVerifierWrapperCreatedFilter { - pub a: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `create_tee_verifier_wrapper` function with signature `create_tee_verifier_wrapper(address,address,bytes[])` and selector `0xbfc7e9e2` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "create_tee_verifier_wrapper", - abi = "create_tee_verifier_wrapper(address,address,bytes[])" - )] - pub struct CreateTeeVerifierWrapperCall { - pub admin: ::ethers::core::types::Address, - pub av: ::ethers::core::types::Address, - pub prover_pcrs: ::std::vec::Vec<::ethers::core::types::Bytes>, - } - ///Container type for all return fields from the `create_tee_verifier_wrapper` function with signature `create_tee_verifier_wrapper(address,address,bytes[])` and selector `0xbfc7e9e2` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct CreateTeeVerifierWrapperReturn { - pub a: ::ethers::core::types::Address, - } -} diff --git a/bindings/src/transfer_verifier.rs b/bindings/src/transfer_verifier.rs deleted file mode 100644 index 50c053a..0000000 --- a/bindings/src/transfer_verifier.rs +++ /dev/null @@ -1,203 +0,0 @@ -pub use transfer_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod transfer_verifier { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("verifyProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyProof"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("input"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 5usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[5]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("p"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 8usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[8]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static TRANSFERVERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\r\xE1\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80chDM\xC7\x14a\x000W[`\0\x80\xFD[a\0\xB0`\x04\x806\x03a\x01\xA0\x81\x10\x15a\0GW`\0\x80\xFD[\x81\x01\x90\x80\x80`\xA0\x01\x90`\x05\x80` \x02`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x82`\x05` \x02\x80\x82\x847`\0\x92\x01\x91\x90\x91RPP`@\x80Qa\x01\0\x81\x81\x01\x90\x92R\x92\x95\x94\x93\x81\x81\x01\x93\x92P\x90`\x08\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x91\x94Pa\0\xC4\x93PPPPV[`@\x80Q\x91\x15\x15\x82RQ\x90\x81\x90\x03` \x01\x90\xF3[`\0\x80[`\x08\x81`\xFF\x16\x10\x15a\x01MW\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x83\x82`\xFF\x16`\x08\x81\x10a\x01\x04W\xFE[` \x02\x01Q\x10a\x01EW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01\x80\x80` \x01\x82\x81\x03\x82R`\"\x81R` \x01\x80a\r\x8A`\"\x919`@\x01\x91PP`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\0\xC8V[Pa\x01Va\x0B\xD7V[`@\x80Q\x80\x82\x01\x82R\x84Q\x81R` \x80\x86\x01Q\x81\x83\x01R\x90\x83R\x81Q`\x80\x80\x82\x01\x84R``\x80\x88\x01Q\x83\x86\x01\x90\x81R\x88\x86\x01Q\x91\x84\x01\x91\x90\x91R\x82R\x83Q\x80\x85\x01\x85R`\xA0\x88\x01Q\x81R\x90\x87\x01Q\x81\x84\x01R\x81\x83\x01R\x83\x82\x01R\x81Q\x80\x83\x01\x83R`\xC0\x86\x01Q\x81R`\xE0\x86\x01Q\x91\x81\x01\x91\x90\x91R\x90\x82\x01Ra\x01\xD6a\x0C\tV[a\x01\xDEa\x035V[\x90Pa\x01\xE8a\x0CPV[`@Q\x80`@\x01`@R\x80`\0\x81R` \x01`\0\x81RP\x90Pa\x02 \x81\x83`\x80\x01Q`\0`\x06\x81\x10a\x02\x16W\xFE[` \x02\x01Qa\x07\xACV[\x90P`\0[`\x05\x81\x10\x15a\x02\xF6W\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01\x87\x82`\x05\x81\x10a\x02[W\xFE[` \x02\x01Q\x10a\x02\xB2W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7Fverifier-gte-snark-scalar-field\0`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x02\xEC\x82a\x02\xE7\x85`\x80\x01Q\x84`\x01\x01`\x06\x81\x10a\x02\xCCW\xFE[` \x02\x01Q\x8A\x85`\x05\x81\x10a\x02\xDDW\xFE[` \x02\x01Qa\x08LV[a\x07\xACV[\x91P`\x01\x01a\x02%V[Pa\x03+a\x03\x07\x84`\0\x01Qa\x08\xD2V[\x84` \x01Q\x84`\0\x01Q\x85` \x01Q\x85\x87`@\x01Q\x89`@\x01Q\x89``\x01Qa\tyV[\x96\x95PPPPPPV[a\x03=a\x0C\tV[`@\x80Q\x80\x82\x01\x82R\x7F\x17\x83\xC0\\\xFD'\xB8\xE7\xF4FPp\xD9\xDB\xB7<\xF8*\xC3\xFE\x1B\xE6*[p\x8A\xF3\xA3\xA9\xD1>\xCB\x81\x86\x01R\x81\x85\x01R\x82\x86\x01R\x83Q\x80\x85\x01\x85R\x7F\x1D\x9D.\x03\xF3\xE4\xBE\xB0\t\xC9\xA1\xF1\xD0\xC3\xDC\xAF\xCF\xB2\xF1\th\xBB\x02\xD3i\xABdH/\x85\xEEY\x81R\x7F\x19\x0C\x9E\xA0\xE9<\xCE\"<\xE8M\0\xDE\xFE\x06\xB7i\xD3_.W^\x94\xB5\xAE\x8A\xE55\xDD\xAA\xF1/\x81\x85\x01R\x81\x86\x01\x80Q\x91\x90\x91R\x84Q\x80\x86\x01\x86R\x7F%P\x93\x89\x01\xCB\xA1\xBA\x1DQM(\xB2\r9;\x84l\xC4\x9FX\x95/p\xA7\xCF:N\x0B\xF5\xFB\xDC\x81R\x7F\x13n\xC7\xCA\xA3\xCB\x18%b\xBF:\x8F\xAE\xB0\x8D\xD5\xBD\xCAH\x85cuu\xA3\xD2\x0E\x84\t\xAA\x94\xF1:\x81\x86\x01R\x81Q\x85\x01R\x84Q\x80\x86\x01\x86R\x7F\x1A\xC7\x96L\x82\xC8\x03\x19\xD6G\xFE\x9A\x94\x8A\x8E\xFD\x0F0T\xB0{\x9C\x85\xC4\x11>UC\x0F\xC8\x0E\x92\x81R~\xE23\x8B\xE3?|o\xE5 4\xF6b\xE1Gx'5Z\x8D\x1AR\x16Ul\x81\x86\x01R\x81Q\x90\x93\x01\x92\x90\x92R\x83Q\x80\x85\x01\x85R\x7F\x1F\xF8\xE6.{\x7Fu\x0E\xE8\x19\xA2\x87M\xBA\xD8\x073\xD9\xFFT\xB4!>\xE4q)n\xA0\xDA\x9C\x15\x1E\x81R\x7F\x1B7\xD0\xB5\xAD\x96\x93\x0C\xD3\xF2\xE2rzeC\xA2\x10\x17Ej\x07^\xA6n\xA1t\x18\xD1\xFFi\xFFJ\x81\x85\x01R\x82Q\x90\x91\x01R\x82Q\x80\x84\x01\x90\x93R\x7F,\xE54'q\xE9p\x11\x8A\x8F{*\xB4\xA7\x8F\xA9\xEE0\x16h\x12\xF8d'w\xB7\xA7\xD5)w.o\x83R\x7F\nU\x83\xF7\x17\xF3\x90\x83;u\xB1\xAC\x9Cr4\x8A7\xA5s\xD8CL\x83\nS\xDF2\x91\0\xD9\xDBN\x91\x83\x01\x91\x90\x91RQ`\xA0\x01R\x90V[a\x07\xB4a\x0CPV[a\x07\xBCa\x0CjV[\x83Q\x81R` \x80\x85\x01Q\x81\x83\x01R\x83Q`@\x83\x01R\x83\x01Q``\x80\x83\x01\x91\x90\x91R`\0\x90\x83`\xC0\x84`\x06a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xFAWa\x07\xFCV[\xFE[P\x80a\x08DW`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCBXY\x19\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[PP\x92\x91PPV[a\x08Ta\x0CPV[a\x08\\a\x0C\x88V[\x83Q\x81R` \x80\x85\x01Q\x90\x82\x01R`@\x81\x01\x83\x90R`\0``\x83`\x80\x84`\x07a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xFAWP\x80a\x08DW`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCB[][\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x08\xDAa\x0CPV[\x81Q\x15\x80\x15a\x08\xEBWP` \x82\x01Q\x15[\x15a\t\nWP`@\x80Q\x80\x82\x01\x90\x91R`\0\x80\x82R` \x82\x01Ra\ttV[`@Q\x80`@\x01`@R\x80\x83`\0\x01Q\x81R` \x01\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x84` \x01Q\x81a\tLW\xFE[\x06\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x03\x90R\x90P[\x91\x90PV[`\0a\t\x83a\x0C\xA6V[`@Q\x80`\x80\x01`@R\x80\x8B\x81R` \x01\x89\x81R` \x01\x87\x81R` \x01\x85\x81RP\x90Pa\t\xAEa\x0C\xD3V[P`@\x80Q`\x80\x81\x01\x82R\x8A\x81R` \x81\x01\x89\x90R\x80\x82\x01\x87\x90R``\x80\x82\x01\x86\x90R\x82Q`\x18\x80\x82Ra\x03 \x82\x01\x90\x94R\x91\x92\x91\x82\x81` \x01` \x82\x02\x806\x837\x01\x90PP\x90P`\0[`\x04\x81\x10\x15a\x0BPW`\x06\x81\x02\x85\x82`\x04\x81\x10a\n\x12W\xFE[` \x02\x01QQ\x83Q\x84\x90\x83\x90\x81\x10a\n&W\xFE[` \x02` \x01\x01\x81\x81RPP\x85\x82`\x04\x81\x10a\n>W\xFE[` \x02\x01Q` \x01Q\x83\x82`\x01\x01\x81Q\x81\x10a\nVW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\nnW\xFE[` \x02\x01QQQ\x83Q\x84\x90`\x02\x84\x01\x90\x81\x10a\n\x86W\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\n\x9EW\xFE[` \x02\x01QQ`\x01` \x02\x01Q\x83\x82`\x03\x01\x81Q\x81\x10a\n\xBAW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\n\xD2W\xFE[` \x02\x01Q` \x01Q`\0`\x02\x81\x10a\n\xE7W\xFE[` \x02\x01Q\x83\x82`\x04\x01\x81Q\x81\x10a\n\xFBW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\x0B\x13W\xFE[` \x02\x01Q` \x01Q`\x01`\x02\x81\x10a\x0B(W\xFE[` \x02\x01Q\x83\x82`\x05\x01\x81Q\x81\x10a\x0BV[`@Q\x80`@\x01`@R\x80`\0\x81R` \x01`\0\x81RP\x90V[`@Q\x80`\x80\x01`@R\x80`\x04\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80``\x01`@R\x80`\x03\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`\x80\x01`@R\x80`\x04\x90[a\x0C\xBDa\x0CPV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x0C\xB5W\x90PP\x90V[`@Q\x80`\x80\x01`@R\x80`\x04\x90[a\x0C\xEAa\r\x1EV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x0C\xE2W\x90PP\x90V[`@Q\x80` \x01`@R\x80`\x01\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`@\x01`@R\x80a\r1a\rkV[\x81R` \x01a\x0C\x04a\rkV[`@Q\x80`\xC0\x01`@R\x80`\x06\x90[a\rUa\x0CPV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\rMW\x90PP\x90V[`@Q\x80`@\x01`@R\x80`\x02\x90` \x82\x02\x806\x837P\x91\x92\x91PPV\xFEverifier-proof-element-gte-prime-q\xA2dipfsX\"\x12 \xA8\xF4\xA2\xED\xD2\xAB\xE6\xBE\xA2\xEBx\xD7\rZM}\xBB4\xD9\x0E\x16(\xD5]\x97,\xDB\x13\xE9\x8BO\xCFdsolcC\0\x06\x0C\x003"; - /// The bytecode of the contract. - pub static TRANSFERVERIFIER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80chDM\xC7\x14a\x000W[`\0\x80\xFD[a\0\xB0`\x04\x806\x03a\x01\xA0\x81\x10\x15a\0GW`\0\x80\xFD[\x81\x01\x90\x80\x80`\xA0\x01\x90`\x05\x80` \x02`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x82`\x05` \x02\x80\x82\x847`\0\x92\x01\x91\x90\x91RPP`@\x80Qa\x01\0\x81\x81\x01\x90\x92R\x92\x95\x94\x93\x81\x81\x01\x93\x92P\x90`\x08\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x91\x94Pa\0\xC4\x93PPPPV[`@\x80Q\x91\x15\x15\x82RQ\x90\x81\x90\x03` \x01\x90\xF3[`\0\x80[`\x08\x81`\xFF\x16\x10\x15a\x01MW\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x83\x82`\xFF\x16`\x08\x81\x10a\x01\x04W\xFE[` \x02\x01Q\x10a\x01EW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01\x80\x80` \x01\x82\x81\x03\x82R`\"\x81R` \x01\x80a\r\x8A`\"\x919`@\x01\x91PP`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\0\xC8V[Pa\x01Va\x0B\xD7V[`@\x80Q\x80\x82\x01\x82R\x84Q\x81R` \x80\x86\x01Q\x81\x83\x01R\x90\x83R\x81Q`\x80\x80\x82\x01\x84R``\x80\x88\x01Q\x83\x86\x01\x90\x81R\x88\x86\x01Q\x91\x84\x01\x91\x90\x91R\x82R\x83Q\x80\x85\x01\x85R`\xA0\x88\x01Q\x81R\x90\x87\x01Q\x81\x84\x01R\x81\x83\x01R\x83\x82\x01R\x81Q\x80\x83\x01\x83R`\xC0\x86\x01Q\x81R`\xE0\x86\x01Q\x91\x81\x01\x91\x90\x91R\x90\x82\x01Ra\x01\xD6a\x0C\tV[a\x01\xDEa\x035V[\x90Pa\x01\xE8a\x0CPV[`@Q\x80`@\x01`@R\x80`\0\x81R` \x01`\0\x81RP\x90Pa\x02 \x81\x83`\x80\x01Q`\0`\x06\x81\x10a\x02\x16W\xFE[` \x02\x01Qa\x07\xACV[\x90P`\0[`\x05\x81\x10\x15a\x02\xF6W\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01\x87\x82`\x05\x81\x10a\x02[W\xFE[` \x02\x01Q\x10a\x02\xB2W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7Fverifier-gte-snark-scalar-field\0`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x02\xEC\x82a\x02\xE7\x85`\x80\x01Q\x84`\x01\x01`\x06\x81\x10a\x02\xCCW\xFE[` \x02\x01Q\x8A\x85`\x05\x81\x10a\x02\xDDW\xFE[` \x02\x01Qa\x08LV[a\x07\xACV[\x91P`\x01\x01a\x02%V[Pa\x03+a\x03\x07\x84`\0\x01Qa\x08\xD2V[\x84` \x01Q\x84`\0\x01Q\x85` \x01Q\x85\x87`@\x01Q\x89`@\x01Q\x89``\x01Qa\tyV[\x96\x95PPPPPPV[a\x03=a\x0C\tV[`@\x80Q\x80\x82\x01\x82R\x7F\x17\x83\xC0\\\xFD'\xB8\xE7\xF4FPp\xD9\xDB\xB7<\xF8*\xC3\xFE\x1B\xE6*[p\x8A\xF3\xA3\xA9\xD1>\xCB\x81\x86\x01R\x81\x85\x01R\x82\x86\x01R\x83Q\x80\x85\x01\x85R\x7F\x1D\x9D.\x03\xF3\xE4\xBE\xB0\t\xC9\xA1\xF1\xD0\xC3\xDC\xAF\xCF\xB2\xF1\th\xBB\x02\xD3i\xABdH/\x85\xEEY\x81R\x7F\x19\x0C\x9E\xA0\xE9<\xCE\"<\xE8M\0\xDE\xFE\x06\xB7i\xD3_.W^\x94\xB5\xAE\x8A\xE55\xDD\xAA\xF1/\x81\x85\x01R\x81\x86\x01\x80Q\x91\x90\x91R\x84Q\x80\x86\x01\x86R\x7F%P\x93\x89\x01\xCB\xA1\xBA\x1DQM(\xB2\r9;\x84l\xC4\x9FX\x95/p\xA7\xCF:N\x0B\xF5\xFB\xDC\x81R\x7F\x13n\xC7\xCA\xA3\xCB\x18%b\xBF:\x8F\xAE\xB0\x8D\xD5\xBD\xCAH\x85cuu\xA3\xD2\x0E\x84\t\xAA\x94\xF1:\x81\x86\x01R\x81Q\x85\x01R\x84Q\x80\x86\x01\x86R\x7F\x1A\xC7\x96L\x82\xC8\x03\x19\xD6G\xFE\x9A\x94\x8A\x8E\xFD\x0F0T\xB0{\x9C\x85\xC4\x11>UC\x0F\xC8\x0E\x92\x81R~\xE23\x8B\xE3?|o\xE5 4\xF6b\xE1Gx'5Z\x8D\x1AR\x16Ul\x81\x86\x01R\x81Q\x90\x93\x01\x92\x90\x92R\x83Q\x80\x85\x01\x85R\x7F\x1F\xF8\xE6.{\x7Fu\x0E\xE8\x19\xA2\x87M\xBA\xD8\x073\xD9\xFFT\xB4!>\xE4q)n\xA0\xDA\x9C\x15\x1E\x81R\x7F\x1B7\xD0\xB5\xAD\x96\x93\x0C\xD3\xF2\xE2rzeC\xA2\x10\x17Ej\x07^\xA6n\xA1t\x18\xD1\xFFi\xFFJ\x81\x85\x01R\x82Q\x90\x91\x01R\x82Q\x80\x84\x01\x90\x93R\x7F,\xE54'q\xE9p\x11\x8A\x8F{*\xB4\xA7\x8F\xA9\xEE0\x16h\x12\xF8d'w\xB7\xA7\xD5)w.o\x83R\x7F\nU\x83\xF7\x17\xF3\x90\x83;u\xB1\xAC\x9Cr4\x8A7\xA5s\xD8CL\x83\nS\xDF2\x91\0\xD9\xDBN\x91\x83\x01\x91\x90\x91RQ`\xA0\x01R\x90V[a\x07\xB4a\x0CPV[a\x07\xBCa\x0CjV[\x83Q\x81R` \x80\x85\x01Q\x81\x83\x01R\x83Q`@\x83\x01R\x83\x01Q``\x80\x83\x01\x91\x90\x91R`\0\x90\x83`\xC0\x84`\x06a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xFAWa\x07\xFCV[\xFE[P\x80a\x08DW`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCBXY\x19\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[PP\x92\x91PPV[a\x08Ta\x0CPV[a\x08\\a\x0C\x88V[\x83Q\x81R` \x80\x85\x01Q\x90\x82\x01R`@\x81\x01\x83\x90R`\0``\x83`\x80\x84`\x07a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xFAWP\x80a\x08DW`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCB[][\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x08\xDAa\x0CPV[\x81Q\x15\x80\x15a\x08\xEBWP` \x82\x01Q\x15[\x15a\t\nWP`@\x80Q\x80\x82\x01\x90\x91R`\0\x80\x82R` \x82\x01Ra\ttV[`@Q\x80`@\x01`@R\x80\x83`\0\x01Q\x81R` \x01\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x84` \x01Q\x81a\tLW\xFE[\x06\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x03\x90R\x90P[\x91\x90PV[`\0a\t\x83a\x0C\xA6V[`@Q\x80`\x80\x01`@R\x80\x8B\x81R` \x01\x89\x81R` \x01\x87\x81R` \x01\x85\x81RP\x90Pa\t\xAEa\x0C\xD3V[P`@\x80Q`\x80\x81\x01\x82R\x8A\x81R` \x81\x01\x89\x90R\x80\x82\x01\x87\x90R``\x80\x82\x01\x86\x90R\x82Q`\x18\x80\x82Ra\x03 \x82\x01\x90\x94R\x91\x92\x91\x82\x81` \x01` \x82\x02\x806\x837\x01\x90PP\x90P`\0[`\x04\x81\x10\x15a\x0BPW`\x06\x81\x02\x85\x82`\x04\x81\x10a\n\x12W\xFE[` \x02\x01QQ\x83Q\x84\x90\x83\x90\x81\x10a\n&W\xFE[` \x02` \x01\x01\x81\x81RPP\x85\x82`\x04\x81\x10a\n>W\xFE[` \x02\x01Q` \x01Q\x83\x82`\x01\x01\x81Q\x81\x10a\nVW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\nnW\xFE[` \x02\x01QQQ\x83Q\x84\x90`\x02\x84\x01\x90\x81\x10a\n\x86W\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\n\x9EW\xFE[` \x02\x01QQ`\x01` \x02\x01Q\x83\x82`\x03\x01\x81Q\x81\x10a\n\xBAW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\n\xD2W\xFE[` \x02\x01Q` \x01Q`\0`\x02\x81\x10a\n\xE7W\xFE[` \x02\x01Q\x83\x82`\x04\x01\x81Q\x81\x10a\n\xFBW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\x0B\x13W\xFE[` \x02\x01Q` \x01Q`\x01`\x02\x81\x10a\x0B(W\xFE[` \x02\x01Q\x83\x82`\x05\x01\x81Q\x81\x10a\x0BV[`@Q\x80`@\x01`@R\x80`\0\x81R` \x01`\0\x81RP\x90V[`@Q\x80`\x80\x01`@R\x80`\x04\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80``\x01`@R\x80`\x03\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`\x80\x01`@R\x80`\x04\x90[a\x0C\xBDa\x0CPV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x0C\xB5W\x90PP\x90V[`@Q\x80`\x80\x01`@R\x80`\x04\x90[a\x0C\xEAa\r\x1EV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x0C\xE2W\x90PP\x90V[`@Q\x80` \x01`@R\x80`\x01\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`@\x01`@R\x80a\r1a\rkV[\x81R` \x01a\x0C\x04a\rkV[`@Q\x80`\xC0\x01`@R\x80`\x06\x90[a\rUa\x0CPV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\rMW\x90PP\x90V[`@Q\x80`@\x01`@R\x80`\x02\x90` \x82\x02\x806\x837P\x91\x92\x91PPV\xFEverifier-proof-element-gte-prime-q\xA2dipfsX\"\x12 \xA8\xF4\xA2\xED\xD2\xAB\xE6\xBE\xA2\xEBx\xD7\rZM}\xBB4\xD9\x0E\x16(\xD5]\x97,\xDB\x13\xE9\x8BO\xCFdsolcC\0\x06\x0C\x003"; - /// The deployed bytecode of the contract. - pub static TRANSFERVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct TransferVerifier(::ethers::contract::Contract); - impl ::core::clone::Clone for TransferVerifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for TransferVerifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for TransferVerifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for TransferVerifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(TransferVerifier)) - .field(&self.address()) - .finish() - } - } - impl TransferVerifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - TRANSFERVERIFIER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - TRANSFERVERIFIER_ABI.clone(), - TRANSFERVERIFIER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `verifyProof` (0x68444dc7) function - pub fn verify_proof( - &self, - input: [::ethers::core::types::U256; 5], - p: [::ethers::core::types::U256; 8], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([104, 68, 77, 199], (input, p)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for TransferVerifier - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `verifyProof` function with signature `verifyProof(uint256[5],uint256[8])` and selector `0x68444dc7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verifyProof", abi = "verifyProof(uint256[5],uint256[8])")] - pub struct VerifyProofCall { - pub input: [::ethers::core::types::U256; 5], - pub p: [::ethers::core::types::U256; 8], - } - ///Container type for all return fields from the `verifyProof` function with signature `verifyProof(uint256[5],uint256[8])` and selector `0x68444dc7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyProofReturn(pub bool); -} diff --git a/bindings/src/transfer_verifier_wrapper.rs b/bindings/src/transfer_verifier_wrapper.rs deleted file mode 100644 index f2ce20f..0000000 --- a/bindings/src/transfer_verifier_wrapper.rs +++ /dev/null @@ -1,1158 +0,0 @@ -pub use transfer_verifier_wrapper::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod transfer_verifier_wrapper { - pub use super::super::shared_types::*; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_iverifier"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract i_transfer_verifier",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_sampleInput"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_sampleProof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("createRequest"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("createRequest"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("ask"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ProofMarketplace.Ask",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("secretType"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "enum ProofMarketplace.SecretType", - ), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("secret_inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("acl"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeInputAndProofForVerification"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "encodeInputAndProofForVerification", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 5usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[5]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("proof"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 8usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[8]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("encodeInputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 5usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[5]"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("encodeProof"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("proof"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 8usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[8]"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("iverifier"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("iverifier"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract i_transfer_verifier",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("proofMarketplace"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("proofMarketplace"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ProofMarketplace",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleInput"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleInput"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleProof"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("setProofMarketplaceContract"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProofMarketplaceContract",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_proofMarketplace"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ProofMarketplace",), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("encodedData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("encodedProof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyInputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static TRANSFER_VERIFIER_WRAPPER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x18F8\x03\x80b\0\x18F\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x03}V[`\x01`\x01`\xA0\x1B\x03\x83\x16`\x80R`\x01b\0\0O\x83\x82b\0\x04\x98V[P`\x02b\0\0^\x82\x82b\0\x04\x98V[Pb\0\0ib\0\0\xB7V[b\0\0\xAEW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x11`$\x82\x01Rp\x10\xD8[\x89\xDD\x08\x18\x99H\x19\x19\\\x1B\x1B\xDEYY`z\x1B`D\x82\x01R`d\x01`@Q\x80\x91\x03\x90\xFD[PPPb\0\x088V[`\0b\0\x01W`\x02\x80Tb\0\0\xCC\x90b\0\x04\x07V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\0\xFA\x90b\0\x04\x07V[\x80\x15b\0\x01KW\x80`\x1F\x10b\0\x01\x1FWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x01KV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x01-W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPb\0\x01\\\x92PPPV[\x90P\x90V[`\0\x80`\x01\x83`@Q` \x01b\0\x01u\x92\x91\x90b\0\x05\x92V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x90Pb\0\x01\x92\x81b\0\x01\x99V[\x93\x92PPPV[`\0b\0\x01\xA5b\0\x02}V[b\0\x01\xAFb\0\x02\x9BV[`\0\x80\x85\x80` \x01\x90Q\x81\x01\x90b\0\x01\xC8\x91\x90b\0\x06>V[\x91P\x91P\x81\x80` \x01\x90Q\x81\x01\x90b\0\x01\xE2\x91\x90b\0\x06\xA8V[\x93P\x80\x80` \x01\x90Q\x81\x01\x90b\0\x01\xFA\x91\x90b\0\x07-V[`\x80Q`@QchDM\xC7`\xE0\x1B\x81R\x91\x94P`\x01`\x01`\xA0\x1B\x03\x16\x90chDM\xC7\x90b\0\x02/\x90\x87\x90\x87\x90`\x04\x01b\0\x07\xB3V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x02MW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x02s\x91\x90b\0\x08\x14V[\x96\x95PPPPPPV[`@Q\x80`\xA0\x01`@R\x80`\x05\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80a\x01\0\x01`@R\x80`\x08\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15b\0\x02\xEDW\x81\x81\x01Q\x83\x82\x01R` \x01b\0\x02\xD3V[PP`\0\x91\x01RV[`\0\x82`\x1F\x83\x01\x12b\0\x03\x08W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x03%Wb\0\x03%b\0\x02\xBAV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\x03PWb\0\x03Pb\0\x02\xBAV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15b\0\x03jW`\0\x80\xFD[b\0\x02s\x84` \x83\x01` \x89\x01b\0\x02\xD0V[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x03\x93W`\0\x80\xFD[\x83Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x03\xABW`\0\x80\xFD[` \x85\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x03\xC9W`\0\x80\xFD[b\0\x03\xD7\x87\x83\x88\x01b\0\x02\xF6V[\x93P`@\x86\x01Q\x91P\x80\x82\x11\x15b\0\x03\xEEW`\0\x80\xFD[Pb\0\x03\xFD\x86\x82\x87\x01b\0\x02\xF6V[\x91PP\x92P\x92P\x92V[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x04\x1CW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x04=WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x04\x93W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x04nWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x04\x8FW\x82\x81U`\x01\x01b\0\x04zV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x04\xB4Wb\0\x04\xB4b\0\x02\xBAV[b\0\x04\xCC\x81b\0\x04\xC5\x84Tb\0\x04\x07V[\x84b\0\x04CV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x05\x04W`\0\x84\x15b\0\x04\xEBWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x04\x8FV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x055W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x05\x14V[P\x85\x82\x10\x15b\0\x05TW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x81Q\x80\x84Rb\0\x05~\x81` \x86\x01` \x86\x01b\0\x02\xD0V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`@\x81R`\0\x80\x84Tb\0\x05\xA6\x81b\0\x04\x07V[\x80`@\x86\x01R```\x01\x80\x84\x16`\0\x81\x14b\0\x05\xCBW`\x01\x81\x14b\0\x05\xE8Wb\0\x06\x1CV[`\xFF\x19\x85\x16``\x89\x01R``\x84\x15\x15`\x05\x1B\x89\x01\x01\x95Pb\0\x06\x1CV[\x89`\0R` \x80`\0 `\0[\x86\x81\x10\x15b\0\x06\x12W\x81T\x8B\x82\x01\x87\x01R\x90\x84\x01\x90\x82\x01b\0\x05\xF5V[\x8A\x01``\x01\x97PPP[PPPPP\x82\x81\x03` \x84\x01Rb\0\x065\x81\x85b\0\x05dV[\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15b\0\x06RW`\0\x80\xFD[\x82Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x06jW`\0\x80\xFD[b\0\x06x\x86\x83\x87\x01b\0\x02\xF6V[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15b\0\x06\x8FW`\0\x80\xFD[Pb\0\x06\x9E\x85\x82\x86\x01b\0\x02\xF6V[\x91PP\x92P\x92\x90PV[`\0`\xA0\x82\x84\x03\x12\x15b\0\x06\xBBW`\0\x80\xFD[\x82`\x1F\x83\x01\x12b\0\x06\xCBW`\0\x80\xFD[`@Q`\xA0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x06\xF0Wb\0\x06\xF0b\0\x02\xBAV[`@R\x80`\xA0\x84\x01\x85\x81\x11\x15b\0\x07\x06W`\0\x80\xFD[\x84[\x81\x81\x10\x15b\0\x07\"W\x80Q\x83R` \x92\x83\x01\x92\x01b\0\x07\x08V[P\x91\x95\x94PPPPPV[`\0a\x01\0\x80\x83\x85\x03\x12\x15b\0\x07BW`\0\x80\xFD[\x83`\x1F\x84\x01\x12b\0\x07RW`\0\x80\xFD[`@Q\x81\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x07vWb\0\x07vb\0\x02\xBAV[`@R\x90\x83\x01\x90\x80\x85\x83\x11\x15b\0\x07\x8CW`\0\x80\xFD[\x84[\x83\x81\x10\x15b\0\x07\xA8W\x80Q\x82R` \x91\x82\x01\x91\x01b\0\x07\x8EV[P\x90\x95\x94PPPPPV[a\x01\xA0\x81\x01\x81\x84`\0[`\x05\x81\x10\x15b\0\x07\xDEW\x81Q\x83R` \x92\x83\x01\x92\x90\x91\x01\x90`\x01\x01b\0\x07\xBDV[PPP`\xA0\x82\x01\x83`\0[`\x08\x81\x10\x15b\0\x08\nW\x81Q\x83R` \x92\x83\x01\x92\x90\x91\x01\x90`\x01\x01b\0\x07\xE9V[PPP\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15b\0\x08'W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14b\0\x01\x92W`\0\x80\xFD[`\x80Qa\x0F\xEBb\0\x08[`\09`\0\x81\x81a\x01\xD8\x01Ra\x04b\x01Ra\x0F\xEB`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xCFW`\x005`\xE0\x1C\x80c\x8Ev\n\xFE\x11a\0\x8CW\x80c\xA7l\x05Q\x11a\0fW\x80c\xA7l\x05Q\x14a\x01\xA5W\x80c\xD2#^\xAC\x14a\x01\xADW\x80c\xDF\xD4\xAC\x1B\x14a\x01\xC0W\x80c\xE7\xF5\xB8\x1D\x14a\x01\xD3W`\0\x80\xFD[\x80c\x8Ev\n\xFE\x14a\x01lW\x80c\x99fY\x9F\x14a\x01\x7FW\x80c\xA6\xDF\xBC\x7F\x14a\x01\x92W`\0\x80\xFD[\x80c\x02\xF7}\x19\x14a\0\xD4W\x80c\x05m\xE7\x04\x14a\0\xFCW\x80c\x10\xA5By\x14a\x01\x11W\x80cd\xF1\xBC\xC7\x14a\x01\x19W\x80c}\x8A\xD4+\x14a\x019W\x80c\x81\xC4\\p\x14a\x01AW[`\0\x80\xFD[a\0\xE7a\0\xE26`\x04a\x08\x06V[a\x01\xFAV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01\x0Fa\x01\n6`\x04a\x08\x9EV[a\x022V[\0[a\0\xE7a\x02\xA0V[a\x01,a\x01'6`\x04a\t\x0CV[a\x03:V[`@Qa\0\xF3\x91\x90a\tyV[a\x01,a\x03cV[`\0Ta\x01T\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xF3V[a\0\xE7a\x01z6`\x04a\x08\x06V[a\x03\xF1V[a\x01,a\x01\x8D6`\x04a\t\xB7V[a\x04\xE4V[a\0\xE7a\x01\xA06`\x04a\n6V[a\x05!V[a\x01,a\x059V[a\x01\x0Fa\x01\xBB6`\x04a\nxV[a\x05FV[a\x01,a\x01\xCE6`\x04a\x0B-V[a\x06xV[a\x01T\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`\0\x80`\x01\x83`@Q` \x01a\x02\x11\x92\x91\x90a\x0B\x83V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x02+\x81a\x03\xF1V[\x93\x92PPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x16\x15a\x02~W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0B`$\x82\x01Rj\x10[\x1C\x99XY\x1EH\x14\xD9]`\xAA\x1B`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\0a\x035`\x02\x80Ta\x02\xB2\x90a\x0BIV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xDE\x90a\x0BIV[\x80\x15a\x03+W\x80`\x1F\x10a\x03\0Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03+V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x0EW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPa\x01\xFAV[\x90P\x90V[``\x81`@Q` \x01a\x03M\x91\x90a\x0CoV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x91\x90PV[`\x01\x80Ta\x03p\x90a\x0BIV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\x9C\x90a\x0BIV[\x80\x15a\x03\xE9W\x80`\x1F\x10a\x03\xBEWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\xE9V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\xCCW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\0a\x03\xFBa\x07\rV[a\x04\x03a\x07+V[`\0\x80\x85\x80` \x01\x90Q\x81\x01\x90a\x04\x1A\x91\x90a\x0C\xCBV[\x91P\x91P\x81\x80` \x01\x90Q\x81\x01\x90a\x042\x91\x90a\r/V[\x93P\x80\x80` \x01\x90Q\x81\x01\x90a\x04H\x91\x90a\r\x84V[`@QchDM\xC7`\xE0\x1B\x81R\x90\x93P`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90chDM\xC7\x90a\x04\x99\x90\x87\x90\x87\x90`\x04\x01a\x0E\x08V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04\xB6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\xDA\x91\x90a\x0E$V[\x96\x95PPPPPPV[``a\x04\xEF\x83a\x06xV[a\x04\xF8\x83a\x03:V[`@Q` \x01a\x05\t\x92\x91\x90a\x0EFV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P[\x92\x91PPV[`\0a\x05/\x82\x84\x01\x84a\x0B-V[P`\x01\x93\x92PPPV[`\x02\x80Ta\x03p\x90a\x0BIV[`\0`@Q\x80`\xE0\x01`@R\x80\x88`\0\x015\x81R` \x01\x88` \x015\x81R` \x01\x88`@\x015\x81R` \x01\x88``\x015\x81R` \x01\x88`\x80\x015\x81R` \x01\x88`\xA0\x01` \x81\x01\x90a\x05\x98\x91\x90a\x08\x9EV[`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01a\x05\xBEa\x01\xCEa\x05\xB9`\xC0\x8C\x01\x8Ca\x0EkV[a\x06\x8BV[\x90R`\0T`@Q\x91\x92P`\x01`\x01`\xA0\x1B\x03\x16\x90cpS\x8F\xCA\x90\x83\x90\x89\x90a\x05\xED\x90\x8A\x90\x8A\x90` \x01a\x0E\xB2V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x87\x87`@Q` \x01a\x06\x0F\x92\x91\x90a\x0E\xB2V[`@Q` \x81\x83\x03\x03\x81R\x90`@R`@Q\x85c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x06=\x94\x93\x92\x91\x90a\x0F\x03V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06WW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06kW=`\0\x80>=`\0\xFD[PPPPPPPPPPPV[``\x81`@Q` \x01a\x03M\x91\x90a\x0F\xA7V[a\x06\x93a\x07\rV[a\x06\x9D\x83\x83a\x05!V[a\x07\x01W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FTransfer Verifier Wrapper: Inval`D\x82\x01Rn\x1AY\x08\x1A[\x9C\x1D]\x08\x19\x9B\xDC\x9BX]`\x8A\x1B`d\x82\x01R`\x84\x01a\x02uV[a\x02+\x82\x84\x01\x84a\x0B-V[`@Q\x80`\xA0\x01`@R\x80`\x05\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80a\x01\0\x01`@R\x80`\x08\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Qa\x01\0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\x84Wa\x07\x84a\x07JV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\x84Wa\x07\x84a\x07JV[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\xD6Wa\x07\xD6a\x07JV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\xF8Wa\x07\xF8a\x07JV[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0` \x82\x84\x03\x12\x15a\x08\x18W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08/W`\0\x80\xFD[\x82\x01`\x1F\x81\x01\x84\x13a\x08@W`\0\x80\xFD[\x805a\x08Sa\x08N\x82a\x07\xDEV[a\x07\xADV[\x81\x81R\x85` \x83\x85\x01\x01\x11\x15a\x08hW`\0\x80\xFD[\x81` \x84\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\x9BW`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x08\xB0W`\0\x80\xFD[\x815a\x02+\x81a\x08\x86V[`\0\x82`\x1F\x83\x01\x12a\x08\xCCW`\0\x80\xFD[a\x08\xD4a\x07`V[\x80a\x01\0\x84\x01\x85\x81\x11\x15a\x08\xE7W`\0\x80\xFD[\x84[\x81\x81\x10\x15a\t\x01W\x805\x84R` \x93\x84\x01\x93\x01a\x08\xE9V[P\x90\x95\x94PPPPPV[`\0a\x01\0\x82\x84\x03\x12\x15a\t\x1FW`\0\x80\xFD[a\x02+\x83\x83a\x08\xBBV[`\0[\x83\x81\x10\x15a\tDW\x81\x81\x01Q\x83\x82\x01R` \x01a\t,V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\te\x81` \x86\x01` \x86\x01a\t)V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x02+` \x83\x01\x84a\tMV[`\0\x82`\x1F\x83\x01\x12a\t\x9DW`\0\x80\xFD[a\t\xA5a\x07\x8AV[\x80`\xA0\x84\x01\x85\x81\x11\x15a\x08\xE7W`\0\x80\xFD[`\0\x80a\x01\xA0\x83\x85\x03\x12\x15a\t\xCBW`\0\x80\xFD[a\t\xD5\x84\x84a\t\x8CV[\x91Pa\t\xE4\x84`\xA0\x85\x01a\x08\xBBV[\x90P\x92P\x92\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\t\xFFW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\n\x17W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\n/W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80` \x83\x85\x03\x12\x15a\nIW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\n`W`\0\x80\xFD[a\nl\x85\x82\x86\x01a\t\xEDV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a\n\x91W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\n\xA9W`\0\x80\xFD[\x90\x88\x01\x90`\xE0\x82\x8B\x03\x12\x15a\n\xBDW`\0\x80\xFD[\x90\x96P` \x88\x015\x90`\x03\x82\x10a\n\xD3W`\0\x80\xFD[\x90\x95P`@\x88\x015\x90\x80\x82\x11\x15a\n\xE9W`\0\x80\xFD[a\n\xF5\x8A\x83\x8B\x01a\t\xEDV[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15a\x0B\x0EW`\0\x80\xFD[Pa\x0B\x1B\x89\x82\x8A\x01a\t\xEDV[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0`\xA0\x82\x84\x03\x12\x15a\x0B?W`\0\x80\xFD[a\x02+\x83\x83a\t\x8CV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0B]W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0B}WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`@\x81R`\0\x80\x84T\x81`\x01\x82`\x01\x1C\x91P`\x01\x83\x16\x80a\x0B\xA5W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x0B\xC4WcNH{q`\xE0\x1B\x86R`\"`\x04R`$\x86\xFD[`@\x88\x01\x84\x90R``\x88\x01\x82\x80\x15a\x0B\xE3W`\x01\x81\x14a\x0B\xF9Wa\x0C$V[`\xFF\x19\x87\x16\x82R\x85\x15\x15`\x05\x1B\x82\x01\x97Pa\x0C$V[`\0\x8C\x81R` \x90 `\0[\x87\x81\x10\x15a\x0C\x1EW\x81T\x84\x82\x01R\x90\x86\x01\x90\x84\x01a\x0C\x05V[\x83\x01\x98PP[PPPPPPP\x82\x81\x03` \x84\x01Ra\x0C=\x81\x85a\tMV[\x95\x94PPPPPV[\x80`\0[`\x08\x81\x10\x15a\x0CiW\x81Q\x84R` \x93\x84\x01\x93\x90\x91\x01\x90`\x01\x01a\x0CJV[PPPPV[a\x01\0\x81\x01a\x05\x1B\x82\x84a\x0CFV[`\0\x82`\x1F\x83\x01\x12a\x0C\x8FW`\0\x80\xFD[\x81Qa\x0C\x9Da\x08N\x82a\x07\xDEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x0C\xB2W`\0\x80\xFD[a\x0C\xC3\x82` \x83\x01` \x87\x01a\t)V[\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x0C\xDEW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0C\xF6W`\0\x80\xFD[a\r\x02\x86\x83\x87\x01a\x0C~V[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a\r\x18W`\0\x80\xFD[Pa\r%\x85\x82\x86\x01a\x0C~V[\x91PP\x92P\x92\x90PV[`\0`\xA0\x82\x84\x03\x12\x15a\rAW`\0\x80\xFD[\x82`\x1F\x83\x01\x12a\rPW`\0\x80\xFD[a\rXa\x07\x8AV[\x80`\xA0\x84\x01\x85\x81\x11\x15a\rjW`\0\x80\xFD[\x84[\x81\x81\x10\x15a\t\x01W\x80Q\x84R` \x93\x84\x01\x93\x01a\rlV[`\0a\x01\0\x80\x83\x85\x03\x12\x15a\r\x98W`\0\x80\xFD[\x83`\x1F\x84\x01\x12a\r\xA7W`\0\x80\xFD[a\r\xAFa\x07`V[\x90\x83\x01\x90\x80\x85\x83\x11\x15a\r\xC1W`\0\x80\xFD[\x84[\x83\x81\x10\x15a\r\xDBW\x80Q\x83R` \x92\x83\x01\x92\x01a\r\xC3V[P\x95\x94PPPPPV[\x80`\0[`\x05\x81\x10\x15a\x0CiW\x81Q\x84R` \x93\x84\x01\x93\x90\x91\x01\x90`\x01\x01a\r\xE9V[a\x01\xA0\x81\x01a\x0E\x17\x82\x85a\r\xE5V[a\x02+`\xA0\x83\x01\x84a\x0CFV[`\0` \x82\x84\x03\x12\x15a\x0E6W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x02+W`\0\x80\xFD[`@\x81R`\0a\x0EY`@\x83\x01\x85a\tMV[\x82\x81\x03` \x84\x01Ra\x0C=\x81\x85a\tMV[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12a\x0E\x82W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x0E\x9DW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\n/W`\0\x80\xFD[` \x81R\x81` \x82\x01R\x81\x83`@\x83\x017`\0\x81\x83\x01`@\x90\x81\x01\x91\x90\x91R`\x1F\x90\x92\x01`\x1F\x19\x16\x01\x01\x91\x90PV[`\x03\x81\x10a\x0E\xFFWcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[`\x80\x81R\x84Q`\x80\x82\x01R` \x85\x01Q`\xA0\x82\x01R`@\x85\x01Q`\xC0\x82\x01R``\x85\x01Q`\xE0\x82\x01R`\x80\x85\x01Qa\x01\0\x82\x01R`\x01\x80`\xA0\x1B\x03`\xA0\x86\x01Q\x16a\x01 \x82\x01R`\0`\xC0\x86\x01Q`\xE0a\x01@\x84\x01Ra\x0Fga\x01`\x84\x01\x82a\tMV[\x90Pa\x0Fv` \x84\x01\x87a\x0E\xE1V[\x82\x81\x03`@\x84\x01Ra\x0F\x88\x81\x86a\tMV[\x90P\x82\x81\x03``\x84\x01Ra\x0F\x9C\x81\x85a\tMV[\x97\x96PPPPPPPV[`\xA0\x81\x01a\x05\x1B\x82\x84a\r\xE5V\xFE\xA2dipfsX\"\x12 \xA4\x91Z\x95\xAC\xDD\x86s\xC02\r\xEF\xC1\x18\xEC\xACV\xF4\xF9Y\xEB\xC4+rr'`5c0\xA4\xABdsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static TRANSFER_VERIFIER_WRAPPER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xCFW`\x005`\xE0\x1C\x80c\x8Ev\n\xFE\x11a\0\x8CW\x80c\xA7l\x05Q\x11a\0fW\x80c\xA7l\x05Q\x14a\x01\xA5W\x80c\xD2#^\xAC\x14a\x01\xADW\x80c\xDF\xD4\xAC\x1B\x14a\x01\xC0W\x80c\xE7\xF5\xB8\x1D\x14a\x01\xD3W`\0\x80\xFD[\x80c\x8Ev\n\xFE\x14a\x01lW\x80c\x99fY\x9F\x14a\x01\x7FW\x80c\xA6\xDF\xBC\x7F\x14a\x01\x92W`\0\x80\xFD[\x80c\x02\xF7}\x19\x14a\0\xD4W\x80c\x05m\xE7\x04\x14a\0\xFCW\x80c\x10\xA5By\x14a\x01\x11W\x80cd\xF1\xBC\xC7\x14a\x01\x19W\x80c}\x8A\xD4+\x14a\x019W\x80c\x81\xC4\\p\x14a\x01AW[`\0\x80\xFD[a\0\xE7a\0\xE26`\x04a\x08\x06V[a\x01\xFAV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01\x0Fa\x01\n6`\x04a\x08\x9EV[a\x022V[\0[a\0\xE7a\x02\xA0V[a\x01,a\x01'6`\x04a\t\x0CV[a\x03:V[`@Qa\0\xF3\x91\x90a\tyV[a\x01,a\x03cV[`\0Ta\x01T\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xF3V[a\0\xE7a\x01z6`\x04a\x08\x06V[a\x03\xF1V[a\x01,a\x01\x8D6`\x04a\t\xB7V[a\x04\xE4V[a\0\xE7a\x01\xA06`\x04a\n6V[a\x05!V[a\x01,a\x059V[a\x01\x0Fa\x01\xBB6`\x04a\nxV[a\x05FV[a\x01,a\x01\xCE6`\x04a\x0B-V[a\x06xV[a\x01T\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`\0\x80`\x01\x83`@Q` \x01a\x02\x11\x92\x91\x90a\x0B\x83V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x02+\x81a\x03\xF1V[\x93\x92PPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x16\x15a\x02~W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0B`$\x82\x01Rj\x10[\x1C\x99XY\x1EH\x14\xD9]`\xAA\x1B`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\0a\x035`\x02\x80Ta\x02\xB2\x90a\x0BIV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xDE\x90a\x0BIV[\x80\x15a\x03+W\x80`\x1F\x10a\x03\0Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03+V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x0EW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPa\x01\xFAV[\x90P\x90V[``\x81`@Q` \x01a\x03M\x91\x90a\x0CoV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x91\x90PV[`\x01\x80Ta\x03p\x90a\x0BIV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\x9C\x90a\x0BIV[\x80\x15a\x03\xE9W\x80`\x1F\x10a\x03\xBEWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\xE9V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\xCCW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\0a\x03\xFBa\x07\rV[a\x04\x03a\x07+V[`\0\x80\x85\x80` \x01\x90Q\x81\x01\x90a\x04\x1A\x91\x90a\x0C\xCBV[\x91P\x91P\x81\x80` \x01\x90Q\x81\x01\x90a\x042\x91\x90a\r/V[\x93P\x80\x80` \x01\x90Q\x81\x01\x90a\x04H\x91\x90a\r\x84V[`@QchDM\xC7`\xE0\x1B\x81R\x90\x93P`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90chDM\xC7\x90a\x04\x99\x90\x87\x90\x87\x90`\x04\x01a\x0E\x08V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04\xB6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\xDA\x91\x90a\x0E$V[\x96\x95PPPPPPV[``a\x04\xEF\x83a\x06xV[a\x04\xF8\x83a\x03:V[`@Q` \x01a\x05\t\x92\x91\x90a\x0EFV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P[\x92\x91PPV[`\0a\x05/\x82\x84\x01\x84a\x0B-V[P`\x01\x93\x92PPPV[`\x02\x80Ta\x03p\x90a\x0BIV[`\0`@Q\x80`\xE0\x01`@R\x80\x88`\0\x015\x81R` \x01\x88` \x015\x81R` \x01\x88`@\x015\x81R` \x01\x88``\x015\x81R` \x01\x88`\x80\x015\x81R` \x01\x88`\xA0\x01` \x81\x01\x90a\x05\x98\x91\x90a\x08\x9EV[`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01a\x05\xBEa\x01\xCEa\x05\xB9`\xC0\x8C\x01\x8Ca\x0EkV[a\x06\x8BV[\x90R`\0T`@Q\x91\x92P`\x01`\x01`\xA0\x1B\x03\x16\x90cpS\x8F\xCA\x90\x83\x90\x89\x90a\x05\xED\x90\x8A\x90\x8A\x90` \x01a\x0E\xB2V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x87\x87`@Q` \x01a\x06\x0F\x92\x91\x90a\x0E\xB2V[`@Q` \x81\x83\x03\x03\x81R\x90`@R`@Q\x85c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x06=\x94\x93\x92\x91\x90a\x0F\x03V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06WW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06kW=`\0\x80>=`\0\xFD[PPPPPPPPPPPV[``\x81`@Q` \x01a\x03M\x91\x90a\x0F\xA7V[a\x06\x93a\x07\rV[a\x06\x9D\x83\x83a\x05!V[a\x07\x01W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FTransfer Verifier Wrapper: Inval`D\x82\x01Rn\x1AY\x08\x1A[\x9C\x1D]\x08\x19\x9B\xDC\x9BX]`\x8A\x1B`d\x82\x01R`\x84\x01a\x02uV[a\x02+\x82\x84\x01\x84a\x0B-V[`@Q\x80`\xA0\x01`@R\x80`\x05\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80a\x01\0\x01`@R\x80`\x08\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Qa\x01\0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\x84Wa\x07\x84a\x07JV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\x84Wa\x07\x84a\x07JV[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\xD6Wa\x07\xD6a\x07JV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\xF8Wa\x07\xF8a\x07JV[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0` \x82\x84\x03\x12\x15a\x08\x18W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08/W`\0\x80\xFD[\x82\x01`\x1F\x81\x01\x84\x13a\x08@W`\0\x80\xFD[\x805a\x08Sa\x08N\x82a\x07\xDEV[a\x07\xADV[\x81\x81R\x85` \x83\x85\x01\x01\x11\x15a\x08hW`\0\x80\xFD[\x81` \x84\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\x9BW`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x08\xB0W`\0\x80\xFD[\x815a\x02+\x81a\x08\x86V[`\0\x82`\x1F\x83\x01\x12a\x08\xCCW`\0\x80\xFD[a\x08\xD4a\x07`V[\x80a\x01\0\x84\x01\x85\x81\x11\x15a\x08\xE7W`\0\x80\xFD[\x84[\x81\x81\x10\x15a\t\x01W\x805\x84R` \x93\x84\x01\x93\x01a\x08\xE9V[P\x90\x95\x94PPPPPV[`\0a\x01\0\x82\x84\x03\x12\x15a\t\x1FW`\0\x80\xFD[a\x02+\x83\x83a\x08\xBBV[`\0[\x83\x81\x10\x15a\tDW\x81\x81\x01Q\x83\x82\x01R` \x01a\t,V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\te\x81` \x86\x01` \x86\x01a\t)V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x02+` \x83\x01\x84a\tMV[`\0\x82`\x1F\x83\x01\x12a\t\x9DW`\0\x80\xFD[a\t\xA5a\x07\x8AV[\x80`\xA0\x84\x01\x85\x81\x11\x15a\x08\xE7W`\0\x80\xFD[`\0\x80a\x01\xA0\x83\x85\x03\x12\x15a\t\xCBW`\0\x80\xFD[a\t\xD5\x84\x84a\t\x8CV[\x91Pa\t\xE4\x84`\xA0\x85\x01a\x08\xBBV[\x90P\x92P\x92\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\t\xFFW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\n\x17W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\n/W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80` \x83\x85\x03\x12\x15a\nIW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\n`W`\0\x80\xFD[a\nl\x85\x82\x86\x01a\t\xEDV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a\n\x91W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\n\xA9W`\0\x80\xFD[\x90\x88\x01\x90`\xE0\x82\x8B\x03\x12\x15a\n\xBDW`\0\x80\xFD[\x90\x96P` \x88\x015\x90`\x03\x82\x10a\n\xD3W`\0\x80\xFD[\x90\x95P`@\x88\x015\x90\x80\x82\x11\x15a\n\xE9W`\0\x80\xFD[a\n\xF5\x8A\x83\x8B\x01a\t\xEDV[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15a\x0B\x0EW`\0\x80\xFD[Pa\x0B\x1B\x89\x82\x8A\x01a\t\xEDV[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0`\xA0\x82\x84\x03\x12\x15a\x0B?W`\0\x80\xFD[a\x02+\x83\x83a\t\x8CV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0B]W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0B}WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`@\x81R`\0\x80\x84T\x81`\x01\x82`\x01\x1C\x91P`\x01\x83\x16\x80a\x0B\xA5W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x0B\xC4WcNH{q`\xE0\x1B\x86R`\"`\x04R`$\x86\xFD[`@\x88\x01\x84\x90R``\x88\x01\x82\x80\x15a\x0B\xE3W`\x01\x81\x14a\x0B\xF9Wa\x0C$V[`\xFF\x19\x87\x16\x82R\x85\x15\x15`\x05\x1B\x82\x01\x97Pa\x0C$V[`\0\x8C\x81R` \x90 `\0[\x87\x81\x10\x15a\x0C\x1EW\x81T\x84\x82\x01R\x90\x86\x01\x90\x84\x01a\x0C\x05V[\x83\x01\x98PP[PPPPPPP\x82\x81\x03` \x84\x01Ra\x0C=\x81\x85a\tMV[\x95\x94PPPPPV[\x80`\0[`\x08\x81\x10\x15a\x0CiW\x81Q\x84R` \x93\x84\x01\x93\x90\x91\x01\x90`\x01\x01a\x0CJV[PPPPV[a\x01\0\x81\x01a\x05\x1B\x82\x84a\x0CFV[`\0\x82`\x1F\x83\x01\x12a\x0C\x8FW`\0\x80\xFD[\x81Qa\x0C\x9Da\x08N\x82a\x07\xDEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x0C\xB2W`\0\x80\xFD[a\x0C\xC3\x82` \x83\x01` \x87\x01a\t)V[\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x0C\xDEW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0C\xF6W`\0\x80\xFD[a\r\x02\x86\x83\x87\x01a\x0C~V[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a\r\x18W`\0\x80\xFD[Pa\r%\x85\x82\x86\x01a\x0C~V[\x91PP\x92P\x92\x90PV[`\0`\xA0\x82\x84\x03\x12\x15a\rAW`\0\x80\xFD[\x82`\x1F\x83\x01\x12a\rPW`\0\x80\xFD[a\rXa\x07\x8AV[\x80`\xA0\x84\x01\x85\x81\x11\x15a\rjW`\0\x80\xFD[\x84[\x81\x81\x10\x15a\t\x01W\x80Q\x84R` \x93\x84\x01\x93\x01a\rlV[`\0a\x01\0\x80\x83\x85\x03\x12\x15a\r\x98W`\0\x80\xFD[\x83`\x1F\x84\x01\x12a\r\xA7W`\0\x80\xFD[a\r\xAFa\x07`V[\x90\x83\x01\x90\x80\x85\x83\x11\x15a\r\xC1W`\0\x80\xFD[\x84[\x83\x81\x10\x15a\r\xDBW\x80Q\x83R` \x92\x83\x01\x92\x01a\r\xC3V[P\x95\x94PPPPPV[\x80`\0[`\x05\x81\x10\x15a\x0CiW\x81Q\x84R` \x93\x84\x01\x93\x90\x91\x01\x90`\x01\x01a\r\xE9V[a\x01\xA0\x81\x01a\x0E\x17\x82\x85a\r\xE5V[a\x02+`\xA0\x83\x01\x84a\x0CFV[`\0` \x82\x84\x03\x12\x15a\x0E6W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x02+W`\0\x80\xFD[`@\x81R`\0a\x0EY`@\x83\x01\x85a\tMV[\x82\x81\x03` \x84\x01Ra\x0C=\x81\x85a\tMV[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12a\x0E\x82W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x0E\x9DW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\n/W`\0\x80\xFD[` \x81R\x81` \x82\x01R\x81\x83`@\x83\x017`\0\x81\x83\x01`@\x90\x81\x01\x91\x90\x91R`\x1F\x90\x92\x01`\x1F\x19\x16\x01\x01\x91\x90PV[`\x03\x81\x10a\x0E\xFFWcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[`\x80\x81R\x84Q`\x80\x82\x01R` \x85\x01Q`\xA0\x82\x01R`@\x85\x01Q`\xC0\x82\x01R``\x85\x01Q`\xE0\x82\x01R`\x80\x85\x01Qa\x01\0\x82\x01R`\x01\x80`\xA0\x1B\x03`\xA0\x86\x01Q\x16a\x01 \x82\x01R`\0`\xC0\x86\x01Q`\xE0a\x01@\x84\x01Ra\x0Fga\x01`\x84\x01\x82a\tMV[\x90Pa\x0Fv` \x84\x01\x87a\x0E\xE1V[\x82\x81\x03`@\x84\x01Ra\x0F\x88\x81\x86a\tMV[\x90P\x82\x81\x03``\x84\x01Ra\x0F\x9C\x81\x85a\tMV[\x97\x96PPPPPPPV[`\xA0\x81\x01a\x05\x1B\x82\x84a\r\xE5V\xFE\xA2dipfsX\"\x12 \xA4\x91Z\x95\xAC\xDD\x86s\xC02\r\xEF\xC1\x18\xEC\xACV\xF4\xF9Y\xEB\xC4+rr'`5c0\xA4\xABdsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static TRANSFER_VERIFIER_WRAPPER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct transfer_verifier_wrapper(::ethers::contract::Contract); - impl ::core::clone::Clone for transfer_verifier_wrapper { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for transfer_verifier_wrapper { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for transfer_verifier_wrapper { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for transfer_verifier_wrapper { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(transfer_verifier_wrapper)) - .field(&self.address()) - .finish() - } - } - impl transfer_verifier_wrapper { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - TRANSFER_VERIFIER_WRAPPER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - TRANSFER_VERIFIER_WRAPPER_ABI.clone(), - TRANSFER_VERIFIER_WRAPPER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `checkSampleInputsAndProof` (0x10a54279) function - pub fn check_sample_inputs_and_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([16, 165, 66, 121], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `createRequest` (0xd2235eac) function - pub fn create_request( - &self, - ask: Ask, - secret_type: u8, - secret_inputs: ::ethers::core::types::Bytes, - acl: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([210, 35, 94, 172], (ask, secret_type, secret_inputs, acl)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeInputAndProofForVerification` (0x9966599f) function - pub fn encode_input_and_proof_for_verification( - &self, - inputs: [::ethers::core::types::U256; 5], - proof: [::ethers::core::types::U256; 8], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([153, 102, 89, 159], (inputs, proof)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeInputs` (0xdfd4ac1b) function - pub fn encode_inputs( - &self, - inputs: [::ethers::core::types::U256; 5], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([223, 212, 172, 27], inputs) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeProof` (0x64f1bcc7) function - pub fn encode_proof( - &self, - proof: [::ethers::core::types::U256; 8], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([100, 241, 188, 199], proof) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `iverifier` (0xe7f5b81d) function - pub fn iverifier( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([231, 245, 184, 29], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `proofMarketplace` (0x81c45c70) function - pub fn proof_marketplace( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([129, 196, 92, 112], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleInput` (0x7d8ad42b) function - pub fn sample_input( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([125, 138, 212, 43], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleProof` (0xa76c0551) function - pub fn sample_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([167, 108, 5, 81], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `setProofMarketplaceContract` (0x056de704) function - pub fn set_proof_marketplace_contract( - &self, - proof_marketplace: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([5, 109, 231, 4], proof_marketplace) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0x8e760afe) function - pub fn verify( - &self, - encoded_data: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([142, 118, 10, 254], encoded_data) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyAgainstSampleInputs` (0x02f77d19) function - pub fn verify_against_sample_inputs( - &self, - encoded_proof: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([2, 247, 125, 25], encoded_proof) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyInputs` (0xa6dfbc7f) function - pub fn verify_inputs( - &self, - inputs: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([166, 223, 188, 127], inputs) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for transfer_verifier_wrapper - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "checkSampleInputsAndProof", - abi = "checkSampleInputsAndProof()" - )] - pub struct CheckSampleInputsAndProofCall; - ///Container type for all input parameters for the `createRequest` function with signature `createRequest((uint256,uint256,uint256,uint256,uint256,address,bytes),uint8,bytes,bytes)` and selector `0xd2235eac` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "createRequest", - abi = "createRequest((uint256,uint256,uint256,uint256,uint256,address,bytes),uint8,bytes,bytes)" - )] - pub struct CreateRequestCall { - pub ask: Ask, - pub secret_type: u8, - pub secret_inputs: ::ethers::core::types::Bytes, - pub acl: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `encodeInputAndProofForVerification` function with signature `encodeInputAndProofForVerification(uint256[5],uint256[8])` and selector `0x9966599f` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "encodeInputAndProofForVerification", - abi = "encodeInputAndProofForVerification(uint256[5],uint256[8])" - )] - pub struct EncodeInputAndProofForVerificationCall { - pub inputs: [::ethers::core::types::U256; 5], - pub proof: [::ethers::core::types::U256; 8], - } - ///Container type for all input parameters for the `encodeInputs` function with signature `encodeInputs(uint256[5])` and selector `0xdfd4ac1b` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "encodeInputs", abi = "encodeInputs(uint256[5])")] - pub struct EncodeInputsCall { - pub inputs: [::ethers::core::types::U256; 5], - } - ///Container type for all input parameters for the `encodeProof` function with signature `encodeProof(uint256[8])` and selector `0x64f1bcc7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "encodeProof", abi = "encodeProof(uint256[8])")] - pub struct EncodeProofCall { - pub proof: [::ethers::core::types::U256; 8], - } - ///Container type for all input parameters for the `iverifier` function with signature `iverifier()` and selector `0xe7f5b81d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "iverifier", abi = "iverifier()")] - pub struct IverifierCall; - ///Container type for all input parameters for the `proofMarketplace` function with signature `proofMarketplace()` and selector `0x81c45c70` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "proofMarketplace", abi = "proofMarketplace()")] - pub struct ProofMarketplaceCall; - ///Container type for all input parameters for the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleInput", abi = "sampleInput()")] - pub struct SampleInputCall; - ///Container type for all input parameters for the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleProof", abi = "sampleProof()")] - pub struct SampleProofCall; - ///Container type for all input parameters for the `setProofMarketplaceContract` function with signature `setProofMarketplaceContract(address)` and selector `0x056de704` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "setProofMarketplaceContract", - abi = "setProofMarketplaceContract(address)" - )] - pub struct SetProofMarketplaceContractCall { - pub proof_marketplace: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes)")] - pub struct VerifyCall { - pub encoded_data: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyAgainstSampleInputs", - abi = "verifyAgainstSampleInputs(bytes)" - )] - pub struct VerifyAgainstSampleInputsCall { - pub encoded_proof: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verifyInputs", abi = "verifyInputs(bytes)")] - pub struct VerifyInputsCall { - pub inputs: ::ethers::core::types::Bytes, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum transfer_verifier_wrapperCalls { - CheckSampleInputsAndProof(CheckSampleInputsAndProofCall), - CreateRequest(CreateRequestCall), - EncodeInputAndProofForVerification(EncodeInputAndProofForVerificationCall), - EncodeInputs(EncodeInputsCall), - EncodeProof(EncodeProofCall), - Iverifier(IverifierCall), - ProofMarketplace(ProofMarketplaceCall), - SampleInput(SampleInputCall), - SampleProof(SampleProofCall), - SetProofMarketplaceContract(SetProofMarketplaceContractCall), - Verify(VerifyCall), - VerifyAgainstSampleInputs(VerifyAgainstSampleInputsCall), - VerifyInputs(VerifyInputsCall), - } - impl ::ethers::core::abi::AbiDecode for transfer_verifier_wrapperCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::CheckSampleInputsAndProof(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::CreateRequest(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::EncodeInputAndProofForVerification(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::EncodeInputs(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::EncodeProof(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Iverifier(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ProofMarketplace(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleInput(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleProof(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::SetProofMarketplaceContract(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyAgainstSampleInputs(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::VerifyInputs(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for transfer_verifier_wrapperCalls { - fn encode(self) -> Vec { - match self { - Self::CheckSampleInputsAndProof(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::CreateRequest(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::EncodeInputAndProofForVerification(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::EncodeInputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::EncodeProof(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Iverifier(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ProofMarketplace(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SampleInput(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SampleProof(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SetProofMarketplaceContract(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyAgainstSampleInputs(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::VerifyInputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for transfer_verifier_wrapperCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::CheckSampleInputsAndProof(element) => ::core::fmt::Display::fmt(element, f), - Self::CreateRequest(element) => ::core::fmt::Display::fmt(element, f), - Self::EncodeInputAndProofForVerification(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::EncodeInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::EncodeProof(element) => ::core::fmt::Display::fmt(element, f), - Self::Iverifier(element) => ::core::fmt::Display::fmt(element, f), - Self::ProofMarketplace(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleInput(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleProof(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProofMarketplaceContract(element) => ::core::fmt::Display::fmt(element, f), - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyAgainstSampleInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyInputs(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: CheckSampleInputsAndProofCall) -> Self { - Self::CheckSampleInputsAndProof(value) - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: CreateRequestCall) -> Self { - Self::CreateRequest(value) - } - } - impl ::core::convert::From - for transfer_verifier_wrapperCalls - { - fn from(value: EncodeInputAndProofForVerificationCall) -> Self { - Self::EncodeInputAndProofForVerification(value) - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: EncodeInputsCall) -> Self { - Self::EncodeInputs(value) - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: EncodeProofCall) -> Self { - Self::EncodeProof(value) - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: IverifierCall) -> Self { - Self::Iverifier(value) - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: ProofMarketplaceCall) -> Self { - Self::ProofMarketplace(value) - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: SampleInputCall) -> Self { - Self::SampleInput(value) - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: SampleProofCall) -> Self { - Self::SampleProof(value) - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: SetProofMarketplaceContractCall) -> Self { - Self::SetProofMarketplaceContract(value) - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: VerifyAgainstSampleInputsCall) -> Self { - Self::VerifyAgainstSampleInputs(value) - } - } - impl ::core::convert::From for transfer_verifier_wrapperCalls { - fn from(value: VerifyInputsCall) -> Self { - Self::VerifyInputs(value) - } - } - ///Container type for all return fields from the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct CheckSampleInputsAndProofReturn(pub bool); - ///Container type for all return fields from the `encodeInputAndProofForVerification` function with signature `encodeInputAndProofForVerification(uint256[5],uint256[8])` and selector `0x9966599f` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeInputAndProofForVerificationReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `encodeInputs` function with signature `encodeInputs(uint256[5])` and selector `0xdfd4ac1b` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeInputsReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `encodeProof` function with signature `encodeProof(uint256[8])` and selector `0x64f1bcc7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeProofReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `iverifier` function with signature `iverifier()` and selector `0xe7f5b81d` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct IverifierReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `proofMarketplace` function with signature `proofMarketplace()` and selector `0x81c45c70` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ProofMarketplaceReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleInputReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleProofReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); - ///Container type for all return fields from the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyAgainstSampleInputsReturn(pub bool); - ///Container type for all return fields from the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyInputsReturn(pub bool); -} diff --git a/bindings/src/uc.rs b/bindings/src/uc.rs deleted file mode 100644 index bd8fbfd..0000000 --- a/bindings/src/uc.rs +++ /dev/null @@ -1,1181 +0,0 @@ -pub use uc::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod uc { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("UPGRADE_INTERFACE_VERSION"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("UPGRADE_INTERFACE_VERSION",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("initialize"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("initialize"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("my_operation1"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("my_operation1"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("my_operation2"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("my_operation2"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("proxiableUUID"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("proxiableUUID"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("slot1"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("slot1"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("supportsInterface"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("supportsInterface"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("interfaceId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes4"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("upgradeToAndCall"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("upgradeToAndCall"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newImplementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("data"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], - ), - ]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("Initialized"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Initialized"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("version"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(64usize), - indexed: false, - },], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("Upgraded"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Upgraded"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("implementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - },], - anonymous: false, - },], - ), - ]), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("AddressEmptyCode"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AddressEmptyCode"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("target"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1967InvalidImplementation"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1967InvalidImplementation",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("implementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1967NonPayable"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1967NonPayable"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("FailedInnerCall"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("FailedInnerCall"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InvalidInitialization"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidInitialization",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("NotInitializing"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NotInitializing"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("UUPSUnauthorizedCallContext"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("UUPSUnauthorizedCallContext",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("UUPSUnsupportedProxiableUUID"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("UUPSUnsupportedProxiableUUID",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("slot"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static UC_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R0`\x80R4\x80\x15a\0\x14W`\0\x80\xFD[P\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\0_WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a\0{WP0;\x15[\x90P\x81\x15\x80\x15a\0\x89WP\x80\x15[\x15a\0\xA7W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T`\x01`\x01`@\x1B\x03\x19\x16`\x01\x17\x85U\x83\x15a\0\xD5W\x84T`\xFF`@\x1B\x19\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[\x83\x15a\x01\x1BW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPP`\x80Qa\x08Da\x01I`\09`\0\x81\x81a\x02\xD0\x01R\x81\x81a\x02\xF9\x01Ra\x04<\x01Ra\x08D`\0\xF3\xFE`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80c\x81)\xFC\x1C\x11a\0NW\x80c\x81)\xFC\x1C\x14a\x01\x15W\x80c\xAD<\xB1\xCC\x14a\x01*W\x80c\xBC.f\xE6\x14a\x01hW\x80c\xEE\xFBDa\x14a\x01tW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\0\x80W\x80c\x1FE|\xB5\x14a\0\xC6W\x80cO\x1E\xF2\x86\x14a\0\xEBW\x80cR\xD1\x90-\x14a\x01\0W[`\0\x80\xFD[4\x80\x15a\0\x8CW`\0\x80\xFD[Pa\0\xB1a\0\x9B6`\x04a\x06RV[`\x01`\x01`\xE0\x1B\x03\x19\x16c\x01\xFF\xC9\xA7`\xE0\x1B\x14\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xD2W`\0\x80\xFD[Pa\0\xDDa\x01\xF4T\x81V[`@Q\x90\x81R` \x01a\0\xBDV[a\0\xFEa\0\xF96`\x04a\x06\x92V[a\x01\x8AV[\0[4\x80\x15a\x01\x0CW`\0\x80\xFD[Pa\0\xDDa\x01\xA0V[4\x80\x15a\x01!W`\0\x80\xFD[Pa\0\xFEa\x01\xBDV[4\x80\x15a\x016W`\0\x80\xFD[Pa\x01[`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\0\xBD\x91\x90a\x07\x86V[4\x80\x15a\0\xFEW`\0\x80\xFD[4\x80\x15a\x01\x80W`\0\x80\xFD[Pa\x01\xF4Ta\0\xDDV[a\x01\x92a\x02\xC5V[a\x01\x9C\x82\x82a\x03jV[PPV[`\0a\x01\xAAa\x041V[P`\0\x80Q` a\x07\xEF\x839\x81Q\x91R\x90V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x81\x15\x80\x15a\x02\x03WP\x82[\x90P`\0\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x02 WP0;\x15[\x90P\x81\x15\x80\x15a\x02.WP\x80\x15[\x15a\x02LW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x02vW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[\x83\x15a\x02\xBCW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPV[V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\x03LWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x03@`\0\x80Q` a\x07\xEF\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a\x02\xC3W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x03\xC4WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x03\xC1\x91\x81\x01\x90a\x07\xB9V[`\x01[a\x03\xF1W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80Q` a\x07\xEF\x839\x81Q\x91R\x81\x14a\x04\"W`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x03\xE8V[a\x04,\x83\x83a\x04zV[PPPV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x02\xC3W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04\x83\x82a\x04\xD0V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x04\xC8Wa\x04,\x82\x82a\x055V[a\x01\x9Ca\x05\xABV[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x05\x06W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x03\xE8V[`\0\x80Q` a\x07\xEF\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x05R\x91\x90a\x07\xD2V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x05\x8DW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x05\x92V[``\x91P[P\x91P\x91Pa\x05\xA2\x85\x83\x83a\x05\xCAV[\x95\x94PPPPPV[4\x15a\x02\xC3W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a\x05\xDFWa\x05\xDA\x82a\x06)V[a\x06\"V[\x81Q\x15\x80\x15a\x05\xF6WP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x06\x1FW`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x03\xE8V[P\x80[\x93\x92PPPV[\x80Q\x15a\x069W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15a\x06dW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x06\"W`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x06\xA5W`\0\x80\xFD[\x825`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x06\xBCW`\0\x80\xFD[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x06\xD9W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x06\xEDW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x06\xFFWa\x06\xFFa\x06|V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x07'Wa\x07'a\x06|V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x07@W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x07}W\x81\x81\x01Q\x83\x82\x01R` \x01a\x07eV[PP`\0\x91\x01RV[` \x81R`\0\x82Q\x80` \x84\x01Ra\x07\xA5\x81`@\x85\x01` \x87\x01a\x07bV[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x07\xCBW`\0\x80\xFD[PQ\x91\x90PV[`\0\x82Qa\x07\xE4\x81\x84` \x87\x01a\x07bV[\x91\x90\x91\x01\x92\x91PPV\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\xA2dipfsX\"\x12 C\xF5\x12\x88E$r\x9C\xACI\x03@\x9B\xC2\xE8k\xA4\xF6\xF9\xA7b\xD4\xBB\xDA\xC7\rfZ\xDFV\x08\x0BdsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static UC_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80c\x81)\xFC\x1C\x11a\0NW\x80c\x81)\xFC\x1C\x14a\x01\x15W\x80c\xAD<\xB1\xCC\x14a\x01*W\x80c\xBC.f\xE6\x14a\x01hW\x80c\xEE\xFBDa\x14a\x01tW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\0\x80W\x80c\x1FE|\xB5\x14a\0\xC6W\x80cO\x1E\xF2\x86\x14a\0\xEBW\x80cR\xD1\x90-\x14a\x01\0W[`\0\x80\xFD[4\x80\x15a\0\x8CW`\0\x80\xFD[Pa\0\xB1a\0\x9B6`\x04a\x06RV[`\x01`\x01`\xE0\x1B\x03\x19\x16c\x01\xFF\xC9\xA7`\xE0\x1B\x14\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xD2W`\0\x80\xFD[Pa\0\xDDa\x01\xF4T\x81V[`@Q\x90\x81R` \x01a\0\xBDV[a\0\xFEa\0\xF96`\x04a\x06\x92V[a\x01\x8AV[\0[4\x80\x15a\x01\x0CW`\0\x80\xFD[Pa\0\xDDa\x01\xA0V[4\x80\x15a\x01!W`\0\x80\xFD[Pa\0\xFEa\x01\xBDV[4\x80\x15a\x016W`\0\x80\xFD[Pa\x01[`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\0\xBD\x91\x90a\x07\x86V[4\x80\x15a\0\xFEW`\0\x80\xFD[4\x80\x15a\x01\x80W`\0\x80\xFD[Pa\x01\xF4Ta\0\xDDV[a\x01\x92a\x02\xC5V[a\x01\x9C\x82\x82a\x03jV[PPV[`\0a\x01\xAAa\x041V[P`\0\x80Q` a\x07\xEF\x839\x81Q\x91R\x90V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x81\x15\x80\x15a\x02\x03WP\x82[\x90P`\0\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x02 WP0;\x15[\x90P\x81\x15\x80\x15a\x02.WP\x80\x15[\x15a\x02LW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x02vW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[\x83\x15a\x02\xBCW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPV[V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\x03LWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x03@`\0\x80Q` a\x07\xEF\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a\x02\xC3W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x03\xC4WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x03\xC1\x91\x81\x01\x90a\x07\xB9V[`\x01[a\x03\xF1W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80Q` a\x07\xEF\x839\x81Q\x91R\x81\x14a\x04\"W`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x03\xE8V[a\x04,\x83\x83a\x04zV[PPPV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x02\xC3W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04\x83\x82a\x04\xD0V[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x04\xC8Wa\x04,\x82\x82a\x055V[a\x01\x9Ca\x05\xABV[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x05\x06W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x03\xE8V[`\0\x80Q` a\x07\xEF\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x05R\x91\x90a\x07\xD2V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x05\x8DW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x05\x92V[``\x91P[P\x91P\x91Pa\x05\xA2\x85\x83\x83a\x05\xCAV[\x95\x94PPPPPV[4\x15a\x02\xC3W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a\x05\xDFWa\x05\xDA\x82a\x06)V[a\x06\"V[\x81Q\x15\x80\x15a\x05\xF6WP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x06\x1FW`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x03\xE8V[P\x80[\x93\x92PPPV[\x80Q\x15a\x069W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15a\x06dW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x06\"W`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x06\xA5W`\0\x80\xFD[\x825`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x06\xBCW`\0\x80\xFD[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x06\xD9W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x06\xEDW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x06\xFFWa\x06\xFFa\x06|V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x07'Wa\x07'a\x06|V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x07@W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x07}W\x81\x81\x01Q\x83\x82\x01R` \x01a\x07eV[PP`\0\x91\x01RV[` \x81R`\0\x82Q\x80` \x84\x01Ra\x07\xA5\x81`@\x85\x01` \x87\x01a\x07bV[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x07\xCBW`\0\x80\xFD[PQ\x91\x90PV[`\0\x82Qa\x07\xE4\x81\x84` \x87\x01a\x07bV[\x91\x90\x91\x01\x92\x91PPV\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\xA2dipfsX\"\x12 C\xF5\x12\x88E$r\x9C\xACI\x03@\x9B\xC2\xE8k\xA4\xF6\xF9\xA7b\xD4\xBB\xDA\xC7\rfZ\xDFV\x08\x0BdsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static UC_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct UC(::ethers::contract::Contract); - impl ::core::clone::Clone for UC { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for UC { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for UC { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for UC { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(UC)) - .field(&self.address()) - .finish() - } - } - impl UC { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - UC_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - UC_ABI.clone(), - UC_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `UPGRADE_INTERFACE_VERSION` (0xad3cb1cc) function - pub fn upgrade_interface_version( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([173, 60, 177, 204], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `initialize` (0x8129fc1c) function - pub fn initialize(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([129, 41, 252, 28], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `my_operation1` (0xeefb4461) function - pub fn my_operation_1( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([238, 251, 68, 97], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `my_operation2` (0xbc2e66e6) function - pub fn my_operation_2(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([188, 46, 102, 230], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `proxiableUUID` (0x52d1902d) function - pub fn proxiable_uuid(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([82, 209, 144, 45], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `slot1` (0x1f457cb5) function - pub fn slot_1( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([31, 69, 124, 181], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `supportsInterface` (0x01ffc9a7) function - pub fn supports_interface( - &self, - interface_id: [u8; 4], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([1, 255, 201, 167], interface_id) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `upgradeToAndCall` (0x4f1ef286) function - pub fn upgrade_to_and_call( - &self, - new_implementation: ::ethers::core::types::Address, - data: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([79, 30, 242, 134], (new_implementation, data)) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `Initialized` event - pub fn initialized_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, InitializedFilter> - { - self.0.event() - } - ///Gets the contract's `Upgraded` event - pub fn upgraded_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, UpgradedFilter> { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, UCEvents> { - self.0 - .event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> for UC { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `AddressEmptyCode` with signature `AddressEmptyCode(address)` and selector `0x9996b315` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "AddressEmptyCode", abi = "AddressEmptyCode(address)")] - pub struct AddressEmptyCode { - pub target: ::ethers::core::types::Address, - } - ///Custom Error type `ERC1967InvalidImplementation` with signature `ERC1967InvalidImplementation(address)` and selector `0x4c9c8ce3` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC1967InvalidImplementation", - abi = "ERC1967InvalidImplementation(address)" - )] - pub struct ERC1967InvalidImplementation { - pub implementation: ::ethers::core::types::Address, - } - ///Custom Error type `ERC1967NonPayable` with signature `ERC1967NonPayable()` and selector `0xb398979f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC1967NonPayable", abi = "ERC1967NonPayable()")] - pub struct ERC1967NonPayable; - ///Custom Error type `FailedInnerCall` with signature `FailedInnerCall()` and selector `0x1425ea42` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "FailedInnerCall", abi = "FailedInnerCall()")] - pub struct FailedInnerCall; - ///Custom Error type `InvalidInitialization` with signature `InvalidInitialization()` and selector `0xf92ee8a9` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "InvalidInitialization", abi = "InvalidInitialization()")] - pub struct InvalidInitialization; - ///Custom Error type `NotInitializing` with signature `NotInitializing()` and selector `0xd7e6bcf8` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "NotInitializing", abi = "NotInitializing()")] - pub struct NotInitializing; - ///Custom Error type `UUPSUnauthorizedCallContext` with signature `UUPSUnauthorizedCallContext()` and selector `0xe07c8dba` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "UUPSUnauthorizedCallContext", - abi = "UUPSUnauthorizedCallContext()" - )] - pub struct UUPSUnauthorizedCallContext; - ///Custom Error type `UUPSUnsupportedProxiableUUID` with signature `UUPSUnsupportedProxiableUUID(bytes32)` and selector `0xaa1d49a4` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "UUPSUnsupportedProxiableUUID", - abi = "UUPSUnsupportedProxiableUUID(bytes32)" - )] - pub struct UUPSUnsupportedProxiableUUID { - pub slot: [u8; 32], - } - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum UCErrors { - AddressEmptyCode(AddressEmptyCode), - ERC1967InvalidImplementation(ERC1967InvalidImplementation), - ERC1967NonPayable(ERC1967NonPayable), - FailedInnerCall(FailedInnerCall), - InvalidInitialization(InvalidInitialization), - NotInitializing(NotInitializing), - UUPSUnauthorizedCallContext(UUPSUnauthorizedCallContext), - UUPSUnsupportedProxiableUUID(UUPSUnsupportedProxiableUUID), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for UCErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::AddressEmptyCode(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC1967InvalidImplementation(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::ERC1967NonPayable(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::FailedInnerCall(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InvalidInitialization(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::NotInitializing(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UUPSUnauthorizedCallContext(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UUPSUnsupportedProxiableUUID(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for UCErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::AddressEmptyCode(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ERC1967InvalidImplementation(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC1967NonPayable(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::FailedInnerCall(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidInitialization(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::NotInitializing(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::UUPSUnauthorizedCallContext(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::UUPSUnsupportedProxiableUUID(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for UCErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector == ::selector() => { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for UCErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::AddressEmptyCode(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC1967InvalidImplementation(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC1967NonPayable(element) => ::core::fmt::Display::fmt(element, f), - Self::FailedInnerCall(element) => ::core::fmt::Display::fmt(element, f), - Self::InvalidInitialization(element) => ::core::fmt::Display::fmt(element, f), - Self::NotInitializing(element) => ::core::fmt::Display::fmt(element, f), - Self::UUPSUnauthorizedCallContext(element) => ::core::fmt::Display::fmt(element, f), - Self::UUPSUnsupportedProxiableUUID(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for UCErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for UCErrors { - fn from(value: AddressEmptyCode) -> Self { - Self::AddressEmptyCode(value) - } - } - impl ::core::convert::From for UCErrors { - fn from(value: ERC1967InvalidImplementation) -> Self { - Self::ERC1967InvalidImplementation(value) - } - } - impl ::core::convert::From for UCErrors { - fn from(value: ERC1967NonPayable) -> Self { - Self::ERC1967NonPayable(value) - } - } - impl ::core::convert::From for UCErrors { - fn from(value: FailedInnerCall) -> Self { - Self::FailedInnerCall(value) - } - } - impl ::core::convert::From for UCErrors { - fn from(value: InvalidInitialization) -> Self { - Self::InvalidInitialization(value) - } - } - impl ::core::convert::From for UCErrors { - fn from(value: NotInitializing) -> Self { - Self::NotInitializing(value) - } - } - impl ::core::convert::From for UCErrors { - fn from(value: UUPSUnauthorizedCallContext) -> Self { - Self::UUPSUnauthorizedCallContext(value) - } - } - impl ::core::convert::From for UCErrors { - fn from(value: UUPSUnsupportedProxiableUUID) -> Self { - Self::UUPSUnsupportedProxiableUUID(value) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Initialized", abi = "Initialized(uint64)")] - pub struct InitializedFilter { - pub version: u64, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Upgraded", abi = "Upgraded(address)")] - pub struct UpgradedFilter { - #[ethevent(indexed)] - pub implementation: ::ethers::core::types::Address, - } - ///Container type for all of the contract's events - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum UCEvents { - InitializedFilter(InitializedFilter), - UpgradedFilter(UpgradedFilter), - } - impl ::ethers::contract::EthLogDecode for UCEvents { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = InitializedFilter::decode_log(log) { - return Ok(UCEvents::InitializedFilter(decoded)); - } - if let Ok(decoded) = UpgradedFilter::decode_log(log) { - return Ok(UCEvents::UpgradedFilter(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for UCEvents { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::InitializedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::UpgradedFilter(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for UCEvents { - fn from(value: InitializedFilter) -> Self { - Self::InitializedFilter(value) - } - } - impl ::core::convert::From for UCEvents { - fn from(value: UpgradedFilter) -> Self { - Self::UpgradedFilter(value) - } - } - ///Container type for all input parameters for the `UPGRADE_INTERFACE_VERSION` function with signature `UPGRADE_INTERFACE_VERSION()` and selector `0xad3cb1cc` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "UPGRADE_INTERFACE_VERSION", - abi = "UPGRADE_INTERFACE_VERSION()" - )] - pub struct UpgradeInterfaceVersionCall; - ///Container type for all input parameters for the `initialize` function with signature `initialize()` and selector `0x8129fc1c` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "initialize", abi = "initialize()")] - pub struct InitializeCall; - ///Container type for all input parameters for the `my_operation1` function with signature `my_operation1()` and selector `0xeefb4461` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "my_operation1", abi = "my_operation1()")] - pub struct MyOperation1Call; - ///Container type for all input parameters for the `my_operation2` function with signature `my_operation2()` and selector `0xbc2e66e6` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "my_operation2", abi = "my_operation2()")] - pub struct MyOperation2Call; - ///Container type for all input parameters for the `proxiableUUID` function with signature `proxiableUUID()` and selector `0x52d1902d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "proxiableUUID", abi = "proxiableUUID()")] - pub struct ProxiableUUIDCall; - ///Container type for all input parameters for the `slot1` function with signature `slot1()` and selector `0x1f457cb5` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "slot1", abi = "slot1()")] - pub struct Slot1Call; - ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")] - pub struct SupportsInterfaceCall { - pub interface_id: [u8; 4], - } - ///Container type for all input parameters for the `upgradeToAndCall` function with signature `upgradeToAndCall(address,bytes)` and selector `0x4f1ef286` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "upgradeToAndCall", abi = "upgradeToAndCall(address,bytes)")] - pub struct UpgradeToAndCallCall { - pub new_implementation: ::ethers::core::types::Address, - pub data: ::ethers::core::types::Bytes, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum UCCalls { - UpgradeInterfaceVersion(UpgradeInterfaceVersionCall), - Initialize(InitializeCall), - MyOperation1(MyOperation1Call), - MyOperation2(MyOperation2Call), - ProxiableUUID(ProxiableUUIDCall), - Slot1(Slot1Call), - SupportsInterface(SupportsInterfaceCall), - UpgradeToAndCall(UpgradeToAndCallCall), - } - impl ::ethers::core::abi::AbiDecode for UCCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UpgradeInterfaceVersion(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Initialize(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::MyOperation1(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::MyOperation2(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::ProxiableUUID(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Slot1(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::SupportsInterface(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UpgradeToAndCall(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for UCCalls { - fn encode(self) -> Vec { - match self { - Self::UpgradeInterfaceVersion(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Initialize(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::MyOperation1(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::MyOperation2(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ProxiableUUID(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Slot1(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SupportsInterface(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::UpgradeToAndCall(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for UCCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::UpgradeInterfaceVersion(element) => ::core::fmt::Display::fmt(element, f), - Self::Initialize(element) => ::core::fmt::Display::fmt(element, f), - Self::MyOperation1(element) => ::core::fmt::Display::fmt(element, f), - Self::MyOperation2(element) => ::core::fmt::Display::fmt(element, f), - Self::ProxiableUUID(element) => ::core::fmt::Display::fmt(element, f), - Self::Slot1(element) => ::core::fmt::Display::fmt(element, f), - Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f), - Self::UpgradeToAndCall(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for UCCalls { - fn from(value: UpgradeInterfaceVersionCall) -> Self { - Self::UpgradeInterfaceVersion(value) - } - } - impl ::core::convert::From for UCCalls { - fn from(value: InitializeCall) -> Self { - Self::Initialize(value) - } - } - impl ::core::convert::From for UCCalls { - fn from(value: MyOperation1Call) -> Self { - Self::MyOperation1(value) - } - } - impl ::core::convert::From for UCCalls { - fn from(value: MyOperation2Call) -> Self { - Self::MyOperation2(value) - } - } - impl ::core::convert::From for UCCalls { - fn from(value: ProxiableUUIDCall) -> Self { - Self::ProxiableUUID(value) - } - } - impl ::core::convert::From for UCCalls { - fn from(value: Slot1Call) -> Self { - Self::Slot1(value) - } - } - impl ::core::convert::From for UCCalls { - fn from(value: SupportsInterfaceCall) -> Self { - Self::SupportsInterface(value) - } - } - impl ::core::convert::From for UCCalls { - fn from(value: UpgradeToAndCallCall) -> Self { - Self::UpgradeToAndCall(value) - } - } - ///Container type for all return fields from the `UPGRADE_INTERFACE_VERSION` function with signature `UPGRADE_INTERFACE_VERSION()` and selector `0xad3cb1cc` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct UpgradeInterfaceVersionReturn(pub ::std::string::String); - ///Container type for all return fields from the `my_operation1` function with signature `my_operation1()` and selector `0xeefb4461` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct MyOperation1Return(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `proxiableUUID` function with signature `proxiableUUID()` and selector `0x52d1902d` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ProxiableUUIDReturn(pub [u8; 32]); - ///Container type for all return fields from the `slot1` function with signature `slot1()` and selector `0x1f457cb5` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct Slot1Return(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SupportsInterfaceReturn(pub bool); -} diff --git a/bindings/src/uc_rekt.rs b/bindings/src/uc_rekt.rs deleted file mode 100644 index 1b14e76..0000000 --- a/bindings/src/uc_rekt.rs +++ /dev/null @@ -1,1353 +0,0 @@ -pub use uc_rekt::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod uc_rekt { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("UPGRADE_INTERFACE_VERSION"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("UPGRADE_INTERFACE_VERSION",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("initialize"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("initialize"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("my_operation1"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("my_operation1"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("my_operation2"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("my_operation2"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("proxiableUUID"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("proxiableUUID"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("rektSlot"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("rektSlot"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("rektSlot2"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("rektSlot2"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(96usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint96"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("slot1"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("slot1"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("supportsInterface"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("supportsInterface"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("interfaceId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes4"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("upgradeToAndCall"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("upgradeToAndCall"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newImplementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("data"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], - ), - ]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("Initialized"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Initialized"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("version"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(64usize), - indexed: false, - },], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("Upgraded"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Upgraded"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("implementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - },], - anonymous: false, - },], - ), - ]), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("AddressEmptyCode"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AddressEmptyCode"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("target"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1967InvalidImplementation"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1967InvalidImplementation",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("implementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1967NonPayable"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1967NonPayable"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("FailedInnerCall"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("FailedInnerCall"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InvalidInitialization"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidInitialization",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("NotInitializing"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NotInitializing"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ReentrancyGuardReentrantCall"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ReentrancyGuardReentrantCall",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("UUPSUnauthorizedCallContext"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("UUPSUnauthorizedCallContext",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("UUPSUnsupportedProxiableUUID"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("UUPSUnsupportedProxiableUUID",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("slot"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static UC_REKT_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R0`\x80R4\x80\x15a\0\x14W`\0\x80\xFD[P\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\0_WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a\0{WP0;\x15[\x90P\x81\x15\x80\x15a\0\x89WP\x80\x15[\x15a\0\xA7W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T`\x01`\x01`@\x1B\x03\x19\x16`\x01\x17\x85U\x83\x15a\0\xD5W\x84T`\xFF`@\x1B\x19\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[\x83\x15a\x01\x1BW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPP`\x80Qa\x08\xBBa\x01I`\09`\0\x81\x81a\x03G\x01R\x81\x81a\x03p\x01Ra\x04\xB3\x01Ra\x08\xBB`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x91W`\x005`\xE0\x1C\x80c\x81)\xFC\x1C\x11a\0YW\x80c\x81)\xFC\x1C\x14a\x01EW\x80c\xA8\xD2\x1B\x9D\x14a\x01ZW\x80c\xAD<\xB1\xCC\x14a\x01\xA1W\x80c\xBC.f\xE6\x14a\x01\xDFW\x80c\xEE\xFBDa\x14a\x01\xEBW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\0\x96W\x80c\x1FE|\xB5\x14a\0\xDCW\x80c04\x08\xD6\x14a\x01\x01W\x80cO\x1E\xF2\x86\x14a\x01\x1BW\x80cR\xD1\x90-\x14a\x010W[`\0\x80\xFD[4\x80\x15a\0\xA2W`\0\x80\xFD[Pa\0\xC7a\0\xB16`\x04a\x06\xC9V[`\x01`\x01`\xE0\x1B\x03\x19\x16c\x01\xFF\xC9\xA7`\xE0\x1B\x14\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xE8W`\0\x80\xFD[Pa\0\xF3a\x01\xC2T\x81V[`@Q\x90\x81R` \x01a\0\xD3V[4\x80\x15a\x01\rW`\0\x80\xFD[P`\0Ta\0\xC7\x90`\xFF\x16\x81V[a\x01.a\x01)6`\x04a\x07\tV[a\x02\x01V[\0[4\x80\x15a\x01#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x81\x15\x80\x15a\x02zWP\x82[\x90P`\0\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x02\x97WP0;\x15[\x90P\x81\x15\x80\x15a\x02\xA5WP\x80\x15[\x15a\x02\xC3W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x02\xEDW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[\x83\x15a\x033W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPV[V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\x03\xC3WP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x03\xB7`\0\x80Q` a\x08f\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a\x03:W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x04;WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x048\x91\x81\x01\x90a\x080V[`\x01[a\x04hW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80Q` a\x08f\x839\x81Q\x91R\x81\x14a\x04\x99W`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x04_V[a\x04\xA3\x83\x83a\x04\xF1V[PPPV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03:W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04\xFA\x82a\x05GV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x05?Wa\x04\xA3\x82\x82a\x05\xACV[a\x02\x13a\x06\"V[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x05}W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x04_V[`\0\x80Q` a\x08f\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x05\xC9\x91\x90a\x08IV[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x06\x04W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x06\tV[``\x91P[P\x91P\x91Pa\x06\x19\x85\x83\x83a\x06AV[\x95\x94PPPPPV[4\x15a\x03:W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a\x06VWa\x06Q\x82a\x06\xA0V[a\x06\x99V[\x81Q\x15\x80\x15a\x06mWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x06\x96W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x04_V[P\x80[\x93\x92PPPV[\x80Q\x15a\x06\xB0W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15a\x06\xDBW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x06\x99W`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x07\x1CW`\0\x80\xFD[\x825`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x073W`\0\x80\xFD[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07PW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x07dW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x07vWa\x07va\x06\xF3V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x07\x9EWa\x07\x9Ea\x06\xF3V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x07\xB7W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x07\xF4W\x81\x81\x01Q\x83\x82\x01R` \x01a\x07\xDCV[PP`\0\x91\x01RV[` \x81R`\0\x82Q\x80` \x84\x01Ra\x08\x1C\x81`@\x85\x01` \x87\x01a\x07\xD9V[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x08BW`\0\x80\xFD[PQ\x91\x90PV[`\0\x82Qa\x08[\x81\x84` \x87\x01a\x07\xD9V[\x91\x90\x91\x01\x92\x91PPV\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\xA2dipfsX\"\x12 \x8C\xF1.hy\xF1r,\x0F\xAF\x0C\xDC\xE0\xDA\x8C\xFET\x9Fb\xC8\xD9\x93\xD8\xA9UO\\F\xAF\xBD\x87\xC7dsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static UC_REKT_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0\x91W`\x005`\xE0\x1C\x80c\x81)\xFC\x1C\x11a\0YW\x80c\x81)\xFC\x1C\x14a\x01EW\x80c\xA8\xD2\x1B\x9D\x14a\x01ZW\x80c\xAD<\xB1\xCC\x14a\x01\xA1W\x80c\xBC.f\xE6\x14a\x01\xDFW\x80c\xEE\xFBDa\x14a\x01\xEBW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\0\x96W\x80c\x1FE|\xB5\x14a\0\xDCW\x80c04\x08\xD6\x14a\x01\x01W\x80cO\x1E\xF2\x86\x14a\x01\x1BW\x80cR\xD1\x90-\x14a\x010W[`\0\x80\xFD[4\x80\x15a\0\xA2W`\0\x80\xFD[Pa\0\xC7a\0\xB16`\x04a\x06\xC9V[`\x01`\x01`\xE0\x1B\x03\x19\x16c\x01\xFF\xC9\xA7`\xE0\x1B\x14\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xE8W`\0\x80\xFD[Pa\0\xF3a\x01\xC2T\x81V[`@Q\x90\x81R` \x01a\0\xD3V[4\x80\x15a\x01\rW`\0\x80\xFD[P`\0Ta\0\xC7\x90`\xFF\x16\x81V[a\x01.a\x01)6`\x04a\x07\tV[a\x02\x01V[\0[4\x80\x15a\x01#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x81\x15\x80\x15a\x02zWP\x82[\x90P`\0\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x02\x97WP0;\x15[\x90P\x81\x15\x80\x15a\x02\xA5WP\x80\x15[\x15a\x02\xC3W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x02\xEDW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[\x83\x15a\x033W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPV[V[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\x03\xC3WP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x03\xB7`\0\x80Q` a\x08f\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a\x03:W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x04;WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x048\x91\x81\x01\x90a\x080V[`\x01[a\x04hW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80Q` a\x08f\x839\x81Q\x91R\x81\x14a\x04\x99W`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x04_V[a\x04\xA3\x83\x83a\x04\xF1V[PPPV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03:W`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x04\xFA\x82a\x05GV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x05?Wa\x04\xA3\x82\x82a\x05\xACV[a\x02\x13a\x06\"V[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x05}W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x04_V[`\0\x80Q` a\x08f\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x05\xC9\x91\x90a\x08IV[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x06\x04W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x06\tV[``\x91P[P\x91P\x91Pa\x06\x19\x85\x83\x83a\x06AV[\x95\x94PPPPPV[4\x15a\x03:W`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a\x06VWa\x06Q\x82a\x06\xA0V[a\x06\x99V[\x81Q\x15\x80\x15a\x06mWP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x06\x96W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x04_V[P\x80[\x93\x92PPPV[\x80Q\x15a\x06\xB0W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15a\x06\xDBW`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x06\x99W`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x07\x1CW`\0\x80\xFD[\x825`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x073W`\0\x80\xFD[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07PW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x07dW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x07vWa\x07va\x06\xF3V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x07\x9EWa\x07\x9Ea\x06\xF3V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x07\xB7W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x07\xF4W\x81\x81\x01Q\x83\x82\x01R` \x01a\x07\xDCV[PP`\0\x91\x01RV[` \x81R`\0\x82Q\x80` \x84\x01Ra\x08\x1C\x81`@\x85\x01` \x87\x01a\x07\xD9V[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x08BW`\0\x80\xFD[PQ\x91\x90PV[`\0\x82Qa\x08[\x81\x84` \x87\x01a\x07\xD9V[\x91\x90\x91\x01\x92\x91PPV\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\xA2dipfsX\"\x12 \x8C\xF1.hy\xF1r,\x0F\xAF\x0C\xDC\xE0\xDA\x8C\xFET\x9Fb\xC8\xD9\x93\xD8\xA9UO\\F\xAF\xBD\x87\xC7dsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static UC_REKT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct UC_Rekt(::ethers::contract::Contract); - impl ::core::clone::Clone for UC_Rekt { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for UC_Rekt { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for UC_Rekt { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for UC_Rekt { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(UC_Rekt)) - .field(&self.address()) - .finish() - } - } - impl UC_Rekt { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - UC_REKT_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - UC_REKT_ABI.clone(), - UC_REKT_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `UPGRADE_INTERFACE_VERSION` (0xad3cb1cc) function - pub fn upgrade_interface_version( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([173, 60, 177, 204], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `initialize` (0x8129fc1c) function - pub fn initialize(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([129, 41, 252, 28], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `my_operation1` (0xeefb4461) function - pub fn my_operation_1( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([238, 251, 68, 97], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `my_operation2` (0xbc2e66e6) function - pub fn my_operation_2(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([188, 46, 102, 230], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `proxiableUUID` (0x52d1902d) function - pub fn proxiable_uuid(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([82, 209, 144, 45], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `rektSlot` (0x303408d6) function - pub fn rekt_slot(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([48, 52, 8, 214], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `rektSlot2` (0xa8d21b9d) function - pub fn rekt_slot_2(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([168, 210, 27, 157], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `slot1` (0x1f457cb5) function - pub fn slot_1( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([31, 69, 124, 181], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `supportsInterface` (0x01ffc9a7) function - pub fn supports_interface( - &self, - interface_id: [u8; 4], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([1, 255, 201, 167], interface_id) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `upgradeToAndCall` (0x4f1ef286) function - pub fn upgrade_to_and_call( - &self, - new_implementation: ::ethers::core::types::Address, - data: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([79, 30, 242, 134], (new_implementation, data)) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `Initialized` event - pub fn initialized_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, InitializedFilter> - { - self.0.event() - } - ///Gets the contract's `Upgraded` event - pub fn upgraded_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, UpgradedFilter> { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, UC_RektEvents> { - self.0 - .event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> for UC_Rekt { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `AddressEmptyCode` with signature `AddressEmptyCode(address)` and selector `0x9996b315` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "AddressEmptyCode", abi = "AddressEmptyCode(address)")] - pub struct AddressEmptyCode { - pub target: ::ethers::core::types::Address, - } - ///Custom Error type `ERC1967InvalidImplementation` with signature `ERC1967InvalidImplementation(address)` and selector `0x4c9c8ce3` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC1967InvalidImplementation", - abi = "ERC1967InvalidImplementation(address)" - )] - pub struct ERC1967InvalidImplementation { - pub implementation: ::ethers::core::types::Address, - } - ///Custom Error type `ERC1967NonPayable` with signature `ERC1967NonPayable()` and selector `0xb398979f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC1967NonPayable", abi = "ERC1967NonPayable()")] - pub struct ERC1967NonPayable; - ///Custom Error type `FailedInnerCall` with signature `FailedInnerCall()` and selector `0x1425ea42` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "FailedInnerCall", abi = "FailedInnerCall()")] - pub struct FailedInnerCall; - ///Custom Error type `InvalidInitialization` with signature `InvalidInitialization()` and selector `0xf92ee8a9` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "InvalidInitialization", abi = "InvalidInitialization()")] - pub struct InvalidInitialization; - ///Custom Error type `NotInitializing` with signature `NotInitializing()` and selector `0xd7e6bcf8` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "NotInitializing", abi = "NotInitializing()")] - pub struct NotInitializing; - ///Custom Error type `ReentrancyGuardReentrantCall` with signature `ReentrancyGuardReentrantCall()` and selector `0x3ee5aeb5` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ReentrancyGuardReentrantCall", - abi = "ReentrancyGuardReentrantCall()" - )] - pub struct ReentrancyGuardReentrantCall; - ///Custom Error type `UUPSUnauthorizedCallContext` with signature `UUPSUnauthorizedCallContext()` and selector `0xe07c8dba` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "UUPSUnauthorizedCallContext", - abi = "UUPSUnauthorizedCallContext()" - )] - pub struct UUPSUnauthorizedCallContext; - ///Custom Error type `UUPSUnsupportedProxiableUUID` with signature `UUPSUnsupportedProxiableUUID(bytes32)` and selector `0xaa1d49a4` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "UUPSUnsupportedProxiableUUID", - abi = "UUPSUnsupportedProxiableUUID(bytes32)" - )] - pub struct UUPSUnsupportedProxiableUUID { - pub slot: [u8; 32], - } - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum UC_RektErrors { - AddressEmptyCode(AddressEmptyCode), - ERC1967InvalidImplementation(ERC1967InvalidImplementation), - ERC1967NonPayable(ERC1967NonPayable), - FailedInnerCall(FailedInnerCall), - InvalidInitialization(InvalidInitialization), - NotInitializing(NotInitializing), - ReentrancyGuardReentrantCall(ReentrancyGuardReentrantCall), - UUPSUnauthorizedCallContext(UUPSUnauthorizedCallContext), - UUPSUnsupportedProxiableUUID(UUPSUnsupportedProxiableUUID), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for UC_RektErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::AddressEmptyCode(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC1967InvalidImplementation(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::ERC1967NonPayable(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::FailedInnerCall(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InvalidInitialization(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::NotInitializing(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ReentrancyGuardReentrantCall(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UUPSUnauthorizedCallContext(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UUPSUnsupportedProxiableUUID(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for UC_RektErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::AddressEmptyCode(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ERC1967InvalidImplementation(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC1967NonPayable(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::FailedInnerCall(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidInitialization(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::NotInitializing(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ReentrancyGuardReentrantCall(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::UUPSUnauthorizedCallContext(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::UUPSUnsupportedProxiableUUID(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for UC_RektErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector == ::selector() => { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for UC_RektErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::AddressEmptyCode(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC1967InvalidImplementation(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC1967NonPayable(element) => ::core::fmt::Display::fmt(element, f), - Self::FailedInnerCall(element) => ::core::fmt::Display::fmt(element, f), - Self::InvalidInitialization(element) => ::core::fmt::Display::fmt(element, f), - Self::NotInitializing(element) => ::core::fmt::Display::fmt(element, f), - Self::ReentrancyGuardReentrantCall(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::UUPSUnauthorizedCallContext(element) => ::core::fmt::Display::fmt(element, f), - Self::UUPSUnsupportedProxiableUUID(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for UC_RektErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for UC_RektErrors { - fn from(value: AddressEmptyCode) -> Self { - Self::AddressEmptyCode(value) - } - } - impl ::core::convert::From for UC_RektErrors { - fn from(value: ERC1967InvalidImplementation) -> Self { - Self::ERC1967InvalidImplementation(value) - } - } - impl ::core::convert::From for UC_RektErrors { - fn from(value: ERC1967NonPayable) -> Self { - Self::ERC1967NonPayable(value) - } - } - impl ::core::convert::From for UC_RektErrors { - fn from(value: FailedInnerCall) -> Self { - Self::FailedInnerCall(value) - } - } - impl ::core::convert::From for UC_RektErrors { - fn from(value: InvalidInitialization) -> Self { - Self::InvalidInitialization(value) - } - } - impl ::core::convert::From for UC_RektErrors { - fn from(value: NotInitializing) -> Self { - Self::NotInitializing(value) - } - } - impl ::core::convert::From for UC_RektErrors { - fn from(value: ReentrancyGuardReentrantCall) -> Self { - Self::ReentrancyGuardReentrantCall(value) - } - } - impl ::core::convert::From for UC_RektErrors { - fn from(value: UUPSUnauthorizedCallContext) -> Self { - Self::UUPSUnauthorizedCallContext(value) - } - } - impl ::core::convert::From for UC_RektErrors { - fn from(value: UUPSUnsupportedProxiableUUID) -> Self { - Self::UUPSUnsupportedProxiableUUID(value) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Initialized", abi = "Initialized(uint64)")] - pub struct InitializedFilter { - pub version: u64, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Upgraded", abi = "Upgraded(address)")] - pub struct UpgradedFilter { - #[ethevent(indexed)] - pub implementation: ::ethers::core::types::Address, - } - ///Container type for all of the contract's events - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum UC_RektEvents { - InitializedFilter(InitializedFilter), - UpgradedFilter(UpgradedFilter), - } - impl ::ethers::contract::EthLogDecode for UC_RektEvents { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = InitializedFilter::decode_log(log) { - return Ok(UC_RektEvents::InitializedFilter(decoded)); - } - if let Ok(decoded) = UpgradedFilter::decode_log(log) { - return Ok(UC_RektEvents::UpgradedFilter(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for UC_RektEvents { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::InitializedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::UpgradedFilter(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for UC_RektEvents { - fn from(value: InitializedFilter) -> Self { - Self::InitializedFilter(value) - } - } - impl ::core::convert::From for UC_RektEvents { - fn from(value: UpgradedFilter) -> Self { - Self::UpgradedFilter(value) - } - } - ///Container type for all input parameters for the `UPGRADE_INTERFACE_VERSION` function with signature `UPGRADE_INTERFACE_VERSION()` and selector `0xad3cb1cc` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "UPGRADE_INTERFACE_VERSION", - abi = "UPGRADE_INTERFACE_VERSION()" - )] - pub struct UpgradeInterfaceVersionCall; - ///Container type for all input parameters for the `initialize` function with signature `initialize()` and selector `0x8129fc1c` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "initialize", abi = "initialize()")] - pub struct InitializeCall; - ///Container type for all input parameters for the `my_operation1` function with signature `my_operation1()` and selector `0xeefb4461` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "my_operation1", abi = "my_operation1()")] - pub struct MyOperation1Call; - ///Container type for all input parameters for the `my_operation2` function with signature `my_operation2()` and selector `0xbc2e66e6` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "my_operation2", abi = "my_operation2()")] - pub struct MyOperation2Call; - ///Container type for all input parameters for the `proxiableUUID` function with signature `proxiableUUID()` and selector `0x52d1902d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "proxiableUUID", abi = "proxiableUUID()")] - pub struct ProxiableUUIDCall; - ///Container type for all input parameters for the `rektSlot` function with signature `rektSlot()` and selector `0x303408d6` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "rektSlot", abi = "rektSlot()")] - pub struct RektSlotCall; - ///Container type for all input parameters for the `rektSlot2` function with signature `rektSlot2()` and selector `0xa8d21b9d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "rektSlot2", abi = "rektSlot2()")] - pub struct RektSlot2Call; - ///Container type for all input parameters for the `slot1` function with signature `slot1()` and selector `0x1f457cb5` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "slot1", abi = "slot1()")] - pub struct Slot1Call; - ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")] - pub struct SupportsInterfaceCall { - pub interface_id: [u8; 4], - } - ///Container type for all input parameters for the `upgradeToAndCall` function with signature `upgradeToAndCall(address,bytes)` and selector `0x4f1ef286` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "upgradeToAndCall", abi = "upgradeToAndCall(address,bytes)")] - pub struct UpgradeToAndCallCall { - pub new_implementation: ::ethers::core::types::Address, - pub data: ::ethers::core::types::Bytes, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum UC_RektCalls { - UpgradeInterfaceVersion(UpgradeInterfaceVersionCall), - Initialize(InitializeCall), - MyOperation1(MyOperation1Call), - MyOperation2(MyOperation2Call), - ProxiableUUID(ProxiableUUIDCall), - RektSlot(RektSlotCall), - RektSlot2(RektSlot2Call), - Slot1(Slot1Call), - SupportsInterface(SupportsInterfaceCall), - UpgradeToAndCall(UpgradeToAndCallCall), - } - impl ::ethers::core::abi::AbiDecode for UC_RektCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UpgradeInterfaceVersion(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Initialize(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::MyOperation1(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::MyOperation2(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::ProxiableUUID(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::RektSlot(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::RektSlot2(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Slot1(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::SupportsInterface(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UpgradeToAndCall(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for UC_RektCalls { - fn encode(self) -> Vec { - match self { - Self::UpgradeInterfaceVersion(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Initialize(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::MyOperation1(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::MyOperation2(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ProxiableUUID(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::RektSlot(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::RektSlot2(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Slot1(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SupportsInterface(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::UpgradeToAndCall(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for UC_RektCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::UpgradeInterfaceVersion(element) => ::core::fmt::Display::fmt(element, f), - Self::Initialize(element) => ::core::fmt::Display::fmt(element, f), - Self::MyOperation1(element) => ::core::fmt::Display::fmt(element, f), - Self::MyOperation2(element) => ::core::fmt::Display::fmt(element, f), - Self::ProxiableUUID(element) => ::core::fmt::Display::fmt(element, f), - Self::RektSlot(element) => ::core::fmt::Display::fmt(element, f), - Self::RektSlot2(element) => ::core::fmt::Display::fmt(element, f), - Self::Slot1(element) => ::core::fmt::Display::fmt(element, f), - Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f), - Self::UpgradeToAndCall(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for UC_RektCalls { - fn from(value: UpgradeInterfaceVersionCall) -> Self { - Self::UpgradeInterfaceVersion(value) - } - } - impl ::core::convert::From for UC_RektCalls { - fn from(value: InitializeCall) -> Self { - Self::Initialize(value) - } - } - impl ::core::convert::From for UC_RektCalls { - fn from(value: MyOperation1Call) -> Self { - Self::MyOperation1(value) - } - } - impl ::core::convert::From for UC_RektCalls { - fn from(value: MyOperation2Call) -> Self { - Self::MyOperation2(value) - } - } - impl ::core::convert::From for UC_RektCalls { - fn from(value: ProxiableUUIDCall) -> Self { - Self::ProxiableUUID(value) - } - } - impl ::core::convert::From for UC_RektCalls { - fn from(value: RektSlotCall) -> Self { - Self::RektSlot(value) - } - } - impl ::core::convert::From for UC_RektCalls { - fn from(value: RektSlot2Call) -> Self { - Self::RektSlot2(value) - } - } - impl ::core::convert::From for UC_RektCalls { - fn from(value: Slot1Call) -> Self { - Self::Slot1(value) - } - } - impl ::core::convert::From for UC_RektCalls { - fn from(value: SupportsInterfaceCall) -> Self { - Self::SupportsInterface(value) - } - } - impl ::core::convert::From for UC_RektCalls { - fn from(value: UpgradeToAndCallCall) -> Self { - Self::UpgradeToAndCall(value) - } - } - ///Container type for all return fields from the `UPGRADE_INTERFACE_VERSION` function with signature `UPGRADE_INTERFACE_VERSION()` and selector `0xad3cb1cc` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct UpgradeInterfaceVersionReturn(pub ::std::string::String); - ///Container type for all return fields from the `my_operation1` function with signature `my_operation1()` and selector `0xeefb4461` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct MyOperation1Return(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `proxiableUUID` function with signature `proxiableUUID()` and selector `0x52d1902d` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ProxiableUUIDReturn(pub [u8; 32]); - ///Container type for all return fields from the `rektSlot` function with signature `rektSlot()` and selector `0x303408d6` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct RektSlotReturn(pub bool); - ///Container type for all return fields from the `rektSlot2` function with signature `rektSlot2()` and selector `0xa8d21b9d` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct RektSlot2Return(pub u128); - ///Container type for all return fields from the `slot1` function with signature `slot1()` and selector `0x1f457cb5` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct Slot1Return(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SupportsInterfaceReturn(pub bool); -} diff --git a/bindings/src/uc_with_rg.rs b/bindings/src/uc_with_rg.rs deleted file mode 100644 index 22ea616..0000000 --- a/bindings/src/uc_with_rg.rs +++ /dev/null @@ -1,1229 +0,0 @@ -pub use uc_with_rg::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod uc_with_rg { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("UPGRADE_INTERFACE_VERSION"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("UPGRADE_INTERFACE_VERSION",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("initialize"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("initialize"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("my_operation1"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("my_operation1"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("my_operation2"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("my_operation2"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("proxiableUUID"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("proxiableUUID"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("slot1"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("slot1"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("supportsInterface"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("supportsInterface"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("interfaceId"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes4"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("upgradeToAndCall"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("upgradeToAndCall"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newImplementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("data"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], - ), - ]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("Initialized"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Initialized"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("version"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(64usize), - indexed: false, - },], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("Upgraded"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Upgraded"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("implementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - },], - anonymous: false, - },], - ), - ]), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("AddressEmptyCode"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("AddressEmptyCode"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("target"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1967InvalidImplementation"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1967InvalidImplementation",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("implementation"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ERC1967NonPayable"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC1967NonPayable"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("FailedInnerCall"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("FailedInnerCall"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InvalidInitialization"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidInitialization",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("NotInitializing"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NotInitializing"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ReentrancyGuardReentrantCall"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ReentrancyGuardReentrantCall",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("UUPSUnauthorizedCallContext"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("UUPSUnauthorizedCallContext",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("UUPSUnsupportedProxiableUUID"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("UUPSUnsupportedProxiableUUID",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("slot"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static UC_WITH_RG_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R0`\x80R4\x80\x15a\0\x14W`\0\x80\xFD[P\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\0_WP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a\0{WP0;\x15[\x90P\x81\x15\x80\x15a\0\x89WP\x80\x15[\x15a\0\xA7W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T`\x01`\x01`@\x1B\x03\x19\x16`\x01\x17\x85U\x83\x15a\0\xD5W\x84T`\xFF`@\x1B\x19\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[\x83\x15a\x01\tW\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R`\0\x80Q` a\x0C\x14\x839\x81Q\x91R\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPP`\0a\x01\x1Ea\x01\xFE` \x1B` \x1CV[\x80T\x90\x91P`\xFFh\x01\0\0\0\0\0\0\0\0\x82\x04\x16\x15\x90`\x01`\x01`@\x1B\x03\x16`\0\x81\x15\x80\x15a\x01JWP\x82[\x90P`\0\x82`\x01`\x01`@\x1B\x03\x16`\x01\x14\x80\x15a\x01fWP0;\x15[\x90P\x81\x15\x80\x15a\x01tWP\x80\x15[\x15a\x01\x92W`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T`\x01`\x01`@\x1B\x03\x19\x16`\x01\x17\x85U\x83\x15a\x01\xC0W\x84T`\xFF`@\x1B\x19\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[\x83\x15a\x01\xF4W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R`\0\x80Q` a\x0C\x14\x839\x81Q\x91R\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPa\x02\"V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x90V[`\x80Qa\t\xC9a\x02K`\09`\0\x81\x81a\x03\x11\x01R\x81\x81a\x03:\x01Ra\x04}\x01Ra\t\xC9`\0\xF3\xFE`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80c\x81)\xFC\x1C\x11a\0NW\x80c\x81)\xFC\x1C\x14a\x01\x15W\x80c\xAD<\xB1\xCC\x14a\x01*W\x80c\xBC.f\xE6\x14a\x01hW\x80c\xEE\xFBDa\x14a\x01tW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\0\x80W\x80c\x1FE|\xB5\x14a\0\xC6W\x80cO\x1E\xF2\x86\x14a\0\xEBW\x80cR\xD1\x90-\x14a\x01\0W[`\0\x80\xFD[4\x80\x15a\0\x8CW`\0\x80\xFD[Pa\0\xB1a\0\x9B6`\x04a\x07\xD7V[`\x01`\x01`\xE0\x1B\x03\x19\x16c\x01\xFF\xC9\xA7`\xE0\x1B\x14\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xD2W`\0\x80\xFD[Pa\0\xDDa\x01\xF4T\x81V[`@Q\x90\x81R` \x01a\0\xBDV[a\0\xFEa\0\xF96`\x04a\x08\x17V[a\x01\x89V[\0[4\x80\x15a\x01\x0CW`\0\x80\xFD[Pa\0\xDDa\x01\x9FV[4\x80\x15a\x01!W`\0\x80\xFD[Pa\0\xFEa\x01\xBDV[4\x80\x15a\x016W`\0\x80\xFD[Pa\x01[`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\0\xBD\x91\x90a\t\x0BV[4\x80\x15a\0\xFEW`\0\x80\xFD[4\x80\x15a\x01\x80W`\0\x80\xFD[Pa\0\xDDa\x02\xCEV[a\x01\x91a\x03\x06V[a\x01\x9B\x82\x82a\x03\xABV[PPV[`\0a\x01\xA9a\x04rV[P`\0\x80Q` a\tt\x839\x81Q\x91R[\x90V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x81\x15\x80\x15a\x02\x03WP\x82[\x90P`\0\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x02 WP0;\x15[\x90P\x81\x15\x80\x15a\x02.WP\x80\x15[\x15a\x02LW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x02vW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a\x02~a\x04\xBBV[\x83\x15a\x02\xC5W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01[`@Q\x80\x91\x03\x90\xA1[PPPPPV[V[`\0a\x02\xD8a\x05\xB5V[Pa\x01\xF4Ta\x01\xBA`\x01\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0UV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\x03\x8DWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x03\x81`\0\x80Q` a\tt\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a\x02\xCCW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x04\x05WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x04\x02\x91\x81\x01\x90a\t>V[`\x01[a\x042W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80Q` a\tt\x839\x81Q\x91R\x81\x14a\x04cW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x04)V[a\x04m\x83\x83a\x05\xFFV[PPPV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x02\xCCW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x81\x15\x80\x15a\x05\x01WP\x82[\x90P`\0\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x05\x1EWP0;\x15[\x90P\x81\x15\x80\x15a\x05,WP\x80\x15[\x15a\x05JW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x02~W\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U\x83\x15a\x02\xC5W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01a\x02\xBCV[\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\x80T`\x01\x19\x01a\x05\xF9W`@Qc>\xE5\xAE\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x90UV[a\x06\x08\x82a\x06UV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x06MWa\x04m\x82\x82a\x06\xBAV[a\x01\x9Ba\x070V[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x06\x8BW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x04)V[`\0\x80Q` a\tt\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x06\xD7\x91\x90a\tWV[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x07\x12W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x07\x17V[``\x91P[P\x91P\x91Pa\x07'\x85\x83\x83a\x07OV[\x95\x94PPPPPV[4\x15a\x02\xCCW`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a\x07dWa\x07_\x82a\x07\xAEV[a\x07\xA7V[\x81Q\x15\x80\x15a\x07{WP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x07\xA4W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x04)V[P\x80[\x93\x92PPPV[\x80Q\x15a\x07\xBEW\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15a\x07\xE9W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x07\xA7W`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x08*W`\0\x80\xFD[\x825`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08AW`\0\x80\xFD[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08^W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x08rW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x08\x84Wa\x08\x84a\x08\x01V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x08\xACWa\x08\xACa\x08\x01V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x08\xC5W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\t\x02W\x81\x81\x01Q\x83\x82\x01R` \x01a\x08\xEAV[PP`\0\x91\x01RV[` \x81R`\0\x82Q\x80` \x84\x01Ra\t*\x81`@\x85\x01` \x87\x01a\x08\xE7V[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\tPW`\0\x80\xFD[PQ\x91\x90PV[`\0\x82Qa\ti\x81\x84` \x87\x01a\x08\xE7V[\x91\x90\x91\x01\x92\x91PPV\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\xA2dipfsX\"\x12 \xD0q\x16\x9D\xCCG\xBA\xE9)D\xCCab\xAB\xC8=Jkh\xC9N\x1C\xF9\x81\x9F\xE9l\x9B\xB4\tc\tdsolcC\0\x08\x18\x003\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2"; - /// The bytecode of the contract. - pub static UC_WITH_RG_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80c\x81)\xFC\x1C\x11a\0NW\x80c\x81)\xFC\x1C\x14a\x01\x15W\x80c\xAD<\xB1\xCC\x14a\x01*W\x80c\xBC.f\xE6\x14a\x01hW\x80c\xEE\xFBDa\x14a\x01tW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\0\x80W\x80c\x1FE|\xB5\x14a\0\xC6W\x80cO\x1E\xF2\x86\x14a\0\xEBW\x80cR\xD1\x90-\x14a\x01\0W[`\0\x80\xFD[4\x80\x15a\0\x8CW`\0\x80\xFD[Pa\0\xB1a\0\x9B6`\x04a\x07\xD7V[`\x01`\x01`\xE0\x1B\x03\x19\x16c\x01\xFF\xC9\xA7`\xE0\x1B\x14\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xD2W`\0\x80\xFD[Pa\0\xDDa\x01\xF4T\x81V[`@Q\x90\x81R` \x01a\0\xBDV[a\0\xFEa\0\xF96`\x04a\x08\x17V[a\x01\x89V[\0[4\x80\x15a\x01\x0CW`\0\x80\xFD[Pa\0\xDDa\x01\x9FV[4\x80\x15a\x01!W`\0\x80\xFD[Pa\0\xFEa\x01\xBDV[4\x80\x15a\x016W`\0\x80\xFD[Pa\x01[`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03R\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\0\xBD\x91\x90a\t\x0BV[4\x80\x15a\0\xFEW`\0\x80\xFD[4\x80\x15a\x01\x80W`\0\x80\xFD[Pa\0\xDDa\x02\xCEV[a\x01\x91a\x03\x06V[a\x01\x9B\x82\x82a\x03\xABV[PPV[`\0a\x01\xA9a\x04rV[P`\0\x80Q` a\tt\x839\x81Q\x91R[\x90V[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x81\x15\x80\x15a\x02\x03WP\x82[\x90P`\0\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x02 WP0;\x15[\x90P\x81\x15\x80\x15a\x02.WP\x80\x15[\x15a\x02LW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x02vW\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U[a\x02~a\x04\xBBV[\x83\x15a\x02\xC5W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01[`@Q\x80\x91\x03\x90\xA1[PPPPPV[V[`\0a\x02\xD8a\x05\xB5V[Pa\x01\xF4Ta\x01\xBA`\x01\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0UV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\x03\x8DWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x03\x81`\0\x80Q` a\tt\x839\x81Q\x91RT`\x01`\x01`\xA0\x1B\x03\x16\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x14\x15[\x15a\x02\xCCW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81`\x01`\x01`\xA0\x1B\x03\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x04\x05WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\x04\x02\x91\x81\x01\x90a\t>V[`\x01[a\x042W`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x83\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80Q` a\tt\x839\x81Q\x91R\x81\x14a\x04cW`@Qc*\x87Ri`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R`$\x01a\x04)V[a\x04m\x83\x83a\x05\xFFV[PPPV[0`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x02\xCCW`@Qcp>F\xDD`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x80T`\x01`@\x1B\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x81\x15\x80\x15a\x05\x01WP\x82[\x90P`\0\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x05\x1EWP0;\x15[\x90P\x81\x15\x80\x15a\x05,WP\x80\x15[\x15a\x05JW`@Qc\xF9.\xE8\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84Tg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16`\x01\x17\x85U\x83\x15a\x02~W\x84T`\xFF`@\x1B\x19\x16`\x01`@\x1B\x17\x85U\x83\x15a\x02\xC5W\x84T`\xFF`@\x1B\x19\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01a\x02\xBCV[\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\x80T`\x01\x19\x01a\x05\xF9W`@Qc>\xE5\xAE\xB5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x90UV[a\x06\x08\x82a\x06UV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a\x06MWa\x04m\x82\x82a\x06\xBAV[a\x01\x9Ba\x070V[\x80`\x01`\x01`\xA0\x1B\x03\x16;`\0\x03a\x06\x8BW`@QcL\x9C\x8C\xE3`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16`\x04\x82\x01R`$\x01a\x04)V[`\0\x80Q` a\tt\x839\x81Q\x91R\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qa\x06\xD7\x91\x90a\tWV[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x07\x12W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x07\x17V[``\x91P[P\x91P\x91Pa\x07'\x85\x83\x83a\x07OV[\x95\x94PPPPPV[4\x15a\x02\xCCW`@Qc\xB3\x98\x97\x9F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a\x07dWa\x07_\x82a\x07\xAEV[a\x07\xA7V[\x81Q\x15\x80\x15a\x07{WP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15a\x07\xA4W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01a\x04)V[P\x80[\x93\x92PPPV[\x80Q\x15a\x07\xBEW\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15a\x07\xE9W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x07\xA7W`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x08*W`\0\x80\xFD[\x825`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08AW`\0\x80\xFD[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08^W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x08rW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x08\x84Wa\x08\x84a\x08\x01V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x08\xACWa\x08\xACa\x08\x01V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x08\xC5W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\t\x02W\x81\x81\x01Q\x83\x82\x01R` \x01a\x08\xEAV[PP`\0\x91\x01RV[` \x81R`\0\x82Q\x80` \x84\x01Ra\t*\x81`@\x85\x01` \x87\x01a\x08\xE7V[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\tPW`\0\x80\xFD[PQ\x91\x90PV[`\0\x82Qa\ti\x81\x84` \x87\x01a\x08\xE7V[\x91\x90\x91\x01\x92\x91PPV\xFE6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\xA2dipfsX\"\x12 \xD0q\x16\x9D\xCCG\xBA\xE9)D\xCCab\xAB\xC8=Jkh\xC9N\x1C\xF9\x81\x9F\xE9l\x9B\xB4\tc\tdsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static UC_WITH_RG_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct UC_with_rg(::ethers::contract::Contract); - impl ::core::clone::Clone for UC_with_rg { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for UC_with_rg { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for UC_with_rg { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for UC_with_rg { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(UC_with_rg)) - .field(&self.address()) - .finish() - } - } - impl UC_with_rg { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - UC_WITH_RG_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - UC_WITH_RG_ABI.clone(), - UC_WITH_RG_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `UPGRADE_INTERFACE_VERSION` (0xad3cb1cc) function - pub fn upgrade_interface_version( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([173, 60, 177, 204], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `initialize` (0x8129fc1c) function - pub fn initialize(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([129, 41, 252, 28], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `my_operation1` (0xeefb4461) function - pub fn my_operation_1( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([238, 251, 68, 97], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `my_operation2` (0xbc2e66e6) function - pub fn my_operation_2(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([188, 46, 102, 230], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `proxiableUUID` (0x52d1902d) function - pub fn proxiable_uuid(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([82, 209, 144, 45], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `slot1` (0x1f457cb5) function - pub fn slot_1( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([31, 69, 124, 181], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `supportsInterface` (0x01ffc9a7) function - pub fn supports_interface( - &self, - interface_id: [u8; 4], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([1, 255, 201, 167], interface_id) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `upgradeToAndCall` (0x4f1ef286) function - pub fn upgrade_to_and_call( - &self, - new_implementation: ::ethers::core::types::Address, - data: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([79, 30, 242, 134], (new_implementation, data)) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `Initialized` event - pub fn initialized_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, InitializedFilter> - { - self.0.event() - } - ///Gets the contract's `Upgraded` event - pub fn upgraded_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, UpgradedFilter> { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, UC_with_rgEvents> { - self.0 - .event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> for UC_with_rg { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `AddressEmptyCode` with signature `AddressEmptyCode(address)` and selector `0x9996b315` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "AddressEmptyCode", abi = "AddressEmptyCode(address)")] - pub struct AddressEmptyCode { - pub target: ::ethers::core::types::Address, - } - ///Custom Error type `ERC1967InvalidImplementation` with signature `ERC1967InvalidImplementation(address)` and selector `0x4c9c8ce3` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ERC1967InvalidImplementation", - abi = "ERC1967InvalidImplementation(address)" - )] - pub struct ERC1967InvalidImplementation { - pub implementation: ::ethers::core::types::Address, - } - ///Custom Error type `ERC1967NonPayable` with signature `ERC1967NonPayable()` and selector `0xb398979f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ERC1967NonPayable", abi = "ERC1967NonPayable()")] - pub struct ERC1967NonPayable; - ///Custom Error type `FailedInnerCall` with signature `FailedInnerCall()` and selector `0x1425ea42` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "FailedInnerCall", abi = "FailedInnerCall()")] - pub struct FailedInnerCall; - ///Custom Error type `InvalidInitialization` with signature `InvalidInitialization()` and selector `0xf92ee8a9` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "InvalidInitialization", abi = "InvalidInitialization()")] - pub struct InvalidInitialization; - ///Custom Error type `NotInitializing` with signature `NotInitializing()` and selector `0xd7e6bcf8` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "NotInitializing", abi = "NotInitializing()")] - pub struct NotInitializing; - ///Custom Error type `ReentrancyGuardReentrantCall` with signature `ReentrancyGuardReentrantCall()` and selector `0x3ee5aeb5` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "ReentrancyGuardReentrantCall", - abi = "ReentrancyGuardReentrantCall()" - )] - pub struct ReentrancyGuardReentrantCall; - ///Custom Error type `UUPSUnauthorizedCallContext` with signature `UUPSUnauthorizedCallContext()` and selector `0xe07c8dba` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "UUPSUnauthorizedCallContext", - abi = "UUPSUnauthorizedCallContext()" - )] - pub struct UUPSUnauthorizedCallContext; - ///Custom Error type `UUPSUnsupportedProxiableUUID` with signature `UUPSUnsupportedProxiableUUID(bytes32)` and selector `0xaa1d49a4` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "UUPSUnsupportedProxiableUUID", - abi = "UUPSUnsupportedProxiableUUID(bytes32)" - )] - pub struct UUPSUnsupportedProxiableUUID { - pub slot: [u8; 32], - } - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum UC_with_rgErrors { - AddressEmptyCode(AddressEmptyCode), - ERC1967InvalidImplementation(ERC1967InvalidImplementation), - ERC1967NonPayable(ERC1967NonPayable), - FailedInnerCall(FailedInnerCall), - InvalidInitialization(InvalidInitialization), - NotInitializing(NotInitializing), - ReentrancyGuardReentrantCall(ReentrancyGuardReentrantCall), - UUPSUnauthorizedCallContext(UUPSUnauthorizedCallContext), - UUPSUnsupportedProxiableUUID(UUPSUnsupportedProxiableUUID), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for UC_with_rgErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::AddressEmptyCode(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ERC1967InvalidImplementation(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::ERC1967NonPayable(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::FailedInnerCall(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InvalidInitialization(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::NotInitializing(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ReentrancyGuardReentrantCall(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UUPSUnauthorizedCallContext(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UUPSUnsupportedProxiableUUID(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for UC_with_rgErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::AddressEmptyCode(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ERC1967InvalidImplementation(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ERC1967NonPayable(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::FailedInnerCall(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidInitialization(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::NotInitializing(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ReentrancyGuardReentrantCall(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::UUPSUnauthorizedCallContext(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::UUPSUnsupportedProxiableUUID(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for UC_with_rgErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector == ::selector() => { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => { - true - } - _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ if selector - == ::selector( - ) => - { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for UC_with_rgErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::AddressEmptyCode(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC1967InvalidImplementation(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC1967NonPayable(element) => ::core::fmt::Display::fmt(element, f), - Self::FailedInnerCall(element) => ::core::fmt::Display::fmt(element, f), - Self::InvalidInitialization(element) => ::core::fmt::Display::fmt(element, f), - Self::NotInitializing(element) => ::core::fmt::Display::fmt(element, f), - Self::ReentrancyGuardReentrantCall(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::UUPSUnauthorizedCallContext(element) => ::core::fmt::Display::fmt(element, f), - Self::UUPSUnsupportedProxiableUUID(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for UC_with_rgErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for UC_with_rgErrors { - fn from(value: AddressEmptyCode) -> Self { - Self::AddressEmptyCode(value) - } - } - impl ::core::convert::From for UC_with_rgErrors { - fn from(value: ERC1967InvalidImplementation) -> Self { - Self::ERC1967InvalidImplementation(value) - } - } - impl ::core::convert::From for UC_with_rgErrors { - fn from(value: ERC1967NonPayable) -> Self { - Self::ERC1967NonPayable(value) - } - } - impl ::core::convert::From for UC_with_rgErrors { - fn from(value: FailedInnerCall) -> Self { - Self::FailedInnerCall(value) - } - } - impl ::core::convert::From for UC_with_rgErrors { - fn from(value: InvalidInitialization) -> Self { - Self::InvalidInitialization(value) - } - } - impl ::core::convert::From for UC_with_rgErrors { - fn from(value: NotInitializing) -> Self { - Self::NotInitializing(value) - } - } - impl ::core::convert::From for UC_with_rgErrors { - fn from(value: ReentrancyGuardReentrantCall) -> Self { - Self::ReentrancyGuardReentrantCall(value) - } - } - impl ::core::convert::From for UC_with_rgErrors { - fn from(value: UUPSUnauthorizedCallContext) -> Self { - Self::UUPSUnauthorizedCallContext(value) - } - } - impl ::core::convert::From for UC_with_rgErrors { - fn from(value: UUPSUnsupportedProxiableUUID) -> Self { - Self::UUPSUnsupportedProxiableUUID(value) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Initialized", abi = "Initialized(uint64)")] - pub struct InitializedFilter { - pub version: u64, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent(name = "Upgraded", abi = "Upgraded(address)")] - pub struct UpgradedFilter { - #[ethevent(indexed)] - pub implementation: ::ethers::core::types::Address, - } - ///Container type for all of the contract's events - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum UC_with_rgEvents { - InitializedFilter(InitializedFilter), - UpgradedFilter(UpgradedFilter), - } - impl ::ethers::contract::EthLogDecode for UC_with_rgEvents { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = InitializedFilter::decode_log(log) { - return Ok(UC_with_rgEvents::InitializedFilter(decoded)); - } - if let Ok(decoded) = UpgradedFilter::decode_log(log) { - return Ok(UC_with_rgEvents::UpgradedFilter(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for UC_with_rgEvents { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::InitializedFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::UpgradedFilter(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for UC_with_rgEvents { - fn from(value: InitializedFilter) -> Self { - Self::InitializedFilter(value) - } - } - impl ::core::convert::From for UC_with_rgEvents { - fn from(value: UpgradedFilter) -> Self { - Self::UpgradedFilter(value) - } - } - ///Container type for all input parameters for the `UPGRADE_INTERFACE_VERSION` function with signature `UPGRADE_INTERFACE_VERSION()` and selector `0xad3cb1cc` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "UPGRADE_INTERFACE_VERSION", - abi = "UPGRADE_INTERFACE_VERSION()" - )] - pub struct UpgradeInterfaceVersionCall; - ///Container type for all input parameters for the `initialize` function with signature `initialize()` and selector `0x8129fc1c` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "initialize", abi = "initialize()")] - pub struct InitializeCall; - ///Container type for all input parameters for the `my_operation1` function with signature `my_operation1()` and selector `0xeefb4461` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "my_operation1", abi = "my_operation1()")] - pub struct MyOperation1Call; - ///Container type for all input parameters for the `my_operation2` function with signature `my_operation2()` and selector `0xbc2e66e6` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "my_operation2", abi = "my_operation2()")] - pub struct MyOperation2Call; - ///Container type for all input parameters for the `proxiableUUID` function with signature `proxiableUUID()` and selector `0x52d1902d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "proxiableUUID", abi = "proxiableUUID()")] - pub struct ProxiableUUIDCall; - ///Container type for all input parameters for the `slot1` function with signature `slot1()` and selector `0x1f457cb5` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "slot1", abi = "slot1()")] - pub struct Slot1Call; - ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")] - pub struct SupportsInterfaceCall { - pub interface_id: [u8; 4], - } - ///Container type for all input parameters for the `upgradeToAndCall` function with signature `upgradeToAndCall(address,bytes)` and selector `0x4f1ef286` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "upgradeToAndCall", abi = "upgradeToAndCall(address,bytes)")] - pub struct UpgradeToAndCallCall { - pub new_implementation: ::ethers::core::types::Address, - pub data: ::ethers::core::types::Bytes, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum UC_with_rgCalls { - UpgradeInterfaceVersion(UpgradeInterfaceVersionCall), - Initialize(InitializeCall), - MyOperation1(MyOperation1Call), - MyOperation2(MyOperation2Call), - ProxiableUUID(ProxiableUUIDCall), - Slot1(Slot1Call), - SupportsInterface(SupportsInterfaceCall), - UpgradeToAndCall(UpgradeToAndCallCall), - } - impl ::ethers::core::abi::AbiDecode for UC_with_rgCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UpgradeInterfaceVersion(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Initialize(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::MyOperation1(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::MyOperation2(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::ProxiableUUID(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Slot1(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::SupportsInterface(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::UpgradeToAndCall(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for UC_with_rgCalls { - fn encode(self) -> Vec { - match self { - Self::UpgradeInterfaceVersion(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Initialize(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::MyOperation1(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::MyOperation2(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ProxiableUUID(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Slot1(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SupportsInterface(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::UpgradeToAndCall(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for UC_with_rgCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::UpgradeInterfaceVersion(element) => ::core::fmt::Display::fmt(element, f), - Self::Initialize(element) => ::core::fmt::Display::fmt(element, f), - Self::MyOperation1(element) => ::core::fmt::Display::fmt(element, f), - Self::MyOperation2(element) => ::core::fmt::Display::fmt(element, f), - Self::ProxiableUUID(element) => ::core::fmt::Display::fmt(element, f), - Self::Slot1(element) => ::core::fmt::Display::fmt(element, f), - Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f), - Self::UpgradeToAndCall(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for UC_with_rgCalls { - fn from(value: UpgradeInterfaceVersionCall) -> Self { - Self::UpgradeInterfaceVersion(value) - } - } - impl ::core::convert::From for UC_with_rgCalls { - fn from(value: InitializeCall) -> Self { - Self::Initialize(value) - } - } - impl ::core::convert::From for UC_with_rgCalls { - fn from(value: MyOperation1Call) -> Self { - Self::MyOperation1(value) - } - } - impl ::core::convert::From for UC_with_rgCalls { - fn from(value: MyOperation2Call) -> Self { - Self::MyOperation2(value) - } - } - impl ::core::convert::From for UC_with_rgCalls { - fn from(value: ProxiableUUIDCall) -> Self { - Self::ProxiableUUID(value) - } - } - impl ::core::convert::From for UC_with_rgCalls { - fn from(value: Slot1Call) -> Self { - Self::Slot1(value) - } - } - impl ::core::convert::From for UC_with_rgCalls { - fn from(value: SupportsInterfaceCall) -> Self { - Self::SupportsInterface(value) - } - } - impl ::core::convert::From for UC_with_rgCalls { - fn from(value: UpgradeToAndCallCall) -> Self { - Self::UpgradeToAndCall(value) - } - } - ///Container type for all return fields from the `UPGRADE_INTERFACE_VERSION` function with signature `UPGRADE_INTERFACE_VERSION()` and selector `0xad3cb1cc` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct UpgradeInterfaceVersionReturn(pub ::std::string::String); - ///Container type for all return fields from the `my_operation1` function with signature `my_operation1()` and selector `0xeefb4461` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct MyOperation1Return(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `proxiableUUID` function with signature `proxiableUUID()` and selector `0x52d1902d` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ProxiableUUIDReturn(pub [u8; 32]); - ///Container type for all return fields from the `slot1` function with signature `slot1()` and selector `0x1f457cb5` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct Slot1Return(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SupportsInterfaceReturn(pub bool); -} diff --git a/bindings/src/ultra_verification_key.rs b/bindings/src/ultra_verification_key.rs deleted file mode 100644 index 2bffd5f..0000000 --- a/bindings/src/ultra_verification_key.rs +++ /dev/null @@ -1,121 +0,0 @@ -pub use ultra_verification_key::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod ultra_verification_key { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::std::collections::BTreeMap::new(), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static ULTRAVERIFICATIONKEY_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 2\x02\x03\x1A\n\xD1|>\x03\xC5\xFC\xAAA\xE7D]\xB27\x8C\xD9\x13arg\xE90(\x15<\x94\x0C\x9AdsolcC\0\x08\x04\x003"; - /// The bytecode of the contract. - pub static ULTRAVERIFICATIONKEY_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 2\x02\x03\x1A\n\xD1|>\x03\xC5\xFC\xAAA\xE7D]\xB27\x8C\xD9\x13arg\xE90(\x15<\x94\x0C\x9AdsolcC\0\x08\x04\x003"; - /// The deployed bytecode of the contract. - pub static ULTRAVERIFICATIONKEY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct UltraVerificationKey(::ethers::contract::Contract); - impl ::core::clone::Clone for UltraVerificationKey { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for UltraVerificationKey { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for UltraVerificationKey { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for UltraVerificationKey { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(UltraVerificationKey)) - .field(&self.address()) - .finish() - } - } - impl UltraVerificationKey { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ULTRAVERIFICATIONKEY_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - ULTRAVERIFICATIONKEY_ABI.clone(), - ULTRAVERIFICATIONKEY_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - } - impl From<::ethers::contract::Contract> - for UltraVerificationKey - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } -} diff --git a/bindings/src/ultra_verifier.rs b/bindings/src/ultra_verifier.rs deleted file mode 100644 index ba61971..0000000 --- a/bindings/src/ultra_verifier.rs +++ /dev/null @@ -1,633 +0,0 @@ -pub use ultra_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod ultra_verifier { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("getVerificationKeyHash"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("getVerificationKeyHash",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_proof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_publicInputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32[]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("EC_SCALAR_MUL_FAILURE"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("EC_SCALAR_MUL_FAILURE",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("MOD_EXP_FAILURE"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("MOD_EXP_FAILURE"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("PROOF_FAILURE"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("PROOF_FAILURE"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("PUBLIC_INPUT_COUNT_INVALID"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("PUBLIC_INPUT_COUNT_INVALID",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("expected"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actual"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("PUBLIC_INPUT_GE_P"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("PUBLIC_INPUT_GE_P"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("PUBLIC_INPUT_INVALID_BN128_G1_POINT"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "PUBLIC_INPUT_INVALID_BN128_G1_POINT", - ), - inputs: ::std::vec![], - },], - ), - ]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static ULTRAVERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa,\xFA\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80c\x93\x7Fj\x10\x14a\0;W\x80c\xEAP\xD0\xE4\x14a\0nW[`\0\x80\xFD[`@Q\x7F^5[\xF9\x1F\xE3\xE2\xBC\xC2\xF4!\xEF+\x95\xD0\x01\x16d\xCA\x0E\x84vM\xB7\xE9\xC4\x88N\\q\xB1%\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\x81a\0|6`\x04a,\x08V[a\0\x91V[`@Q\x90\x15\x15\x81R` \x01a\0eV[b\x02\0\0a\x03\x80R`\x01a\x03\xA0R\x7F\x1B\xF8-\xEB\xA7\xD7I\x02\xC3p\x8C\xC6\xE7\x0Ea\xF3\x05\x12\xEC\xA9VU!\x0E'nXX\xCE\x8FX\xE5a\x03\xC0R\x7F0d6@\xB9\xF8/\x90\xE8;i\x8E^\xA6\x17\x9C|\x05T.\x85\x953\xB4\x8B\x99S\xA2\xF56\x08\x01a\x03\xE0R\x7F\x05\x95%e\x91\xD2+\xF1I\x8B\xDD\xF8\xBD\xC8\x96\xBCT\x92\xEA\xA1=\xF0\x15Re\x15\xCF\xF3\xA8p`aa\x04\0R\x7F\t\xEB\xFD\xACb\x1Dg\xFC\xC8\xE6\xCD2`\xED\x1B\xA3g\xCAL\xBA\xC8^\xD4\xED\x13\xE7\xB4\xA2\xD8\xF1\xFFQa\x04 R\x7F\x18\x15(U\xE6^\xD9\xBEMu\x9Ah\x02\xC9\xDF\x16\xD1{\xBC\x80\xF7\x1B\t:\x81\xCA\x01\xFB\xA1c\xF4\xFAa\x04@R\x7F$\x8E\xEE\x8C`K\x8E\x8Bin\xFD\x14\xE3\x16[kZBK\xAD\x87q9\xE2\x81)\x9B\\d\xD6;xa\x04`R\x7F*\xAA?\xFA`cO\n\x10;\x82p\xD6\xA8\xB0\xCDL\xDE/\x97\xDF\x89\x13\xD5\xEB\xFF\x10@\xC1\xED\xB9la\x04\x80R\x7F\r\xDD\x8D\xF2\xD8\xC6\x19\xC2\x13\x9E\xB2[u\xC3z\xC3`|\xDAN\xD7\xC8\x06\xA8\xD9M\xEDY\xA3\x9C\x84\xE2-\"$\xE3a\x05`R~\x9FS\xFC\xC9\xB3\xCE?\xBD\xA1'Vg\xF6\xFB\xE6\xD6\xC5\xF4\xB8R\x90\xB9\xC6\x8C+\xF1\xA9\xF1\xFE\xE6\x02a\x05\x80R\x7F\x13\xC9\xAD=\x10R\xF8\xE8\xA1;FDF\xFE\xC7j\xAD]\xF0:\\\x83v\x83\xD8\x94\x7F\"D\xB8\x17\xB2a\x05\xA0R\x7F'\x8B)y\xE3V\xFE]\xFD\x10r\xF5\x96+xt\x9C\x03\xA0\x0EQ\x1BM\xDDz\xE9\x8A\x1E\xA1\x14\xD3\x85a\x05\xC0R\x7F\x19\xD2\xFC\xA9H\xE1\xC4\xAC\xB6\x17\xF2>zn\x03\xE6H/\xB7\xC7\x91yH\x1C\x84\xCA\xF6\x82\r\x11!Ja\x05\xE0R\x7F(\xB9U\xAA\xC4\xC0C\xCB\xCF\xDE\x06\xEE\xE5\x9BD6?\x96\xFE\no\xA9;\x0B6\xEF\x07\xFB\xE2\x85\xD4\xC7a\x06\0R\x7F\x16\xE1\xBB\xB0\xA7r\x8D\xCBv\x96\xFD\xF36\x1B9Q\x0CjO\x83\xCC!Y\xF5\xFCe\xCE\xB2\xBE\x05\x99\xF9a\x06 R\x7F\x14\x14\xAFv$q9\xFA\x9E\x8F\xEF\x8B9:>\x03\"~\xE3\xA6\xFE\xDB\x1EU\xF5\xDB\x82\xCB#Rx*a\x06@R\x7F,x\x95\xA6\x8D/\xAB[+\xCEMw\x03\xDA\xEB\xF9\x01\x1Ec\xD6u\xBCh\x98\xC7\xF0`\x87\xD6\xD8=\x99a\x06`R\x7F\x16:\x01J\x9D}_X\xE27\x05\x1C\xED~\xA6\0\x0Bw\xEF\x87\x9A\x19\xDD^P\x08p\x82dt\x1A\xBCa\x06\x80R\x7F,\xED\xA3\x04\x1DOK\x0F\xC2'\xD8\x03\t>;{g\x134.v w\x1B+\x04i\x98\xDB\xF7#\x8Ea\x06\xA0R\x7F\x11\xD1\xE9J\x17\xE4\x9D\xDF\xAB\x99\xCD\t\x0BD #\xF6(\x80\xD7\x0E\x12\x98\xB3\x056%\xAA3X\xE1\x91a\x06\xC0R\x7F\x0C$\xF43e0d\x9F6\xCF\x04\xB1\x9F}\xAD\rm\x80\xB0\xEE\x9Cw(W\xA4\x89\xD4\xFD\xF80]Fa\x06\xE0R\x7F\t\xA78\x1B<\x06\x8B4\xF0\x80\xDC\xB4Nu\xBA\xFD\x84\x18\xDF7(\xE9\xCF\xF5v\xEB\xBA!:\xEA\xEEGa\x07\0R\x7F\x019+\xEE]K\x96v\xD0x\xC1!\xC4\xF3\x03\x19\x80*B<>\x91\xE1\xA6\xD4\xB7(\xF3V&Jua\x07 R\x7F&\xCEd\xA9[1\xC0M\xB0\xD3\x89R\xF7\xD5\x16%\x1Fg\xFC\x97\xCD\xD2\x88\xB5\xCA2\xC0\x9F\xE0\xF5\xFAba\x07@R\x7F\x17\xE3~\xADX\xBCZ\xCF-]\xB4i\xC4\x1B\xED\x12\xC1\x03\x124\xBBzh\x17\xD45\xF84\x04\xEAq\xF8a\x07`R~\\\x8CV\xB3\xC8\xE9\xDF\x1C\xF0\xCB\x1D;V>\x8Dt\xBFl!\x89\xB9\xE8^y\x1E*I\xA3\xBD\xC2\x08a\x07\x80R\x7F\x0Cg\x7F\xAC6g=5\xC8\xD8\x0E\x99(\xF4\x08e\xD8\"\x9A\xF7\xEB\x87\x88L[A\xD1y\xDA\x8F\xB8\0a\x07\xA0R\x7F\x12#\xFCR\x8EIp\xAB\x8F\x92\xF9:=\x0E/]\xF1b\xFA\xAE\x13Inq\xEA\xE1@I\xE6\x82\x8Ava\x07\xC0R\x7F\x03B\xD8\xF2\xE5\xE1q\xE7%\xB0z\xA2\xB9\x03\x9A9[\x90\xF2\xE8j\xCC\x9B:5'pT\x92\x7Fv\x8Ea\x07\xE0R~\xF1iF3\xAFTT\x17\xA1\x17%\x19\xCA\x9D\x98\xEA\xDA\xD9(7e\x890\xD2\">(\xCB\xA7\x9B\x10a\x08\0R\x7F\x05\xEES\xA4\x007\x1A\xE8K\x7F\xC1!\xA5\xB3-\xFEV\n82[\x8Cw$\0\xF5,%[u\xD8\xABa\x08 R\x7F\x14\xEA\x1A\xEF`H\xC9\xB4\xE9\x01\xF7\xD8o\x12\x9F\xC6[\x85\xFCQ\xFC\xC1\xE2\xC2\t4{\x1A\x14af\xFBa\x08@R\x7F\x0Bj\x94\xFE\xDC\xF0\xA3\xE0\xB9\x885\xBF\xA8\xA3\xE3\x06\xE9\xB3\xB2PXh\x03\xE0\xF3\x05\xB2\xB6\x95\xD4G\xBAa\x08`R\x7F\x16.\xBD/\x85d\xF4\xAA\x0BW\0\xB1\x13\x1D\x90\xF7x\x11Cp\xA3^\xF4)S+\xCB\\n\rl;a\x08\x80R\x7F\nGN\xF9\xA3\x8Es\xC8\x9D\xC1\xDFt\x8CG\xFB\xD4\xE8|\x18Y\x98\x10\x05\x05\xB6\xF6\xC7\xFF\x92o\x88Sa\x08\xA0R\x7F-\x19\xDE6Z\xDC\xCD\xAD\x89\x84\xAAWW(\xF7|\x92\x8A\x93\x97\xF2\xA4\xD5_u)\xFEX=So-a\x08\xC0R\x7F\x0C\xCC\xB0\x1D\xAF\"w\x02\x97\x14\x9C\xEB\xEC\xB8F\x166\xAC\xDDjT;\x93y#\xAA\xFD\x9Dy\xBCA\xEBa\x08\xE0R\x7F$6@\x03\xA0c\xCCb\x02\xC4\x86\x8F\xCF#\xFF\xA6\xCB\xAF\xC7\xBD\xB4\x82\xFC\xE5\xF1\x8B,\x0B\xCF=WVa\t\0R\x7F\x14\x0F11\xA3\xBC9\x17\x86\xE8^e\xFC\x95\xCB\x84\x8B9Q2a\t`R\x7F\x1Cy\x05\\#\x19\xD2|V\x06\x17,.\x06\xF27c\xEA\xB5+\xCF\xEAiw\xB3Hg\x80\x0F\t@Ra\t\x80R\x7F#\xFD\x1Db|\xAF\x9Cf\x87f>\xD6\xB1-\rR6\xE1\xF0\x1C\x0C\xFB^D\x84_\xA7r\xFFxF'a\t\xA0R`\0a\t\xC0\x81\x90Ra\t\xE0\x81\x90R\x7F&\x0E\x01\xB2Q\xF6\xF1\xC7\xE7\xFFNX\x07\x91\xDE\xE8\xEAQ\xD8z5\x8E\x03\x8BN\xFE0\xFA\xC0\x93\x83\xC1a\n\0R\x7F\x01\x18\xC4\xD5\xB87\xBC\xC2\xBC\x89\xB5\xB3\x98\xB5\x97N\x9FYD\x07;2\x07\x8B~#\x1F\xEC\x93\x88\x83\xB0a\n R\x7F\x04\xFCci\xF7\x11\x0F\xE3\xD2QV\xC1\xBB\x9Ar\x85\x9C\xF2\xA0FA\xF9\x9B\xA4\xEEA<\x80\xDAj_\xE4a\n@R\x7F\"\xFE\xBD\xA3\xC0\xC0c*VG[B\x14\xE5a^\x11\xE6\xDD?\x96\xE6\xCE\xA2\x85J\x87\xD4\xDA\xCC^Ua\n`R\x7F$L\xF0\x10\xC4<\xA8r7\xD8\xB0\x0B\xF9\xDDP\xC4\xC0\x1C\x7F\x08k\xD4\xE8\xC9 \xE7RQ\xD9o\r\"a4\0Ra\x03\xA0Q\x82\x81\x14a\x08\x84W`@Qcvg\xDC\x9B`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R`D\x01`@Q\x80\x91\x03\x90\xFD[\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01`$`\x045\x01\x82\x815\x06a\x12 R\x82` \x82\x015\x06a\x12\0R\x82`@\x82\x015\x06a\x12`R\x82``\x82\x015\x06a\x12@R\x82`\x80\x82\x015\x06a\x12\xA0R\x82`\xA0\x82\x015\x06a\x12\x80R\x82`\xC0\x82\x015\x06a\x12\xE0R\x82`\xE0\x82\x015\x06a\x12\xC0R\x82a\x01\0\x82\x015\x06a\x13 R\x82a\x01 \x82\x015\x06a\x13\0R\x82a\x01@\x82\x015\x06a\x13`R\x82a\x01`\x82\x015\x06a\x13@R\x82a\x01\x80\x82\x015\x06a\x13\xA0R\x82a\x01\xA0\x82\x015\x06a\x13\x80R\x82a\x01\xC0\x82\x015\x06a\x13\xE0R\x82a\x01\xE0\x82\x015\x06a\x13\xC0R\x82a\x02\0\x82\x015\x06a\x14 R\x82a\x02 \x82\x015\x06a\x14\0R\x82a\x02@\x82\x015\x06a\x14`R\x82a\x02`\x82\x015\x06a\x14@R\x82a\x02\x80\x82\x015\x06a\x14\xA0R\x82a\x02\xA0\x82\x015\x06a\x14\x80R\x81a\x02\xC0\x82\x015\x06a\x16\0R\x81a\x02\xE0\x82\x015\x06a\x16 R\x81a\x03\0\x82\x015\x06a\x16@R\x81a\x03 \x82\x015\x06a\x16`R\x81a\x03@\x82\x015\x06a\x16\x80R\x81a\x03`\x82\x015\x06a\x16\xA0R\x81a\x03\x80\x82\x015\x06a\x16\xC0R\x81a\x03\xA0\x82\x015\x06a\x16\xE0R\x81a\x03\xC0\x82\x015\x06a\x17\0R\x81a\x03\xE0\x82\x015\x06a\x17 R\x81a\x04\0\x82\x015\x06a\x17@R\x81a\x04 \x82\x015\x06a\x17`R\x81a\x04@\x82\x015\x06a\x17\x80R\x81a\x04`\x82\x015\x06a\x17\xA0R\x81a\x04\x80\x82\x015\x06a\x17\xC0R\x81a\x04\xA0\x82\x015\x06a\x17\xE0R\x81a\x04\xC0\x82\x015\x06a\x18\0R\x81a\x04\xE0\x82\x015\x06a\x19`R\x81a\x05\0\x82\x015\x06a\x19\x80R\x81a\x05 \x82\x015\x06a\x19\xA0R\x81a\x05@\x82\x015\x06a\x19\xC0R\x81a\x05`\x82\x015\x06a\x18@R\x81a\x05\x80\x82\x015\x06a\x18`R\x81a\x05\xA0\x82\x015\x06a\x18\x80R\x81a\x05\xC0\x82\x015\x06a\x18\xA0R\x81a\x05\xE0\x82\x015\x06a\x18\xC0R\x81a\x06\0\x82\x015\x06a\x18\xE0R\x81a\x06 \x82\x015\x06a\x19\0R\x81a\x06@\x82\x015\x06a\x19 R\x81a\x06`\x82\x015\x06a\x19@R\x81a\x06\x80\x82\x015\x06a\x19\xE0R\x81a\x06\xA0\x82\x015\x06a \0R\x81a\x06\xC0\x82\x015\x06a R\x81a\x06\xE0\x82\x015\x06a @R\x81a\x07\0\x82\x015\x06a `R\x81a\x07 \x82\x015\x06a \x80R\x81a\x07@\x82\x015\x06a \xA0R\x81a\x07`\x82\x015\x06a \xC0R\x81a\x07\x80\x82\x015\x06a \xE0R\x81a\x07\xA0\x82\x015\x06a!\0R\x81a\x07\xC0\x82\x015\x06a! R\x82a\x07\xE0\x82\x015\x06a# R\x82a\x08\0\x82\x015\x06a#\0R\x82a\x08 \x82\x015\x06a#`R\x82a\x08@\x82\x015\x06a#@RPa\t\xC0Q\x15a\x0C\xE6W`$\x805\x01\x80a\t\xE0Q`\x05\x1B\x01\x90P\x805` \x82\x015`D\x1B\x81\x01\x90P`@\x82\x015`\x88\x1B\x81\x01\x90P``\x82\x015`\xCC\x1B\x81\x01\x90P`\x80\x82\x015`\xA0\x83\x015`D\x1B\x81\x01\x90P`\xC0\x83\x015`\x88\x1B\x81\x01\x90P`\xE0\x83\x015`\xCC\x1B\x81\x01\x90Pa\x01\0\x83\x015a\x01 \x84\x015`D\x1B\x81\x01\x90Pa\x01@\x84\x015`\x88\x1B\x81\x01\x90Pa\x01`\x84\x015`\xCC\x1B\x81\x01\x90Pa\x01\x80\x84\x015a\x01\xA0\x85\x015`D\x1B\x81\x01\x90Pa\x01\xC0\x85\x015`\x88\x1B\x81\x01\x90Pa\x01\xE0\x85\x015`\xCC\x1B\x81\x01\x90P\x83a5\0R\x82a5 R\x81a5@R\x80a5`R\x86\x81\x10\x87\x84\x10\x16\x87\x83\x10\x88\x86\x10\x16\x16a\x0C\xE0Wcu\xD4\xFAS`\xE1\x1B`\0R`\x04`\0\xFD[PPPPP[a\x03\x80Q`\xE0\x1B`\0Ra\x03\xA0Q`\xE0\x1B`\x04R`\x08`\0 \x80a5\x80R`$\x805\x01` a\x03\xA0Q\x02\x80\x82` a5\x80\x017`\x045`$\x01\x91P`\xC0\x82a5\xA0\x83\x017`\xE0\x01a5\x80 \x83\x81\x06a&`\x81\x90R\x90\x92P\x90P\x82\x81\x80\ta&\x80R\x82\x81a&\x80Q\ta&\xA0RP\x80`\0Ra\x12\xE0Q` Ra\x12\xC0Q`@Ra\x13 Q``Ra\x13\0Q`\x80R`\xA0`\0 \x90P\x81\x81\x06a&\0R\x80`\0R`\x01` SP`!`\0\x90\x81 \x82\x81\x06a& R\x81Ra\x13`Q` Ra\x13@Q`@Ra\x13\xA0Q``Ra\x13\x80Q`\x80R`\xA0\x90 \x81\x81\x06a&@\x81\x90R\x82\x81\x80\ta4 R\x82\x81a4 Q\ta4@R\x82\x81a4@Q\ta4`R\x80a4\x80RP\x80`\0Ra\x13\xE0Q` Ra\x13\xC0Q`@Ra\x14 Q``Ra\x14\0Q`\x80Ra\x14`Q`\xA0Ra\x14@Q`\xC0Ra\x14\xA0Q`\xE0Ra\x14\x80Qa\x01\0Ra\x01 `\0 \x90P\x81\x81\x06a&\xC0R\x80a&\xE0RPa&\0Qa& Qa\x03\xC0Q`\x01\x80\x85`\x01`$\x805\x01` a\x03\xA0Q\x02\x81\x01\x83`\x05\x8A\t\x84`\x0C\x8B\t\x99P[\x81\x83\x10\x15a\x0E\xA6W\x825\x85\x81\x10\x85\x16\x94P\x85\x8A\x82\x08\x90P\x85\x81\x83\x01\x89\t\x97P\x85\x81\x8C\x01\x88\t\x96PP\x84\x88\x82\t\x90P\x84\x88\x8B\t\x99P` \x83\x01\x92Pa\x0EgV[PPP\x80a\x0E\xBFWc7J\x97/`\xE0\x1B`\0R`\x04`\0\xFD[PP\x81a0\0R\x80a0 RPPPPP\x80\x81`\x01a&\0Q\x08a& Q\t\x80a\x03\x80Q`\x01[\x81\x81\x10\x15a\x0E\xFBW\x84\x83\x84\t\x92P\x80\x01a\x0E\xE6V[PPa1\0R\x81\x81\x80\t\x90P\x81\x81\x82\ta1 RPa&\xC0Qa\x03\x80Q\x81\x90`\x01[\x81\x81\x10\x15a\x0F2W\x84\x83\x84\t\x92P\x80\x01a\x0F\x1DV[PP\x80a0@R\x82`\x01\x84\x03\x82\x08\x90Pa4\0Q\x80\x84\x03a\x03\xE0Q\x85\x82\x86\x08\x86\x84\x84\t\x92P\x86\x87\x84\x88\x08\x82\t\x90P\x86\x84\x84\t\x92P\x86\x87\x84\x88\x08\x82\t\x90P\x86\x87\x88\x86\x86\t\x88\x08\x82\t\x90Pa\x03\xC0Q\x92P\x86\x82\x86\t\x91P\x86`\x01\x88\x03\x87\x08\x87\x84\x85\t\x94P\x87`\x01\x89\x03\x89\x89\x8B\x88\x8D\x8B\x8C\t\t\t\x08\x96Pa0 Q\x94P\x84\x93P\x87\x82\x86\t\x94P\x84\x88\x87\x87\t\x95P\x85\x89\x83\x88\t\x96P\x86\x8Aa1 Q\x89\t\x97P\x87` `\0R` \x80R` `@R\x8B\x8B\x8A\t``R`\x02\x8C\x03`\x80R\x8B`\xA0R` `\0`\xC0`\0`\x05Z\xFAa\x10\x0FWc>%)\xEF`\xE2\x1B`\0R`\x04`\0\xFD[`\0Q\x98P\x8B\x81\x8A\t\x90P\x8B\x8B\x8A\t\x98P\x8B\x82\x8A\t\x91P\x8Ba1 Q\x8A\t\x98P\x8B\x83\x8A\t\x92P\x8B\x85\x8A\t\x98P\x8B\x84\x8A\t\x93P\x8B\x8A\x8A\t\x98P\x8B\x88\x8A\t\x97P\x8B\x86\x8A\t\x98P\x8Ba0 Q\x8D\x8B\x8C\t\t\x98P\x8B\x89a0\0Q\ta0`R\x8B\x88\x8B\ta0\x80R\x8B\x84\x87\ta7\x80R\x8B\x83\x88\ta0\xA0R\x8B\x82a1\0Q\ta1@R\x8B\x81\x88\ta0\xC0RPPPPPPPPPPPa&@QPa&\0Qa& Q\x82\x83a\x19\0Q\x84\t\x82a\x16 Q\x01\x01\x84a\x18\xE0Q\x85\t\x83a\x16\0Q\x01\x01\t\x83\x84a\x19@Q\x85\t\x83a\x16`Q\x01\x01\x85a\x19 Q\x86\t\x84a\x16@Q\x01\x01\t\x84\x85\x86\x83\x85\ta\x16\xA0Q\ta4\x80Q\t\x85\x86a\x19\x80Q\x87\t\x85a\x16 Q\x01\x01\x87a\x19`Q\x88\t\x86a\x16\0Q\x01\x01\t\x92P\x85\x86a\x19\xC0Q\x87\t\x85a\x16`Q\x01\x01\x87a\x19\xA0Q\x88\t\x86a\x16@Q\x01\x01\t\x91P\x85\x86\x87\x88\x85\x87\ta \x80Q\ta4\x80Q\t\x87\x03\x82\x08\x90P\x85a&@Qa4\x80Q\ta4\x80R\x85\x86\x87\x88a0`Q\x8A\x03a \x80Q\x08a0\xC0Q\ta4\x80Q\t\x82\x08\x90P\x85a&@Qa4\x80Q\ta4\x80R\x85\x86\x87\x88`\x01\x8A\x03a\x16\xA0Q\x08a0\xA0Q\ta4\x80Q\t\x82\x08a6\0RPPPPP\x80a&@Qa4\x80Q\ta4\x80R\x80a\x17 Qa&`Q\t\x81\x82\x83a Qa\x17\x80Q\ta\x16@Q\x08\x82\x08\x90P\x81a&`Q\x82\t\x90P\x81\x82\x83a \0Qa\x17`Q\ta\x16 Q\x08\x82\x08\x90P\x81a&`Q\x82\t\x90P\x81\x82\x83a\x19\xE0Qa\x17\0Q\ta\x16\0Q\x08\x82\x08\x90P\x81a\x18@Q\x83\x84a&`Qa\x18`Q\t\x85\x86a&\x80Qa\x18\x80Q\t\x87a&\xA0Qa\x18\xA0Q\t\x08\x08\x08\x82a \xC0Q\x84\x85a&`Qa \xE0Q\t\x86\x87a&\x80Qa!\0Q\t\x88a&\xA0Qa! Q\t\x08\x08\x08\x83\x84`\x01a&\0Q\x08a& Q\t\x84a& Q\x86a\x18\xC0Q\x87\t\x08\x93P\x84\x81\x86\x87a&\0Q\x86\t\x86\x08\x08\x92P\x84\x83\x85\t\x93P\x84\x85`\x01a&\0Q\x08\x85\t\x93P\x84a0\xA0Qa&@Q\t\x92P\x84\x83\x85\x08\x93P\x84a\x16\xC0Q\x85\t\x93P\x84\x83\x86\x03\x85\x08\x93P\x84\x81\x86\x87a&\0Qa `Q\ta\x16\x80Q\x08\x08\x92PPP\x82a0\xC0Qa4 Q\t\x83\x81\x85\x03\x83\x08\x91P\x83a \xA0Q\x83\t\x91P\x83\x84a1@Q\x83\t\x83\x08\x91PP\x82a4\x80Q\x84\x83\x86\x03\x85\x08\ta6 RPP\x80a4@Qa4\x80Q\ta4\x80R\x80a\x16\xE0Qa\x16\0Q\t\x81a\x17\0Qa\x16 Q\t\x82a\x17 Qa\x16@Q\t\x83a\x17@Qa\x16`Q\t\x84\x7F\x182'9p\x98\xD0\x14\xDC(\"\xDB@\xC0\xAC.\x94\x19\xF4$<\xDC\xB8H\xA1\xF0\xFA\xC9\xF8\0\0\0\x86\x87`\x03\x89\x03a\x17\xA0Q\x08\x88a\x17`Q\x8Aa\x16 Qa\x16\0Q\t\t\t\t\x85\x86\x87\x88\x89\x85\x8A\x08\x88\x08\x86\x08\x84\x08a\x17\x80Q\x08\x94PPPPP\x81\x82\x83\x84\x85a\x16`Qa\x16\0Q\x08a\x19\xE0Q\x87\x03\x08a\x17`Q\x08\x84`\x02\x86\x03a\x17\xA0Q\x08\ta&@Q\t\x82\x83\x84\x85\x86\x85a @Q\x08\x87`\x01\x89\x03a\x17\xA0Q\x08\t\x85\x08a\x17\xA0Q\ta4\x80Q\ta6@RPP\x80a4 Qa4\x80Q\ta4\x80R`\x02\x81\x03`\x03\x82\x03\x82a\x16\0Q\x84\x03a\x16 Q\x08\x83a\x16 Q\x85\x03a\x16@Q\x08\x84a\x16@Q\x86\x03a\x16`Q\x08\x85a\x16`Q\x87\x03a\x19\xE0Q\x08\x86a4\x80Q\x88\x89\x88\x88\x08\x8A\x8B\x8B\x8A\x08\x8C\x8A\x8E\x03\x8E\x8C\x8D\t\x08\t\t\t\x93P\x86\x87\x88a&@Qa4\x80Q\t\x89\x8A\x89\x88\x08\x8B\x8C\x8C\x8A\x08\x8D\x8A\x8F\x03\x8F\x8C\x8D\t\x08\t\t\t\x85\x08\x93P\x86\x87\x88a4 Qa4\x80Q\t\x89\x8A\x89\x87\x08\x8B\x8C\x8C\x89\x08\x8D\x89\x8F\x03\x8F\x8B\x8C\t\x08\t\t\t\x85\x08\x93P\x86\x87\x88a4@Qa4\x80Q\t\x89\x8A\x89\x86\x08\x8B\x8C\x8C\x88\x08\x8D\x88\x8F\x03\x8F\x8A\x8B\t\x08\t\t\t\x85\x08\x93PPPP\x83a\x17\xC0Q\x82\ta6`RPPa4`Qa4\x80Q\x83\x92P\ta4\x80R\x80a\x17 Q\x82\x83a\x16 Q\x85a \0Qa \0Q\x08\x08\x84a\x16 Qa\x19\xE0Q\x87\x03\t\t\t\x81a\x19\xE0Qa\x19\xE0Q\t\x82\x83a\x16 Q\x85\x03a \0Q\x08\x82\t\x90P\x82a\x17@Q\x82\t\x90P\x82a\x19\xE0Qa\x19\xE0Q\t\x83a\x19\xE0Q\x82\t\x90P\x83\x84\x85a\x16 Qa \0Q\x08\x86a\x16 Qa\x16 Q\t\t\x82\x08\x90P\x83\x84\x85a\x16@Qa\x16@Q\t\x86a @Qa @Q\t\x08\x85\x03\x82\x08\x90P\x83a\x16@Qa @Q\t\x84\x81\x82\x08\x90P\x84a\x16\xE0Q\x82\t\x90P\x84\x85\x83\x83\x08\x86\x85\x87\x08\x08\x92P\x84a4\x80Q\x84\t\x92P\x84\x85a\x16@Qa Q\x08\x86a\x17 Qa\x19\xE0Q\t\t\x93P\x84\x85a \0Q\x87\x03a\x16 Q\x08\x86a\x16\xE0Qa @Q\t\t\x85\x03\x90P\x84\x85\x86a \0Q\x88\x03a\x16 Q\x08a\x16@Q\t\x86\x87a\x16@Qa Q\x08a\x16 Q\t\x87\x03\x08\x91P\x84\x85a&@Qa4\x80Q\t\x86\x84\x88\x85\x89\x08\x08\t\x93PPP\x82a\x17\xE0Q\x84\x84\x84\x08\ta6\x80RPP\x80a4`Qa4\x80Q\ta4\x80R\x80\x81a\x16 Qa\x19\xE0Q\t\x82a \0Qa\x16\0Q\t\x08\x81a Q\x83\x03\x83\x84a\x16@Qa\x16 Q\t\x85a\x16`Qa\x16\0Q\t\x08\x08\x82`\x01`D\x1B\x82\t\x90P\x82a @Q\x84\x03\x82\x08\x90P\x82\x82\x82\x08\x90P\x82a\x17@Q\x82\t\x90P\x82`\x01`D\x1B\x83\t\x91P\x82\x83a \0Qa\x19\xE0Q\t\x83\x08\x91P\x82a\x17 Q\x84\x85a\x16`Qa\x16@Q\x08\x86\x03\x85\x08\t\x83a\x17`Q\x85\x86a @Qa Q\x08\x87\x03\x87a\x16`Q\x88\x08\x08\t\x92P\x83a\x17\0Q\x85\x85\x87\x86\x86\x08\x08\ta6\xC0RPPa \0Q\x82\x91Pa@\0\x90\t\x81a\x19\xE0Q\x82\x08\x90P\x81a@\0\x82\t\x90P\x81a\x16@Q\x82\x08\x90P\x81a@\0\x82\t\x90P\x81a\x16 Q\x82\x08\x90P\x81a@\0\x82\t\x90P\x81a\x16\0Q\x82\x08\x90P\x81a\x16`Q\x83\x03\x82\x08\x90P\x81a\x17@Q\x82\t\x90P\x81a@\0a Q\t\x82a \0Q\x82\x08\x90P\x82a@\0\x82\t\x90P\x82a\x19\xE0Q\x82\x08\x90P\x82a@\0\x82\t\x90P\x82a\x16`Q\x82\x08\x90P\x82a@\0\x82\t\x90P\x82a\x16@Q\x82\x08\x90P\x82a @Q\x84\x03\x82\x08\x90P\x82a\x17`Q\x82\t\x90P\x82a\x17 Q\x84\x83\x85\x08\ta6\xE0RPP\x80a&`Qa\x16@Q\t\x81a\x16 Q\x82\x08\x90P\x81a&`Q\x82\t\x90P\x81a\x16\0Q\x82\x08\x90P\x81a&`Q\x82\t\x90P\x81a\x17\x80Q\x82\x08\x90P\x80\x82a\x16`Q\x84\x03\x83\x08\x91P\x81a7@R\x82a\x16\0Q\x84\x03a\x19\xE0Q\x08\x83a\x16`Q\x85\x03a @Q\x08\x84\x85`\x01\x87\x03\x84\x08\x83\t\x85\x86\x84\x88\x03`\x01\x08\x83\t\x91P\x85\x85\x87a&@Q\x89\x85\x8Ba&@Q\x89\t\x08\t\x08a7 R\x85a&`Qa Q\t\x94P\x85a \0Q\x86\x08\x94P\x85a&`Q\x86\t\x94P\x85a\x19\xE0Q\x86\x08\x94P\x85a&`Q\x86\t\x94P\x85\x85\x87\x03a @Q\x08\x94P\x85a\x16@Q\x87\x03a Q\x08\x91P\x85\x86\x87\x87\x89\x03`\x01\x08\x84\t\x87\x85\x89\x03`\x01\x08\t\x91P\x85\x84\x87\x03a\x16`Q\x08\x86\x87`\x01\x89\x03\x83\x08\x82\t\x90P\x86\x87`\x01\x89\x03\x88\x08\x87\t\x95P\x86a&@Q\x84\t\x92P\x86\x82\x84\x08\x92P\x86a&@Q\x84\t\x92P\x86\x86\x84\x08\x92P\x86a&@Q\x84\t\x92P\x86\x81\x84\x08\x92PP\x81a7\0RPP\x83a\x16 Q\x85\x03a \0Q\x08\x92P\x83a\x16@Q\x85\x03\x85\x86\x84\x88\x03`\x01\x08\x86\t\x08\x92P\x83a\x17\0Qa7 Q\t\x91P\x83\x84a\x17@Q\x85\t\x83\x08\x91P\x83\x84a\x17`Qa7@Q\t\x83\x08\x91P\x83a\x16\xE0Q\x83\t\x91P\x83\x84a\x17\xA0Qa7\0Q\t\x83\x08\x91P\x83a6\xC0Q\x83\x08\x92P\x83a6\xE0Q\x84\x08\x92P\x83a\x18\0Q\x84\t\x92P\x83a4\x80Q\x84\t\x92P\x82a6\xA0R\x83a4@Qa4\x80Q\ta4\x80RPPP\x80a7\x80Q\x82a6\xA0Q\x84a6\x80Q\x86a6`Q\x88a6@Q\x8Aa6 Qa6\0Q\x08\x08\x08\x08\x08\ta7`\x81\x90Ra&\xE0Qa7\xA0\x81\x90Ra7\xC0\x91\x90\x91Ra\x02\xE4`\x045\x01a\x05 \x81a7\xE07PPa\x05`a7\xA0 \x81\x81\x06a'\0R`\0\x81\x90R`\x01` S\x81`!`\0 \x06a' R`\x02` S\x81`!`\0 \x06a'@R`\x03` S\x81`!`\0 \x06a'`R`\x04` S\x81`!`\0 \x06a'\x80R`\x05` S\x81`!`\0 \x06a'\xA0R`\x06` S\x81`!`\0 \x06a'\xC0R`\x07` S\x81`!`\0 \x06a'\xE0R`\x08` S\x81`!`\0 \x06a(\0R`\t` S\x81`!`\0 \x06a( R`\n` S\x81`!`\0 \x06a(@R`\x0B` S\x81`!`\0 \x06a(`R`\x0C` S\x81`!`\0 \x06a(\x80R`\r` S\x81`!`\0 \x06a(\xA0R`\x0E` S\x81`!`\0 \x06a(\xC0R`\x0F` S\x81`!`\0 \x06a(\xE0R`\x10` S\x81`!`\0 \x06a)\0R`\x11` S\x81`!`\0 \x06a) R`\x12` S\x81`!`\0 \x06a)@R`\x13` S\x81`!`\0 \x06a)`R`\x14` S\x81`!`\0 \x06a)\x80R`\x15` S\x81`!`\0 \x06a)\xA0R`\x16` S\x81`!`\0 \x06a)\xC0R`\x17` S\x81`!`\0 \x06a)\xE0R`\x18` S\x81`!`\0 \x06a*\0R`\x19` S\x81`!`\0 \x06a* R`\x1A` S\x81`!`\0 \x06a*@R`\x1B` S\x81`!`\0 \x06a*`R`\x1C` S\x81`!`\0 \x06a*\x80R`\x1D` S\x81`!`\0 \x06a*\xA0R`\x1D` SP`!`\0\x90\x81 \x82\x81\x06a*\xC0R\x81Ra# Q` Ra#\0Q`@Ra#`Q``Ra#@Q`\x80R`\xA0\x81 \x82\x90\x06a+\0Ra\x13\xC0Qa\x13\xE0Q\x84\x82\x80\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x93PP\x81a1`R\x80` a1`\x01RPPa\x14\0Qa\x14 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa0@Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x14@Qa\x14`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a0@Qa0@Q\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x14\x80Qa\x14\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a0@Q\x83a0@Qa0@Q\t\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x12\0Qa\x12 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'\0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x12@Qa\x12`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a' Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x12\x80Qa\x12\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'@Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x12\xC0Qa\x12\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'`Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x13\0Qa\x13 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'\x80Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x13@Qa\x13`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'\xA0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x13\x80Qa\x13\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'\xC0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x04\0Qa\x04 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa'\xE0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x04@Qa\x04`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(\0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x04\x80Qa\x04\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa( Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x04\xC0Qa\x04\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(@Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x05\0Qa\x05 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(`Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x05@Qa\x05`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(\x80Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x05\x80Qa\x05\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(\xA0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x05\xC0Qa\x05\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(\xC0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x06\0Qa\x06 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(\xE0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x06@Qa\x06`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa)\0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x06\x80Qa\x06\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa) Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x06\xC0Qa\x06\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa)@Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x07\0Qa\x07 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa)`Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x07@Qa\x07`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa)\x80Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x07\x80Qa\x07\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a)\xA0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x07\xC0Qa\x07\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a)\xC0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x08\0Qa\x08 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a)\xE0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x08@Qa\x08`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a*\0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x08\x80Qa\x08\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa* Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x08\xC0Qa\x08\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa*@Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\t\0Qa\t Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa*`Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\t@Qa\t`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa*\x80Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\t\x80Qa\t\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa*\xA0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90P\x81\x82a\x16\0Q\x84a+\0Qa\x19\xE0Q\t\x08a'\0Q\t\x82\x83\x84a\x16 Q\x86a+\0Qa \0Q\t\x08a' Q\t\x82\x08\x90P\x82\x83\x84a\x16@Q\x86a+\0Qa Q\t\x08a'@Q\t\x82\x08\x90P\x82\x83\x84a\x16`Q\x86a+\0Qa @Q\t\x08a'`Q\t\x82\x08\x90P\x82\x83\x84a\x16\x80Q\x86a+\0Qa `Q\t\x08a'\x80Q\t\x82\x08\x90P\x82\x83\x84a\x16\xA0Q\x86a+\0Qa \x80Q\t\x08a'\xA0Q\t\x82\x08\x90P\x82\x83\x84a\x16\xC0Q\x86a+\0Qa \xA0Q\t\x08a'\xC0Q\t\x82\x08\x90P\x82\x83a\x16\xE0Qa'\xE0Q\t\x82\x08\x90P\x82\x83a\x17\0Qa(\0Q\t\x82\x08\x90P\x82\x83a\x17 Qa( Q\t\x82\x08\x90P\x82\x83a\x17@Qa(@Q\t\x82\x08\x90P\x82\x83a\x17`Qa(`Q\t\x82\x08\x90P\x82\x83a\x17\x80Qa(\x80Q\t\x82\x08\x90P\x82\x83a\x17\xA0Qa(\xA0Q\t\x82\x08\x90P\x82\x83a\x17\xC0Qa(\xC0Q\t\x82\x08\x90P\x82\x83a\x17\xE0Qa(\xE0Q\t\x82\x08\x90P\x82\x83a\x18\0Qa)\0Q\t\x82\x08\x90P\x82\x83a\x19`Qa) Q\t\x82\x08\x90P\x82\x83a\x19\x80Qa)@Q\t\x82\x08\x90P\x82\x83a\x19\xA0Qa)`Q\t\x82\x08\x90P\x82\x83a\x19\xC0Qa)\x80Q\t\x82\x08\x90P\x82\x83\x84a\x18@Q\x86a+\0Qa \xC0Q\t\x08a)\xA0Q\t\x82\x08\x90P\x82\x83\x84a\x18`Q\x86a+\0Qa \xE0Q\t\x08a)\xC0Q\t\x82\x08\x90P\x82\x83\x84a\x18\x80Q\x86a+\0Qa!\0Q\t\x08a)\xE0Q\t\x82\x08\x90P\x82\x83\x84a\x18\xA0Q\x86a+\0Qa! Q\t\x08a*\0Q\t\x82\x08\x90P\x82\x83a\x18\xC0Qa* Q\t\x82\x08\x90P\x82\x83a\x18\xE0Qa*@Q\t\x82\x08\x90P\x82\x83a\x19\0Qa*`Q\t\x82\x08\x90P\x82\x83a\x19 Qa*\x80Q\t\x82\x08\x90P\x82\x83a\x19@Qa*\xA0Q\t\x82\x08\x90P\x82a7`Q\x82\x08\x90P`\x01`\0R`\x02` R\x80\x83\x03`@RP`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x16a3`\x81\x90Ra+\0Qa&\xC0Qa#\0Qa# Q\x86\x82\x80\t\x87`\x03\x89\x83\x86\t\x08\x88\x83\x84\t\x14\x95PP\x81`\0R\x80` RPP\x80`@R`@a1\xA0```\0`\x07Z\xFA\x83\x16\x92P`@a1``\x80a1``\x06Z\xFA\x83\x16\x92Pa#@Qa#`Q\x86\x82\x83\t\x87`\x03\x89\x83\x86\t\x08\x88\x83\x84\t\x14\x86\x16\x95PP\x81`\0R\x80` RPP\x83a\x03\xC0Q\x85\x83\x85\t\t`@RP`@a1\xA0```\0`\x07Z\xFA\x82\x16\x91P`@a2 `\x80a1``\x06Z\xFA\x82\x16\x91Pa#\0Q`\0Ra# Q` Ra#@Q`@Ra#`Q``R\x80`\x80R`@\x80```@`\x07Z\xFA\x82\x16\x91P`@a1\xE0`\x80`\0`\x06Z\xFA\x82\x16\x91Pa2\0Q\x84\x03a2\0Ra\t\xC0Q\x15a*\xCFWa5\0Qa5 Q\x85\x82\x83\t\x86`\x03\x88\x83\x86\t\x08\x87\x83\x84\t\x14\x85\x16\x94PP\x81`\0R\x80` RPP\x82\x81\x82\t`@R`@``\x80`\0`\x07Z\xFA\x82\x16\x91Pa5@Qa5`Q\x85\x82\x83\t\x86`\x03\x88\x83\x86\t\x08\x87\x83\x84\t\x14\x85\x16\x94PP\x81`\0R\x80` RPP`@`\0```\0`\x07Z\xFA\x82\x16\x91Pa2 Q`\xA0Ra2@Q`\xC0R`@a2 `\x80```\x06Z\xFA\x82\x16\x91Pa1\xE0Q`@Ra2\0Q``R`@a1\xE0`\x80`\0`\x06Z\xFA\x82\x16\x91P[P\x80a*\xE6Wc\xF7U\xF3i`\xE0\x1B`\0R`\x04`\0\xFD[\x80a3\x80Ra2 Q`\0Ra2@Q` R\x7F\x19\x8E\x93\x93\x92\rH:r`\xBF\xB71\xFB]%\xF1\xAAI35\xA9\xE7\x12\x97\xE4\x85\xB7\xAE\xF3\x12\xC2`@R\x7F\x18\0\xDE\xEF\x12\x1F\x1EvBj\0f^\\DygC\"\xD4\xF7^\xDA\xDDF\xDE\xBD\\\xD9\x92\xF6\xED``R\x7F\t\x06\x89\xD0X_\xF0u\xEC\x9E\x99\xADi\x0C3\x95\xBCK13p\xB3\x8E\xF3U\xAC\xDA\xDC\xD1\"\x97[`\x80R\x7F\x12\xC8^\xA5\xDB\x8Cm\xEBJ\xABq\x80\x8D\xCB@\x8F\xE3\xD1\xE7i\x0CC\xD3{L\xE6\xCC\x01f\xFA}\xAA`\xA0Ra1\xE0Q`\xC0Ra2\0Q`\xE0Ra\n\0Qa\x01\0Ra\n Qa\x01 Ra\n@Qa\x01@Ra\n`Qa\x01`R` `\0a\x01\x80`\0`\x08Z\xFA\x90P\x80a3\xA0R`\0Qa3\xC0RPPPa3`Qa3\x80Qa3\xC0Qa3\xA0Q\x16\x16\x16a+\xFDWc\x01\xC4\x7F;`\xE2\x1B`\0R`\x04`\0\xFD[`\x01`\0R` `\0\xF3[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a,\x1DW\x83\x84\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a,4W\x85\x86\xFD[\x81\x87\x01\x91P\x87`\x1F\x83\x01\x12a,GW\x85\x86\xFD[\x815\x81\x81\x11\x15a,UW\x86\x87\xFD[\x88` \x82\x85\x01\x01\x11\x15a,fW\x86\x87\xFD[` \x92\x83\x01\x96P\x94P\x90\x86\x015\x90\x80\x82\x11\x15a,\x80W\x83\x84\xFD[\x81\x87\x01\x91P\x87`\x1F\x83\x01\x12a,\x93W\x83\x84\xFD[\x815\x81\x81\x11\x15a,\xA1W\x84\x85\xFD[\x88` \x82`\x05\x1B\x85\x01\x01\x11\x15a,\xB5W\x84\x85\xFD[\x95\x98\x94\x97PP` \x01\x94PPPV\xFE\xA2dipfsX\"\x12 i\\O>\x85\x893C\x8D\xE4em\xDF\xB86x\xCA\xA0\xF3\xC2;\xD8\xC7\xFFB\xCA\xBB9\xA0qv\xA1dsolcC\0\x08\x04\x003"; - /// The bytecode of the contract. - pub static ULTRAVERIFIER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80c\x93\x7Fj\x10\x14a\0;W\x80c\xEAP\xD0\xE4\x14a\0nW[`\0\x80\xFD[`@Q\x7F^5[\xF9\x1F\xE3\xE2\xBC\xC2\xF4!\xEF+\x95\xD0\x01\x16d\xCA\x0E\x84vM\xB7\xE9\xC4\x88N\\q\xB1%\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\x81a\0|6`\x04a,\x08V[a\0\x91V[`@Q\x90\x15\x15\x81R` \x01a\0eV[b\x02\0\0a\x03\x80R`\x01a\x03\xA0R\x7F\x1B\xF8-\xEB\xA7\xD7I\x02\xC3p\x8C\xC6\xE7\x0Ea\xF3\x05\x12\xEC\xA9VU!\x0E'nXX\xCE\x8FX\xE5a\x03\xC0R\x7F0d6@\xB9\xF8/\x90\xE8;i\x8E^\xA6\x17\x9C|\x05T.\x85\x953\xB4\x8B\x99S\xA2\xF56\x08\x01a\x03\xE0R\x7F\x05\x95%e\x91\xD2+\xF1I\x8B\xDD\xF8\xBD\xC8\x96\xBCT\x92\xEA\xA1=\xF0\x15Re\x15\xCF\xF3\xA8p`aa\x04\0R\x7F\t\xEB\xFD\xACb\x1Dg\xFC\xC8\xE6\xCD2`\xED\x1B\xA3g\xCAL\xBA\xC8^\xD4\xED\x13\xE7\xB4\xA2\xD8\xF1\xFFQa\x04 R\x7F\x18\x15(U\xE6^\xD9\xBEMu\x9Ah\x02\xC9\xDF\x16\xD1{\xBC\x80\xF7\x1B\t:\x81\xCA\x01\xFB\xA1c\xF4\xFAa\x04@R\x7F$\x8E\xEE\x8C`K\x8E\x8Bin\xFD\x14\xE3\x16[kZBK\xAD\x87q9\xE2\x81)\x9B\\d\xD6;xa\x04`R\x7F*\xAA?\xFA`cO\n\x10;\x82p\xD6\xA8\xB0\xCDL\xDE/\x97\xDF\x89\x13\xD5\xEB\xFF\x10@\xC1\xED\xB9la\x04\x80R\x7F\r\xDD\x8D\xF2\xD8\xC6\x19\xC2\x13\x9E\xB2[u\xC3z\xC3`|\xDAN\xD7\xC8\x06\xA8\xD9M\xEDY\xA3\x9C\x84\xE2-\"$\xE3a\x05`R~\x9FS\xFC\xC9\xB3\xCE?\xBD\xA1'Vg\xF6\xFB\xE6\xD6\xC5\xF4\xB8R\x90\xB9\xC6\x8C+\xF1\xA9\xF1\xFE\xE6\x02a\x05\x80R\x7F\x13\xC9\xAD=\x10R\xF8\xE8\xA1;FDF\xFE\xC7j\xAD]\xF0:\\\x83v\x83\xD8\x94\x7F\"D\xB8\x17\xB2a\x05\xA0R\x7F'\x8B)y\xE3V\xFE]\xFD\x10r\xF5\x96+xt\x9C\x03\xA0\x0EQ\x1BM\xDDz\xE9\x8A\x1E\xA1\x14\xD3\x85a\x05\xC0R\x7F\x19\xD2\xFC\xA9H\xE1\xC4\xAC\xB6\x17\xF2>zn\x03\xE6H/\xB7\xC7\x91yH\x1C\x84\xCA\xF6\x82\r\x11!Ja\x05\xE0R\x7F(\xB9U\xAA\xC4\xC0C\xCB\xCF\xDE\x06\xEE\xE5\x9BD6?\x96\xFE\no\xA9;\x0B6\xEF\x07\xFB\xE2\x85\xD4\xC7a\x06\0R\x7F\x16\xE1\xBB\xB0\xA7r\x8D\xCBv\x96\xFD\xF36\x1B9Q\x0CjO\x83\xCC!Y\xF5\xFCe\xCE\xB2\xBE\x05\x99\xF9a\x06 R\x7F\x14\x14\xAFv$q9\xFA\x9E\x8F\xEF\x8B9:>\x03\"~\xE3\xA6\xFE\xDB\x1EU\xF5\xDB\x82\xCB#Rx*a\x06@R\x7F,x\x95\xA6\x8D/\xAB[+\xCEMw\x03\xDA\xEB\xF9\x01\x1Ec\xD6u\xBCh\x98\xC7\xF0`\x87\xD6\xD8=\x99a\x06`R\x7F\x16:\x01J\x9D}_X\xE27\x05\x1C\xED~\xA6\0\x0Bw\xEF\x87\x9A\x19\xDD^P\x08p\x82dt\x1A\xBCa\x06\x80R\x7F,\xED\xA3\x04\x1DOK\x0F\xC2'\xD8\x03\t>;{g\x134.v w\x1B+\x04i\x98\xDB\xF7#\x8Ea\x06\xA0R\x7F\x11\xD1\xE9J\x17\xE4\x9D\xDF\xAB\x99\xCD\t\x0BD #\xF6(\x80\xD7\x0E\x12\x98\xB3\x056%\xAA3X\xE1\x91a\x06\xC0R\x7F\x0C$\xF43e0d\x9F6\xCF\x04\xB1\x9F}\xAD\rm\x80\xB0\xEE\x9Cw(W\xA4\x89\xD4\xFD\xF80]Fa\x06\xE0R\x7F\t\xA78\x1B<\x06\x8B4\xF0\x80\xDC\xB4Nu\xBA\xFD\x84\x18\xDF7(\xE9\xCF\xF5v\xEB\xBA!:\xEA\xEEGa\x07\0R\x7F\x019+\xEE]K\x96v\xD0x\xC1!\xC4\xF3\x03\x19\x80*B<>\x91\xE1\xA6\xD4\xB7(\xF3V&Jua\x07 R\x7F&\xCEd\xA9[1\xC0M\xB0\xD3\x89R\xF7\xD5\x16%\x1Fg\xFC\x97\xCD\xD2\x88\xB5\xCA2\xC0\x9F\xE0\xF5\xFAba\x07@R\x7F\x17\xE3~\xADX\xBCZ\xCF-]\xB4i\xC4\x1B\xED\x12\xC1\x03\x124\xBBzh\x17\xD45\xF84\x04\xEAq\xF8a\x07`R~\\\x8CV\xB3\xC8\xE9\xDF\x1C\xF0\xCB\x1D;V>\x8Dt\xBFl!\x89\xB9\xE8^y\x1E*I\xA3\xBD\xC2\x08a\x07\x80R\x7F\x0Cg\x7F\xAC6g=5\xC8\xD8\x0E\x99(\xF4\x08e\xD8\"\x9A\xF7\xEB\x87\x88L[A\xD1y\xDA\x8F\xB8\0a\x07\xA0R\x7F\x12#\xFCR\x8EIp\xAB\x8F\x92\xF9:=\x0E/]\xF1b\xFA\xAE\x13Inq\xEA\xE1@I\xE6\x82\x8Ava\x07\xC0R\x7F\x03B\xD8\xF2\xE5\xE1q\xE7%\xB0z\xA2\xB9\x03\x9A9[\x90\xF2\xE8j\xCC\x9B:5'pT\x92\x7Fv\x8Ea\x07\xE0R~\xF1iF3\xAFTT\x17\xA1\x17%\x19\xCA\x9D\x98\xEA\xDA\xD9(7e\x890\xD2\">(\xCB\xA7\x9B\x10a\x08\0R\x7F\x05\xEES\xA4\x007\x1A\xE8K\x7F\xC1!\xA5\xB3-\xFEV\n82[\x8Cw$\0\xF5,%[u\xD8\xABa\x08 R\x7F\x14\xEA\x1A\xEF`H\xC9\xB4\xE9\x01\xF7\xD8o\x12\x9F\xC6[\x85\xFCQ\xFC\xC1\xE2\xC2\t4{\x1A\x14af\xFBa\x08@R\x7F\x0Bj\x94\xFE\xDC\xF0\xA3\xE0\xB9\x885\xBF\xA8\xA3\xE3\x06\xE9\xB3\xB2PXh\x03\xE0\xF3\x05\xB2\xB6\x95\xD4G\xBAa\x08`R\x7F\x16.\xBD/\x85d\xF4\xAA\x0BW\0\xB1\x13\x1D\x90\xF7x\x11Cp\xA3^\xF4)S+\xCB\\n\rl;a\x08\x80R\x7F\nGN\xF9\xA3\x8Es\xC8\x9D\xC1\xDFt\x8CG\xFB\xD4\xE8|\x18Y\x98\x10\x05\x05\xB6\xF6\xC7\xFF\x92o\x88Sa\x08\xA0R\x7F-\x19\xDE6Z\xDC\xCD\xAD\x89\x84\xAAWW(\xF7|\x92\x8A\x93\x97\xF2\xA4\xD5_u)\xFEX=So-a\x08\xC0R\x7F\x0C\xCC\xB0\x1D\xAF\"w\x02\x97\x14\x9C\xEB\xEC\xB8F\x166\xAC\xDDjT;\x93y#\xAA\xFD\x9Dy\xBCA\xEBa\x08\xE0R\x7F$6@\x03\xA0c\xCCb\x02\xC4\x86\x8F\xCF#\xFF\xA6\xCB\xAF\xC7\xBD\xB4\x82\xFC\xE5\xF1\x8B,\x0B\xCF=WVa\t\0R\x7F\x14\x0F11\xA3\xBC9\x17\x86\xE8^e\xFC\x95\xCB\x84\x8B9Q2a\t`R\x7F\x1Cy\x05\\#\x19\xD2|V\x06\x17,.\x06\xF27c\xEA\xB5+\xCF\xEAiw\xB3Hg\x80\x0F\t@Ra\t\x80R\x7F#\xFD\x1Db|\xAF\x9Cf\x87f>\xD6\xB1-\rR6\xE1\xF0\x1C\x0C\xFB^D\x84_\xA7r\xFFxF'a\t\xA0R`\0a\t\xC0\x81\x90Ra\t\xE0\x81\x90R\x7F&\x0E\x01\xB2Q\xF6\xF1\xC7\xE7\xFFNX\x07\x91\xDE\xE8\xEAQ\xD8z5\x8E\x03\x8BN\xFE0\xFA\xC0\x93\x83\xC1a\n\0R\x7F\x01\x18\xC4\xD5\xB87\xBC\xC2\xBC\x89\xB5\xB3\x98\xB5\x97N\x9FYD\x07;2\x07\x8B~#\x1F\xEC\x93\x88\x83\xB0a\n R\x7F\x04\xFCci\xF7\x11\x0F\xE3\xD2QV\xC1\xBB\x9Ar\x85\x9C\xF2\xA0FA\xF9\x9B\xA4\xEEA<\x80\xDAj_\xE4a\n@R\x7F\"\xFE\xBD\xA3\xC0\xC0c*VG[B\x14\xE5a^\x11\xE6\xDD?\x96\xE6\xCE\xA2\x85J\x87\xD4\xDA\xCC^Ua\n`R\x7F$L\xF0\x10\xC4<\xA8r7\xD8\xB0\x0B\xF9\xDDP\xC4\xC0\x1C\x7F\x08k\xD4\xE8\xC9 \xE7RQ\xD9o\r\"a4\0Ra\x03\xA0Q\x82\x81\x14a\x08\x84W`@Qcvg\xDC\x9B`\xE0\x1B\x81R`\x04\x81\x01\x82\x90R`$\x81\x01\x84\x90R`D\x01`@Q\x80\x91\x03\x90\xFD[\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01`$`\x045\x01\x82\x815\x06a\x12 R\x82` \x82\x015\x06a\x12\0R\x82`@\x82\x015\x06a\x12`R\x82``\x82\x015\x06a\x12@R\x82`\x80\x82\x015\x06a\x12\xA0R\x82`\xA0\x82\x015\x06a\x12\x80R\x82`\xC0\x82\x015\x06a\x12\xE0R\x82`\xE0\x82\x015\x06a\x12\xC0R\x82a\x01\0\x82\x015\x06a\x13 R\x82a\x01 \x82\x015\x06a\x13\0R\x82a\x01@\x82\x015\x06a\x13`R\x82a\x01`\x82\x015\x06a\x13@R\x82a\x01\x80\x82\x015\x06a\x13\xA0R\x82a\x01\xA0\x82\x015\x06a\x13\x80R\x82a\x01\xC0\x82\x015\x06a\x13\xE0R\x82a\x01\xE0\x82\x015\x06a\x13\xC0R\x82a\x02\0\x82\x015\x06a\x14 R\x82a\x02 \x82\x015\x06a\x14\0R\x82a\x02@\x82\x015\x06a\x14`R\x82a\x02`\x82\x015\x06a\x14@R\x82a\x02\x80\x82\x015\x06a\x14\xA0R\x82a\x02\xA0\x82\x015\x06a\x14\x80R\x81a\x02\xC0\x82\x015\x06a\x16\0R\x81a\x02\xE0\x82\x015\x06a\x16 R\x81a\x03\0\x82\x015\x06a\x16@R\x81a\x03 \x82\x015\x06a\x16`R\x81a\x03@\x82\x015\x06a\x16\x80R\x81a\x03`\x82\x015\x06a\x16\xA0R\x81a\x03\x80\x82\x015\x06a\x16\xC0R\x81a\x03\xA0\x82\x015\x06a\x16\xE0R\x81a\x03\xC0\x82\x015\x06a\x17\0R\x81a\x03\xE0\x82\x015\x06a\x17 R\x81a\x04\0\x82\x015\x06a\x17@R\x81a\x04 \x82\x015\x06a\x17`R\x81a\x04@\x82\x015\x06a\x17\x80R\x81a\x04`\x82\x015\x06a\x17\xA0R\x81a\x04\x80\x82\x015\x06a\x17\xC0R\x81a\x04\xA0\x82\x015\x06a\x17\xE0R\x81a\x04\xC0\x82\x015\x06a\x18\0R\x81a\x04\xE0\x82\x015\x06a\x19`R\x81a\x05\0\x82\x015\x06a\x19\x80R\x81a\x05 \x82\x015\x06a\x19\xA0R\x81a\x05@\x82\x015\x06a\x19\xC0R\x81a\x05`\x82\x015\x06a\x18@R\x81a\x05\x80\x82\x015\x06a\x18`R\x81a\x05\xA0\x82\x015\x06a\x18\x80R\x81a\x05\xC0\x82\x015\x06a\x18\xA0R\x81a\x05\xE0\x82\x015\x06a\x18\xC0R\x81a\x06\0\x82\x015\x06a\x18\xE0R\x81a\x06 \x82\x015\x06a\x19\0R\x81a\x06@\x82\x015\x06a\x19 R\x81a\x06`\x82\x015\x06a\x19@R\x81a\x06\x80\x82\x015\x06a\x19\xE0R\x81a\x06\xA0\x82\x015\x06a \0R\x81a\x06\xC0\x82\x015\x06a R\x81a\x06\xE0\x82\x015\x06a @R\x81a\x07\0\x82\x015\x06a `R\x81a\x07 \x82\x015\x06a \x80R\x81a\x07@\x82\x015\x06a \xA0R\x81a\x07`\x82\x015\x06a \xC0R\x81a\x07\x80\x82\x015\x06a \xE0R\x81a\x07\xA0\x82\x015\x06a!\0R\x81a\x07\xC0\x82\x015\x06a! R\x82a\x07\xE0\x82\x015\x06a# R\x82a\x08\0\x82\x015\x06a#\0R\x82a\x08 \x82\x015\x06a#`R\x82a\x08@\x82\x015\x06a#@RPa\t\xC0Q\x15a\x0C\xE6W`$\x805\x01\x80a\t\xE0Q`\x05\x1B\x01\x90P\x805` \x82\x015`D\x1B\x81\x01\x90P`@\x82\x015`\x88\x1B\x81\x01\x90P``\x82\x015`\xCC\x1B\x81\x01\x90P`\x80\x82\x015`\xA0\x83\x015`D\x1B\x81\x01\x90P`\xC0\x83\x015`\x88\x1B\x81\x01\x90P`\xE0\x83\x015`\xCC\x1B\x81\x01\x90Pa\x01\0\x83\x015a\x01 \x84\x015`D\x1B\x81\x01\x90Pa\x01@\x84\x015`\x88\x1B\x81\x01\x90Pa\x01`\x84\x015`\xCC\x1B\x81\x01\x90Pa\x01\x80\x84\x015a\x01\xA0\x85\x015`D\x1B\x81\x01\x90Pa\x01\xC0\x85\x015`\x88\x1B\x81\x01\x90Pa\x01\xE0\x85\x015`\xCC\x1B\x81\x01\x90P\x83a5\0R\x82a5 R\x81a5@R\x80a5`R\x86\x81\x10\x87\x84\x10\x16\x87\x83\x10\x88\x86\x10\x16\x16a\x0C\xE0Wcu\xD4\xFAS`\xE1\x1B`\0R`\x04`\0\xFD[PPPPP[a\x03\x80Q`\xE0\x1B`\0Ra\x03\xA0Q`\xE0\x1B`\x04R`\x08`\0 \x80a5\x80R`$\x805\x01` a\x03\xA0Q\x02\x80\x82` a5\x80\x017`\x045`$\x01\x91P`\xC0\x82a5\xA0\x83\x017`\xE0\x01a5\x80 \x83\x81\x06a&`\x81\x90R\x90\x92P\x90P\x82\x81\x80\ta&\x80R\x82\x81a&\x80Q\ta&\xA0RP\x80`\0Ra\x12\xE0Q` Ra\x12\xC0Q`@Ra\x13 Q``Ra\x13\0Q`\x80R`\xA0`\0 \x90P\x81\x81\x06a&\0R\x80`\0R`\x01` SP`!`\0\x90\x81 \x82\x81\x06a& R\x81Ra\x13`Q` Ra\x13@Q`@Ra\x13\xA0Q``Ra\x13\x80Q`\x80R`\xA0\x90 \x81\x81\x06a&@\x81\x90R\x82\x81\x80\ta4 R\x82\x81a4 Q\ta4@R\x82\x81a4@Q\ta4`R\x80a4\x80RP\x80`\0Ra\x13\xE0Q` Ra\x13\xC0Q`@Ra\x14 Q``Ra\x14\0Q`\x80Ra\x14`Q`\xA0Ra\x14@Q`\xC0Ra\x14\xA0Q`\xE0Ra\x14\x80Qa\x01\0Ra\x01 `\0 \x90P\x81\x81\x06a&\xC0R\x80a&\xE0RPa&\0Qa& Qa\x03\xC0Q`\x01\x80\x85`\x01`$\x805\x01` a\x03\xA0Q\x02\x81\x01\x83`\x05\x8A\t\x84`\x0C\x8B\t\x99P[\x81\x83\x10\x15a\x0E\xA6W\x825\x85\x81\x10\x85\x16\x94P\x85\x8A\x82\x08\x90P\x85\x81\x83\x01\x89\t\x97P\x85\x81\x8C\x01\x88\t\x96PP\x84\x88\x82\t\x90P\x84\x88\x8B\t\x99P` \x83\x01\x92Pa\x0EgV[PPP\x80a\x0E\xBFWc7J\x97/`\xE0\x1B`\0R`\x04`\0\xFD[PP\x81a0\0R\x80a0 RPPPPP\x80\x81`\x01a&\0Q\x08a& Q\t\x80a\x03\x80Q`\x01[\x81\x81\x10\x15a\x0E\xFBW\x84\x83\x84\t\x92P\x80\x01a\x0E\xE6V[PPa1\0R\x81\x81\x80\t\x90P\x81\x81\x82\ta1 RPa&\xC0Qa\x03\x80Q\x81\x90`\x01[\x81\x81\x10\x15a\x0F2W\x84\x83\x84\t\x92P\x80\x01a\x0F\x1DV[PP\x80a0@R\x82`\x01\x84\x03\x82\x08\x90Pa4\0Q\x80\x84\x03a\x03\xE0Q\x85\x82\x86\x08\x86\x84\x84\t\x92P\x86\x87\x84\x88\x08\x82\t\x90P\x86\x84\x84\t\x92P\x86\x87\x84\x88\x08\x82\t\x90P\x86\x87\x88\x86\x86\t\x88\x08\x82\t\x90Pa\x03\xC0Q\x92P\x86\x82\x86\t\x91P\x86`\x01\x88\x03\x87\x08\x87\x84\x85\t\x94P\x87`\x01\x89\x03\x89\x89\x8B\x88\x8D\x8B\x8C\t\t\t\x08\x96Pa0 Q\x94P\x84\x93P\x87\x82\x86\t\x94P\x84\x88\x87\x87\t\x95P\x85\x89\x83\x88\t\x96P\x86\x8Aa1 Q\x89\t\x97P\x87` `\0R` \x80R` `@R\x8B\x8B\x8A\t``R`\x02\x8C\x03`\x80R\x8B`\xA0R` `\0`\xC0`\0`\x05Z\xFAa\x10\x0FWc>%)\xEF`\xE2\x1B`\0R`\x04`\0\xFD[`\0Q\x98P\x8B\x81\x8A\t\x90P\x8B\x8B\x8A\t\x98P\x8B\x82\x8A\t\x91P\x8Ba1 Q\x8A\t\x98P\x8B\x83\x8A\t\x92P\x8B\x85\x8A\t\x98P\x8B\x84\x8A\t\x93P\x8B\x8A\x8A\t\x98P\x8B\x88\x8A\t\x97P\x8B\x86\x8A\t\x98P\x8Ba0 Q\x8D\x8B\x8C\t\t\x98P\x8B\x89a0\0Q\ta0`R\x8B\x88\x8B\ta0\x80R\x8B\x84\x87\ta7\x80R\x8B\x83\x88\ta0\xA0R\x8B\x82a1\0Q\ta1@R\x8B\x81\x88\ta0\xC0RPPPPPPPPPPPa&@QPa&\0Qa& Q\x82\x83a\x19\0Q\x84\t\x82a\x16 Q\x01\x01\x84a\x18\xE0Q\x85\t\x83a\x16\0Q\x01\x01\t\x83\x84a\x19@Q\x85\t\x83a\x16`Q\x01\x01\x85a\x19 Q\x86\t\x84a\x16@Q\x01\x01\t\x84\x85\x86\x83\x85\ta\x16\xA0Q\ta4\x80Q\t\x85\x86a\x19\x80Q\x87\t\x85a\x16 Q\x01\x01\x87a\x19`Q\x88\t\x86a\x16\0Q\x01\x01\t\x92P\x85\x86a\x19\xC0Q\x87\t\x85a\x16`Q\x01\x01\x87a\x19\xA0Q\x88\t\x86a\x16@Q\x01\x01\t\x91P\x85\x86\x87\x88\x85\x87\ta \x80Q\ta4\x80Q\t\x87\x03\x82\x08\x90P\x85a&@Qa4\x80Q\ta4\x80R\x85\x86\x87\x88a0`Q\x8A\x03a \x80Q\x08a0\xC0Q\ta4\x80Q\t\x82\x08\x90P\x85a&@Qa4\x80Q\ta4\x80R\x85\x86\x87\x88`\x01\x8A\x03a\x16\xA0Q\x08a0\xA0Q\ta4\x80Q\t\x82\x08a6\0RPPPPP\x80a&@Qa4\x80Q\ta4\x80R\x80a\x17 Qa&`Q\t\x81\x82\x83a Qa\x17\x80Q\ta\x16@Q\x08\x82\x08\x90P\x81a&`Q\x82\t\x90P\x81\x82\x83a \0Qa\x17`Q\ta\x16 Q\x08\x82\x08\x90P\x81a&`Q\x82\t\x90P\x81\x82\x83a\x19\xE0Qa\x17\0Q\ta\x16\0Q\x08\x82\x08\x90P\x81a\x18@Q\x83\x84a&`Qa\x18`Q\t\x85\x86a&\x80Qa\x18\x80Q\t\x87a&\xA0Qa\x18\xA0Q\t\x08\x08\x08\x82a \xC0Q\x84\x85a&`Qa \xE0Q\t\x86\x87a&\x80Qa!\0Q\t\x88a&\xA0Qa! Q\t\x08\x08\x08\x83\x84`\x01a&\0Q\x08a& Q\t\x84a& Q\x86a\x18\xC0Q\x87\t\x08\x93P\x84\x81\x86\x87a&\0Q\x86\t\x86\x08\x08\x92P\x84\x83\x85\t\x93P\x84\x85`\x01a&\0Q\x08\x85\t\x93P\x84a0\xA0Qa&@Q\t\x92P\x84\x83\x85\x08\x93P\x84a\x16\xC0Q\x85\t\x93P\x84\x83\x86\x03\x85\x08\x93P\x84\x81\x86\x87a&\0Qa `Q\ta\x16\x80Q\x08\x08\x92PPP\x82a0\xC0Qa4 Q\t\x83\x81\x85\x03\x83\x08\x91P\x83a \xA0Q\x83\t\x91P\x83\x84a1@Q\x83\t\x83\x08\x91PP\x82a4\x80Q\x84\x83\x86\x03\x85\x08\ta6 RPP\x80a4@Qa4\x80Q\ta4\x80R\x80a\x16\xE0Qa\x16\0Q\t\x81a\x17\0Qa\x16 Q\t\x82a\x17 Qa\x16@Q\t\x83a\x17@Qa\x16`Q\t\x84\x7F\x182'9p\x98\xD0\x14\xDC(\"\xDB@\xC0\xAC.\x94\x19\xF4$<\xDC\xB8H\xA1\xF0\xFA\xC9\xF8\0\0\0\x86\x87`\x03\x89\x03a\x17\xA0Q\x08\x88a\x17`Q\x8Aa\x16 Qa\x16\0Q\t\t\t\t\x85\x86\x87\x88\x89\x85\x8A\x08\x88\x08\x86\x08\x84\x08a\x17\x80Q\x08\x94PPPPP\x81\x82\x83\x84\x85a\x16`Qa\x16\0Q\x08a\x19\xE0Q\x87\x03\x08a\x17`Q\x08\x84`\x02\x86\x03a\x17\xA0Q\x08\ta&@Q\t\x82\x83\x84\x85\x86\x85a @Q\x08\x87`\x01\x89\x03a\x17\xA0Q\x08\t\x85\x08a\x17\xA0Q\ta4\x80Q\ta6@RPP\x80a4 Qa4\x80Q\ta4\x80R`\x02\x81\x03`\x03\x82\x03\x82a\x16\0Q\x84\x03a\x16 Q\x08\x83a\x16 Q\x85\x03a\x16@Q\x08\x84a\x16@Q\x86\x03a\x16`Q\x08\x85a\x16`Q\x87\x03a\x19\xE0Q\x08\x86a4\x80Q\x88\x89\x88\x88\x08\x8A\x8B\x8B\x8A\x08\x8C\x8A\x8E\x03\x8E\x8C\x8D\t\x08\t\t\t\x93P\x86\x87\x88a&@Qa4\x80Q\t\x89\x8A\x89\x88\x08\x8B\x8C\x8C\x8A\x08\x8D\x8A\x8F\x03\x8F\x8C\x8D\t\x08\t\t\t\x85\x08\x93P\x86\x87\x88a4 Qa4\x80Q\t\x89\x8A\x89\x87\x08\x8B\x8C\x8C\x89\x08\x8D\x89\x8F\x03\x8F\x8B\x8C\t\x08\t\t\t\x85\x08\x93P\x86\x87\x88a4@Qa4\x80Q\t\x89\x8A\x89\x86\x08\x8B\x8C\x8C\x88\x08\x8D\x88\x8F\x03\x8F\x8A\x8B\t\x08\t\t\t\x85\x08\x93PPPP\x83a\x17\xC0Q\x82\ta6`RPPa4`Qa4\x80Q\x83\x92P\ta4\x80R\x80a\x17 Q\x82\x83a\x16 Q\x85a \0Qa \0Q\x08\x08\x84a\x16 Qa\x19\xE0Q\x87\x03\t\t\t\x81a\x19\xE0Qa\x19\xE0Q\t\x82\x83a\x16 Q\x85\x03a \0Q\x08\x82\t\x90P\x82a\x17@Q\x82\t\x90P\x82a\x19\xE0Qa\x19\xE0Q\t\x83a\x19\xE0Q\x82\t\x90P\x83\x84\x85a\x16 Qa \0Q\x08\x86a\x16 Qa\x16 Q\t\t\x82\x08\x90P\x83\x84\x85a\x16@Qa\x16@Q\t\x86a @Qa @Q\t\x08\x85\x03\x82\x08\x90P\x83a\x16@Qa @Q\t\x84\x81\x82\x08\x90P\x84a\x16\xE0Q\x82\t\x90P\x84\x85\x83\x83\x08\x86\x85\x87\x08\x08\x92P\x84a4\x80Q\x84\t\x92P\x84\x85a\x16@Qa Q\x08\x86a\x17 Qa\x19\xE0Q\t\t\x93P\x84\x85a \0Q\x87\x03a\x16 Q\x08\x86a\x16\xE0Qa @Q\t\t\x85\x03\x90P\x84\x85\x86a \0Q\x88\x03a\x16 Q\x08a\x16@Q\t\x86\x87a\x16@Qa Q\x08a\x16 Q\t\x87\x03\x08\x91P\x84\x85a&@Qa4\x80Q\t\x86\x84\x88\x85\x89\x08\x08\t\x93PPP\x82a\x17\xE0Q\x84\x84\x84\x08\ta6\x80RPP\x80a4`Qa4\x80Q\ta4\x80R\x80\x81a\x16 Qa\x19\xE0Q\t\x82a \0Qa\x16\0Q\t\x08\x81a Q\x83\x03\x83\x84a\x16@Qa\x16 Q\t\x85a\x16`Qa\x16\0Q\t\x08\x08\x82`\x01`D\x1B\x82\t\x90P\x82a @Q\x84\x03\x82\x08\x90P\x82\x82\x82\x08\x90P\x82a\x17@Q\x82\t\x90P\x82`\x01`D\x1B\x83\t\x91P\x82\x83a \0Qa\x19\xE0Q\t\x83\x08\x91P\x82a\x17 Q\x84\x85a\x16`Qa\x16@Q\x08\x86\x03\x85\x08\t\x83a\x17`Q\x85\x86a @Qa Q\x08\x87\x03\x87a\x16`Q\x88\x08\x08\t\x92P\x83a\x17\0Q\x85\x85\x87\x86\x86\x08\x08\ta6\xC0RPPa \0Q\x82\x91Pa@\0\x90\t\x81a\x19\xE0Q\x82\x08\x90P\x81a@\0\x82\t\x90P\x81a\x16@Q\x82\x08\x90P\x81a@\0\x82\t\x90P\x81a\x16 Q\x82\x08\x90P\x81a@\0\x82\t\x90P\x81a\x16\0Q\x82\x08\x90P\x81a\x16`Q\x83\x03\x82\x08\x90P\x81a\x17@Q\x82\t\x90P\x81a@\0a Q\t\x82a \0Q\x82\x08\x90P\x82a@\0\x82\t\x90P\x82a\x19\xE0Q\x82\x08\x90P\x82a@\0\x82\t\x90P\x82a\x16`Q\x82\x08\x90P\x82a@\0\x82\t\x90P\x82a\x16@Q\x82\x08\x90P\x82a @Q\x84\x03\x82\x08\x90P\x82a\x17`Q\x82\t\x90P\x82a\x17 Q\x84\x83\x85\x08\ta6\xE0RPP\x80a&`Qa\x16@Q\t\x81a\x16 Q\x82\x08\x90P\x81a&`Q\x82\t\x90P\x81a\x16\0Q\x82\x08\x90P\x81a&`Q\x82\t\x90P\x81a\x17\x80Q\x82\x08\x90P\x80\x82a\x16`Q\x84\x03\x83\x08\x91P\x81a7@R\x82a\x16\0Q\x84\x03a\x19\xE0Q\x08\x83a\x16`Q\x85\x03a @Q\x08\x84\x85`\x01\x87\x03\x84\x08\x83\t\x85\x86\x84\x88\x03`\x01\x08\x83\t\x91P\x85\x85\x87a&@Q\x89\x85\x8Ba&@Q\x89\t\x08\t\x08a7 R\x85a&`Qa Q\t\x94P\x85a \0Q\x86\x08\x94P\x85a&`Q\x86\t\x94P\x85a\x19\xE0Q\x86\x08\x94P\x85a&`Q\x86\t\x94P\x85\x85\x87\x03a @Q\x08\x94P\x85a\x16@Q\x87\x03a Q\x08\x91P\x85\x86\x87\x87\x89\x03`\x01\x08\x84\t\x87\x85\x89\x03`\x01\x08\t\x91P\x85\x84\x87\x03a\x16`Q\x08\x86\x87`\x01\x89\x03\x83\x08\x82\t\x90P\x86\x87`\x01\x89\x03\x88\x08\x87\t\x95P\x86a&@Q\x84\t\x92P\x86\x82\x84\x08\x92P\x86a&@Q\x84\t\x92P\x86\x86\x84\x08\x92P\x86a&@Q\x84\t\x92P\x86\x81\x84\x08\x92PP\x81a7\0RPP\x83a\x16 Q\x85\x03a \0Q\x08\x92P\x83a\x16@Q\x85\x03\x85\x86\x84\x88\x03`\x01\x08\x86\t\x08\x92P\x83a\x17\0Qa7 Q\t\x91P\x83\x84a\x17@Q\x85\t\x83\x08\x91P\x83\x84a\x17`Qa7@Q\t\x83\x08\x91P\x83a\x16\xE0Q\x83\t\x91P\x83\x84a\x17\xA0Qa7\0Q\t\x83\x08\x91P\x83a6\xC0Q\x83\x08\x92P\x83a6\xE0Q\x84\x08\x92P\x83a\x18\0Q\x84\t\x92P\x83a4\x80Q\x84\t\x92P\x82a6\xA0R\x83a4@Qa4\x80Q\ta4\x80RPPP\x80a7\x80Q\x82a6\xA0Q\x84a6\x80Q\x86a6`Q\x88a6@Q\x8Aa6 Qa6\0Q\x08\x08\x08\x08\x08\ta7`\x81\x90Ra&\xE0Qa7\xA0\x81\x90Ra7\xC0\x91\x90\x91Ra\x02\xE4`\x045\x01a\x05 \x81a7\xE07PPa\x05`a7\xA0 \x81\x81\x06a'\0R`\0\x81\x90R`\x01` S\x81`!`\0 \x06a' R`\x02` S\x81`!`\0 \x06a'@R`\x03` S\x81`!`\0 \x06a'`R`\x04` S\x81`!`\0 \x06a'\x80R`\x05` S\x81`!`\0 \x06a'\xA0R`\x06` S\x81`!`\0 \x06a'\xC0R`\x07` S\x81`!`\0 \x06a'\xE0R`\x08` S\x81`!`\0 \x06a(\0R`\t` S\x81`!`\0 \x06a( R`\n` S\x81`!`\0 \x06a(@R`\x0B` S\x81`!`\0 \x06a(`R`\x0C` S\x81`!`\0 \x06a(\x80R`\r` S\x81`!`\0 \x06a(\xA0R`\x0E` S\x81`!`\0 \x06a(\xC0R`\x0F` S\x81`!`\0 \x06a(\xE0R`\x10` S\x81`!`\0 \x06a)\0R`\x11` S\x81`!`\0 \x06a) R`\x12` S\x81`!`\0 \x06a)@R`\x13` S\x81`!`\0 \x06a)`R`\x14` S\x81`!`\0 \x06a)\x80R`\x15` S\x81`!`\0 \x06a)\xA0R`\x16` S\x81`!`\0 \x06a)\xC0R`\x17` S\x81`!`\0 \x06a)\xE0R`\x18` S\x81`!`\0 \x06a*\0R`\x19` S\x81`!`\0 \x06a* R`\x1A` S\x81`!`\0 \x06a*@R`\x1B` S\x81`!`\0 \x06a*`R`\x1C` S\x81`!`\0 \x06a*\x80R`\x1D` S\x81`!`\0 \x06a*\xA0R`\x1D` SP`!`\0\x90\x81 \x82\x81\x06a*\xC0R\x81Ra# Q` Ra#\0Q`@Ra#`Q``Ra#@Q`\x80R`\xA0\x81 \x82\x90\x06a+\0Ra\x13\xC0Qa\x13\xE0Q\x84\x82\x80\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x93PP\x81a1`R\x80` a1`\x01RPPa\x14\0Qa\x14 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa0@Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x14@Qa\x14`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a0@Qa0@Q\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x14\x80Qa\x14\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a0@Q\x83a0@Qa0@Q\t\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x12\0Qa\x12 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'\0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x12@Qa\x12`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a' Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x12\x80Qa\x12\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'@Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x12\xC0Qa\x12\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'`Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x13\0Qa\x13 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'\x80Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x13@Qa\x13`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'\xA0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x13\x80Qa\x13\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a'\xC0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x04\0Qa\x04 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa'\xE0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x04@Qa\x04`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(\0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x04\x80Qa\x04\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa( Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x04\xC0Qa\x04\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(@Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x05\0Qa\x05 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(`Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x05@Qa\x05`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(\x80Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x05\x80Qa\x05\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(\xA0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x05\xC0Qa\x05\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(\xC0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x06\0Qa\x06 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa(\xE0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x06@Qa\x06`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa)\0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x06\x80Qa\x06\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa) Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x06\xC0Qa\x06\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa)@Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x07\0Qa\x07 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa)`Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x07@Qa\x07`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa)\x80Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x07\x80Qa\x07\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a)\xA0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x07\xC0Qa\x07\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a)\xC0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x08\0Qa\x08 Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a)\xE0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x08@Qa\x08`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPP\x81a*\0Q\x83`\x01a+\0Q\x08\t`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x08\x80Qa\x08\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa* Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\x08\xC0Qa\x08\xE0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa*@Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\t\0Qa\t Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa*`Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\t@Qa\t`Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa*\x80Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90Pa\t\x80Qa\t\xA0Q\x84\x82\x83\t\x85`\x03\x87\x83\x86\t\x08\x86\x83\x84\t\x14\x84\x16\x93PP\x81`\0R\x80` RPPa*\xA0Q`@R`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x81\x16\x90P\x81\x82a\x16\0Q\x84a+\0Qa\x19\xE0Q\t\x08a'\0Q\t\x82\x83\x84a\x16 Q\x86a+\0Qa \0Q\t\x08a' Q\t\x82\x08\x90P\x82\x83\x84a\x16@Q\x86a+\0Qa Q\t\x08a'@Q\t\x82\x08\x90P\x82\x83\x84a\x16`Q\x86a+\0Qa @Q\t\x08a'`Q\t\x82\x08\x90P\x82\x83\x84a\x16\x80Q\x86a+\0Qa `Q\t\x08a'\x80Q\t\x82\x08\x90P\x82\x83\x84a\x16\xA0Q\x86a+\0Qa \x80Q\t\x08a'\xA0Q\t\x82\x08\x90P\x82\x83\x84a\x16\xC0Q\x86a+\0Qa \xA0Q\t\x08a'\xC0Q\t\x82\x08\x90P\x82\x83a\x16\xE0Qa'\xE0Q\t\x82\x08\x90P\x82\x83a\x17\0Qa(\0Q\t\x82\x08\x90P\x82\x83a\x17 Qa( Q\t\x82\x08\x90P\x82\x83a\x17@Qa(@Q\t\x82\x08\x90P\x82\x83a\x17`Qa(`Q\t\x82\x08\x90P\x82\x83a\x17\x80Qa(\x80Q\t\x82\x08\x90P\x82\x83a\x17\xA0Qa(\xA0Q\t\x82\x08\x90P\x82\x83a\x17\xC0Qa(\xC0Q\t\x82\x08\x90P\x82\x83a\x17\xE0Qa(\xE0Q\t\x82\x08\x90P\x82\x83a\x18\0Qa)\0Q\t\x82\x08\x90P\x82\x83a\x19`Qa) Q\t\x82\x08\x90P\x82\x83a\x19\x80Qa)@Q\t\x82\x08\x90P\x82\x83a\x19\xA0Qa)`Q\t\x82\x08\x90P\x82\x83a\x19\xC0Qa)\x80Q\t\x82\x08\x90P\x82\x83\x84a\x18@Q\x86a+\0Qa \xC0Q\t\x08a)\xA0Q\t\x82\x08\x90P\x82\x83\x84a\x18`Q\x86a+\0Qa \xE0Q\t\x08a)\xC0Q\t\x82\x08\x90P\x82\x83\x84a\x18\x80Q\x86a+\0Qa!\0Q\t\x08a)\xE0Q\t\x82\x08\x90P\x82\x83\x84a\x18\xA0Q\x86a+\0Qa! Q\t\x08a*\0Q\t\x82\x08\x90P\x82\x83a\x18\xC0Qa* Q\t\x82\x08\x90P\x82\x83a\x18\xE0Qa*@Q\t\x82\x08\x90P\x82\x83a\x19\0Qa*`Q\t\x82\x08\x90P\x82\x83a\x19 Qa*\x80Q\t\x82\x08\x90P\x82\x83a\x19@Qa*\xA0Q\t\x82\x08\x90P\x82a7`Q\x82\x08\x90P`\x01`\0R`\x02` R\x80\x83\x03`@RP`@a1\xA0```\0`\x07Z\xFA\x16`@a1``\x80\x81`\x06Z\xFA\x16a3`\x81\x90Ra+\0Qa&\xC0Qa#\0Qa# Q\x86\x82\x80\t\x87`\x03\x89\x83\x86\t\x08\x88\x83\x84\t\x14\x95PP\x81`\0R\x80` RPP\x80`@R`@a1\xA0```\0`\x07Z\xFA\x83\x16\x92P`@a1``\x80a1``\x06Z\xFA\x83\x16\x92Pa#@Qa#`Q\x86\x82\x83\t\x87`\x03\x89\x83\x86\t\x08\x88\x83\x84\t\x14\x86\x16\x95PP\x81`\0R\x80` RPP\x83a\x03\xC0Q\x85\x83\x85\t\t`@RP`@a1\xA0```\0`\x07Z\xFA\x82\x16\x91P`@a2 `\x80a1``\x06Z\xFA\x82\x16\x91Pa#\0Q`\0Ra# Q` Ra#@Q`@Ra#`Q``R\x80`\x80R`@\x80```@`\x07Z\xFA\x82\x16\x91P`@a1\xE0`\x80`\0`\x06Z\xFA\x82\x16\x91Pa2\0Q\x84\x03a2\0Ra\t\xC0Q\x15a*\xCFWa5\0Qa5 Q\x85\x82\x83\t\x86`\x03\x88\x83\x86\t\x08\x87\x83\x84\t\x14\x85\x16\x94PP\x81`\0R\x80` RPP\x82\x81\x82\t`@R`@``\x80`\0`\x07Z\xFA\x82\x16\x91Pa5@Qa5`Q\x85\x82\x83\t\x86`\x03\x88\x83\x86\t\x08\x87\x83\x84\t\x14\x85\x16\x94PP\x81`\0R\x80` RPP`@`\0```\0`\x07Z\xFA\x82\x16\x91Pa2 Q`\xA0Ra2@Q`\xC0R`@a2 `\x80```\x06Z\xFA\x82\x16\x91Pa1\xE0Q`@Ra2\0Q``R`@a1\xE0`\x80`\0`\x06Z\xFA\x82\x16\x91P[P\x80a*\xE6Wc\xF7U\xF3i`\xE0\x1B`\0R`\x04`\0\xFD[\x80a3\x80Ra2 Q`\0Ra2@Q` R\x7F\x19\x8E\x93\x93\x92\rH:r`\xBF\xB71\xFB]%\xF1\xAAI35\xA9\xE7\x12\x97\xE4\x85\xB7\xAE\xF3\x12\xC2`@R\x7F\x18\0\xDE\xEF\x12\x1F\x1EvBj\0f^\\DygC\"\xD4\xF7^\xDA\xDDF\xDE\xBD\\\xD9\x92\xF6\xED``R\x7F\t\x06\x89\xD0X_\xF0u\xEC\x9E\x99\xADi\x0C3\x95\xBCK13p\xB3\x8E\xF3U\xAC\xDA\xDC\xD1\"\x97[`\x80R\x7F\x12\xC8^\xA5\xDB\x8Cm\xEBJ\xABq\x80\x8D\xCB@\x8F\xE3\xD1\xE7i\x0CC\xD3{L\xE6\xCC\x01f\xFA}\xAA`\xA0Ra1\xE0Q`\xC0Ra2\0Q`\xE0Ra\n\0Qa\x01\0Ra\n Qa\x01 Ra\n@Qa\x01@Ra\n`Qa\x01`R` `\0a\x01\x80`\0`\x08Z\xFA\x90P\x80a3\xA0R`\0Qa3\xC0RPPPa3`Qa3\x80Qa3\xC0Qa3\xA0Q\x16\x16\x16a+\xFDWc\x01\xC4\x7F;`\xE2\x1B`\0R`\x04`\0\xFD[`\x01`\0R` `\0\xF3[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a,\x1DW\x83\x84\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a,4W\x85\x86\xFD[\x81\x87\x01\x91P\x87`\x1F\x83\x01\x12a,GW\x85\x86\xFD[\x815\x81\x81\x11\x15a,UW\x86\x87\xFD[\x88` \x82\x85\x01\x01\x11\x15a,fW\x86\x87\xFD[` \x92\x83\x01\x96P\x94P\x90\x86\x015\x90\x80\x82\x11\x15a,\x80W\x83\x84\xFD[\x81\x87\x01\x91P\x87`\x1F\x83\x01\x12a,\x93W\x83\x84\xFD[\x815\x81\x81\x11\x15a,\xA1W\x84\x85\xFD[\x88` \x82`\x05\x1B\x85\x01\x01\x11\x15a,\xB5W\x84\x85\xFD[\x95\x98\x94\x97PP` \x01\x94PPPV\xFE\xA2dipfsX\"\x12 i\\O>\x85\x893C\x8D\xE4em\xDF\xB86x\xCA\xA0\xF3\xC2;\xD8\xC7\xFFB\xCA\xBB9\xA0qv\xA1dsolcC\0\x08\x04\x003"; - /// The deployed bytecode of the contract. - pub static ULTRAVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct UltraVerifier(::ethers::contract::Contract); - impl ::core::clone::Clone for UltraVerifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for UltraVerifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for UltraVerifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for UltraVerifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(UltraVerifier)) - .field(&self.address()) - .finish() - } - } - impl UltraVerifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ULTRAVERIFIER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - ULTRAVERIFIER_ABI.clone(), - ULTRAVERIFIER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `getVerificationKeyHash` (0x937f6a10) function - pub fn get_verification_key_hash( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([147, 127, 106, 16], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0xea50d0e4) function - pub fn verify( - &self, - proof: ::ethers::core::types::Bytes, - public_inputs: ::std::vec::Vec<[u8; 32]>, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([234, 80, 208, 228], (proof, public_inputs)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for UltraVerifier - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `EC_SCALAR_MUL_FAILURE` with signature `EC_SCALAR_MUL_FAILURE()` and selector `0xf755f369` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "EC_SCALAR_MUL_FAILURE", abi = "EC_SCALAR_MUL_FAILURE()")] - pub struct EC_SCALAR_MUL_FAILURE; - ///Custom Error type `MOD_EXP_FAILURE` with signature `MOD_EXP_FAILURE()` and selector `0xf894a7bc` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "MOD_EXP_FAILURE", abi = "MOD_EXP_FAILURE()")] - pub struct MOD_EXP_FAILURE; - ///Custom Error type `PROOF_FAILURE` with signature `PROOF_FAILURE()` and selector `0x0711fcec` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "PROOF_FAILURE", abi = "PROOF_FAILURE()")] - pub struct PROOF_FAILURE; - ///Custom Error type `PUBLIC_INPUT_COUNT_INVALID` with signature `PUBLIC_INPUT_COUNT_INVALID(uint256,uint256)` and selector `0x7667dc9b` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "PUBLIC_INPUT_COUNT_INVALID", - abi = "PUBLIC_INPUT_COUNT_INVALID(uint256,uint256)" - )] - pub struct PUBLIC_INPUT_COUNT_INVALID { - pub expected: ::ethers::core::types::U256, - pub actual: ::ethers::core::types::U256, - } - ///Custom Error type `PUBLIC_INPUT_GE_P` with signature `PUBLIC_INPUT_GE_P()` and selector `0x374a972f` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "PUBLIC_INPUT_GE_P", abi = "PUBLIC_INPUT_GE_P()")] - pub struct PUBLIC_INPUT_GE_P; - ///Custom Error type `PUBLIC_INPUT_INVALID_BN128_G1_POINT` with signature `PUBLIC_INPUT_INVALID_BN128_G1_POINT()` and selector `0xeba9f4a6` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "PUBLIC_INPUT_INVALID_BN128_G1_POINT", - abi = "PUBLIC_INPUT_INVALID_BN128_G1_POINT()" - )] - pub struct PUBLIC_INPUT_INVALID_BN128_G1_POINT; - ///Container type for all of the contract's custom errors - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum UltraVerifierErrors { - EC_SCALAR_MUL_FAILURE(EC_SCALAR_MUL_FAILURE), - MOD_EXP_FAILURE(MOD_EXP_FAILURE), - PROOF_FAILURE(PROOF_FAILURE), - PUBLIC_INPUT_COUNT_INVALID(PUBLIC_INPUT_COUNT_INVALID), - PUBLIC_INPUT_GE_P(PUBLIC_INPUT_GE_P), - PUBLIC_INPUT_INVALID_BN128_G1_POINT(PUBLIC_INPUT_INVALID_BN128_G1_POINT), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for UltraVerifierErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::EC_SCALAR_MUL_FAILURE(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::MOD_EXP_FAILURE(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::PROOF_FAILURE(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::PUBLIC_INPUT_COUNT_INVALID(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::PUBLIC_INPUT_GE_P(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::PUBLIC_INPUT_INVALID_BN128_G1_POINT(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for UltraVerifierErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::EC_SCALAR_MUL_FAILURE(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::MOD_EXP_FAILURE(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::PROOF_FAILURE(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::PUBLIC_INPUT_COUNT_INVALID(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::PUBLIC_INPUT_GE_P(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::PUBLIC_INPUT_INVALID_BN128_G1_POINT(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for UltraVerifierErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ if selector - == ::selector() => { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for UltraVerifierErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::EC_SCALAR_MUL_FAILURE(element) => ::core::fmt::Display::fmt(element, f), - Self::MOD_EXP_FAILURE(element) => ::core::fmt::Display::fmt(element, f), - Self::PROOF_FAILURE(element) => ::core::fmt::Display::fmt(element, f), - Self::PUBLIC_INPUT_COUNT_INVALID(element) => ::core::fmt::Display::fmt(element, f), - Self::PUBLIC_INPUT_GE_P(element) => ::core::fmt::Display::fmt(element, f), - Self::PUBLIC_INPUT_INVALID_BN128_G1_POINT(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for UltraVerifierErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for UltraVerifierErrors { - fn from(value: EC_SCALAR_MUL_FAILURE) -> Self { - Self::EC_SCALAR_MUL_FAILURE(value) - } - } - impl ::core::convert::From for UltraVerifierErrors { - fn from(value: MOD_EXP_FAILURE) -> Self { - Self::MOD_EXP_FAILURE(value) - } - } - impl ::core::convert::From for UltraVerifierErrors { - fn from(value: PROOF_FAILURE) -> Self { - Self::PROOF_FAILURE(value) - } - } - impl ::core::convert::From for UltraVerifierErrors { - fn from(value: PUBLIC_INPUT_COUNT_INVALID) -> Self { - Self::PUBLIC_INPUT_COUNT_INVALID(value) - } - } - impl ::core::convert::From for UltraVerifierErrors { - fn from(value: PUBLIC_INPUT_GE_P) -> Self { - Self::PUBLIC_INPUT_GE_P(value) - } - } - impl ::core::convert::From for UltraVerifierErrors { - fn from(value: PUBLIC_INPUT_INVALID_BN128_G1_POINT) -> Self { - Self::PUBLIC_INPUT_INVALID_BN128_G1_POINT(value) - } - } - ///Container type for all input parameters for the `getVerificationKeyHash` function with signature `getVerificationKeyHash()` and selector `0x937f6a10` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "getVerificationKeyHash", abi = "getVerificationKeyHash()")] - pub struct GetVerificationKeyHashCall; - ///Container type for all input parameters for the `verify` function with signature `verify(bytes,bytes32[])` and selector `0xea50d0e4` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes,bytes32[])")] - pub struct VerifyCall { - pub proof: ::ethers::core::types::Bytes, - pub public_inputs: ::std::vec::Vec<[u8; 32]>, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum UltraVerifierCalls { - GetVerificationKeyHash(GetVerificationKeyHashCall), - Verify(VerifyCall), - } - impl ::ethers::core::abi::AbiDecode for UltraVerifierCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::GetVerificationKeyHash(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for UltraVerifierCalls { - fn encode(self) -> Vec { - match self { - Self::GetVerificationKeyHash(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for UltraVerifierCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::GetVerificationKeyHash(element) => ::core::fmt::Display::fmt(element, f), - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for UltraVerifierCalls { - fn from(value: GetVerificationKeyHashCall) -> Self { - Self::GetVerificationKeyHash(value) - } - } - impl ::core::convert::From for UltraVerifierCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - ///Container type for all return fields from the `getVerificationKeyHash` function with signature `getVerificationKeyHash()` and selector `0x937f6a10` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct GetVerificationKeyHashReturn(pub [u8; 32]); - ///Container type for all return fields from the `verify` function with signature `verify(bytes,bytes32[])` and selector `0xea50d0e4` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); -} diff --git a/bindings/src/xor_2_verifier_wrapper.rs b/bindings/src/xor_2_verifier_wrapper.rs deleted file mode 100644 index 937ec65..0000000 --- a/bindings/src/xor_2_verifier_wrapper.rs +++ /dev/null @@ -1,1231 +0,0 @@ -pub use xor_2_verifier_wrapper::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod xor_2_verifier_wrapper { - pub use super::super::shared_types::*; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_iverifier"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract i_xor2_verifier"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_sampleInput"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_sampleProof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("createRequest"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("createRequest"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("ask"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ProofMarketplace.Ask",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("secretType"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "enum ProofMarketplace.SecretType", - ), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("secret_inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("acl"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeInputAndProofForVerification"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "encodeInputAndProofForVerification", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 1usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[1]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("a"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("b"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize - ), - ), - 2usize, - ), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2][2]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("c"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("encodeInputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 1usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[1]"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("encodeProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("encodeProof"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("a"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("b"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize - ), - ), - 2usize, - ), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2][2]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("c"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("iverifier"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("iverifier"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract i_xor2_verifier"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("proofMarketplace"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("proofMarketplace"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ProofMarketplace",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleInput"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleInput"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleProof"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("setProofMarketplaceContract"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProofMarketplaceContract",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_proofMarketplace"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ProofMarketplace",), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("encodedData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("encodedProof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyInputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static XOR2_VERIFIER_WRAPPER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x15\xC28\x03\x80b\0\x15\xC2\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x010V[`\x01`\x01`\xA0\x1B\x03\x83\x16`\x80R`\x01b\0\0O\x83\x82b\0\x02KV[P`\x02b\0\0^\x82\x82b\0\x02KV[PPPPb\0\x03\x17V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\0\x90W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\0\xADWb\0\0\xADb\0\0hV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\0\xD8Wb\0\0\xD8b\0\0hV[\x81`@R\x83\x81R` \x92P\x86` \x85\x88\x01\x01\x11\x15b\0\0\xF6W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01\x1AW\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\0\xFBV[`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x01FW`\0\x80\xFD[\x83Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01^W`\0\x80\xFD[` \x85\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01|W`\0\x80\xFD[b\0\x01\x8A\x87\x83\x88\x01b\0\0~V[\x93P`@\x86\x01Q\x91P\x80\x82\x11\x15b\0\x01\xA1W`\0\x80\xFD[Pb\0\x01\xB0\x86\x82\x87\x01b\0\0~V[\x91PP\x92P\x92P\x92V[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x01\xCFW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x01\xF0WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02FW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02!WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02BW\x82\x81U`\x01\x01b\0\x02-V[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x02gWb\0\x02gb\0\0hV[b\0\x02\x7F\x81b\0\x02x\x84Tb\0\x01\xBAV[\x84b\0\x01\xF6V[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x02\xB7W`\0\x84\x15b\0\x02\x9EWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02BV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x02\xE8W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x02\xC7V[P\x85\x82\x10\x15b\0\x03\x07W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\x80Qa\x12\x88b\0\x03:`\09`\0\x81\x81a\x01\xC8\x01Ra\x04\x92\x01Ra\x12\x88`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xCEW`\x005`\xE0\x1C\x80c\x8Ev\n\xFE\x11a\0\x8CW\x80c\xA7l\x05Q\x11a\0fW\x80c\xA7l\x05Q\x14a\x01\xA8W\x80c\xD2#^\xAC\x14a\x01\xB0W\x80c\xE7\xF5\xB8\x1D\x14a\x01\xC3W\x80c\xEC#\xA9\xED\x14a\x01\xEAW`\0\x80\xFD[\x80c\x8Ev\n\xFE\x14a\x01oW\x80c\x9B\xBC\xADx\x14a\x01\x82W\x80c\xA6\xDF\xBC\x7F\x14a\x01\x95W`\0\x80\xFD[\x80bkO\xB0\x14a\0\xD3W\x80c\x02\xF7}\x19\x14a\0\xFCW\x80c\x05m\xE7\x04\x14a\x01\x1FW\x80c\x10\xA5By\x14a\x014W\x80c}\x8A\xD4+\x14a\x01V[`@Q\x90\x15\x15\x81R` \x01a\0\xF3V[a\x012a\x01-6`\x04a\n\xB3V[a\x02vV[\0[a\x01\x0Fa\x02\xE4V[a\0\xE6a\x03~V[`\0Ta\x01W\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xF3V[a\x01\x0Fa\x01}6`\x04a\n\x1BV[a\x04\x0CV[a\0\xE6a\x01\x906`\x04a\n\xD0V[a\x05\x1AV[a\x01\x0Fa\x01\xA36`\x04a\x0B5V[a\x05CV[a\0\xE6a\x05]V[a\x012a\x01\xBE6`\x04a\x0BwV[a\x05jV[a\x01W\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\0\xE6a\x01\xF86`\x04a\x0C,V[a\x06\x9CV[``a\x02\x08\x85a\x05\x1AV[a\x02\x13\x85\x85\x85a\x06\x9CV[`@Q` \x01a\x02$\x92\x91\x90a\x0CsV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P[\x94\x93PPPPV[`\0\x80`\x01\x83`@Q` \x01a\x02U\x92\x91\x90a\x0C\xDBV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x02o\x81a\x04\x0CV[\x93\x92PPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x16\x15a\x02\xC2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0B`$\x82\x01Rj\x10[\x1C\x99XY\x1EH\x14\xD9]`\xAA\x1B`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\0a\x03y`\x02\x80Ta\x02\xF6\x90a\x0C\xA1V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\"\x90a\x0C\xA1V[\x80\x15a\x03oW\x80`\x1F\x10a\x03DWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03oV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03RW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPa\x02>V[\x90P\x90V[`\x01\x80Ta\x03\x8B\x90a\x0C\xA1V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\xB7\x90a\x0C\xA1V[\x80\x15a\x04\x04W\x80`\x1F\x10a\x03\xD9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x04\x04V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\xE7W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\0a\x04\x16a\x07KV[a\x04\x1Ea\x07iV[a\x04&a\x07KV[a\x04.a\x07\x96V[`\0\x80\x87\x80` \x01\x90Q\x81\x01\x90a\x04E\x91\x90a\r\xDAV[\x91P\x91P\x81\x80` \x01\x90Q\x81\x01\x90a\x04]\x91\x90a\x0E>V[\x92P\x80\x80` \x01\x90Q\x81\x01\x90a\x04s\x91\x90a\x0E\xE4V[`@QcCu;M`\xE0\x1B\x81R\x92\x98P\x90\x96P\x94P`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cCu;M\x90a\x04\xCD\x90\x89\x90\x89\x90\x89\x90\x89\x90`\x04\x01a\x0F\xECV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04\xEAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05\x0E\x91\x90a\x10#V[\x98\x97PPPPPPPPV[``\x81`@Q` \x01a\x05-\x91\x90a\x10EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x91\x90PV[`\0a\x05Q\x82\x84\x01\x84a\x10SV[P`\x01\x90P[\x92\x91PPV[`\x02\x80Ta\x03\x8B\x90a\x0C\xA1V[`\0`@Q\x80`\xE0\x01`@R\x80\x88`\0\x015\x81R` \x01\x88` \x015\x81R` \x01\x88`@\x015\x81R` \x01\x88``\x015\x81R` \x01\x88`\x80\x015\x81R` \x01\x88`\xA0\x01` \x81\x01\x90a\x05\xBC\x91\x90a\n\xB3V[`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01a\x05\xE2a\x01\x90a\x05\xDD`\xC0\x8C\x01\x8Ca\x10\xEDV[a\x06\xCBV[\x90R`\0T`@Q\x91\x92P`\x01`\x01`\xA0\x1B\x03\x16\x90cpS\x8F\xCA\x90\x83\x90\x89\x90a\x06\x11\x90\x8A\x90\x8A\x90` \x01a\x114V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x87\x87`@Q` \x01a\x063\x92\x91\x90a\x114V[`@Q` \x81\x83\x03\x03\x81R\x90`@R`@Q\x85c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x06a\x94\x93\x92\x91\x90a\x11\x85V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06{W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06\x8FW=`\0\x80>=`\0\xFD[PPPPPPPPPPPV[``\x83\x83\x83`@Q` \x01a\x06\xB3\x93\x92\x91\x90a\x12)V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x93\x92PPPV[a\x06\xD3a\x07\x96V[a\x06\xDD\x83\x83a\x05CV[a\x07?W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`-`$\x82\x01R\x7FCircom Verifier Wrapper: Invalid`D\x82\x01Rl\x08\x1A[\x9C\x1D]\x08\x19\x9B\xDC\x9BX]`\x9A\x1B`d\x82\x01R`\x84\x01a\x02\xB9V[a\x02o\x82\x84\x01\x84a\n\xD0V[`@Q\x80`@\x01`@R\x80`\x02\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`@\x01`@R\x80`\x02\x90[a\x07\x80a\x07KV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x07xW\x90PP\x90V[`@Q\x80` \x01`@R\x80`\x01\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q` \x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\xEDWa\x07\xEDa\x07\xB4V[`@R\x90V[`@\x80Q\x90\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\xEDWa\x07\xEDa\x07\xB4V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x08?Wa\x08?a\x07\xB4V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x08XW`\0\x80\xFD[a\x08`a\x07\xCAV[\x80` \x80\x85\x01\x86\x81\x11\x15a\x08sW`\0\x80\xFD[\x85[\x81\x81\x10\x15a\x08\x8CW\x805\x85R\x93\x82\x01\x93\x82\x01a\x08uV[P\x91\x96\x95PPPPPPV[`\0\x82`\x1F\x83\x01\x12a\x08\xA9W`\0\x80\xFD[a\x08\xB1a\x07\xF3V[\x80`@\x84\x01\x85\x81\x11\x15a\x08\xC3W`\0\x80\xFD[\x84[\x81\x81\x10\x15a\x08\xDDW\x805\x84R` \x93\x84\x01\x93\x01a\x08\xC5V[P\x90\x95\x94PPPPPV[`\0\x82`\x1F\x83\x01\x12a\x08\xF9W`\0\x80\xFD[a\t\x01a\x07\xF3V[\x80`\x80\x84\x01\x85\x81\x11\x15a\t\x13W`\0\x80\xFD[\x84[\x81\x81\x10\x15a\x08\xDDWa\t'\x87\x82a\x08\x98V[\x84R` \x90\x93\x01\x92`@\x01a\t\x15V[`\0\x80`\0\x80a\x01 \x85\x87\x03\x12\x15a\tNW`\0\x80\xFD[a\tX\x86\x86a\x08GV[\x93Pa\tg\x86` \x87\x01a\x08\x98V[\x92Pa\tv\x86``\x87\x01a\x08\xE8V[\x91Pa\t\x85\x86`\xE0\x87\x01a\x08\x98V[\x90P\x92\x95\x91\x94P\x92PV[`\0[\x83\x81\x10\x15a\t\xABW\x81\x81\x01Q\x83\x82\x01R` \x01a\t\x93V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\t\xCC\x81` \x86\x01` \x86\x01a\t\x90V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x02o` \x83\x01\x84a\t\xB4V[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\n\rWa\n\ra\x07\xB4V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0` \x82\x84\x03\x12\x15a\n-W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\nDW`\0\x80\xFD[\x82\x01`\x1F\x81\x01\x84\x13a\nUW`\0\x80\xFD[\x805a\nha\nc\x82a\t\xF3V[a\x08\x16V[\x81\x81R\x85` \x83\x85\x01\x01\x11\x15a\n}W`\0\x80\xFD[\x81` \x84\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\n\xB0W`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\n\xC5W`\0\x80\xFD[\x815a\x02o\x81a\n\x9BV[`\0` \x82\x84\x03\x12\x15a\n\xE2W`\0\x80\xFD[a\x02o\x83\x83a\x08GV[`\0\x80\x83`\x1F\x84\x01\x12a\n\xFEW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B\x16W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x0B.W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80` \x83\x85\x03\x12\x15a\x0BHW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B_W`\0\x80\xFD[a\x0Bk\x85\x82\x86\x01a\n\xECV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a\x0B\x90W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0B\xA8W`\0\x80\xFD[\x90\x88\x01\x90`\xE0\x82\x8B\x03\x12\x15a\x0B\xBCW`\0\x80\xFD[\x90\x96P` \x88\x015\x90`\x03\x82\x10a\x0B\xD2W`\0\x80\xFD[\x90\x95P`@\x88\x015\x90\x80\x82\x11\x15a\x0B\xE8W`\0\x80\xFD[a\x0B\xF4\x8A\x83\x8B\x01a\n\xECV[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15a\x0C\rW`\0\x80\xFD[Pa\x0C\x1A\x89\x82\x8A\x01a\n\xECV[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0\x80`\0a\x01\0\x84\x86\x03\x12\x15a\x0CBW`\0\x80\xFD[a\x0CL\x85\x85a\x08\x98V[\x92Pa\x0C[\x85`@\x86\x01a\x08\xE8V[\x91Pa\x0Cj\x85`\xC0\x86\x01a\x08\x98V[\x90P\x92P\x92P\x92V[`@\x81R`\0a\x0C\x86`@\x83\x01\x85a\t\xB4V[\x82\x81\x03` \x84\x01Ra\x0C\x98\x81\x85a\t\xB4V[\x95\x94PPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0C\xB5W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0C\xD5WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`@\x81R`\0\x80\x84T\x81`\x01\x82`\x01\x1C\x91P`\x01\x83\x16\x80a\x0C\xFDW`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\r\x1CWcNH{q`\xE0\x1B\x86R`\"`\x04R`$\x86\xFD[`@\x88\x01\x84\x90R``\x88\x01\x82\x80\x15a\r;W`\x01\x81\x14a\rQWa\r|V[`\xFF\x19\x87\x16\x82R\x85\x15\x15`\x05\x1B\x82\x01\x97Pa\r|V[`\0\x8C\x81R` \x90 `\0[\x87\x81\x10\x15a\rvW\x81T\x84\x82\x01R\x90\x86\x01\x90\x84\x01a\r]V[\x83\x01\x98PP[PPPPPPP\x82\x81\x03` \x84\x01Ra\x0C\x98\x81\x85a\t\xB4V[`\0\x82`\x1F\x83\x01\x12a\r\xA6W`\0\x80\xFD[\x81Qa\r\xB4a\nc\x82a\t\xF3V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\r\xC9W`\0\x80\xFD[a\x026\x82` \x83\x01` \x87\x01a\t\x90V[`\0\x80`@\x83\x85\x03\x12\x15a\r\xEDW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0E\x05W`\0\x80\xFD[a\x0E\x11\x86\x83\x87\x01a\r\x95V[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a\x0E'W`\0\x80\xFD[Pa\x0E4\x85\x82\x86\x01a\r\x95V[\x91PP\x92P\x92\x90PV[`\0` \x80\x83\x85\x03\x12\x15a\x0EQW`\0\x80\xFD[\x83`\x1F\x84\x01\x12a\x0E`W`\0\x80\xFD[a\x0Eha\x07\xCAV[\x80` \x85\x01\x86\x81\x11\x15a\x0EzW`\0\x80\xFD[\x85[\x81\x81\x10\x15a\x0E\x93W\x80Q\x84R\x92\x84\x01\x92\x84\x01a\x0E|V[P\x90\x96\x95PPPPPPV[`\0\x82`\x1F\x83\x01\x12a\x0E\xB0W`\0\x80\xFD[a\x0E\xB8a\x07\xF3V[\x80`@\x84\x01\x85\x81\x11\x15a\x0E\xCAW`\0\x80\xFD[\x84[\x81\x81\x10\x15a\x08\xDDW\x80Q\x84R` \x93\x84\x01\x93\x01a\x0E\xCCV[`\0\x80`\0a\x01\0\x84\x86\x03\x12\x15a\x0E\xFAW`\0\x80\xFD[a\x0F\x04\x85\x85a\x0E\x9FV[\x92P`@\x85`_\x86\x01\x12a\x0F\x17W`\0\x80\xFD[a\x0F\x1Fa\x07\xF3V[\x80`\xC0\x87\x01\x88\x81\x11\x15a\x0F1W`\0\x80\xFD[`@\x88\x01[\x81\x81\x10\x15a\x0FWWa\x0FH\x8A\x82a\x0E\x9FV[\x84R` \x90\x93\x01\x92\x84\x01a\x0F6V[P\x81\x95Pa\x0Fe\x89\x82a\x0E\x9FV[\x94PPPPP\x92P\x92P\x92V[\x80`\0[`\x02\x81\x10\x15a\x0F\x95W\x81Q\x84R` \x93\x84\x01\x93\x90\x91\x01\x90`\x01\x01a\x0FvV[PPPPV[\x80`\0[`\x02\x81\x10\x15a\x0F\x95Wa\x0F\xB3\x84\x83Qa\x0FrV[`@\x93\x90\x93\x01\x92` \x91\x90\x91\x01\x90`\x01\x01a\x0F\x9FV[\x80`\0[`\x01\x81\x10\x15a\x0F\x95W\x81Q\x84R` \x93\x84\x01\x93\x90\x91\x01\x90`\x01\x01a\x0F\xCDV[a\x01 \x81\x01a\x0F\xFB\x82\x87a\x0FrV[a\x10\x08`@\x83\x01\x86a\x0F\x9BV[a\x10\x15`\xC0\x83\x01\x85a\x0FrV[a\x0C\x98a\x01\0\x83\x01\x84a\x0F\xC9V[`\0` \x82\x84\x03\x12\x15a\x105W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x02oW`\0\x80\xFD[` \x81\x01a\x05W\x82\x84a\x0F\xC9V[`\0` \x80\x83\x85\x03\x12\x15a\x10fW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x10~W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x10\x92W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x10\xA4Wa\x10\xA4a\x07\xB4V[\x80`\x05\x1B\x91Pa\x10\xB5\x84\x83\x01a\x08\x16V[\x81\x81R\x91\x83\x01\x84\x01\x91\x84\x81\x01\x90\x88\x84\x11\x15a\x10\xCFW`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a\x05\x0EW\x845\x82R\x93\x85\x01\x93\x90\x85\x01\x90a\x10\xD4V[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12a\x11\x04W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11\x1FW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x0B.W`\0\x80\xFD[` \x81R\x81` \x82\x01R\x81\x83`@\x83\x017`\0\x81\x83\x01`@\x90\x81\x01\x91\x90\x91R`\x1F\x90\x92\x01`\x1F\x19\x16\x01\x01\x91\x90PV[`\x03\x81\x10a\x11\x81WcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[`\x80\x81R\x84Q`\x80\x82\x01R` \x85\x01Q`\xA0\x82\x01R`@\x85\x01Q`\xC0\x82\x01R``\x85\x01Q`\xE0\x82\x01R`\x80\x85\x01Qa\x01\0\x82\x01R`\x01\x80`\xA0\x1B\x03`\xA0\x86\x01Q\x16a\x01 \x82\x01R`\0`\xC0\x86\x01Q`\xE0a\x01@\x84\x01Ra\x11\xE9a\x01`\x84\x01\x82a\t\xB4V[\x90Pa\x11\xF8` \x84\x01\x87a\x11cV[\x82\x81\x03`@\x84\x01Ra\x12\n\x81\x86a\t\xB4V[\x90P\x82\x81\x03``\x84\x01Ra\x12\x1E\x81\x85a\t\xB4V[\x97\x96PPPPPPPV[a\x01\0\x81\x01a\x128\x82\x86a\x0FrV[a\x12E`@\x83\x01\x85a\x0F\x9BV[a\x026`\xC0\x83\x01\x84a\x0FrV\xFE\xA2dipfsX\"\x12 \xB7|&\x8A0+\xC5HC\xE7G\x9C\xC0\x1A5\x9C\x91H\xE1V\xCC\xA8n\xEB\xF2H1\xD0\n\xDC\xFF\x94dsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static XOR2_VERIFIER_WRAPPER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xCEW`\x005`\xE0\x1C\x80c\x8Ev\n\xFE\x11a\0\x8CW\x80c\xA7l\x05Q\x11a\0fW\x80c\xA7l\x05Q\x14a\x01\xA8W\x80c\xD2#^\xAC\x14a\x01\xB0W\x80c\xE7\xF5\xB8\x1D\x14a\x01\xC3W\x80c\xEC#\xA9\xED\x14a\x01\xEAW`\0\x80\xFD[\x80c\x8Ev\n\xFE\x14a\x01oW\x80c\x9B\xBC\xADx\x14a\x01\x82W\x80c\xA6\xDF\xBC\x7F\x14a\x01\x95W`\0\x80\xFD[\x80bkO\xB0\x14a\0\xD3W\x80c\x02\xF7}\x19\x14a\0\xFCW\x80c\x05m\xE7\x04\x14a\x01\x1FW\x80c\x10\xA5By\x14a\x014W\x80c}\x8A\xD4+\x14a\x01V[`@Q\x90\x15\x15\x81R` \x01a\0\xF3V[a\x012a\x01-6`\x04a\n\xB3V[a\x02vV[\0[a\x01\x0Fa\x02\xE4V[a\0\xE6a\x03~V[`\0Ta\x01W\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xF3V[a\x01\x0Fa\x01}6`\x04a\n\x1BV[a\x04\x0CV[a\0\xE6a\x01\x906`\x04a\n\xD0V[a\x05\x1AV[a\x01\x0Fa\x01\xA36`\x04a\x0B5V[a\x05CV[a\0\xE6a\x05]V[a\x012a\x01\xBE6`\x04a\x0BwV[a\x05jV[a\x01W\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\0\xE6a\x01\xF86`\x04a\x0C,V[a\x06\x9CV[``a\x02\x08\x85a\x05\x1AV[a\x02\x13\x85\x85\x85a\x06\x9CV[`@Q` \x01a\x02$\x92\x91\x90a\x0CsV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P[\x94\x93PPPPV[`\0\x80`\x01\x83`@Q` \x01a\x02U\x92\x91\x90a\x0C\xDBV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x02o\x81a\x04\x0CV[\x93\x92PPPV[`\0T`\x01`\x01`\xA0\x1B\x03\x16\x15a\x02\xC2W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x0B`$\x82\x01Rj\x10[\x1C\x99XY\x1EH\x14\xD9]`\xAA\x1B`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\0a\x03y`\x02\x80Ta\x02\xF6\x90a\x0C\xA1V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\"\x90a\x0C\xA1V[\x80\x15a\x03oW\x80`\x1F\x10a\x03DWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03oV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03RW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPa\x02>V[\x90P\x90V[`\x01\x80Ta\x03\x8B\x90a\x0C\xA1V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\xB7\x90a\x0C\xA1V[\x80\x15a\x04\x04W\x80`\x1F\x10a\x03\xD9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x04\x04V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\xE7W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\0a\x04\x16a\x07KV[a\x04\x1Ea\x07iV[a\x04&a\x07KV[a\x04.a\x07\x96V[`\0\x80\x87\x80` \x01\x90Q\x81\x01\x90a\x04E\x91\x90a\r\xDAV[\x91P\x91P\x81\x80` \x01\x90Q\x81\x01\x90a\x04]\x91\x90a\x0E>V[\x92P\x80\x80` \x01\x90Q\x81\x01\x90a\x04s\x91\x90a\x0E\xE4V[`@QcCu;M`\xE0\x1B\x81R\x92\x98P\x90\x96P\x94P`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cCu;M\x90a\x04\xCD\x90\x89\x90\x89\x90\x89\x90\x89\x90`\x04\x01a\x0F\xECV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04\xEAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05\x0E\x91\x90a\x10#V[\x98\x97PPPPPPPPV[``\x81`@Q` \x01a\x05-\x91\x90a\x10EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x91\x90PV[`\0a\x05Q\x82\x84\x01\x84a\x10SV[P`\x01\x90P[\x92\x91PPV[`\x02\x80Ta\x03\x8B\x90a\x0C\xA1V[`\0`@Q\x80`\xE0\x01`@R\x80\x88`\0\x015\x81R` \x01\x88` \x015\x81R` \x01\x88`@\x015\x81R` \x01\x88``\x015\x81R` \x01\x88`\x80\x015\x81R` \x01\x88`\xA0\x01` \x81\x01\x90a\x05\xBC\x91\x90a\n\xB3V[`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01a\x05\xE2a\x01\x90a\x05\xDD`\xC0\x8C\x01\x8Ca\x10\xEDV[a\x06\xCBV[\x90R`\0T`@Q\x91\x92P`\x01`\x01`\xA0\x1B\x03\x16\x90cpS\x8F\xCA\x90\x83\x90\x89\x90a\x06\x11\x90\x8A\x90\x8A\x90` \x01a\x114V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x87\x87`@Q` \x01a\x063\x92\x91\x90a\x114V[`@Q` \x81\x83\x03\x03\x81R\x90`@R`@Q\x85c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x06a\x94\x93\x92\x91\x90a\x11\x85V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06{W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06\x8FW=`\0\x80>=`\0\xFD[PPPPPPPPPPPV[``\x83\x83\x83`@Q` \x01a\x06\xB3\x93\x92\x91\x90a\x12)V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x93\x92PPPV[a\x06\xD3a\x07\x96V[a\x06\xDD\x83\x83a\x05CV[a\x07?W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`-`$\x82\x01R\x7FCircom Verifier Wrapper: Invalid`D\x82\x01Rl\x08\x1A[\x9C\x1D]\x08\x19\x9B\xDC\x9BX]`\x9A\x1B`d\x82\x01R`\x84\x01a\x02\xB9V[a\x02o\x82\x84\x01\x84a\n\xD0V[`@Q\x80`@\x01`@R\x80`\x02\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`@\x01`@R\x80`\x02\x90[a\x07\x80a\x07KV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x07xW\x90PP\x90V[`@Q\x80` \x01`@R\x80`\x01\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q` \x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\xEDWa\x07\xEDa\x07\xB4V[`@R\x90V[`@\x80Q\x90\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x07\xEDWa\x07\xEDa\x07\xB4V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x08?Wa\x08?a\x07\xB4V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x08XW`\0\x80\xFD[a\x08`a\x07\xCAV[\x80` \x80\x85\x01\x86\x81\x11\x15a\x08sW`\0\x80\xFD[\x85[\x81\x81\x10\x15a\x08\x8CW\x805\x85R\x93\x82\x01\x93\x82\x01a\x08uV[P\x91\x96\x95PPPPPPV[`\0\x82`\x1F\x83\x01\x12a\x08\xA9W`\0\x80\xFD[a\x08\xB1a\x07\xF3V[\x80`@\x84\x01\x85\x81\x11\x15a\x08\xC3W`\0\x80\xFD[\x84[\x81\x81\x10\x15a\x08\xDDW\x805\x84R` \x93\x84\x01\x93\x01a\x08\xC5V[P\x90\x95\x94PPPPPV[`\0\x82`\x1F\x83\x01\x12a\x08\xF9W`\0\x80\xFD[a\t\x01a\x07\xF3V[\x80`\x80\x84\x01\x85\x81\x11\x15a\t\x13W`\0\x80\xFD[\x84[\x81\x81\x10\x15a\x08\xDDWa\t'\x87\x82a\x08\x98V[\x84R` \x90\x93\x01\x92`@\x01a\t\x15V[`\0\x80`\0\x80a\x01 \x85\x87\x03\x12\x15a\tNW`\0\x80\xFD[a\tX\x86\x86a\x08GV[\x93Pa\tg\x86` \x87\x01a\x08\x98V[\x92Pa\tv\x86``\x87\x01a\x08\xE8V[\x91Pa\t\x85\x86`\xE0\x87\x01a\x08\x98V[\x90P\x92\x95\x91\x94P\x92PV[`\0[\x83\x81\x10\x15a\t\xABW\x81\x81\x01Q\x83\x82\x01R` \x01a\t\x93V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\t\xCC\x81` \x86\x01` \x86\x01a\t\x90V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x02o` \x83\x01\x84a\t\xB4V[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\n\rWa\n\ra\x07\xB4V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0` \x82\x84\x03\x12\x15a\n-W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\nDW`\0\x80\xFD[\x82\x01`\x1F\x81\x01\x84\x13a\nUW`\0\x80\xFD[\x805a\nha\nc\x82a\t\xF3V[a\x08\x16V[\x81\x81R\x85` \x83\x85\x01\x01\x11\x15a\n}W`\0\x80\xFD[\x81` \x84\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x94\x93PPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\n\xB0W`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\n\xC5W`\0\x80\xFD[\x815a\x02o\x81a\n\x9BV[`\0` \x82\x84\x03\x12\x15a\n\xE2W`\0\x80\xFD[a\x02o\x83\x83a\x08GV[`\0\x80\x83`\x1F\x84\x01\x12a\n\xFEW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B\x16W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x0B.W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80` \x83\x85\x03\x12\x15a\x0BHW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B_W`\0\x80\xFD[a\x0Bk\x85\x82\x86\x01a\n\xECV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a\x0B\x90W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0B\xA8W`\0\x80\xFD[\x90\x88\x01\x90`\xE0\x82\x8B\x03\x12\x15a\x0B\xBCW`\0\x80\xFD[\x90\x96P` \x88\x015\x90`\x03\x82\x10a\x0B\xD2W`\0\x80\xFD[\x90\x95P`@\x88\x015\x90\x80\x82\x11\x15a\x0B\xE8W`\0\x80\xFD[a\x0B\xF4\x8A\x83\x8B\x01a\n\xECV[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15a\x0C\rW`\0\x80\xFD[Pa\x0C\x1A\x89\x82\x8A\x01a\n\xECV[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0\x80`\0a\x01\0\x84\x86\x03\x12\x15a\x0CBW`\0\x80\xFD[a\x0CL\x85\x85a\x08\x98V[\x92Pa\x0C[\x85`@\x86\x01a\x08\xE8V[\x91Pa\x0Cj\x85`\xC0\x86\x01a\x08\x98V[\x90P\x92P\x92P\x92V[`@\x81R`\0a\x0C\x86`@\x83\x01\x85a\t\xB4V[\x82\x81\x03` \x84\x01Ra\x0C\x98\x81\x85a\t\xB4V[\x95\x94PPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0C\xB5W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0C\xD5WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`@\x81R`\0\x80\x84T\x81`\x01\x82`\x01\x1C\x91P`\x01\x83\x16\x80a\x0C\xFDW`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\r\x1CWcNH{q`\xE0\x1B\x86R`\"`\x04R`$\x86\xFD[`@\x88\x01\x84\x90R``\x88\x01\x82\x80\x15a\r;W`\x01\x81\x14a\rQWa\r|V[`\xFF\x19\x87\x16\x82R\x85\x15\x15`\x05\x1B\x82\x01\x97Pa\r|V[`\0\x8C\x81R` \x90 `\0[\x87\x81\x10\x15a\rvW\x81T\x84\x82\x01R\x90\x86\x01\x90\x84\x01a\r]V[\x83\x01\x98PP[PPPPPPP\x82\x81\x03` \x84\x01Ra\x0C\x98\x81\x85a\t\xB4V[`\0\x82`\x1F\x83\x01\x12a\r\xA6W`\0\x80\xFD[\x81Qa\r\xB4a\nc\x82a\t\xF3V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\r\xC9W`\0\x80\xFD[a\x026\x82` \x83\x01` \x87\x01a\t\x90V[`\0\x80`@\x83\x85\x03\x12\x15a\r\xEDW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0E\x05W`\0\x80\xFD[a\x0E\x11\x86\x83\x87\x01a\r\x95V[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a\x0E'W`\0\x80\xFD[Pa\x0E4\x85\x82\x86\x01a\r\x95V[\x91PP\x92P\x92\x90PV[`\0` \x80\x83\x85\x03\x12\x15a\x0EQW`\0\x80\xFD[\x83`\x1F\x84\x01\x12a\x0E`W`\0\x80\xFD[a\x0Eha\x07\xCAV[\x80` \x85\x01\x86\x81\x11\x15a\x0EzW`\0\x80\xFD[\x85[\x81\x81\x10\x15a\x0E\x93W\x80Q\x84R\x92\x84\x01\x92\x84\x01a\x0E|V[P\x90\x96\x95PPPPPPV[`\0\x82`\x1F\x83\x01\x12a\x0E\xB0W`\0\x80\xFD[a\x0E\xB8a\x07\xF3V[\x80`@\x84\x01\x85\x81\x11\x15a\x0E\xCAW`\0\x80\xFD[\x84[\x81\x81\x10\x15a\x08\xDDW\x80Q\x84R` \x93\x84\x01\x93\x01a\x0E\xCCV[`\0\x80`\0a\x01\0\x84\x86\x03\x12\x15a\x0E\xFAW`\0\x80\xFD[a\x0F\x04\x85\x85a\x0E\x9FV[\x92P`@\x85`_\x86\x01\x12a\x0F\x17W`\0\x80\xFD[a\x0F\x1Fa\x07\xF3V[\x80`\xC0\x87\x01\x88\x81\x11\x15a\x0F1W`\0\x80\xFD[`@\x88\x01[\x81\x81\x10\x15a\x0FWWa\x0FH\x8A\x82a\x0E\x9FV[\x84R` \x90\x93\x01\x92\x84\x01a\x0F6V[P\x81\x95Pa\x0Fe\x89\x82a\x0E\x9FV[\x94PPPPP\x92P\x92P\x92V[\x80`\0[`\x02\x81\x10\x15a\x0F\x95W\x81Q\x84R` \x93\x84\x01\x93\x90\x91\x01\x90`\x01\x01a\x0FvV[PPPPV[\x80`\0[`\x02\x81\x10\x15a\x0F\x95Wa\x0F\xB3\x84\x83Qa\x0FrV[`@\x93\x90\x93\x01\x92` \x91\x90\x91\x01\x90`\x01\x01a\x0F\x9FV[\x80`\0[`\x01\x81\x10\x15a\x0F\x95W\x81Q\x84R` \x93\x84\x01\x93\x90\x91\x01\x90`\x01\x01a\x0F\xCDV[a\x01 \x81\x01a\x0F\xFB\x82\x87a\x0FrV[a\x10\x08`@\x83\x01\x86a\x0F\x9BV[a\x10\x15`\xC0\x83\x01\x85a\x0FrV[a\x0C\x98a\x01\0\x83\x01\x84a\x0F\xC9V[`\0` \x82\x84\x03\x12\x15a\x105W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x02oW`\0\x80\xFD[` \x81\x01a\x05W\x82\x84a\x0F\xC9V[`\0` \x80\x83\x85\x03\x12\x15a\x10fW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x10~W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x10\x92W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x10\xA4Wa\x10\xA4a\x07\xB4V[\x80`\x05\x1B\x91Pa\x10\xB5\x84\x83\x01a\x08\x16V[\x81\x81R\x91\x83\x01\x84\x01\x91\x84\x81\x01\x90\x88\x84\x11\x15a\x10\xCFW`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a\x05\x0EW\x845\x82R\x93\x85\x01\x93\x90\x85\x01\x90a\x10\xD4V[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12a\x11\x04W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11\x1FW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x0B.W`\0\x80\xFD[` \x81R\x81` \x82\x01R\x81\x83`@\x83\x017`\0\x81\x83\x01`@\x90\x81\x01\x91\x90\x91R`\x1F\x90\x92\x01`\x1F\x19\x16\x01\x01\x91\x90PV[`\x03\x81\x10a\x11\x81WcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x90RV[`\x80\x81R\x84Q`\x80\x82\x01R` \x85\x01Q`\xA0\x82\x01R`@\x85\x01Q`\xC0\x82\x01R``\x85\x01Q`\xE0\x82\x01R`\x80\x85\x01Qa\x01\0\x82\x01R`\x01\x80`\xA0\x1B\x03`\xA0\x86\x01Q\x16a\x01 \x82\x01R`\0`\xC0\x86\x01Q`\xE0a\x01@\x84\x01Ra\x11\xE9a\x01`\x84\x01\x82a\t\xB4V[\x90Pa\x11\xF8` \x84\x01\x87a\x11cV[\x82\x81\x03`@\x84\x01Ra\x12\n\x81\x86a\t\xB4V[\x90P\x82\x81\x03``\x84\x01Ra\x12\x1E\x81\x85a\t\xB4V[\x97\x96PPPPPPPV[a\x01\0\x81\x01a\x128\x82\x86a\x0FrV[a\x12E`@\x83\x01\x85a\x0F\x9BV[a\x026`\xC0\x83\x01\x84a\x0FrV\xFE\xA2dipfsX\"\x12 \xB7|&\x8A0+\xC5HC\xE7G\x9C\xC0\x1A5\x9C\x91H\xE1V\xCC\xA8n\xEB\xF2H1\xD0\n\xDC\xFF\x94dsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static XOR2_VERIFIER_WRAPPER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct xor2_verifier_wrapper(::ethers::contract::Contract); - impl ::core::clone::Clone for xor2_verifier_wrapper { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for xor2_verifier_wrapper { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for xor2_verifier_wrapper { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for xor2_verifier_wrapper { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(xor2_verifier_wrapper)) - .field(&self.address()) - .finish() - } - } - impl xor2_verifier_wrapper { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - XOR2_VERIFIER_WRAPPER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - XOR2_VERIFIER_WRAPPER_ABI.clone(), - XOR2_VERIFIER_WRAPPER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `checkSampleInputsAndProof` (0x10a54279) function - pub fn check_sample_inputs_and_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([16, 165, 66, 121], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `createRequest` (0xd2235eac) function - pub fn create_request( - &self, - ask: Ask, - secret_type: u8, - secret_inputs: ::ethers::core::types::Bytes, - acl: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([210, 35, 94, 172], (ask, secret_type, secret_inputs, acl)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeInputAndProofForVerification` (0x006b4fb0) function - pub fn encode_input_and_proof_for_verification( - &self, - inputs: [::ethers::core::types::U256; 1], - a: [::ethers::core::types::U256; 2], - b: [[::ethers::core::types::U256; 2]; 2], - c: [::ethers::core::types::U256; 2], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([0, 107, 79, 176], (inputs, a, b, c)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeInputs` (0x9bbcad78) function - pub fn encode_inputs( - &self, - inputs: [::ethers::core::types::U256; 1], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([155, 188, 173, 120], inputs) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `encodeProof` (0xec23a9ed) function - pub fn encode_proof( - &self, - a: [::ethers::core::types::U256; 2], - b: [[::ethers::core::types::U256; 2]; 2], - c: [::ethers::core::types::U256; 2], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([236, 35, 169, 237], (a, b, c)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `iverifier` (0xe7f5b81d) function - pub fn iverifier( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([231, 245, 184, 29], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `proofMarketplace` (0x81c45c70) function - pub fn proof_marketplace( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([129, 196, 92, 112], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleInput` (0x7d8ad42b) function - pub fn sample_input( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([125, 138, 212, 43], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleProof` (0xa76c0551) function - pub fn sample_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([167, 108, 5, 81], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `setProofMarketplaceContract` (0x056de704) function - pub fn set_proof_marketplace_contract( - &self, - proof_marketplace: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([5, 109, 231, 4], proof_marketplace) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0x8e760afe) function - pub fn verify( - &self, - encoded_data: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([142, 118, 10, 254], encoded_data) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyAgainstSampleInputs` (0x02f77d19) function - pub fn verify_against_sample_inputs( - &self, - encoded_proof: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([2, 247, 125, 25], encoded_proof) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyInputs` (0xa6dfbc7f) function - pub fn verify_inputs( - &self, - inputs: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([166, 223, 188, 127], inputs) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for xor2_verifier_wrapper - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "checkSampleInputsAndProof", - abi = "checkSampleInputsAndProof()" - )] - pub struct CheckSampleInputsAndProofCall; - ///Container type for all input parameters for the `createRequest` function with signature `createRequest((uint256,uint256,uint256,uint256,uint256,address,bytes),uint8,bytes,bytes)` and selector `0xd2235eac` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "createRequest", - abi = "createRequest((uint256,uint256,uint256,uint256,uint256,address,bytes),uint8,bytes,bytes)" - )] - pub struct CreateRequestCall { - pub ask: Ask, - pub secret_type: u8, - pub secret_inputs: ::ethers::core::types::Bytes, - pub acl: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `encodeInputAndProofForVerification` function with signature `encodeInputAndProofForVerification(uint256[1],uint256[2],uint256[2][2],uint256[2])` and selector `0x006b4fb0` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "encodeInputAndProofForVerification", - abi = "encodeInputAndProofForVerification(uint256[1],uint256[2],uint256[2][2],uint256[2])" - )] - pub struct EncodeInputAndProofForVerificationCall { - pub inputs: [::ethers::core::types::U256; 1], - pub a: [::ethers::core::types::U256; 2], - pub b: [[::ethers::core::types::U256; 2]; 2], - pub c: [::ethers::core::types::U256; 2], - } - ///Container type for all input parameters for the `encodeInputs` function with signature `encodeInputs(uint256[1])` and selector `0x9bbcad78` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "encodeInputs", abi = "encodeInputs(uint256[1])")] - pub struct EncodeInputsCall { - pub inputs: [::ethers::core::types::U256; 1], - } - ///Container type for all input parameters for the `encodeProof` function with signature `encodeProof(uint256[2],uint256[2][2],uint256[2])` and selector `0xec23a9ed` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "encodeProof", - abi = "encodeProof(uint256[2],uint256[2][2],uint256[2])" - )] - pub struct EncodeProofCall { - pub a: [::ethers::core::types::U256; 2], - pub b: [[::ethers::core::types::U256; 2]; 2], - pub c: [::ethers::core::types::U256; 2], - } - ///Container type for all input parameters for the `iverifier` function with signature `iverifier()` and selector `0xe7f5b81d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "iverifier", abi = "iverifier()")] - pub struct IverifierCall; - ///Container type for all input parameters for the `proofMarketplace` function with signature `proofMarketplace()` and selector `0x81c45c70` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "proofMarketplace", abi = "proofMarketplace()")] - pub struct ProofMarketplaceCall; - ///Container type for all input parameters for the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleInput", abi = "sampleInput()")] - pub struct SampleInputCall; - ///Container type for all input parameters for the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleProof", abi = "sampleProof()")] - pub struct SampleProofCall; - ///Container type for all input parameters for the `setProofMarketplaceContract` function with signature `setProofMarketplaceContract(address)` and selector `0x056de704` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "setProofMarketplaceContract", - abi = "setProofMarketplaceContract(address)" - )] - pub struct SetProofMarketplaceContractCall { - pub proof_marketplace: ::ethers::core::types::Address, - } - ///Container type for all input parameters for the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes)")] - pub struct VerifyCall { - pub encoded_data: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyAgainstSampleInputs", - abi = "verifyAgainstSampleInputs(bytes)" - )] - pub struct VerifyAgainstSampleInputsCall { - pub encoded_proof: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verifyInputs", abi = "verifyInputs(bytes)")] - pub struct VerifyInputsCall { - pub inputs: ::ethers::core::types::Bytes, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum xor2_verifier_wrapperCalls { - CheckSampleInputsAndProof(CheckSampleInputsAndProofCall), - CreateRequest(CreateRequestCall), - EncodeInputAndProofForVerification(EncodeInputAndProofForVerificationCall), - EncodeInputs(EncodeInputsCall), - EncodeProof(EncodeProofCall), - Iverifier(IverifierCall), - ProofMarketplace(ProofMarketplaceCall), - SampleInput(SampleInputCall), - SampleProof(SampleProofCall), - SetProofMarketplaceContract(SetProofMarketplaceContractCall), - Verify(VerifyCall), - VerifyAgainstSampleInputs(VerifyAgainstSampleInputsCall), - VerifyInputs(VerifyInputsCall), - } - impl ::ethers::core::abi::AbiDecode for xor2_verifier_wrapperCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::CheckSampleInputsAndProof(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::CreateRequest(decoded)); - } - if let Ok(decoded) = - ::decode( - data, - ) - { - return Ok(Self::EncodeInputAndProofForVerification(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::EncodeInputs(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::EncodeProof(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Iverifier(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ProofMarketplace(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleInput(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleProof(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::SetProofMarketplaceContract(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyAgainstSampleInputs(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::VerifyInputs(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for xor2_verifier_wrapperCalls { - fn encode(self) -> Vec { - match self { - Self::CheckSampleInputsAndProof(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::CreateRequest(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::EncodeInputAndProofForVerification(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::EncodeInputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::EncodeProof(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Iverifier(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ProofMarketplace(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SampleInput(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SampleProof(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SetProofMarketplaceContract(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyAgainstSampleInputs(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::VerifyInputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for xor2_verifier_wrapperCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::CheckSampleInputsAndProof(element) => ::core::fmt::Display::fmt(element, f), - Self::CreateRequest(element) => ::core::fmt::Display::fmt(element, f), - Self::EncodeInputAndProofForVerification(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::EncodeInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::EncodeProof(element) => ::core::fmt::Display::fmt(element, f), - Self::Iverifier(element) => ::core::fmt::Display::fmt(element, f), - Self::ProofMarketplace(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleInput(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleProof(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProofMarketplaceContract(element) => ::core::fmt::Display::fmt(element, f), - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyAgainstSampleInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyInputs(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: CheckSampleInputsAndProofCall) -> Self { - Self::CheckSampleInputsAndProof(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: CreateRequestCall) -> Self { - Self::CreateRequest(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: EncodeInputAndProofForVerificationCall) -> Self { - Self::EncodeInputAndProofForVerification(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: EncodeInputsCall) -> Self { - Self::EncodeInputs(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: EncodeProofCall) -> Self { - Self::EncodeProof(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: IverifierCall) -> Self { - Self::Iverifier(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: ProofMarketplaceCall) -> Self { - Self::ProofMarketplace(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: SampleInputCall) -> Self { - Self::SampleInput(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: SampleProofCall) -> Self { - Self::SampleProof(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: SetProofMarketplaceContractCall) -> Self { - Self::SetProofMarketplaceContract(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: VerifyAgainstSampleInputsCall) -> Self { - Self::VerifyAgainstSampleInputs(value) - } - } - impl ::core::convert::From for xor2_verifier_wrapperCalls { - fn from(value: VerifyInputsCall) -> Self { - Self::VerifyInputs(value) - } - } - ///Container type for all return fields from the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct CheckSampleInputsAndProofReturn(pub bool); - ///Container type for all return fields from the `encodeInputAndProofForVerification` function with signature `encodeInputAndProofForVerification(uint256[1],uint256[2],uint256[2][2],uint256[2])` and selector `0x006b4fb0` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeInputAndProofForVerificationReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `encodeInputs` function with signature `encodeInputs(uint256[1])` and selector `0x9bbcad78` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeInputsReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `encodeProof` function with signature `encodeProof(uint256[2],uint256[2][2],uint256[2])` and selector `0xec23a9ed` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct EncodeProofReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `iverifier` function with signature `iverifier()` and selector `0xe7f5b81d` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct IverifierReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `proofMarketplace` function with signature `proofMarketplace()` and selector `0x81c45c70` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ProofMarketplaceReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleInputReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleProofReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); - ///Container type for all return fields from the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyAgainstSampleInputsReturn(pub bool); - ///Container type for all return fields from the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyInputsReturn(pub bool); -} diff --git a/bindings/src/xor_verifier.rs b/bindings/src/xor_verifier.rs deleted file mode 100644 index db2aa2b..0000000 --- a/bindings/src/xor_verifier.rs +++ /dev/null @@ -1,239 +0,0 @@ -pub use xor_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod xor_verifier { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("verifyProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyProof"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("a"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("b"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 2usize, - ), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2][2]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("c"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 2usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[2]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("input"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 1usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[1]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("r"), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static XORVERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x0E\xA2\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80cCu;M\x14a\x000W[`\0\x80\xFD[a\x01,`\x04\x806\x03a\x01 \x81\x10\x15a\0GW`\0\x80\xFD[`@\x80Q\x80\x82\x01\x82R\x91\x83\x01\x92\x91\x81\x83\x01\x91\x83\x90`\x02\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x82\x90RP`@\x80Q\x80\x82\x01\x90\x91R\x93\x96\x95\x94`\x80\x81\x01\x94\x93P\x91P`\x02\x90\x83[\x82\x82\x10\x15a\0\xC8W`@\x80Q\x80\x82\x01\x82R\x90\x80\x84\x02\x86\x01\x90`\x02\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x81R`\x01\x90\x91\x01\x90` \x01a\0\x8AV[PP`@\x80Q\x80\x82\x01\x82R\x93\x96\x95\x94\x81\x81\x01\x94\x93P\x91P`\x02\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RPP`@\x80Q` \x81\x81\x01\x90\x92R\x92\x95\x94\x93\x81\x81\x01\x93\x92P\x90`\x01\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x91\x94Pa\x01@\x93PPPPV[`@\x80Q\x91\x15\x15\x82RQ\x90\x81\x90\x03` \x01\x90\xF3[`\0a\x01Ja\rAV[`@\x80Q\x80\x82\x01\x82R\x87Q\x81R` \x80\x89\x01Q\x81\x83\x01R\x90\x83R\x81Q`\x80\x81\x01\x83R\x87QQ\x81\x84\x01\x90\x81R\x88Q\x83\x01Q``\x80\x84\x01\x91\x90\x91R\x90\x82R\x83Q\x80\x85\x01\x85R\x89\x84\x01\x80QQ\x82RQ\x84\x01Q\x81\x85\x01R\x82\x84\x01R\x84\x83\x01\x91\x90\x91R\x82Q\x80\x84\x01\x84R\x87Q\x81R\x87\x83\x01Q\x81\x84\x01R\x84\x84\x01R\x82Q`\x01\x80\x82R\x81\x85\x01\x90\x94R\x90\x92\x90\x91\x82\x81\x01\x90\x806\x837\x01\x90PP\x90P`\0[`\x01\x81\x10\x15a\x02\x1AW\x84\x81`\x01\x81\x10a\x01\xF6W\xFE[` \x02\x01Q\x82\x82\x81Q\x81\x10a\x02\x07W\xFE[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x01\xE1V[Pa\x02%\x81\x83a\x02CV[a\x024W`\x01\x92PPPa\x02;V[`\0\x92PPP[\x94\x93PPPPV[`\0\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01a\x02na\rsV[a\x02va\x04\x1FV[\x90P\x80`\x80\x01QQ\x85Q`\x01\x01\x14a\x02\xCAW`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1D\x99\\\x9AY\x9AY\\\x8BX\x98Y\x0BZ[\x9C\x1D]`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x02\xD2a\r\xBAV[`@Q\x80`@\x01`@R\x80`\0\x81R` \x01`\0\x81RP\x90P`\0[\x86Q\x81\x10\x15a\x03\xA8W\x83\x87\x82\x81Q\x81\x10a\x03\x04W\xFE[` \x02` \x01\x01Q\x10a\x03^W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7Fverifier-gte-snark-scalar-field\0`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x03\x9E\x82a\x03\x99\x85`\x80\x01Q\x84`\x01\x01\x81Q\x81\x10a\x03xW\xFE[` \x02` \x01\x01Q\x8A\x85\x81Q\x81\x10a\x03\x8CW\xFE[` \x02` \x01\x01Qa\x07\xA0V[a\x085V[\x91P`\x01\x01a\x02\xEEV[Pa\x03\xCB\x81\x83`\x80\x01Q`\0\x81Q\x81\x10a\x03\xBEW\xFE[` \x02` \x01\x01Qa\x085V[\x90Pa\x04\x01a\x03\xDD\x86`\0\x01Qa\x08\xC6V[\x86` \x01Q\x84`\0\x01Q\x85` \x01Q\x85\x87`@\x01Q\x8B`@\x01Q\x89``\x01Qa\tRV[a\x04\x11W`\x01\x93PPPPa\x04\x19V[`\0\x93PPPP[\x92\x91PPV[a\x04'a\rsV[`@\x80Q\x80\x82\x01\x82R\x7F\x1D\x1FC\x1C\xB7WP\xD3?O\xB9\x97\xE0\x10\x1FW\x0B\xAD\x12\xEB\x8E\x85\xCCfv+k\x08`)\xE7Z\x81R\x7F\x1C\0\r\x12\xC6\xD7\xA9\x81\xD9\xE5,o\xEB\xF5\x85\x1C\xAEjJ\xC5(\x9F\x02\xF0t\xB1F}\x08\x9B\x12v` \x80\x83\x01\x91\x90\x91R\x90\x83R\x81Q`\x80\x80\x82\x01\x84R\x7F+ \x7F\xA4{\xD0\xEB.?n\xB1~-\xBFK\n\xD6v\x06\xDA\xB6\x99\x18\x87\x95\x1D\x0Ej{\xCAd\xA8\x82\x85\x01\x90\x81R\x7F\x1E>\x89wVD\x15\"3B\xD0\xB7\xB0g\xC1\xCD\xE9S9\xDF\xF3\x07\xFB`bFgBx\x14D\xEB``\x80\x85\x01\x91\x90\x91R\x90\x83R\x84Q\x80\x86\x01\x86R\x7F\x16_A\x8F\x08\xE4\xEF5j\xCB\x14!%\xE3#\x1E{H\xE6\xC2!F\xA8\x1C3\xE7\xBC7\x87v\x83\\\x81R\x7F%~\0\x07\xDA|\x8A\xB8\xAE\xB0}\xF4\x02\x04\xD3\xC0\xE4,\xAB\x8C\x802F\xF2UW\xE4\xBC\xD9\x8DV\x96\x81\x86\x01R\x83\x85\x01R\x85\x84\x01\x92\x90\x92R\x83Q\x80\x82\x01\x85R\x7F\x19\x8E\x93\x93\x92\rH:r`\xBF\xB71\xFB]%\xF1\xAAI35\xA9\xE7\x12\x97\xE4\x85\xB7\xAE\xF3\x12\xC2\x81\x86\x01\x90\x81R\x7F\x18\0\xDE\xEF\x12\x1F\x1EvBj\0f^\\DygC\"\xD4\xF7^\xDA\xDDF\xDE\xBD\\\xD9\x92\xF6\xED\x82\x85\x01R\x81R\x84Q\x80\x86\x01\x86R\x7F\t\x06\x89\xD0X_\xF0u\xEC\x9E\x99\xADi\x0C3\x95\xBCK13p\xB3\x8E\xF3U\xAC\xDA\xDC\xD1\"\x97[\x81R\x7F\x12\xC8^\xA5\xDB\x8Cm\xEBJ\xABq\x80\x8D\xCB@\x8F\xE3\xD1\xE7i\x0CC\xD3{L\xE6\xCC\x01f\xFA}\xAA\x81\x86\x01R\x81\x85\x01R\x85\x85\x01R\x83Q\x90\x81\x01\x84R\x7F\x1E\x91#\xAF\x85\x93\xCB\xF1\xBB\xFFt\xDBS\xB6f\xDD\xCD\x99Y)\xFA\xBA\xF7>\x0F\xD3\x15\xD3\xF5ZL\x02\x81\x85\x01\x90\x81R\x7F\x03K/\x96g?\x16\xCBlT\xECc\xC4\x89\xCF(F\xE8pw\x96\xC0\x89\x1Eh!\x15\xC80\xC7\x0E\xCB\x82\x84\x01R\x81R\x83Q\x80\x85\x01\x85R\x7F+\x911\x8F\xD4G\xF5Y6\xBA\xF1\x89YT?\xAE\x8E\xB3%4\x81\xC3\x94\xD8V\xC4\x9C\xD2d\xACYX\x81R\x7F'\x15\x99\xA19.|v\x11`\xC7x\x91\x06\xCE\x10h\x05\x15_~\xC9l\x03\x82\x90i\x8F\x1C\xB7\x15\xC4\x81\x85\x01R\x81\x84\x01R\x81\x85\x01R\x82Q`\x02\x80\x82R\x91\x81\x01\x90\x93R\x90\x82\x01[a\x06\xA8a\r\xBAV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x06\xA0WPP`\x80\x82\x01\x90\x81R`@\x80Q\x80\x82\x01\x90\x91R\x7F%y\xC7\xCA\x03\xEF\xA64\x9CC\xAAV\xCA\x18l\xADu4\xA8p]\xB9\xC1\x8E\xC9\"\x02\xD8\x81e\xC0L\x81R\x7F\x04\xE8$\xD0\xF4\x0E\xD2p\xF7\x03\x82\x16}\x94C\xAC-(5%\xB9\x19\t:\xD5)\x8B#[L\x9E\x87` \x82\x01R\x90Q\x80Q`\0\x90a\x07!W\xFE[` \x02` \x01\x01\x81\x90RP`@Q\x80`@\x01`@R\x80\x7F\x12\x1F\xCC:4^\xFE\xE7>\x13\x12\xA9\x9D\xA0wq\xF5\xD8\xF6\xAD\x9AMz\x97}\xFBT\xEF9\xA9\xEAC\x81R` \x01\x7F\x1AW\n\xBDV\xB5r\x1F\x9B\xF9\x04BL\xFC\xD6^M\xC0\x03h\\\xA6\xCBWF\xDC\xC7\xB0\xF6\x87\x93]\x81RP\x81`\x80\x01Q`\x01\x81Q\x81\x10a\x07\x92W\xFE[` \x02` \x01\x01\x81\x90RP\x90V[a\x07\xA8a\r\xBAV[a\x07\xB0a\r\xD4V[\x83Q\x81R` \x80\x85\x01Q\x90\x82\x01R`@\x81\x01\x83\x90R`\0``\x83`\x80\x84`\x07a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xE3Wa\x07\xE5V[\xFE[P\x80a\x08-W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCB[][\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[PP\x92\x91PPV[a\x08=a\r\xBAV[a\x08Ea\r\xF2V[\x83Q\x81R` \x80\x85\x01Q\x81\x83\x01R\x83Q`@\x83\x01R\x83\x01Q``\x80\x83\x01\x91\x90\x91R`\0\x90\x83`\xC0\x84`\x06a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xE3WP\x80a\x08-W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCBXY\x19\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x08\xCEa\r\xBAV[\x81Q\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x90\x15\x80\x15a\t\x01WP` \x83\x01Q\x15[\x15a\t!WPP`@\x80Q\x80\x82\x01\x90\x91R`\0\x80\x82R` \x82\x01Ra\tMV[`@Q\x80`@\x01`@R\x80\x84`\0\x01Q\x81R` \x01\x82\x85` \x01Q\x81a\tCW\xFE[\x06\x83\x03\x81RP\x91PP[\x91\x90PV[`@\x80Q`\x04\x80\x82R`\xA0\x82\x01\x90\x92R`\0\x91``\x91\x90\x81` \x01[a\tva\r\xBAV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\tnWPP`@\x80Q`\x04\x80\x82R`\xA0\x82\x01\x90\x92R\x91\x92P``\x91\x90` \x82\x01[a\t\xACa\x0E\x10V[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\t\xA4W\x90PP\x90P\x8A\x82`\0\x81Q\x81\x10a\t\xCFW\xFE[` \x02` \x01\x01\x81\x90RP\x88\x82`\x01\x81Q\x81\x10a\t\xE8W\xFE[` \x02` \x01\x01\x81\x90RP\x86\x82`\x02\x81Q\x81\x10a\n\x01W\xFE[` \x02` \x01\x01\x81\x90RP\x84\x82`\x03\x81Q\x81\x10a\n\x1AW\xFE[` \x02` \x01\x01\x81\x90RP\x89\x81`\0\x81Q\x81\x10a\n3W\xFE[` \x02` \x01\x01\x81\x90RP\x87\x81`\x01\x81Q\x81\x10a\nLW\xFE[` \x02` \x01\x01\x81\x90RP\x85\x81`\x02\x81Q\x81\x10a\neW\xFE[` \x02` \x01\x01\x81\x90RP\x83\x81`\x03\x81Q\x81\x10a\n~W\xFE[` \x02` \x01\x01\x81\x90RPa\n\x93\x82\x82a\n\xA2V[\x9B\x9APPPPPPPPPPPV[`\0\x81Q\x83Q\x14a\n\xF3W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x16`$\x82\x01Ru\x1C\x18Z\\\x9A[\x99\xCB[\x19[\x99\xDD\x1A\x1C\xCBY\x98Z[\x19Y`R\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[\x82Q`\x06\x81\x02``\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x80\x15a\x0B\x12W`\0\x80\xFD[P`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0B\x02dsolcC\0\x06\x0C\x003"; - /// The bytecode of the contract. - pub static XORVERIFIER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80cCu;M\x14a\x000W[`\0\x80\xFD[a\x01,`\x04\x806\x03a\x01 \x81\x10\x15a\0GW`\0\x80\xFD[`@\x80Q\x80\x82\x01\x82R\x91\x83\x01\x92\x91\x81\x83\x01\x91\x83\x90`\x02\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x82\x90RP`@\x80Q\x80\x82\x01\x90\x91R\x93\x96\x95\x94`\x80\x81\x01\x94\x93P\x91P`\x02\x90\x83[\x82\x82\x10\x15a\0\xC8W`@\x80Q\x80\x82\x01\x82R\x90\x80\x84\x02\x86\x01\x90`\x02\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x81R`\x01\x90\x91\x01\x90` \x01a\0\x8AV[PP`@\x80Q\x80\x82\x01\x82R\x93\x96\x95\x94\x81\x81\x01\x94\x93P\x91P`\x02\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RPP`@\x80Q` \x81\x81\x01\x90\x92R\x92\x95\x94\x93\x81\x81\x01\x93\x92P\x90`\x01\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x91\x94Pa\x01@\x93PPPPV[`@\x80Q\x91\x15\x15\x82RQ\x90\x81\x90\x03` \x01\x90\xF3[`\0a\x01Ja\rAV[`@\x80Q\x80\x82\x01\x82R\x87Q\x81R` \x80\x89\x01Q\x81\x83\x01R\x90\x83R\x81Q`\x80\x81\x01\x83R\x87QQ\x81\x84\x01\x90\x81R\x88Q\x83\x01Q``\x80\x84\x01\x91\x90\x91R\x90\x82R\x83Q\x80\x85\x01\x85R\x89\x84\x01\x80QQ\x82RQ\x84\x01Q\x81\x85\x01R\x82\x84\x01R\x84\x83\x01\x91\x90\x91R\x82Q\x80\x84\x01\x84R\x87Q\x81R\x87\x83\x01Q\x81\x84\x01R\x84\x84\x01R\x82Q`\x01\x80\x82R\x81\x85\x01\x90\x94R\x90\x92\x90\x91\x82\x81\x01\x90\x806\x837\x01\x90PP\x90P`\0[`\x01\x81\x10\x15a\x02\x1AW\x84\x81`\x01\x81\x10a\x01\xF6W\xFE[` \x02\x01Q\x82\x82\x81Q\x81\x10a\x02\x07W\xFE[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x01\xE1V[Pa\x02%\x81\x83a\x02CV[a\x024W`\x01\x92PPPa\x02;V[`\0\x92PPP[\x94\x93PPPPV[`\0\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01a\x02na\rsV[a\x02va\x04\x1FV[\x90P\x80`\x80\x01QQ\x85Q`\x01\x01\x14a\x02\xCAW`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1D\x99\\\x9AY\x9AY\\\x8BX\x98Y\x0BZ[\x9C\x1D]`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x02\xD2a\r\xBAV[`@Q\x80`@\x01`@R\x80`\0\x81R` \x01`\0\x81RP\x90P`\0[\x86Q\x81\x10\x15a\x03\xA8W\x83\x87\x82\x81Q\x81\x10a\x03\x04W\xFE[` \x02` \x01\x01Q\x10a\x03^W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7Fverifier-gte-snark-scalar-field\0`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x03\x9E\x82a\x03\x99\x85`\x80\x01Q\x84`\x01\x01\x81Q\x81\x10a\x03xW\xFE[` \x02` \x01\x01Q\x8A\x85\x81Q\x81\x10a\x03\x8CW\xFE[` \x02` \x01\x01Qa\x07\xA0V[a\x085V[\x91P`\x01\x01a\x02\xEEV[Pa\x03\xCB\x81\x83`\x80\x01Q`\0\x81Q\x81\x10a\x03\xBEW\xFE[` \x02` \x01\x01Qa\x085V[\x90Pa\x04\x01a\x03\xDD\x86`\0\x01Qa\x08\xC6V[\x86` \x01Q\x84`\0\x01Q\x85` \x01Q\x85\x87`@\x01Q\x8B`@\x01Q\x89``\x01Qa\tRV[a\x04\x11W`\x01\x93PPPPa\x04\x19V[`\0\x93PPPP[\x92\x91PPV[a\x04'a\rsV[`@\x80Q\x80\x82\x01\x82R\x7F\x1D\x1FC\x1C\xB7WP\xD3?O\xB9\x97\xE0\x10\x1FW\x0B\xAD\x12\xEB\x8E\x85\xCCfv+k\x08`)\xE7Z\x81R\x7F\x1C\0\r\x12\xC6\xD7\xA9\x81\xD9\xE5,o\xEB\xF5\x85\x1C\xAEjJ\xC5(\x9F\x02\xF0t\xB1F}\x08\x9B\x12v` \x80\x83\x01\x91\x90\x91R\x90\x83R\x81Q`\x80\x80\x82\x01\x84R\x7F+ \x7F\xA4{\xD0\xEB.?n\xB1~-\xBFK\n\xD6v\x06\xDA\xB6\x99\x18\x87\x95\x1D\x0Ej{\xCAd\xA8\x82\x85\x01\x90\x81R\x7F\x1E>\x89wVD\x15\"3B\xD0\xB7\xB0g\xC1\xCD\xE9S9\xDF\xF3\x07\xFB`bFgBx\x14D\xEB``\x80\x85\x01\x91\x90\x91R\x90\x83R\x84Q\x80\x86\x01\x86R\x7F\x16_A\x8F\x08\xE4\xEF5j\xCB\x14!%\xE3#\x1E{H\xE6\xC2!F\xA8\x1C3\xE7\xBC7\x87v\x83\\\x81R\x7F%~\0\x07\xDA|\x8A\xB8\xAE\xB0}\xF4\x02\x04\xD3\xC0\xE4,\xAB\x8C\x802F\xF2UW\xE4\xBC\xD9\x8DV\x96\x81\x86\x01R\x83\x85\x01R\x85\x84\x01\x92\x90\x92R\x83Q\x80\x82\x01\x85R\x7F\x19\x8E\x93\x93\x92\rH:r`\xBF\xB71\xFB]%\xF1\xAAI35\xA9\xE7\x12\x97\xE4\x85\xB7\xAE\xF3\x12\xC2\x81\x86\x01\x90\x81R\x7F\x18\0\xDE\xEF\x12\x1F\x1EvBj\0f^\\DygC\"\xD4\xF7^\xDA\xDDF\xDE\xBD\\\xD9\x92\xF6\xED\x82\x85\x01R\x81R\x84Q\x80\x86\x01\x86R\x7F\t\x06\x89\xD0X_\xF0u\xEC\x9E\x99\xADi\x0C3\x95\xBCK13p\xB3\x8E\xF3U\xAC\xDA\xDC\xD1\"\x97[\x81R\x7F\x12\xC8^\xA5\xDB\x8Cm\xEBJ\xABq\x80\x8D\xCB@\x8F\xE3\xD1\xE7i\x0CC\xD3{L\xE6\xCC\x01f\xFA}\xAA\x81\x86\x01R\x81\x85\x01R\x85\x85\x01R\x83Q\x90\x81\x01\x84R\x7F\x1E\x91#\xAF\x85\x93\xCB\xF1\xBB\xFFt\xDBS\xB6f\xDD\xCD\x99Y)\xFA\xBA\xF7>\x0F\xD3\x15\xD3\xF5ZL\x02\x81\x85\x01\x90\x81R\x7F\x03K/\x96g?\x16\xCBlT\xECc\xC4\x89\xCF(F\xE8pw\x96\xC0\x89\x1Eh!\x15\xC80\xC7\x0E\xCB\x82\x84\x01R\x81R\x83Q\x80\x85\x01\x85R\x7F+\x911\x8F\xD4G\xF5Y6\xBA\xF1\x89YT?\xAE\x8E\xB3%4\x81\xC3\x94\xD8V\xC4\x9C\xD2d\xACYX\x81R\x7F'\x15\x99\xA19.|v\x11`\xC7x\x91\x06\xCE\x10h\x05\x15_~\xC9l\x03\x82\x90i\x8F\x1C\xB7\x15\xC4\x81\x85\x01R\x81\x84\x01R\x81\x85\x01R\x82Q`\x02\x80\x82R\x91\x81\x01\x90\x93R\x90\x82\x01[a\x06\xA8a\r\xBAV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x06\xA0WPP`\x80\x82\x01\x90\x81R`@\x80Q\x80\x82\x01\x90\x91R\x7F%y\xC7\xCA\x03\xEF\xA64\x9CC\xAAV\xCA\x18l\xADu4\xA8p]\xB9\xC1\x8E\xC9\"\x02\xD8\x81e\xC0L\x81R\x7F\x04\xE8$\xD0\xF4\x0E\xD2p\xF7\x03\x82\x16}\x94C\xAC-(5%\xB9\x19\t:\xD5)\x8B#[L\x9E\x87` \x82\x01R\x90Q\x80Q`\0\x90a\x07!W\xFE[` \x02` \x01\x01\x81\x90RP`@Q\x80`@\x01`@R\x80\x7F\x12\x1F\xCC:4^\xFE\xE7>\x13\x12\xA9\x9D\xA0wq\xF5\xD8\xF6\xAD\x9AMz\x97}\xFBT\xEF9\xA9\xEAC\x81R` \x01\x7F\x1AW\n\xBDV\xB5r\x1F\x9B\xF9\x04BL\xFC\xD6^M\xC0\x03h\\\xA6\xCBWF\xDC\xC7\xB0\xF6\x87\x93]\x81RP\x81`\x80\x01Q`\x01\x81Q\x81\x10a\x07\x92W\xFE[` \x02` \x01\x01\x81\x90RP\x90V[a\x07\xA8a\r\xBAV[a\x07\xB0a\r\xD4V[\x83Q\x81R` \x80\x85\x01Q\x90\x82\x01R`@\x81\x01\x83\x90R`\0``\x83`\x80\x84`\x07a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xE3Wa\x07\xE5V[\xFE[P\x80a\x08-W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCB[][\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[PP\x92\x91PPV[a\x08=a\r\xBAV[a\x08Ea\r\xF2V[\x83Q\x81R` \x80\x85\x01Q\x81\x83\x01R\x83Q`@\x83\x01R\x83\x01Q``\x80\x83\x01\x91\x90\x91R`\0\x90\x83`\xC0\x84`\x06a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xE3WP\x80a\x08-W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCBXY\x19\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x08\xCEa\r\xBAV[\x81Q\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x90\x15\x80\x15a\t\x01WP` \x83\x01Q\x15[\x15a\t!WPP`@\x80Q\x80\x82\x01\x90\x91R`\0\x80\x82R` \x82\x01Ra\tMV[`@Q\x80`@\x01`@R\x80\x84`\0\x01Q\x81R` \x01\x82\x85` \x01Q\x81a\tCW\xFE[\x06\x83\x03\x81RP\x91PP[\x91\x90PV[`@\x80Q`\x04\x80\x82R`\xA0\x82\x01\x90\x92R`\0\x91``\x91\x90\x81` \x01[a\tva\r\xBAV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\tnWPP`@\x80Q`\x04\x80\x82R`\xA0\x82\x01\x90\x92R\x91\x92P``\x91\x90` \x82\x01[a\t\xACa\x0E\x10V[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\t\xA4W\x90PP\x90P\x8A\x82`\0\x81Q\x81\x10a\t\xCFW\xFE[` \x02` \x01\x01\x81\x90RP\x88\x82`\x01\x81Q\x81\x10a\t\xE8W\xFE[` \x02` \x01\x01\x81\x90RP\x86\x82`\x02\x81Q\x81\x10a\n\x01W\xFE[` \x02` \x01\x01\x81\x90RP\x84\x82`\x03\x81Q\x81\x10a\n\x1AW\xFE[` \x02` \x01\x01\x81\x90RP\x89\x81`\0\x81Q\x81\x10a\n3W\xFE[` \x02` \x01\x01\x81\x90RP\x87\x81`\x01\x81Q\x81\x10a\nLW\xFE[` \x02` \x01\x01\x81\x90RP\x85\x81`\x02\x81Q\x81\x10a\neW\xFE[` \x02` \x01\x01\x81\x90RP\x83\x81`\x03\x81Q\x81\x10a\n~W\xFE[` \x02` \x01\x01\x81\x90RPa\n\x93\x82\x82a\n\xA2V[\x9B\x9APPPPPPPPPPPV[`\0\x81Q\x83Q\x14a\n\xF3W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x16`$\x82\x01Ru\x1C\x18Z\\\x9A[\x99\xCB[\x19[\x99\xDD\x1A\x1C\xCBY\x98Z[\x19Y`R\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[\x82Q`\x06\x81\x02``\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x80\x15a\x0B\x12W`\0\x80\xFD[P`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0B\x02dsolcC\0\x06\x0C\x003"; - /// The deployed bytecode of the contract. - pub static XORVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct XorVerifier(::ethers::contract::Contract); - impl ::core::clone::Clone for XorVerifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for XorVerifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for XorVerifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for XorVerifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(XorVerifier)) - .field(&self.address()) - .finish() - } - } - impl XorVerifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - XORVERIFIER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - XORVERIFIER_ABI.clone(), - XORVERIFIER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `verifyProof` (0x43753b4d) function - pub fn verify_proof( - &self, - a: [::ethers::core::types::U256; 2], - b: [[::ethers::core::types::U256; 2]; 2], - c: [::ethers::core::types::U256; 2], - input: [::ethers::core::types::U256; 1], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([67, 117, 59, 77], (a, b, c, input)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> for XorVerifier { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `verifyProof` function with signature `verifyProof(uint256[2],uint256[2][2],uint256[2],uint256[1])` and selector `0x43753b4d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyProof", - abi = "verifyProof(uint256[2],uint256[2][2],uint256[2],uint256[1])" - )] - pub struct VerifyProofCall { - pub a: [::ethers::core::types::U256; 2], - pub b: [[::ethers::core::types::U256; 2]; 2], - pub c: [::ethers::core::types::U256; 2], - pub input: [::ethers::core::types::U256; 1], - } - ///Container type for all return fields from the `verifyProof` function with signature `verifyProof(uint256[2],uint256[2][2],uint256[2],uint256[1])` and selector `0x43753b4d` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyProofReturn { - pub r: bool, - } -} diff --git a/bindings/src/zk_sync_verifier.rs b/bindings/src/zk_sync_verifier.rs deleted file mode 100644 index 5448634..0000000 --- a/bindings/src/zk_sync_verifier.rs +++ /dev/null @@ -1,330 +0,0 @@ -pub use zk_sync_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod zk_sync_verifier { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("verificationKeyHash"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verificationKeyHash",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("vkHash"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static ZKSYNCVERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa(\xD9\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80c\x87\xD9\xD0#\x14a\0;W\x80c\x9E\x89E\xD2\x14a\0cW[`\0\x80\xFD[a\0Na\0I6`\x04a'\xC9V[a\0yV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0ka!\x9AV[`@Q\x90\x81R` \x01a\0ZV[`\0a\0\x83a!\xAFV[a!gV[bF\x1B\xCD`\xE5\x1B`\0R` `\x04R\x80`$RP\x80`DR`d`\0\xFD[` `\0R` \x80R` `@R\x80``RP\x80`\x80RP`\0\x80Q` a(\x84\x839\x81Q\x91R`\xA0R`\0` `\0`\xC0`\0`\x05Z\xFAa\x01\rWa\x01\r\x7Fmodexp precompile failed\0\0\0\0\0\0\0\0`\x18a\0\x88V[P`\0Q\x90V[\x80Q`\0R` \x81\x01Q` RP\x80`@RP`@\x81```\0`\x07Z\xFAa\x01aWa\x01a\x7FpointMulIntoDest: ecMul failed\0\0`\x1Ea\0\x88V[PV[\x80Q`\0R` \x81\x01Q` RP\x80Q`@R` \x81\x01Q``RP`@\x81`\x80`\0`\x06Z\xFAa\x01aWa\x01a\x7FpointAddIntoDest: ecAdd failed\0\0`\x1Ea\0\x88V[\x80Q`\0R` \x81\x01Q` R\x81Q`@R` \x82\x01Q`\0\x80Q` a(d\x839\x81Q\x91R\x03``R`@\x81`\x80`\0`\x06Z\xFAa\x02\x1EWa\x02\x1E\x7FpointSubAssign: ecAdd failed\0\0\0\0`\x1Ca\0\x88V[PPV[\x80Q`\0R` \x81\x01Q` R\x81Q`@R` \x82\x01Q``R`@\x81`\x80`\0`\x06Z\xFAa\x02\x1EWa\x02\x1E\x7FpointAddAssign: ecAdd failed\0\0\0\0`\x1Ca\0\x88V[\x80Q`\0R` \x81\x01Q` RP\x80`@RP`@`\0```\0`\x07Z\xFA\x81Q`@R` \x82\x01Q``R`@\x82`\x80`\0`\x06Z\xFA\x16\x80a\x02\x1EWa\x02\x1Eu\x1C\x1B\xDA[\x9D\x13][\x10[\x99\x10Y\x19\x12[\x9D\x1B\xD1\x19\\\xDD`R\x1B`\x16a\0\x88V[`\0a\rCSa\r\x84R`da\r@ `\x01a\rCS`da\r@ a\rdRa\rDRV[`\x02a\rCS`\xE0\x1Ba\r\x84R`Ha\r@ `\x01`\x01`\xFD\x1B\x03\x16\x90V[`\x045`\x04\x81\x015`\x01\x81\x14\x90P`\x01`\x01`\xFD\x1B\x03`$\x83\x015\x16a\x07 R`$5\x91P`\x04\x82\x015\x81`,\x82\x14\x16\x91PP`\0\x80Q` a(d\x839\x81Q\x91R`$\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R`D\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x07@R\x80a\x07`RPP`\0\x80Q` a(d\x839\x81Q\x91R`d\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R`\x84\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x07\x80R\x80a\x07\xA0RPP`\0\x80Q` a(d\x839\x81Q\x91R`\xA4\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R`\xC4\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x07\xC0R\x80a\x07\xE0RPP`\0\x80Q` a(d\x839\x81Q\x91R`\xE4\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x01\x04\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x08\0R\x80a\x08 RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x01$\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x01D\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x08@R\x80a\x08`RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x01d\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x01\x84\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x08\x80R\x80a\x08\xA0RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x01\xA4\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x01\xC4\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x08\xC0R\x80a\x08\xE0RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x01\xE4\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x02\x04\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\t\0R\x80a\t RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x02$\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x02D\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\t@R\x80a\t`RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x02d\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x02\x84\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\t\x80R\x80a\t\xA0RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x02\xA4\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x02\xC4\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\t\xC0R\x80a\t\xE0RPP`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x02\xE4\x83\x015\x06a\n\0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03\x04\x83\x015\x06a\n R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03$\x83\x015\x06a\n@R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03D\x83\x015\x06a\n`R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03d\x83\x015\x06a\n\x80R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03\x84\x83\x015\x06a\n\xA0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03\xA4\x83\x015\x06a\n\xC0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03\xC4\x83\x015\x06a\n\xE0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03\xE4\x83\x015\x06a\x0B\0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04\x04\x83\x015\x06a\x0B R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04$\x83\x015\x06a\x0B@R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04D\x83\x015\x06a\x0B`R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04d\x83\x015\x06a\x0B\x80R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04\x84\x83\x015\x06a\x0B\xA0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04\xA4\x83\x015\x06a\x0B\xC0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04\xC4\x83\x015\x06a\x0B\xE0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04\xE4\x83\x015\x06a\x0C\0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x05\x04\x83\x015\x06a\x0C R`\0\x80Q` a(d\x839\x81Q\x91Ra\x05$\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x05D\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x0C@R\x80a\x0C`RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x05d\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x05\x84\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x0C\x80R\x80a\x0C\xA0RPP`D5\x91P`\x04\x82\x015a\x07\0Q`\0\x81\x14a\r\x15W\x82`\x04\x83\x14\x16\x92P`\0\x80Q` a(d\x839\x81Q\x91R`$\x85\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R`D\x86\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x85`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x95PP\x81a\x0C\xC0R\x80a\x0C\xE0RPP`\0\x80Q` a(d\x839\x81Q\x91R`d\x85\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R`\x84\x86\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x85`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x95PP\x81a\r\0R\x80a\r RPPa\r\x1CV[\x82\x82\x15\x16\x92P[PP\x80a\x02\x1EWa\x02\x1E\x7FloadProof: Proof is invalid\0\0\0\0\0`\x1Ba\0\x88V[a\rZa\x07 Qa\x02\xD7V[a\rfa\x07@Qa\x02\xD7V[a\rra\x07`Qa\x02\xD7V[a\r~a\x07\x80Qa\x02\xD7V[a\r\x8Aa\x07\xA0Qa\x02\xD7V[a\r\x96a\x07\xC0Qa\x02\xD7V[a\r\xA2a\x07\xE0Qa\x02\xD7V[a\r\xAEa\x08\0Qa\x02\xD7V[a\r\xBAa\x08 Qa\x02\xD7V[a\r\xC4`\0a\x02\xFDV[a\x0F\0Ra\r\xD4a\x08\x80Qa\x02\xD7V[a\r\xE0a\x08\xA0Qa\x02\xD7V[a\r\xEA`\x01a\x02\xFDV[a\r\xE0Ra\r\xF8`\x02a\x02\xFDV[a\x0E\0Ra\x0E\x08a\x08@Qa\x02\xD7V[a\x0E\x14a\x08`Qa\x02\xD7V[a\x0E\x1E`\x03a\x02\xFDV[a\x0F Ra\x0E,`\x04a\x02\xFDV[a\x0F@Ra\x0E\xEC.W\x06\x88\x05'\xED\r\x88\xFDYi\xAC\x06\x9A\x8A\xAC\x06a\x02@R\x7F.2\x94\xB5{E\xA00u\xEE.\x89\xC9\xE7\xD2\xAB_&\x1B^$\x08W\x81\x12\xB6\xAA{\xF1*._a\x02`R\x7F\x03w\xDF\x06\x15\xF3\xF8YX<\xA8\x85\x86\x1Al\x0F\x88Wx\xF0c=\x08+\x98\x83\xAF\xCB\xCB\x18lla\x02\x80R\x7F\x0C\xDE\x99\xA9 \xBFi\xE9\xFF\x1DB\xB7\x19\xE2\x89_\r\xA6\xD6\xA34\xF2\xA2\xA4\xE15\xCC\x93\xBFQZJa\x02\xA0R\x7F\x04\"\"\xCCy\xADQ_\xDA\xE9\x8D\xDD\xC0\x9D\x8Ex\xFC\x8A\xF3zi\xBA\xF3j\x04\x18\x8C\xA5C4\xC4Ca\x02\xC0R\x7F\x0F\x01X\xE3E\xC0\x8D\xA2\x02\x1Bp:\xAC\x1Bi}/5Sa\x7F\xEFw\x8B\xF2\xC5\xFA\xFC@2K\xE1a\x02\xE0R\x7F\x01\x02\xFA\xB7\xA4;:\xC2m\xB8\x7FS\xBD0<\xF4Mo|\x960Fh\x14\"\xC3-\xEA \xA5&\xDFa\x03\0R\x7F\"\x1A)\xC1\xDF.X\"\xD0`&\x18\x02\x077\0\xA2\x85\x08.\xBB\x12c\xE58\x14\xB0\x17\xA8\xBF\xB1Ka\x03 R\x7F&\x9F\xBE\x8D\xA3y\x08^x\x9A`r\x0C\x122N\xE4\xEF\xC0\xF9![\xFC0\xA6Q4\xEC\xBE\x87V\x82a\x03@R\x7F\x014\xB1N\x94\xB7\xA7\x19\xD2\x13\xA0\xE7\x13eG\xAD\xD6~qr>\xD8,\x87\xE8\xA0\xF8\x92o\xB0\x02\xACa\x03`R\x7F\x07\xD5\r`O9\x1C\x8Fs1\xCE-\xF7\x11Z\xA8\xA6\xDBk\xCC\x1A\xD2F%[\x12\xDA.\x80\xF7\xD8\x15a\x03\x80R\x7F\x16\xF3\x1E\xBE\xFD\x07\x7F\x85\x02\x9A\x1A\xF6\x13j-c\xE8\xE9 \x15\xEAD\xBA\xC68l\xB0_\xC7\xAC\xA5na\x03\xA0R\x7F\x1C\xEE\xDA0\xB0\x83\xC5\xB7H\xA1\xDB\xBE\xFCK\x83$\xE3\\\xB9\x83\x0Cc\x0B\x80d\xEC\xE3\xA7\xC3\x0E_Ja\x03\xC0R~7\x02\x9Bv\xEBbn\x15\xFE\xFC9\xFB\x9C\x14$\x99\xE9\xEE(0c\xB2\x81\x1A\xFF\xF7!\x1B\x9A\x0Bca\x03\xE0R\x7F\x18\x85\x05\x15\x03\xE3f~\xACa&.(\xB7\xCE\xDD\x16\xA6\x19\xD1\x9E\x88 \xA5\"\xA2i\xDC\x98&,ia\x04\0R\x7F\r\xAF{\xFF\xE9\x9C\x03W\xAE\xFC\xD6\xCC\xAF6<\xE5\tnH\xD1\x05\xFC\x85\x83\xE6IX\x9C\xC1I\x18=a\x04 R\x7F!ZsXD\xE0\x03_$ZE\x15O\x19c[\xDCp\xD8\xF4\x8E\xEFF8L,\x94\x80\x02\xAF\x0C\x81a\x04@R\x7F\x1F\xAE\xCFh\x13\xFF\xBC\n.\xEE\xB5\x0C\xA05\xD4T,\xA5W\xF1^+\x82\xFF\xFF\xB2@$\xCF=\xF2\xD1a\x04`R\x7F/$\xB1\xFF\xDE\xA0\x83\x85\xD0\xCA\x89\xB3-\xB8`\x1B;\x95\xB2U\x90>\xDC\xEA\xC5$\x02\xDF\xEC\xE9\xEE\xE4a\x04\x80R\x7F\x1E\x90\xE4\x1E\xCB5\xE8E\\U\xBFL\xFDA\xE8\x0B\xB4\xE5\xDD\x84[e\xC6\xF7~*\xC0\x82\x1B\t\xA8\x83a\x04\xA0R\x7F\x12\x8D\0kG;P\xBC\x85\xA1\xA2p|'\x8E\x08\x18nD\x02\x01\x01x\xBF\x93\x0B~\xA2N >\xD0a\x04\xC0R\x7F\x0F\xA1\0\xF3^f\xD3\xC2B\x9F\x1C \xBE\0\xFE!\xB7\x9Ae\xE9\xDEf[\xA4 \xEE8\x8E\xE0\xB4{\xD7M\x9DW\xA5\xEC\x90\x1E\x07@2t\x1065:,E\x13B.\x96\xE7\xB5;0-v[a\x05\xC0R\x7F\x04\xDD\x96D'\xE40\xF1`\x04\x07mp\x8C\x0C\xB2\x1E\"PV\xCC\x1DWA\x8C\xFB\xD3\xD4r\x98\x14ha\x05\xE0R\x7F\x1E\xA8>^e\xC6\xF8\x06\x8FFw\xE2\x91\x16x\xCF2\x9B(%\x96B\xA3-\xB1\xF1K\x83G\x82\x8A\xACa\x06\0R\x7F\x1D\"\xBC\x88J-\xA4\x96*\x89;\xA8\xDE\x13\xF5z\xAE\xB7\x85\xEDR\xC5\xE6\x86\x99H9\xCA\xB8\xF7G]a\x06 R\x7F\x0B.r\x12\xD0\xD9\xCF\xF2m\x0B\xDF=y\xB2\xCA\xC0)\xA2]\xFE\xB1\xCA\xFD\xF4\x9E#I\xD7\xDB4\x8D\x89a\x06@R\x7F\x13\x01\xF9\xB2RA\x9E\xA2@\xEBg\xFD\xA7 \xCA\x0B\x16\xD9#d\x02r\x85\xF9^\x9B\x13II\x0F\xA2\x83a\x06`R\x7F\x02\xF7\xB9\x9F\xDF\xA5\xB4\x18T\x8C-ww\x85\x82\x0E\x028<\xFC\x87\xE7\x08^(\n7Z5\x81S\xBFa\x06\x80R\x7F\t\xD0\x04\xFE\x08\xDCM\x19\xC3\x82\xDF6\xFA\xD2.\xF6v\x18VcT7\x03\xE6\xA4\xB4\x02\x03\xE5\x0F\xD8\xA6a\x06\xA0R\x7F0\x02#b}\x9E\x97|\x0B\x02\xA6KI\xCB\x1Clx3\xB8.%\xBA\xCBB\x0E\xF6\xF4\x8Bm\xEE\xED\x06a\x05\x80R\x7F-\x0B\xD4\xB9'\x91.e\t\x08\x8F\xB7\x16z0\xB8[\xD5\xD01\xE7[\x05{h~b\xFCmw\x9F\x91a\x05\xA0R~o_ii\x08\x84\x13\xE1Z\xBE\x92A\x8D\xD7f\x8Cl_\xA2\xDC\xCA\x16\x8Eq\xA9\x8D\x84\xA9\xFE9\xDEa\x06\xC0R\x7F\x18U\x0C\x80O\xAD\xC5Xa\xB6\xA3MSA\xD5\x94Hh3\xE6+\xD6\x13p\x89\xF33Uf\xCA@\xEEa\x06\xE0R`\0a\x07\0RV[`\0\x80\x83`\x1F\x84\x01\x12a'\x8FW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'\xA7W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a'\xC2W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80``\x87\x89\x03\x12\x15a'\xE2W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a'\xFAW`\0\x80\xFD[a(\x06\x8A\x83\x8B\x01a'}V[\x90\x98P\x96P` \x89\x015\x91P\x80\x82\x11\x15a(\x1FW`\0\x80\xFD[a(+\x8A\x83\x8B\x01a'}V[\x90\x96P\x94P`@\x89\x015\x91P\x80\x82\x11\x15a(DW`\0\x80\xFD[Pa(Q\x89\x82\x8A\x01a'}V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV\xFE0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01\xA2dipfsX\"\x12 \xDEsl\xCC\xC2\x0C\xED\x9A\xE4\x9AP\xA9\xD8\xC0#hY\x89\xCD^`\xF5\xECO\x9D\x0B\xB6y\xFE\xF9 \xBFdsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static ZKSYNCVERIFIER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80c\x87\xD9\xD0#\x14a\0;W\x80c\x9E\x89E\xD2\x14a\0cW[`\0\x80\xFD[a\0Na\0I6`\x04a'\xC9V[a\0yV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0ka!\x9AV[`@Q\x90\x81R` \x01a\0ZV[`\0a\0\x83a!\xAFV[a!gV[bF\x1B\xCD`\xE5\x1B`\0R` `\x04R\x80`$RP\x80`DR`d`\0\xFD[` `\0R` \x80R` `@R\x80``RP\x80`\x80RP`\0\x80Q` a(\x84\x839\x81Q\x91R`\xA0R`\0` `\0`\xC0`\0`\x05Z\xFAa\x01\rWa\x01\r\x7Fmodexp precompile failed\0\0\0\0\0\0\0\0`\x18a\0\x88V[P`\0Q\x90V[\x80Q`\0R` \x81\x01Q` RP\x80`@RP`@\x81```\0`\x07Z\xFAa\x01aWa\x01a\x7FpointMulIntoDest: ecMul failed\0\0`\x1Ea\0\x88V[PV[\x80Q`\0R` \x81\x01Q` RP\x80Q`@R` \x81\x01Q``RP`@\x81`\x80`\0`\x06Z\xFAa\x01aWa\x01a\x7FpointAddIntoDest: ecAdd failed\0\0`\x1Ea\0\x88V[\x80Q`\0R` \x81\x01Q` R\x81Q`@R` \x82\x01Q`\0\x80Q` a(d\x839\x81Q\x91R\x03``R`@\x81`\x80`\0`\x06Z\xFAa\x02\x1EWa\x02\x1E\x7FpointSubAssign: ecAdd failed\0\0\0\0`\x1Ca\0\x88V[PPV[\x80Q`\0R` \x81\x01Q` R\x81Q`@R` \x82\x01Q``R`@\x81`\x80`\0`\x06Z\xFAa\x02\x1EWa\x02\x1E\x7FpointAddAssign: ecAdd failed\0\0\0\0`\x1Ca\0\x88V[\x80Q`\0R` \x81\x01Q` RP\x80`@RP`@`\0```\0`\x07Z\xFA\x81Q`@R` \x82\x01Q``R`@\x82`\x80`\0`\x06Z\xFA\x16\x80a\x02\x1EWa\x02\x1Eu\x1C\x1B\xDA[\x9D\x13][\x10[\x99\x10Y\x19\x12[\x9D\x1B\xD1\x19\\\xDD`R\x1B`\x16a\0\x88V[`\0a\rCSa\r\x84R`da\r@ `\x01a\rCS`da\r@ a\rdRa\rDRV[`\x02a\rCS`\xE0\x1Ba\r\x84R`Ha\r@ `\x01`\x01`\xFD\x1B\x03\x16\x90V[`\x045`\x04\x81\x015`\x01\x81\x14\x90P`\x01`\x01`\xFD\x1B\x03`$\x83\x015\x16a\x07 R`$5\x91P`\x04\x82\x015\x81`,\x82\x14\x16\x91PP`\0\x80Q` a(d\x839\x81Q\x91R`$\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R`D\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x07@R\x80a\x07`RPP`\0\x80Q` a(d\x839\x81Q\x91R`d\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R`\x84\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x07\x80R\x80a\x07\xA0RPP`\0\x80Q` a(d\x839\x81Q\x91R`\xA4\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R`\xC4\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x07\xC0R\x80a\x07\xE0RPP`\0\x80Q` a(d\x839\x81Q\x91R`\xE4\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x01\x04\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x08\0R\x80a\x08 RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x01$\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x01D\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x08@R\x80a\x08`RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x01d\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x01\x84\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x08\x80R\x80a\x08\xA0RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x01\xA4\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x01\xC4\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x08\xC0R\x80a\x08\xE0RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x01\xE4\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x02\x04\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\t\0R\x80a\t RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x02$\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x02D\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\t@R\x80a\t`RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x02d\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x02\x84\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\t\x80R\x80a\t\xA0RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x02\xA4\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x02\xC4\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\t\xC0R\x80a\t\xE0RPP`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x02\xE4\x83\x015\x06a\n\0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03\x04\x83\x015\x06a\n R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03$\x83\x015\x06a\n@R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03D\x83\x015\x06a\n`R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03d\x83\x015\x06a\n\x80R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03\x84\x83\x015\x06a\n\xA0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03\xA4\x83\x015\x06a\n\xC0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03\xC4\x83\x015\x06a\n\xE0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x03\xE4\x83\x015\x06a\x0B\0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04\x04\x83\x015\x06a\x0B R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04$\x83\x015\x06a\x0B@R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04D\x83\x015\x06a\x0B`R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04d\x83\x015\x06a\x0B\x80R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04\x84\x83\x015\x06a\x0B\xA0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04\xA4\x83\x015\x06a\x0B\xC0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04\xC4\x83\x015\x06a\x0B\xE0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x04\xE4\x83\x015\x06a\x0C\0R`\0\x80Q` a(\x84\x839\x81Q\x91Ra\x05\x04\x83\x015\x06a\x0C R`\0\x80Q` a(d\x839\x81Q\x91Ra\x05$\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x05D\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x0C@R\x80a\x0C`RPP`\0\x80Q` a(d\x839\x81Q\x91Ra\x05d\x83\x015\x06`\0\x80Q` a(d\x839\x81Q\x91Ra\x05\x84\x84\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x83`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x93PP\x81a\x0C\x80R\x80a\x0C\xA0RPP`D5\x91P`\x04\x82\x015a\x07\0Q`\0\x81\x14a\r\x15W\x82`\x04\x83\x14\x16\x92P`\0\x80Q` a(d\x839\x81Q\x91R`$\x85\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R`D\x86\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x85`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x95PP\x81a\x0C\xC0R\x80a\x0C\xE0RPP`\0\x80Q` a(d\x839\x81Q\x91R`d\x85\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R`\x84\x86\x015\x06`\0\x80Q` a(d\x839\x81Q\x91R\x82\x83\t\x85`\0\x80Q` a(d\x839\x81Q\x91R`\x03`\0\x80Q` a(d\x839\x81Q\x91R\x84\x87\t\x08`\0\x80Q` a(d\x839\x81Q\x91R\x84\x85\t\x14\x16\x95PP\x81a\r\0R\x80a\r RPPa\r\x1CV[\x82\x82\x15\x16\x92P[PP\x80a\x02\x1EWa\x02\x1E\x7FloadProof: Proof is invalid\0\0\0\0\0`\x1Ba\0\x88V[a\rZa\x07 Qa\x02\xD7V[a\rfa\x07@Qa\x02\xD7V[a\rra\x07`Qa\x02\xD7V[a\r~a\x07\x80Qa\x02\xD7V[a\r\x8Aa\x07\xA0Qa\x02\xD7V[a\r\x96a\x07\xC0Qa\x02\xD7V[a\r\xA2a\x07\xE0Qa\x02\xD7V[a\r\xAEa\x08\0Qa\x02\xD7V[a\r\xBAa\x08 Qa\x02\xD7V[a\r\xC4`\0a\x02\xFDV[a\x0F\0Ra\r\xD4a\x08\x80Qa\x02\xD7V[a\r\xE0a\x08\xA0Qa\x02\xD7V[a\r\xEA`\x01a\x02\xFDV[a\r\xE0Ra\r\xF8`\x02a\x02\xFDV[a\x0E\0Ra\x0E\x08a\x08@Qa\x02\xD7V[a\x0E\x14a\x08`Qa\x02\xD7V[a\x0E\x1E`\x03a\x02\xFDV[a\x0F Ra\x0E,`\x04a\x02\xFDV[a\x0F@Ra\x0E\xEC.W\x06\x88\x05'\xED\r\x88\xFDYi\xAC\x06\x9A\x8A\xAC\x06a\x02@R\x7F.2\x94\xB5{E\xA00u\xEE.\x89\xC9\xE7\xD2\xAB_&\x1B^$\x08W\x81\x12\xB6\xAA{\xF1*._a\x02`R\x7F\x03w\xDF\x06\x15\xF3\xF8YX<\xA8\x85\x86\x1Al\x0F\x88Wx\xF0c=\x08+\x98\x83\xAF\xCB\xCB\x18lla\x02\x80R\x7F\x0C\xDE\x99\xA9 \xBFi\xE9\xFF\x1DB\xB7\x19\xE2\x89_\r\xA6\xD6\xA34\xF2\xA2\xA4\xE15\xCC\x93\xBFQZJa\x02\xA0R\x7F\x04\"\"\xCCy\xADQ_\xDA\xE9\x8D\xDD\xC0\x9D\x8Ex\xFC\x8A\xF3zi\xBA\xF3j\x04\x18\x8C\xA5C4\xC4Ca\x02\xC0R\x7F\x0F\x01X\xE3E\xC0\x8D\xA2\x02\x1Bp:\xAC\x1Bi}/5Sa\x7F\xEFw\x8B\xF2\xC5\xFA\xFC@2K\xE1a\x02\xE0R\x7F\x01\x02\xFA\xB7\xA4;:\xC2m\xB8\x7FS\xBD0<\xF4Mo|\x960Fh\x14\"\xC3-\xEA \xA5&\xDFa\x03\0R\x7F\"\x1A)\xC1\xDF.X\"\xD0`&\x18\x02\x077\0\xA2\x85\x08.\xBB\x12c\xE58\x14\xB0\x17\xA8\xBF\xB1Ka\x03 R\x7F&\x9F\xBE\x8D\xA3y\x08^x\x9A`r\x0C\x122N\xE4\xEF\xC0\xF9![\xFC0\xA6Q4\xEC\xBE\x87V\x82a\x03@R\x7F\x014\xB1N\x94\xB7\xA7\x19\xD2\x13\xA0\xE7\x13eG\xAD\xD6~qr>\xD8,\x87\xE8\xA0\xF8\x92o\xB0\x02\xACa\x03`R\x7F\x07\xD5\r`O9\x1C\x8Fs1\xCE-\xF7\x11Z\xA8\xA6\xDBk\xCC\x1A\xD2F%[\x12\xDA.\x80\xF7\xD8\x15a\x03\x80R\x7F\x16\xF3\x1E\xBE\xFD\x07\x7F\x85\x02\x9A\x1A\xF6\x13j-c\xE8\xE9 \x15\xEAD\xBA\xC68l\xB0_\xC7\xAC\xA5na\x03\xA0R\x7F\x1C\xEE\xDA0\xB0\x83\xC5\xB7H\xA1\xDB\xBE\xFCK\x83$\xE3\\\xB9\x83\x0Cc\x0B\x80d\xEC\xE3\xA7\xC3\x0E_Ja\x03\xC0R~7\x02\x9Bv\xEBbn\x15\xFE\xFC9\xFB\x9C\x14$\x99\xE9\xEE(0c\xB2\x81\x1A\xFF\xF7!\x1B\x9A\x0Bca\x03\xE0R\x7F\x18\x85\x05\x15\x03\xE3f~\xACa&.(\xB7\xCE\xDD\x16\xA6\x19\xD1\x9E\x88 \xA5\"\xA2i\xDC\x98&,ia\x04\0R\x7F\r\xAF{\xFF\xE9\x9C\x03W\xAE\xFC\xD6\xCC\xAF6<\xE5\tnH\xD1\x05\xFC\x85\x83\xE6IX\x9C\xC1I\x18=a\x04 R\x7F!ZsXD\xE0\x03_$ZE\x15O\x19c[\xDCp\xD8\xF4\x8E\xEFF8L,\x94\x80\x02\xAF\x0C\x81a\x04@R\x7F\x1F\xAE\xCFh\x13\xFF\xBC\n.\xEE\xB5\x0C\xA05\xD4T,\xA5W\xF1^+\x82\xFF\xFF\xB2@$\xCF=\xF2\xD1a\x04`R\x7F/$\xB1\xFF\xDE\xA0\x83\x85\xD0\xCA\x89\xB3-\xB8`\x1B;\x95\xB2U\x90>\xDC\xEA\xC5$\x02\xDF\xEC\xE9\xEE\xE4a\x04\x80R\x7F\x1E\x90\xE4\x1E\xCB5\xE8E\\U\xBFL\xFDA\xE8\x0B\xB4\xE5\xDD\x84[e\xC6\xF7~*\xC0\x82\x1B\t\xA8\x83a\x04\xA0R\x7F\x12\x8D\0kG;P\xBC\x85\xA1\xA2p|'\x8E\x08\x18nD\x02\x01\x01x\xBF\x93\x0B~\xA2N >\xD0a\x04\xC0R\x7F\x0F\xA1\0\xF3^f\xD3\xC2B\x9F\x1C \xBE\0\xFE!\xB7\x9Ae\xE9\xDEf[\xA4 \xEE8\x8E\xE0\xB4{\xD7M\x9DW\xA5\xEC\x90\x1E\x07@2t\x1065:,E\x13B.\x96\xE7\xB5;0-v[a\x05\xC0R\x7F\x04\xDD\x96D'\xE40\xF1`\x04\x07mp\x8C\x0C\xB2\x1E\"PV\xCC\x1DWA\x8C\xFB\xD3\xD4r\x98\x14ha\x05\xE0R\x7F\x1E\xA8>^e\xC6\xF8\x06\x8FFw\xE2\x91\x16x\xCF2\x9B(%\x96B\xA3-\xB1\xF1K\x83G\x82\x8A\xACa\x06\0R\x7F\x1D\"\xBC\x88J-\xA4\x96*\x89;\xA8\xDE\x13\xF5z\xAE\xB7\x85\xEDR\xC5\xE6\x86\x99H9\xCA\xB8\xF7G]a\x06 R\x7F\x0B.r\x12\xD0\xD9\xCF\xF2m\x0B\xDF=y\xB2\xCA\xC0)\xA2]\xFE\xB1\xCA\xFD\xF4\x9E#I\xD7\xDB4\x8D\x89a\x06@R\x7F\x13\x01\xF9\xB2RA\x9E\xA2@\xEBg\xFD\xA7 \xCA\x0B\x16\xD9#d\x02r\x85\xF9^\x9B\x13II\x0F\xA2\x83a\x06`R\x7F\x02\xF7\xB9\x9F\xDF\xA5\xB4\x18T\x8C-ww\x85\x82\x0E\x028<\xFC\x87\xE7\x08^(\n7Z5\x81S\xBFa\x06\x80R\x7F\t\xD0\x04\xFE\x08\xDCM\x19\xC3\x82\xDF6\xFA\xD2.\xF6v\x18VcT7\x03\xE6\xA4\xB4\x02\x03\xE5\x0F\xD8\xA6a\x06\xA0R\x7F0\x02#b}\x9E\x97|\x0B\x02\xA6KI\xCB\x1Clx3\xB8.%\xBA\xCBB\x0E\xF6\xF4\x8Bm\xEE\xED\x06a\x05\x80R\x7F-\x0B\xD4\xB9'\x91.e\t\x08\x8F\xB7\x16z0\xB8[\xD5\xD01\xE7[\x05{h~b\xFCmw\x9F\x91a\x05\xA0R~o_ii\x08\x84\x13\xE1Z\xBE\x92A\x8D\xD7f\x8Cl_\xA2\xDC\xCA\x16\x8Eq\xA9\x8D\x84\xA9\xFE9\xDEa\x06\xC0R\x7F\x18U\x0C\x80O\xAD\xC5Xa\xB6\xA3MSA\xD5\x94Hh3\xE6+\xD6\x13p\x89\xF33Uf\xCA@\xEEa\x06\xE0R`\0a\x07\0RV[`\0\x80\x83`\x1F\x84\x01\x12a'\x8FW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'\xA7W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a'\xC2W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80``\x87\x89\x03\x12\x15a'\xE2W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a'\xFAW`\0\x80\xFD[a(\x06\x8A\x83\x8B\x01a'}V[\x90\x98P\x96P` \x89\x015\x91P\x80\x82\x11\x15a(\x1FW`\0\x80\xFD[a(+\x8A\x83\x8B\x01a'}V[\x90\x96P\x94P`@\x89\x015\x91P\x80\x82\x11\x15a(DW`\0\x80\xFD[Pa(Q\x89\x82\x8A\x01a'}V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV\xFE0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01\xA2dipfsX\"\x12 \xDEsl\xCC\xC2\x0C\xED\x9A\xE4\x9AP\xA9\xD8\xC0#hY\x89\xCD^`\xF5\xECO\x9D\x0B\xB6y\xFE\xF9 \xBFdsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static ZKSYNCVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct ZkSyncVerifier(::ethers::contract::Contract); - impl ::core::clone::Clone for ZkSyncVerifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for ZkSyncVerifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for ZkSyncVerifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for ZkSyncVerifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(ZkSyncVerifier)) - .field(&self.address()) - .finish() - } - } - impl ZkSyncVerifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ZKSYNCVERIFIER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - ZKSYNCVERIFIER_ABI.clone(), - ZKSYNCVERIFIER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `verificationKeyHash` (0x9e8945d2) function - pub fn verification_key_hash( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([158, 137, 69, 210], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0x87d9d023) function - pub fn verify( - &self, - p0: ::std::vec::Vec<::ethers::core::types::U256>, - p1: ::std::vec::Vec<::ethers::core::types::U256>, - p2: ::std::vec::Vec<::ethers::core::types::U256>, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([135, 217, 208, 35], (p0, p1, p2)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for ZkSyncVerifier - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `verificationKeyHash` function with signature `verificationKeyHash()` and selector `0x9e8945d2` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verificationKeyHash", abi = "verificationKeyHash()")] - pub struct VerificationKeyHashCall; - ///Container type for all input parameters for the `verify` function with signature `verify(uint256[],uint256[],uint256[])` and selector `0x87d9d023` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(uint256[],uint256[],uint256[])")] - pub struct VerifyCall( - pub ::std::vec::Vec<::ethers::core::types::U256>, - pub ::std::vec::Vec<::ethers::core::types::U256>, - pub ::std::vec::Vec<::ethers::core::types::U256>, - ); - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum ZkSyncVerifierCalls { - VerificationKeyHash(VerificationKeyHashCall), - Verify(VerifyCall), - } - impl ::ethers::core::abi::AbiDecode for ZkSyncVerifierCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerificationKeyHash(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for ZkSyncVerifierCalls { - fn encode(self) -> Vec { - match self { - Self::VerificationKeyHash(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for ZkSyncVerifierCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::VerificationKeyHash(element) => ::core::fmt::Display::fmt(element, f), - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for ZkSyncVerifierCalls { - fn from(value: VerificationKeyHashCall) -> Self { - Self::VerificationKeyHash(value) - } - } - impl ::core::convert::From for ZkSyncVerifierCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - ///Container type for all return fields from the `verificationKeyHash` function with signature `verificationKeyHash()` and selector `0x9e8945d2` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerificationKeyHashReturn { - pub vk_hash: [u8; 32], - } - ///Container type for all return fields from the `verify` function with signature `verify(uint256[],uint256[],uint256[])` and selector `0x87d9d023` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); -} diff --git a/bindings/src/zkb_verifier.rs b/bindings/src/zkb_verifier.rs deleted file mode 100644 index c0a7cb4..0000000 --- a/bindings/src/zkb_verifier.rs +++ /dev/null @@ -1,201 +0,0 @@ -pub use zkb_verifier::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod zkb_verifier { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("verifyProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyProof"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("input"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 5usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[5]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("p"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedArray( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - 8usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[8]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static ZKBVERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\r\xE2\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80chDM\xC7\x14a\x000W[`\0\x80\xFD[a\0\xB0`\x04\x806\x03a\x01\xA0\x81\x10\x15a\0GW`\0\x80\xFD[\x81\x01\x90\x80\x80`\xA0\x01\x90`\x05\x80` \x02`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x82`\x05` \x02\x80\x82\x847`\0\x92\x01\x91\x90\x91RPP`@\x80Qa\x01\0\x81\x81\x01\x90\x92R\x92\x95\x94\x93\x81\x81\x01\x93\x92P\x90`\x08\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x91\x94Pa\0\xC4\x93PPPPV[`@\x80Q\x91\x15\x15\x82RQ\x90\x81\x90\x03` \x01\x90\xF3[`\0\x80[`\x08\x81`\xFF\x16\x10\x15a\x01MW\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x83\x82`\xFF\x16`\x08\x81\x10a\x01\x04W\xFE[` \x02\x01Q\x10a\x01EW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01\x80\x80` \x01\x82\x81\x03\x82R`\"\x81R` \x01\x80a\r\x8B`\"\x919`@\x01\x91PP`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\0\xC8V[Pa\x01Va\x0B\xD8V[`@\x80Q\x80\x82\x01\x82R\x84Q\x81R` \x80\x86\x01Q\x81\x83\x01R\x90\x83R\x81Q`\x80\x80\x82\x01\x84R``\x80\x88\x01Q\x83\x86\x01\x90\x81R\x88\x86\x01Q\x91\x84\x01\x91\x90\x91R\x82R\x83Q\x80\x85\x01\x85R`\xA0\x88\x01Q\x81R\x90\x87\x01Q\x81\x84\x01R\x81\x83\x01R\x83\x82\x01R\x81Q\x80\x83\x01\x83R`\xC0\x86\x01Q\x81R`\xE0\x86\x01Q\x91\x81\x01\x91\x90\x91R\x90\x82\x01Ra\x01\xD6a\x0C\nV[a\x01\xDEa\x035V[\x90Pa\x01\xE8a\x0CQV[`@Q\x80`@\x01`@R\x80`\0\x81R` \x01`\0\x81RP\x90Pa\x02 \x81\x83`\x80\x01Q`\0`\x06\x81\x10a\x02\x16W\xFE[` \x02\x01Qa\x07\xADV[\x90P`\0[`\x05\x81\x10\x15a\x02\xF6W\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01\x87\x82`\x05\x81\x10a\x02[W\xFE[` \x02\x01Q\x10a\x02\xB2W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7Fverifier-gte-snark-scalar-field\0`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x02\xEC\x82a\x02\xE7\x85`\x80\x01Q\x84`\x01\x01`\x06\x81\x10a\x02\xCCW\xFE[` \x02\x01Q\x8A\x85`\x05\x81\x10a\x02\xDDW\xFE[` \x02\x01Qa\x08MV[a\x07\xADV[\x91P`\x01\x01a\x02%V[Pa\x03+a\x03\x07\x84`\0\x01Qa\x08\xD3V[\x84` \x01Q\x84`\0\x01Q\x85` \x01Q\x85\x87`@\x01Q\x89`@\x01Q\x89``\x01Qa\tzV[\x96\x95PPPPPPV[a\x03=a\x0C\nV[`@\x80Q\x80\x82\x01\x82R\x7F&(\x9C\xD8\xAB\xD1\xFA*\x98\xD4c\xC9\x9B,'\xF4\xD9?\xC0\x0E98\r#J\xC12!\xAE\x9B\x04\xA1\x81R\x7F\x0Et\xE5Bm\xB6\xB0{L_\xDE\xB9\xC8E\xCDz\xD2h\xE0\x17\xEC\x85-V\x9C{x\x89\xA1!\xC60` \x80\x83\x01\x91\x90\x91R\x90\x83R\x81Q`\x80\x80\x82\x01\x84R\x7F\x18\x88\xEC\xD7\xB2\xC8\xCF\xEBhz\xD2\xA24\xC8[\x82\x91V\xA80\xE7\xEC\x17\xE8\xF8\xFA6p\x19\x1F\xBB\xD4\x82\x85\x01\x90\x81R\x7F\rJ\x12\xA0\x9A\x90\xD3C\xC5\xBF'\x8D\xACb\xA5\xBB\xDF\xD2>y`\x0F\x91\x99G\x0E\x1D%\xE8q\xD0\xD4``\x80\x85\x01\x91\x90\x91R\x90\x83R\x84Q\x80\x86\x01\x86R\x7F*\t\x1F\xD6\xEB\x11~9OV\xD1r\x80\x02\xCB\xC2\xAC\r\x80\xB1\x81\xA4\xC7e\xDF\x0Em\xF8\xE1\xC8^G\x81R\x7F\x19\x03\xBD:\x84:!\xC3\x0F(\x9C\x0C\x16\x84\x0B\t\xD0Y\xBF|F)\x8CY\xD3\xE3\xF1A\x826~X\x81\x86\x01R\x83\x85\x01R\x85\x84\x01\x92\x90\x92R\x83Q\x80\x82\x01\x85R\x7F\x19\x8E\x93\x93\x92\rH:r`\xBF\xB71\xFB]%\xF1\xAAI35\xA9\xE7\x12\x97\xE4\x85\xB7\xAE\xF3\x12\xC2\x81\x86\x01\x90\x81R\x7F\x18\0\xDE\xEF\x12\x1F\x1EvBj\0f^\\DygC\"\xD4\xF7^\xDA\xDDF\xDE\xBD\\\xD9\x92\xF6\xED\x82\x85\x01R\x81R\x84Q\x80\x86\x01\x86R\x7F\t\x06\x89\xD0X_\xF0u\xEC\x9E\x99\xADi\x0C3\x95\xBCK13p\xB3\x8E\xF3U\xAC\xDA\xDC\xD1\"\x97[\x81R\x7F\x12\xC8^\xA5\xDB\x8Cm\xEBJ\xABq\x80\x8D\xCB@\x8F\xE3\xD1\xE7i\x0CC\xD3{L\xE6\xCC\x01f\xFA}\xAA\x81\x86\x01R\x81\x85\x01R\x85\x85\x01R\x83Q\x80\x82\x01\x85R\x7F(\xBB\x9Bu\xD5\xE8\xB3!Z\x84>\xB2>\xC1\xB5<\"d\xB6\xCC\x1B\xBC\xBBG\xA9\xF7\x0F\"\xCDK\xFB\xD6\x81\x86\x01\x90\x81R\x7F\x10x\xC3\x11\xC3\x95?\xAE/\xFFw4\xCB\xFCb\xC9by\xFC_\xFA(/\xEF\x0E\xA7f\xB7d\xA7\xD4\xAC\x82\x85\x01R\x81R\x84Q\x80\x86\x01\x86R\x7F (\xCE\x02k\xC8=?\xE9\xAB^\xD8\xD8\xB0P.\x1B\xD5\x984\xEB\x1D/\x8D\x8E\xDC\xC8\t\xD6\x9F\xB4\xB7\x81R\x7F\x1A\x02Yd:t\xAA[\xB3\x0E\xB2\xD3\xBF\xEED\x17\xEF\xF3\\n\x95\xE9N\x11\xF5\xF8\xE5\x96]\r>d\x81\x86\x01R\x81\x85\x01R\x82\x86\x01R\x83Q\x80\x85\x01\x85R\x7F\rP\xB8\xCEIs\x18\xB9\x04e\xD6V\xDC\x94B\x82>\x02\xC7\xEC\x85\xAC\xD1\xF6\x952\x9E\xE6P\xFA\x17\xB2\x81R\x7F\x1D5\xAE\xE55\xBEy\x85zb\xE5\x9B\xD7G2\xEB\xA4@\xEB\xF2\xB00\xAE\xC5\xE4\xBD\x01gD\xD6\xC2G\x81\x85\x01R\x81\x86\x01\x80Q\x91\x90\x91R\x84Q\x80\x86\x01\x86R\x7F\x1B\xFB\x0C>'z\xD4en\x83\x86\xC2d\xA1\xEAnt\xF4A\t\xC3\xC5'%_I\x02\xB6n\x04rs\x81R\x7F\r{;\xF0\xD9\x84\x8BS[\xF3G-\xCBs\xEDm\xB7\xD5-\xD0\x7F\xCE\xF7\xBE\xEF\xD5\xFE\xC4d\xD2\x92\\\x81\x86\x01R\x81Q\x85\x01R\x84Q\x80\x86\x01\x86R\x7F\x1C\xCCQ\xAD2\xBB5\x96\xA2v\xC5pU\xC2\xB5\xFD(d+\x8D\xF1>\xB1\xD4\xFA\xE8\x18\xBF\xF1\x91\xF5\xA4\x81R\x7F\x0E\x1E\xA7\")\xEE[U\x05\xD6\x8F\xF7E'\xEF\x8D\xAB; Tw\x8A\xDE\xF5z1\x83T\x8C#\xDAp\x81\x86\x01R\x81Q\x86\x01R\x84Q\x80\x86\x01\x86R\x7F\x1FH\xEE\xE9y\x8D\ts\x87\x14\x18B\xCA\xA4\x9B8\xA8v\xA2;5h\xBB\xC2\xBE\xC8\x9E\xF0\x1E\0.\xD7\x81R\x7F(\xE4H\x93d[d\x13\xB1\x02\xD1\x1C\x96R\x17\xEF#\x1E-}\x8Cn\xF2\xD4\xAE.\xD3\x17{\xA1~k\x81\x86\x01R\x81Q\x90\x93\x01\x92\x90\x92R\x83Q\x80\x85\x01\x85R\x7F\x1EY\xE3Lw\xDD\xF0W\xEF\x1C^4\"E\\G\xB7|\xFA\xF7\xC9\tB\xC6%\x0BB\xCFBV\xCA\x89\x81R\x7F'\xAAn\xC4\x9Du7>\xE3jn\xC3\x12\xD7\xF3\xDC\xE5\x9D\xDB\xB0\xB5\x82~f7\xFE\xB1\xCD\xA9\xFFAj\x81\x85\x01R\x82Q\x90\x91\x01R\x82Q\x80\x84\x01\x90\x93R\x7F\x19\xFEA\x86w\xE7CP>\xD2C\xFBN\xF3\x13\x97m\xD3\x10\xE0sfZ\xBE\xC5b\x14n\xBEhUY\x83R\x7F\x0Cd\xF6\xE1\xA0\xFD\x0E\x0F8`=\xF6\n\x84\xDD\xE2\x99\xD7\x0Ft\xAC\x83H\xD45\xE0r\x02\xCCWs\x9B\x91\x83\x01\x91\x90\x91RQ`\xA0\x01R\x90V[a\x07\xB5a\x0CQV[a\x07\xBDa\x0CkV[\x83Q\x81R` \x80\x85\x01Q\x81\x83\x01R\x83Q`@\x83\x01R\x83\x01Q``\x80\x83\x01\x91\x90\x91R`\0\x90\x83`\xC0\x84`\x06a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xFBWa\x07\xFDV[\xFE[P\x80a\x08EW`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCBXY\x19\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[PP\x92\x91PPV[a\x08Ua\x0CQV[a\x08]a\x0C\x89V[\x83Q\x81R` \x80\x85\x01Q\x90\x82\x01R`@\x81\x01\x83\x90R`\0``\x83`\x80\x84`\x07a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xFBWP\x80a\x08EW`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCB[][\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x08\xDBa\x0CQV[\x81Q\x15\x80\x15a\x08\xECWP` \x82\x01Q\x15[\x15a\t\x0BWP`@\x80Q\x80\x82\x01\x90\x91R`\0\x80\x82R` \x82\x01Ra\tuV[`@Q\x80`@\x01`@R\x80\x83`\0\x01Q\x81R` \x01\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x84` \x01Q\x81a\tMW\xFE[\x06\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x03\x90R\x90P[\x91\x90PV[`\0a\t\x84a\x0C\xA7V[`@Q\x80`\x80\x01`@R\x80\x8B\x81R` \x01\x89\x81R` \x01\x87\x81R` \x01\x85\x81RP\x90Pa\t\xAFa\x0C\xD4V[P`@\x80Q`\x80\x81\x01\x82R\x8A\x81R` \x81\x01\x89\x90R\x80\x82\x01\x87\x90R``\x80\x82\x01\x86\x90R\x82Q`\x18\x80\x82Ra\x03 \x82\x01\x90\x94R\x91\x92\x91\x82\x81` \x01` \x82\x02\x806\x837\x01\x90PP\x90P`\0[`\x04\x81\x10\x15a\x0BQW`\x06\x81\x02\x85\x82`\x04\x81\x10a\n\x13W\xFE[` \x02\x01QQ\x83Q\x84\x90\x83\x90\x81\x10a\n'W\xFE[` \x02` \x01\x01\x81\x81RPP\x85\x82`\x04\x81\x10a\n?W\xFE[` \x02\x01Q` \x01Q\x83\x82`\x01\x01\x81Q\x81\x10a\nWW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\noW\xFE[` \x02\x01QQQ\x83Q\x84\x90`\x02\x84\x01\x90\x81\x10a\n\x87W\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\n\x9FW\xFE[` \x02\x01QQ`\x01` \x02\x01Q\x83\x82`\x03\x01\x81Q\x81\x10a\n\xBBW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\n\xD3W\xFE[` \x02\x01Q` \x01Q`\0`\x02\x81\x10a\n\xE8W\xFE[` \x02\x01Q\x83\x82`\x04\x01\x81Q\x81\x10a\n\xFCW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\x0B\x14W\xFE[` \x02\x01Q` \x01Q`\x01`\x02\x81\x10a\x0B)W\xFE[` \x02\x01Q\x83\x82`\x05\x01\x81Q\x81\x10a\x0B=W\xFE[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x01a\t\xFAV[Pa\x0BZa\r\x01V[`\0` \x82` \x86\x02` \x86\x01`\x08a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xFBWP\x80a\x0B\xC3W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x15`$\x82\x01Rt\x1C\x18Z\\\x9A[\x99\xCB[\xDC\x18\xDB\xD9\x19KY\x98Z[\x19Y`Z\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[PQ\x15\x15\x9D\x9CPPPPPPPPPPPPPV[`@Q\x80``\x01`@R\x80a\x0B\xEBa\x0CQV[\x81R` \x01a\x0B\xF8a\r\x1FV[\x81R` \x01a\x0C\x05a\x0CQV[\x90R\x90V[`@Q\x80`\xA0\x01`@R\x80a\x0C\x1Da\x0CQV[\x81R` \x01a\x0C*a\r\x1FV[\x81R` \x01a\x0C7a\r\x1FV[\x81R` \x01a\x0CDa\r\x1FV[\x81R` \x01a\x0C\x05a\r?V[`@Q\x80`@\x01`@R\x80`\0\x81R` \x01`\0\x81RP\x90V[`@Q\x80`\x80\x01`@R\x80`\x04\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80``\x01`@R\x80`\x03\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`\x80\x01`@R\x80`\x04\x90[a\x0C\xBEa\x0CQV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x0C\xB6W\x90PP\x90V[`@Q\x80`\x80\x01`@R\x80`\x04\x90[a\x0C\xEBa\r\x1FV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x0C\xE3W\x90PP\x90V[`@Q\x80` \x01`@R\x80`\x01\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`@\x01`@R\x80a\r2a\rlV[\x81R` \x01a\x0C\x05a\rlV[`@Q\x80`\xC0\x01`@R\x80`\x06\x90[a\rVa\x0CQV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\rNW\x90PP\x90V[`@Q\x80`@\x01`@R\x80`\x02\x90` \x82\x02\x806\x837P\x91\x92\x91PPV\xFEverifier-proof-element-gte-prime-q\xA2dipfsX\"\x12 \xB4\x86\x8C\xE3[6\xB0\xCD\xBBF\x97\\w\xF3\xBE\x0E\xE2\xD3.\xB3\x9E<\xE9\x18\xFCi\x9E\x9DU\x10\xF7%dsolcC\0\x06\x0C\x003"; - /// The bytecode of the contract. - pub static ZKBVERIFIER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80chDM\xC7\x14a\x000W[`\0\x80\xFD[a\0\xB0`\x04\x806\x03a\x01\xA0\x81\x10\x15a\0GW`\0\x80\xFD[\x81\x01\x90\x80\x80`\xA0\x01\x90`\x05\x80` \x02`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x82`\x05` \x02\x80\x82\x847`\0\x92\x01\x91\x90\x91RPP`@\x80Qa\x01\0\x81\x81\x01\x90\x92R\x92\x95\x94\x93\x81\x81\x01\x93\x92P\x90`\x08\x90\x83\x90\x83\x90\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x91\x94Pa\0\xC4\x93PPPPV[`@\x80Q\x91\x15\x15\x82RQ\x90\x81\x90\x03` \x01\x90\xF3[`\0\x80[`\x08\x81`\xFF\x16\x10\x15a\x01MW\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x83\x82`\xFF\x16`\x08\x81\x10a\x01\x04W\xFE[` \x02\x01Q\x10a\x01EW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01\x80\x80` \x01\x82\x81\x03\x82R`\"\x81R` \x01\x80a\r\x8B`\"\x919`@\x01\x91PP`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\0\xC8V[Pa\x01Va\x0B\xD8V[`@\x80Q\x80\x82\x01\x82R\x84Q\x81R` \x80\x86\x01Q\x81\x83\x01R\x90\x83R\x81Q`\x80\x80\x82\x01\x84R``\x80\x88\x01Q\x83\x86\x01\x90\x81R\x88\x86\x01Q\x91\x84\x01\x91\x90\x91R\x82R\x83Q\x80\x85\x01\x85R`\xA0\x88\x01Q\x81R\x90\x87\x01Q\x81\x84\x01R\x81\x83\x01R\x83\x82\x01R\x81Q\x80\x83\x01\x83R`\xC0\x86\x01Q\x81R`\xE0\x86\x01Q\x91\x81\x01\x91\x90\x91R\x90\x82\x01Ra\x01\xD6a\x0C\nV[a\x01\xDEa\x035V[\x90Pa\x01\xE8a\x0CQV[`@Q\x80`@\x01`@R\x80`\0\x81R` \x01`\0\x81RP\x90Pa\x02 \x81\x83`\x80\x01Q`\0`\x06\x81\x10a\x02\x16W\xFE[` \x02\x01Qa\x07\xADV[\x90P`\0[`\x05\x81\x10\x15a\x02\xF6W\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01\x87\x82`\x05\x81\x10a\x02[W\xFE[` \x02\x01Q\x10a\x02\xB2W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7Fverifier-gte-snark-scalar-field\0`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x02\xEC\x82a\x02\xE7\x85`\x80\x01Q\x84`\x01\x01`\x06\x81\x10a\x02\xCCW\xFE[` \x02\x01Q\x8A\x85`\x05\x81\x10a\x02\xDDW\xFE[` \x02\x01Qa\x08MV[a\x07\xADV[\x91P`\x01\x01a\x02%V[Pa\x03+a\x03\x07\x84`\0\x01Qa\x08\xD3V[\x84` \x01Q\x84`\0\x01Q\x85` \x01Q\x85\x87`@\x01Q\x89`@\x01Q\x89``\x01Qa\tzV[\x96\x95PPPPPPV[a\x03=a\x0C\nV[`@\x80Q\x80\x82\x01\x82R\x7F&(\x9C\xD8\xAB\xD1\xFA*\x98\xD4c\xC9\x9B,'\xF4\xD9?\xC0\x0E98\r#J\xC12!\xAE\x9B\x04\xA1\x81R\x7F\x0Et\xE5Bm\xB6\xB0{L_\xDE\xB9\xC8E\xCDz\xD2h\xE0\x17\xEC\x85-V\x9C{x\x89\xA1!\xC60` \x80\x83\x01\x91\x90\x91R\x90\x83R\x81Q`\x80\x80\x82\x01\x84R\x7F\x18\x88\xEC\xD7\xB2\xC8\xCF\xEBhz\xD2\xA24\xC8[\x82\x91V\xA80\xE7\xEC\x17\xE8\xF8\xFA6p\x19\x1F\xBB\xD4\x82\x85\x01\x90\x81R\x7F\rJ\x12\xA0\x9A\x90\xD3C\xC5\xBF'\x8D\xACb\xA5\xBB\xDF\xD2>y`\x0F\x91\x99G\x0E\x1D%\xE8q\xD0\xD4``\x80\x85\x01\x91\x90\x91R\x90\x83R\x84Q\x80\x86\x01\x86R\x7F*\t\x1F\xD6\xEB\x11~9OV\xD1r\x80\x02\xCB\xC2\xAC\r\x80\xB1\x81\xA4\xC7e\xDF\x0Em\xF8\xE1\xC8^G\x81R\x7F\x19\x03\xBD:\x84:!\xC3\x0F(\x9C\x0C\x16\x84\x0B\t\xD0Y\xBF|F)\x8CY\xD3\xE3\xF1A\x826~X\x81\x86\x01R\x83\x85\x01R\x85\x84\x01\x92\x90\x92R\x83Q\x80\x82\x01\x85R\x7F\x19\x8E\x93\x93\x92\rH:r`\xBF\xB71\xFB]%\xF1\xAAI35\xA9\xE7\x12\x97\xE4\x85\xB7\xAE\xF3\x12\xC2\x81\x86\x01\x90\x81R\x7F\x18\0\xDE\xEF\x12\x1F\x1EvBj\0f^\\DygC\"\xD4\xF7^\xDA\xDDF\xDE\xBD\\\xD9\x92\xF6\xED\x82\x85\x01R\x81R\x84Q\x80\x86\x01\x86R\x7F\t\x06\x89\xD0X_\xF0u\xEC\x9E\x99\xADi\x0C3\x95\xBCK13p\xB3\x8E\xF3U\xAC\xDA\xDC\xD1\"\x97[\x81R\x7F\x12\xC8^\xA5\xDB\x8Cm\xEBJ\xABq\x80\x8D\xCB@\x8F\xE3\xD1\xE7i\x0CC\xD3{L\xE6\xCC\x01f\xFA}\xAA\x81\x86\x01R\x81\x85\x01R\x85\x85\x01R\x83Q\x80\x82\x01\x85R\x7F(\xBB\x9Bu\xD5\xE8\xB3!Z\x84>\xB2>\xC1\xB5<\"d\xB6\xCC\x1B\xBC\xBBG\xA9\xF7\x0F\"\xCDK\xFB\xD6\x81\x86\x01\x90\x81R\x7F\x10x\xC3\x11\xC3\x95?\xAE/\xFFw4\xCB\xFCb\xC9by\xFC_\xFA(/\xEF\x0E\xA7f\xB7d\xA7\xD4\xAC\x82\x85\x01R\x81R\x84Q\x80\x86\x01\x86R\x7F (\xCE\x02k\xC8=?\xE9\xAB^\xD8\xD8\xB0P.\x1B\xD5\x984\xEB\x1D/\x8D\x8E\xDC\xC8\t\xD6\x9F\xB4\xB7\x81R\x7F\x1A\x02Yd:t\xAA[\xB3\x0E\xB2\xD3\xBF\xEED\x17\xEF\xF3\\n\x95\xE9N\x11\xF5\xF8\xE5\x96]\r>d\x81\x86\x01R\x81\x85\x01R\x82\x86\x01R\x83Q\x80\x85\x01\x85R\x7F\rP\xB8\xCEIs\x18\xB9\x04e\xD6V\xDC\x94B\x82>\x02\xC7\xEC\x85\xAC\xD1\xF6\x952\x9E\xE6P\xFA\x17\xB2\x81R\x7F\x1D5\xAE\xE55\xBEy\x85zb\xE5\x9B\xD7G2\xEB\xA4@\xEB\xF2\xB00\xAE\xC5\xE4\xBD\x01gD\xD6\xC2G\x81\x85\x01R\x81\x86\x01\x80Q\x91\x90\x91R\x84Q\x80\x86\x01\x86R\x7F\x1B\xFB\x0C>'z\xD4en\x83\x86\xC2d\xA1\xEAnt\xF4A\t\xC3\xC5'%_I\x02\xB6n\x04rs\x81R\x7F\r{;\xF0\xD9\x84\x8BS[\xF3G-\xCBs\xEDm\xB7\xD5-\xD0\x7F\xCE\xF7\xBE\xEF\xD5\xFE\xC4d\xD2\x92\\\x81\x86\x01R\x81Q\x85\x01R\x84Q\x80\x86\x01\x86R\x7F\x1C\xCCQ\xAD2\xBB5\x96\xA2v\xC5pU\xC2\xB5\xFD(d+\x8D\xF1>\xB1\xD4\xFA\xE8\x18\xBF\xF1\x91\xF5\xA4\x81R\x7F\x0E\x1E\xA7\")\xEE[U\x05\xD6\x8F\xF7E'\xEF\x8D\xAB; Tw\x8A\xDE\xF5z1\x83T\x8C#\xDAp\x81\x86\x01R\x81Q\x86\x01R\x84Q\x80\x86\x01\x86R\x7F\x1FH\xEE\xE9y\x8D\ts\x87\x14\x18B\xCA\xA4\x9B8\xA8v\xA2;5h\xBB\xC2\xBE\xC8\x9E\xF0\x1E\0.\xD7\x81R\x7F(\xE4H\x93d[d\x13\xB1\x02\xD1\x1C\x96R\x17\xEF#\x1E-}\x8Cn\xF2\xD4\xAE.\xD3\x17{\xA1~k\x81\x86\x01R\x81Q\x90\x93\x01\x92\x90\x92R\x83Q\x80\x85\x01\x85R\x7F\x1EY\xE3Lw\xDD\xF0W\xEF\x1C^4\"E\\G\xB7|\xFA\xF7\xC9\tB\xC6%\x0BB\xCFBV\xCA\x89\x81R\x7F'\xAAn\xC4\x9Du7>\xE3jn\xC3\x12\xD7\xF3\xDC\xE5\x9D\xDB\xB0\xB5\x82~f7\xFE\xB1\xCD\xA9\xFFAj\x81\x85\x01R\x82Q\x90\x91\x01R\x82Q\x80\x84\x01\x90\x93R\x7F\x19\xFEA\x86w\xE7CP>\xD2C\xFBN\xF3\x13\x97m\xD3\x10\xE0sfZ\xBE\xC5b\x14n\xBEhUY\x83R\x7F\x0Cd\xF6\xE1\xA0\xFD\x0E\x0F8`=\xF6\n\x84\xDD\xE2\x99\xD7\x0Ft\xAC\x83H\xD45\xE0r\x02\xCCWs\x9B\x91\x83\x01\x91\x90\x91RQ`\xA0\x01R\x90V[a\x07\xB5a\x0CQV[a\x07\xBDa\x0CkV[\x83Q\x81R` \x80\x85\x01Q\x81\x83\x01R\x83Q`@\x83\x01R\x83\x01Q``\x80\x83\x01\x91\x90\x91R`\0\x90\x83`\xC0\x84`\x06a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xFBWa\x07\xFDV[\xFE[P\x80a\x08EW`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCBXY\x19\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[PP\x92\x91PPV[a\x08Ua\x0CQV[a\x08]a\x0C\x89V[\x83Q\x81R` \x80\x85\x01Q\x90\x82\x01R`@\x81\x01\x83\x90R`\0``\x83`\x80\x84`\x07a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xFBWP\x80a\x08EW`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x12`$\x82\x01Rq\x1C\x18Z\\\x9A[\x99\xCB[][\x0BY\x98Z[\x19Y`r\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[a\x08\xDBa\x0CQV[\x81Q\x15\x80\x15a\x08\xECWP` \x82\x01Q\x15[\x15a\t\x0BWP`@\x80Q\x80\x82\x01\x90\x91R`\0\x80\x82R` \x82\x01Ra\tuV[`@Q\x80`@\x01`@R\x80\x83`\0\x01Q\x81R` \x01\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x84` \x01Q\x81a\tMW\xFE[\x06\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x03\x90R\x90P[\x91\x90PV[`\0a\t\x84a\x0C\xA7V[`@Q\x80`\x80\x01`@R\x80\x8B\x81R` \x01\x89\x81R` \x01\x87\x81R` \x01\x85\x81RP\x90Pa\t\xAFa\x0C\xD4V[P`@\x80Q`\x80\x81\x01\x82R\x8A\x81R` \x81\x01\x89\x90R\x80\x82\x01\x87\x90R``\x80\x82\x01\x86\x90R\x82Q`\x18\x80\x82Ra\x03 \x82\x01\x90\x94R\x91\x92\x91\x82\x81` \x01` \x82\x02\x806\x837\x01\x90PP\x90P`\0[`\x04\x81\x10\x15a\x0BQW`\x06\x81\x02\x85\x82`\x04\x81\x10a\n\x13W\xFE[` \x02\x01QQ\x83Q\x84\x90\x83\x90\x81\x10a\n'W\xFE[` \x02` \x01\x01\x81\x81RPP\x85\x82`\x04\x81\x10a\n?W\xFE[` \x02\x01Q` \x01Q\x83\x82`\x01\x01\x81Q\x81\x10a\nWW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\noW\xFE[` \x02\x01QQQ\x83Q\x84\x90`\x02\x84\x01\x90\x81\x10a\n\x87W\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\n\x9FW\xFE[` \x02\x01QQ`\x01` \x02\x01Q\x83\x82`\x03\x01\x81Q\x81\x10a\n\xBBW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\n\xD3W\xFE[` \x02\x01Q` \x01Q`\0`\x02\x81\x10a\n\xE8W\xFE[` \x02\x01Q\x83\x82`\x04\x01\x81Q\x81\x10a\n\xFCW\xFE[` \x02` \x01\x01\x81\x81RPP\x84\x82`\x04\x81\x10a\x0B\x14W\xFE[` \x02\x01Q` \x01Q`\x01`\x02\x81\x10a\x0B)W\xFE[` \x02\x01Q\x83\x82`\x05\x01\x81Q\x81\x10a\x0B=W\xFE[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x01a\t\xFAV[Pa\x0BZa\r\x01V[`\0` \x82` \x86\x02` \x86\x01`\x08a\x07\xD0Z\x03\xFA\x90P\x80\x80\x15a\x07\xFBWP\x80a\x0B\xC3W`@\x80QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x15`$\x82\x01Rt\x1C\x18Z\\\x9A[\x99\xCB[\xDC\x18\xDB\xD9\x19KY\x98Z[\x19Y`Z\x1B`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xFD[PQ\x15\x15\x9D\x9CPPPPPPPPPPPPPV[`@Q\x80``\x01`@R\x80a\x0B\xEBa\x0CQV[\x81R` \x01a\x0B\xF8a\r\x1FV[\x81R` \x01a\x0C\x05a\x0CQV[\x90R\x90V[`@Q\x80`\xA0\x01`@R\x80a\x0C\x1Da\x0CQV[\x81R` \x01a\x0C*a\r\x1FV[\x81R` \x01a\x0C7a\r\x1FV[\x81R` \x01a\x0CDa\r\x1FV[\x81R` \x01a\x0C\x05a\r?V[`@Q\x80`@\x01`@R\x80`\0\x81R` \x01`\0\x81RP\x90V[`@Q\x80`\x80\x01`@R\x80`\x04\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80``\x01`@R\x80`\x03\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`\x80\x01`@R\x80`\x04\x90[a\x0C\xBEa\x0CQV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x0C\xB6W\x90PP\x90V[`@Q\x80`\x80\x01`@R\x80`\x04\x90[a\x0C\xEBa\r\x1FV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x0C\xE3W\x90PP\x90V[`@Q\x80` \x01`@R\x80`\x01\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`@\x01`@R\x80a\r2a\rlV[\x81R` \x01a\x0C\x05a\rlV[`@Q\x80`\xC0\x01`@R\x80`\x06\x90[a\rVa\x0CQV[\x81R` \x01\x90`\x01\x90\x03\x90\x81a\rNW\x90PP\x90V[`@Q\x80`@\x01`@R\x80`\x02\x90` \x82\x02\x806\x837P\x91\x92\x91PPV\xFEverifier-proof-element-gte-prime-q\xA2dipfsX\"\x12 \xB4\x86\x8C\xE3[6\xB0\xCD\xBBF\x97\\w\xF3\xBE\x0E\xE2\xD3.\xB3\x9E<\xE9\x18\xFCi\x9E\x9DU\x10\xF7%dsolcC\0\x06\x0C\x003"; - /// The deployed bytecode of the contract. - pub static ZKBVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct ZkbVerifier(::ethers::contract::Contract); - impl ::core::clone::Clone for ZkbVerifier { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for ZkbVerifier { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for ZkbVerifier { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for ZkbVerifier { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(ZkbVerifier)) - .field(&self.address()) - .finish() - } - } - impl ZkbVerifier { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ZKBVERIFIER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - ZKBVERIFIER_ABI.clone(), - ZKBVERIFIER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `verifyProof` (0x68444dc7) function - pub fn verify_proof( - &self, - input: [::ethers::core::types::U256; 5], - p: [::ethers::core::types::U256; 8], - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([104, 68, 77, 199], (input, p)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> for ZkbVerifier { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `verifyProof` function with signature `verifyProof(uint256[5],uint256[8])` and selector `0x68444dc7` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verifyProof", abi = "verifyProof(uint256[5],uint256[8])")] - pub struct VerifyProofCall { - pub input: [::ethers::core::types::U256; 5], - pub p: [::ethers::core::types::U256; 8], - } - ///Container type for all return fields from the `verifyProof` function with signature `verifyProof(uint256[5],uint256[8])` and selector `0x68444dc7` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyProofReturn(pub bool); -} diff --git a/bindings/src/zksync_verifier_wrapper.rs b/bindings/src/zksync_verifier_wrapper.rs deleted file mode 100644 index 9ff5fb9..0000000 --- a/bindings/src/zksync_verifier_wrapper.rs +++ /dev/null @@ -1,669 +0,0 @@ -pub use zksync_verifier_wrapper::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod zksync_verifier_wrapper { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_iverifier"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract i_zksync_verifier",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_sampleInput"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_sampleProof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - }), - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("checkSampleInputsAndProof",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("iverifier"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("iverifier"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract i_zksync_verifier",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleInput"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleInput"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("sampleProof"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("sampleProof"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verify"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verify"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("encodedData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyAgainstSampleInputs",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("encodedProof"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("verifyInputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("verifyInputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("inputs"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static ZKSYNC_VERIFIER_WRAPPER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x11\xF68\x03\x80b\0\x11\xF6\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x03WV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\x80R`\0b\0\0O\x83\x82b\0\x04rV[P`\x01b\0\0^\x82\x82b\0\x04rV[Pb\0\0ib\0\0\xB7V[b\0\0\xAEW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x11`$\x82\x01Rp\x10\xD8[\x89\xDD\x08\x18\x99H\x19\x19\\\x1B\x1B\xDEYY`z\x1B`D\x82\x01R`d\x01`@Q\x80\x91\x03\x90\xFD[PPPb\0\x08BV[`\0b\0\x01W`\x01\x80Tb\0\0\xCC\x90b\0\x03\xE1V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\0\xFA\x90b\0\x03\xE1V[\x80\x15b\0\x01KW\x80`\x1F\x10b\0\x01\x1FWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x01KV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x01-W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPb\0\x01\\\x92PPPV[\x90P\x90V[`\0\x80`\0\x83`@Q` \x01b\0\x01u\x92\x91\x90b\0\x05lV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x90Pb\0\x01\x92\x81b\0\x01\x99V[\x93\x92PPPV[`\0```\0\x80\x84\x80` \x01\x90Q\x81\x01\x90b\0\x01\xB6\x91\x90b\0\x06\x18V[\x91P\x91P\x81\x80` \x01\x90Q\x81\x01\x90b\0\x01\xD0\x91\x90b\0\x06\xFFV[\x92P``\x80\x82\x80` \x01\x90Q\x81\x01\x90b\0\x01\xEB\x91\x90b\0\x077V[`\x80Q`@Qc\x87\xD9\xD0#`\xE0\x1B\x81R\x92\x94P\x90\x92P`\x01`\x01`\xA0\x1B\x03\x16\x90c\x87\xD9\xD0#\x90b\0\x02%\x90\x88\x90\x86\x90\x86\x90`\x04\x01b\0\x07\xD5V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x02CW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x02i\x91\x90b\0\x08\x1EV[\x97\x96PPPPPPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x02\xB5Wb\0\x02\xB5b\0\x02tV[`@R\x91\x90PV[`\0[\x83\x81\x10\x15b\0\x02\xDAW\x81\x81\x01Q\x83\x82\x01R` \x01b\0\x02\xC0V[PP`\0\x91\x01RV[`\0\x82`\x1F\x83\x01\x12b\0\x02\xF5W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x03\x11Wb\0\x03\x11b\0\x02tV[b\0\x03&`\x1F\x82\x01`\x1F\x19\x16` \x01b\0\x02\x8AV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15b\0\x03V[\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15b\0\x06,W`\0\x80\xFD[\x82Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x06DW`\0\x80\xFD[b\0\x06R\x86\x83\x87\x01b\0\x02\xE3V[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15b\0\x06iW`\0\x80\xFD[Pb\0\x06x\x85\x82\x86\x01b\0\x02\xE3V[\x91PP\x92P\x92\x90PV[`\0\x82`\x1F\x83\x01\x12b\0\x06\x94W`\0\x80\xFD[\x81Q` `\x01`\x01`@\x1B\x03\x82\x11\x15b\0\x06\xB2Wb\0\x06\xB2b\0\x02tV[\x81`\x05\x1Bb\0\x06\xC3\x82\x82\x01b\0\x02\x8AV[\x92\x83R\x84\x81\x01\x82\x01\x92\x82\x81\x01\x90\x87\x85\x11\x15b\0\x06\xDEW`\0\x80\xFD[\x83\x87\x01\x92P[\x84\x83\x10\x15b\0\x02iW\x82Q\x82R\x91\x83\x01\x91\x90\x83\x01\x90b\0\x06\xE4V[`\0` \x82\x84\x03\x12\x15b\0\x07\x12W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x07)W`\0\x80\xFD[b\0\x03O\x84\x82\x85\x01b\0\x06\x82V[`\0\x80`@\x83\x85\x03\x12\x15b\0\x07KW`\0\x80\xFD[\x82Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x07cW`\0\x80\xFD[b\0\x07q\x86\x83\x87\x01b\0\x06\x82V[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15b\0\x07\x88W`\0\x80\xFD[Pb\0\x06x\x85\x82\x86\x01b\0\x06\x82V[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15b\0\x07\xCAW\x81Q\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01b\0\x07\xACV[P\x94\x95\x94PPPPPV[``\x81R`\0b\0\x07\xEA``\x83\x01\x86b\0\x07\x97V[\x82\x81\x03` \x84\x01Rb\0\x07\xFE\x81\x86b\0\x07\x97V[\x90P\x82\x81\x03`@\x84\x01Rb\0\x08\x14\x81\x85b\0\x07\x97V[\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15b\0\x081W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14b\0\x01\x92W`\0\x80\xFD[`\x80Qa\t\x92b\0\x08d`\09`\0\x81\x81`\xFA\x01Ra\x02\xFC\x01Ra\t\x92`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0}W`\x005`\xE0\x1C\x80c\x8Ev\n\xFE\x11a\0[W\x80c\x8Ev\n\xFE\x14a\0\xC7W\x80c\xA6\xDF\xBC\x7F\x14a\0\xDAW\x80c\xA7l\x05Q\x14a\0\xEDW\x80c\xE7\xF5\xB8\x1D\x14a\0\xF5W`\0\x80\xFD[\x80c\x02\xF7}\x19\x14a\0\x82W\x80c\x10\xA5By\x14a\0\xAAW\x80c}\x8A\xD4+\x14a\0\xB2W[`\0\x80\xFD[a\0\x95a\0\x906`\x04a\x04\x15V[a\x014V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\x95a\x01lV[a\0\xBAa\x02\x06V[`@Qa\0\xA1\x91\x90a\x04\xE5V[a\0\x95a\0\xD56`\x04a\x04\x15V[a\x02\x94V[a\0\x95a\0\xE86`\x04a\x04\xF8V[a\x03\x81V[a\0\xBAa\x03\x99V[a\x01\x1C\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xA1V[`\0\x80`\0\x83`@Q` \x01a\x01K\x92\x91\x90a\x05\xA4V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x01e\x81a\x02\x94V[\x93\x92PPPV[`\0a\x02\x01`\x01\x80Ta\x01~\x90a\x05jV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xAA\x90a\x05jV[\x80\x15a\x01\xF7W\x80`\x1F\x10a\x01\xCCWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x01\xF7V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xDAW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPa\x014V[\x90P\x90V[`\0\x80Ta\x02\x13\x90a\x05jV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02?\x90a\x05jV[\x80\x15a\x02\x8CW\x80`\x1F\x10a\x02aWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x8CV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02oW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\0```\0\x80\x84\x80` \x01\x90Q\x81\x01\x90a\x02\xAF\x91\x90a\x06\xB4V[\x91P\x91P\x81\x80` \x01\x90Q\x81\x01\x90a\x02\xC7\x91\x90a\x07\xA6V[\x92P``\x80\x82\x80` \x01\x90Q\x81\x01\x90a\x02\xE0\x91\x90a\x07\xDBV[`@Qc\x87\xD9\xD0#`\xE0\x1B\x81R\x91\x93P\x91P`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x87\xD9\xD0#\x90a\x035\x90\x88\x90\x86\x90\x86\x90`\x04\x01a\x08qV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03RW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03v\x91\x90a\x08\xB4V[\x97\x96PPPPPPPV[`\0a\x03\x8F\x82\x84\x01\x84a\x08\xD6V[P`\x01\x93\x92PPPV[`\x01\x80Ta\x02\x13\x90a\x05jV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xE5Wa\x03\xE5a\x03\xA6V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04\x07Wa\x04\x07a\x03\xA6V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0` \x82\x84\x03\x12\x15a\x04'W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04>W`\0\x80\xFD[\x82\x01`\x1F\x81\x01\x84\x13a\x04OW`\0\x80\xFD[\x805a\x04ba\x04]\x82a\x03\xEDV[a\x03\xBCV[\x81\x81R\x85` \x83\x85\x01\x01\x11\x15a\x04wW`\0\x80\xFD[\x81` \x84\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x94\x93PPPPV[`\0[\x83\x81\x10\x15a\x04\xB0W\x81\x81\x01Q\x83\x82\x01R` \x01a\x04\x98V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x04\xD1\x81` \x86\x01` \x86\x01a\x04\x95V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x01e` \x83\x01\x84a\x04\xB9V[`\0\x80` \x83\x85\x03\x12\x15a\x05\x0BW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05#W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x057W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x05FW`\0\x80\xFD[\x86` \x82\x85\x01\x01\x11\x15a\x05XW`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x05~W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x05\x9EWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`@\x81R`\0\x80\x84T\x81`\x01\x82`\x01\x1C\x91P`\x01\x83\x16\x80a\x05\xC6W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x05\xE5WcNH{q`\xE0\x1B\x86R`\"`\x04R`$\x86\xFD[`@\x88\x01\x84\x90R``\x88\x01\x82\x80\x15a\x06\x04W`\x01\x81\x14a\x06\x1AWa\x06EV[`\xFF\x19\x87\x16\x82R\x85\x15\x15`\x05\x1B\x82\x01\x97Pa\x06EV[`\0\x8C\x81R` \x90 `\0[\x87\x81\x10\x15a\x06?W\x81T\x84\x82\x01R\x90\x86\x01\x90\x84\x01a\x06&V[\x83\x01\x98PP[PPPPPPP\x82\x81\x03` \x84\x01Ra\x06^\x81\x85a\x04\xB9V[\x95\x94PPPPPV[`\0\x82`\x1F\x83\x01\x12a\x06xW`\0\x80\xFD[\x81Qa\x06\x86a\x04]\x82a\x03\xEDV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06\x9BW`\0\x80\xFD[a\x06\xAC\x82` \x83\x01` \x87\x01a\x04\x95V[\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x06\xC7W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x06\xDFW`\0\x80\xFD[a\x06\xEB\x86\x83\x87\x01a\x06gV[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a\x07\x01W`\0\x80\xFD[Pa\x07\x0E\x85\x82\x86\x01a\x06gV[\x91PP\x92P\x92\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x072Wa\x072a\x03\xA6V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x07MW`\0\x80\xFD[\x81Q` a\x07]a\x04]\x83a\x07\x18V[\x80\x83\x82R` \x82\x01\x91P` \x84`\x05\x1B\x87\x01\x01\x93P\x86\x84\x11\x15a\x07\x7FW`\0\x80\xFD[` \x86\x01[\x84\x81\x10\x15a\x07\x9BW\x80Q\x83R\x91\x83\x01\x91\x83\x01a\x07\x84V[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a\x07\xB8W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x07\xCFW`\0\x80\xFD[a\x06\xAC\x84\x82\x85\x01a\x07W`\0\x80\xFD[\x92\x84\x01\x92[\x82\x84\x10\x15a\x03vW\x835\x82R\x92\x84\x01\x92\x90\x84\x01\x90a\tCV\xFE\xA2dipfsX\"\x12 4I\xD3\x9A\xDD/\x19\xA2\xFC\0\x12\xEE\x8A\xB1\x0BLy;Z\xFAV\x19\xE1\xB5b3\xB5\x94\xB6\xE9\xEA{dsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static ZKSYNC_VERIFIER_WRAPPER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0}W`\x005`\xE0\x1C\x80c\x8Ev\n\xFE\x11a\0[W\x80c\x8Ev\n\xFE\x14a\0\xC7W\x80c\xA6\xDF\xBC\x7F\x14a\0\xDAW\x80c\xA7l\x05Q\x14a\0\xEDW\x80c\xE7\xF5\xB8\x1D\x14a\0\xF5W`\0\x80\xFD[\x80c\x02\xF7}\x19\x14a\0\x82W\x80c\x10\xA5By\x14a\0\xAAW\x80c}\x8A\xD4+\x14a\0\xB2W[`\0\x80\xFD[a\0\x95a\0\x906`\x04a\x04\x15V[a\x014V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\x95a\x01lV[a\0\xBAa\x02\x06V[`@Qa\0\xA1\x91\x90a\x04\xE5V[a\0\x95a\0\xD56`\x04a\x04\x15V[a\x02\x94V[a\0\x95a\0\xE86`\x04a\x04\xF8V[a\x03\x81V[a\0\xBAa\x03\x99V[a\x01\x1C\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0\xA1V[`\0\x80`\0\x83`@Q` \x01a\x01K\x92\x91\x90a\x05\xA4V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90Pa\x01e\x81a\x02\x94V[\x93\x92PPPV[`\0a\x02\x01`\x01\x80Ta\x01~\x90a\x05jV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xAA\x90a\x05jV[\x80\x15a\x01\xF7W\x80`\x1F\x10a\x01\xCCWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x01\xF7V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xDAW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPPa\x014V[\x90P\x90V[`\0\x80Ta\x02\x13\x90a\x05jV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02?\x90a\x05jV[\x80\x15a\x02\x8CW\x80`\x1F\x10a\x02aWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x8CV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02oW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\0```\0\x80\x84\x80` \x01\x90Q\x81\x01\x90a\x02\xAF\x91\x90a\x06\xB4V[\x91P\x91P\x81\x80` \x01\x90Q\x81\x01\x90a\x02\xC7\x91\x90a\x07\xA6V[\x92P``\x80\x82\x80` \x01\x90Q\x81\x01\x90a\x02\xE0\x91\x90a\x07\xDBV[`@Qc\x87\xD9\xD0#`\xE0\x1B\x81R\x91\x93P\x91P`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x87\xD9\xD0#\x90a\x035\x90\x88\x90\x86\x90\x86\x90`\x04\x01a\x08qV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03RW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03v\x91\x90a\x08\xB4V[\x97\x96PPPPPPPV[`\0a\x03\x8F\x82\x84\x01\x84a\x08\xD6V[P`\x01\x93\x92PPPV[`\x01\x80Ta\x02\x13\x90a\x05jV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xE5Wa\x03\xE5a\x03\xA6V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04\x07Wa\x04\x07a\x03\xA6V[P`\x1F\x01`\x1F\x19\x16` \x01\x90V[`\0` \x82\x84\x03\x12\x15a\x04'W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04>W`\0\x80\xFD[\x82\x01`\x1F\x81\x01\x84\x13a\x04OW`\0\x80\xFD[\x805a\x04ba\x04]\x82a\x03\xEDV[a\x03\xBCV[\x81\x81R\x85` \x83\x85\x01\x01\x11\x15a\x04wW`\0\x80\xFD[\x81` \x84\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x94\x93PPPPV[`\0[\x83\x81\x10\x15a\x04\xB0W\x81\x81\x01Q\x83\x82\x01R` \x01a\x04\x98V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x04\xD1\x81` \x86\x01` \x86\x01a\x04\x95V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x01e` \x83\x01\x84a\x04\xB9V[`\0\x80` \x83\x85\x03\x12\x15a\x05\x0BW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05#W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x057W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x05FW`\0\x80\xFD[\x86` \x82\x85\x01\x01\x11\x15a\x05XW`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x05~W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x05\x9EWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`@\x81R`\0\x80\x84T\x81`\x01\x82`\x01\x1C\x91P`\x01\x83\x16\x80a\x05\xC6W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x05\xE5WcNH{q`\xE0\x1B\x86R`\"`\x04R`$\x86\xFD[`@\x88\x01\x84\x90R``\x88\x01\x82\x80\x15a\x06\x04W`\x01\x81\x14a\x06\x1AWa\x06EV[`\xFF\x19\x87\x16\x82R\x85\x15\x15`\x05\x1B\x82\x01\x97Pa\x06EV[`\0\x8C\x81R` \x90 `\0[\x87\x81\x10\x15a\x06?W\x81T\x84\x82\x01R\x90\x86\x01\x90\x84\x01a\x06&V[\x83\x01\x98PP[PPPPPPP\x82\x81\x03` \x84\x01Ra\x06^\x81\x85a\x04\xB9V[\x95\x94PPPPPV[`\0\x82`\x1F\x83\x01\x12a\x06xW`\0\x80\xFD[\x81Qa\x06\x86a\x04]\x82a\x03\xEDV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06\x9BW`\0\x80\xFD[a\x06\xAC\x82` \x83\x01` \x87\x01a\x04\x95V[\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x06\xC7W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x06\xDFW`\0\x80\xFD[a\x06\xEB\x86\x83\x87\x01a\x06gV[\x93P` \x85\x01Q\x91P\x80\x82\x11\x15a\x07\x01W`\0\x80\xFD[Pa\x07\x0E\x85\x82\x86\x01a\x06gV[\x91PP\x92P\x92\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x072Wa\x072a\x03\xA6V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x07MW`\0\x80\xFD[\x81Q` a\x07]a\x04]\x83a\x07\x18V[\x80\x83\x82R` \x82\x01\x91P` \x84`\x05\x1B\x87\x01\x01\x93P\x86\x84\x11\x15a\x07\x7FW`\0\x80\xFD[` \x86\x01[\x84\x81\x10\x15a\x07\x9BW\x80Q\x83R\x91\x83\x01\x91\x83\x01a\x07\x84V[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a\x07\xB8W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x07\xCFW`\0\x80\xFD[a\x06\xAC\x84\x82\x85\x01a\x07W`\0\x80\xFD[\x92\x84\x01\x92[\x82\x84\x10\x15a\x03vW\x835\x82R\x92\x84\x01\x92\x90\x84\x01\x90a\tCV\xFE\xA2dipfsX\"\x12 4I\xD3\x9A\xDD/\x19\xA2\xFC\0\x12\xEE\x8A\xB1\x0BLy;Z\xFAV\x19\xE1\xB5b3\xB5\x94\xB6\xE9\xEA{dsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static ZKSYNC_VERIFIER_WRAPPER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct zksync_verifier_wrapper(::ethers::contract::Contract); - impl ::core::clone::Clone for zksync_verifier_wrapper { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for zksync_verifier_wrapper { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for zksync_verifier_wrapper { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for zksync_verifier_wrapper { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(zksync_verifier_wrapper)) - .field(&self.address()) - .finish() - } - } - impl zksync_verifier_wrapper { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ZKSYNC_VERIFIER_WRAPPER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - ZKSYNC_VERIFIER_WRAPPER_ABI.clone(), - ZKSYNC_VERIFIER_WRAPPER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `checkSampleInputsAndProof` (0x10a54279) function - pub fn check_sample_inputs_and_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([16, 165, 66, 121], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `iverifier` (0xe7f5b81d) function - pub fn iverifier( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([231, 245, 184, 29], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleInput` (0x7d8ad42b) function - pub fn sample_input( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([125, 138, 212, 43], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `sampleProof` (0xa76c0551) function - pub fn sample_proof( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([167, 108, 5, 81], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verify` (0x8e760afe) function - pub fn verify( - &self, - encoded_data: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([142, 118, 10, 254], encoded_data) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyAgainstSampleInputs` (0x02f77d19) function - pub fn verify_against_sample_inputs( - &self, - encoded_proof: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([2, 247, 125, 25], encoded_proof) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `verifyInputs` (0xa6dfbc7f) function - pub fn verify_inputs( - &self, - inputs: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([166, 223, 188, 127], inputs) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for zksync_verifier_wrapper - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "checkSampleInputsAndProof", - abi = "checkSampleInputsAndProof()" - )] - pub struct CheckSampleInputsAndProofCall; - ///Container type for all input parameters for the `iverifier` function with signature `iverifier()` and selector `0xe7f5b81d` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "iverifier", abi = "iverifier()")] - pub struct IverifierCall; - ///Container type for all input parameters for the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleInput", abi = "sampleInput()")] - pub struct SampleInputCall; - ///Container type for all input parameters for the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "sampleProof", abi = "sampleProof()")] - pub struct SampleProofCall; - ///Container type for all input parameters for the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verify", abi = "verify(bytes)")] - pub struct VerifyCall { - pub encoded_data: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "verifyAgainstSampleInputs", - abi = "verifyAgainstSampleInputs(bytes)" - )] - pub struct VerifyAgainstSampleInputsCall { - pub encoded_proof: ::ethers::core::types::Bytes, - } - ///Container type for all input parameters for the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "verifyInputs", abi = "verifyInputs(bytes)")] - pub struct VerifyInputsCall { - pub inputs: ::ethers::core::types::Bytes, - } - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash, - )] - pub enum zksync_verifier_wrapperCalls { - CheckSampleInputsAndProof(CheckSampleInputsAndProofCall), - Iverifier(IverifierCall), - SampleInput(SampleInputCall), - SampleProof(SampleProofCall), - Verify(VerifyCall), - VerifyAgainstSampleInputs(VerifyAgainstSampleInputsCall), - VerifyInputs(VerifyInputsCall), - } - impl ::ethers::core::abi::AbiDecode for zksync_verifier_wrapperCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::CheckSampleInputsAndProof(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Iverifier(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleInput(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::SampleProof(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Verify(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::VerifyAgainstSampleInputs(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::VerifyInputs(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for zksync_verifier_wrapperCalls { - fn encode(self) -> Vec { - match self { - Self::CheckSampleInputsAndProof(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Iverifier(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SampleInput(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SampleProof(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Verify(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::VerifyAgainstSampleInputs(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::VerifyInputs(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for zksync_verifier_wrapperCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::CheckSampleInputsAndProof(element) => ::core::fmt::Display::fmt(element, f), - Self::Iverifier(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleInput(element) => ::core::fmt::Display::fmt(element, f), - Self::SampleProof(element) => ::core::fmt::Display::fmt(element, f), - Self::Verify(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyAgainstSampleInputs(element) => ::core::fmt::Display::fmt(element, f), - Self::VerifyInputs(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for zksync_verifier_wrapperCalls { - fn from(value: CheckSampleInputsAndProofCall) -> Self { - Self::CheckSampleInputsAndProof(value) - } - } - impl ::core::convert::From for zksync_verifier_wrapperCalls { - fn from(value: IverifierCall) -> Self { - Self::Iverifier(value) - } - } - impl ::core::convert::From for zksync_verifier_wrapperCalls { - fn from(value: SampleInputCall) -> Self { - Self::SampleInput(value) - } - } - impl ::core::convert::From for zksync_verifier_wrapperCalls { - fn from(value: SampleProofCall) -> Self { - Self::SampleProof(value) - } - } - impl ::core::convert::From for zksync_verifier_wrapperCalls { - fn from(value: VerifyCall) -> Self { - Self::Verify(value) - } - } - impl ::core::convert::From for zksync_verifier_wrapperCalls { - fn from(value: VerifyAgainstSampleInputsCall) -> Self { - Self::VerifyAgainstSampleInputs(value) - } - } - impl ::core::convert::From for zksync_verifier_wrapperCalls { - fn from(value: VerifyInputsCall) -> Self { - Self::VerifyInputs(value) - } - } - ///Container type for all return fields from the `checkSampleInputsAndProof` function with signature `checkSampleInputsAndProof()` and selector `0x10a54279` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct CheckSampleInputsAndProofReturn(pub bool); - ///Container type for all return fields from the `iverifier` function with signature `iverifier()` and selector `0xe7f5b81d` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct IverifierReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `sampleInput` function with signature `sampleInput()` and selector `0x7d8ad42b` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleInputReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `sampleProof` function with signature `sampleProof()` and selector `0xa76c0551` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct SampleProofReturn(pub ::ethers::core::types::Bytes); - ///Container type for all return fields from the `verify` function with signature `verify(bytes)` and selector `0x8e760afe` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyReturn(pub bool); - ///Container type for all return fields from the `verifyAgainstSampleInputs` function with signature `verifyAgainstSampleInputs(bytes)` and selector `0x02f77d19` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyAgainstSampleInputsReturn(pub bool); - ///Container type for all return fields from the `verifyInputs` function with signature `verifyInputs(bytes)` and selector `0xa6dfbc7f` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct VerifyInputsReturn(pub bool); -} diff --git a/listener/src/proof_generator/mod.rs b/listener/src/proof_generator/mod.rs index 195cb0c..978655d 100644 --- a/listener/src/proof_generator/mod.rs +++ b/listener/src/proof_generator/mod.rs @@ -1,6 +1,6 @@ use crate::job_creator::MarketDetails; +use bindings::proof_marketplace::Ask; use bindings::proof_marketplace::{AskCreatedFilter, ProofMarketplace}; -use bindings::shared_types::Ask; use confidential_provers::ConfidentialProver; use ethers::prelude::k256::ecdsa::SigningKey; use ethers::prelude::*;