@aztec/accounts 0.54.0 → 0.55.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"transpiled":true,"noir_version":"0.33.0+8ac81b15cd2a3b57493bfbfe444086deac8f3dc8","name":"SchnorrSingleKeyAccount","functions":[{"name":"verify_private_authwit","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(view)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"inner_hash","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"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","brillig_names":["get_auth_witness","pack_returns","directive_invert"]},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/9VWzU7CQBDeBQoVW4h61jR68VgSSDiS+PsAvgDBJnIBQ6vPL2Pnk8+FcHE3sZtsZjo7P9/Mzu7WmnrE22mVj5R2zf6Azkxp/rcx8ugrD4nTNgRnqyE42w3B2fGI0x7AKbSjvJw7OXM9U5/HvUU2lo1u07o54sg6QWVcE3+r9OVtWWaL9arazBdV9rouymy1rrKPssjeN8vPeVXId1H+OJoojRUQg575qdoodhL35ns6XojvfhjcE/F9GsZ3Lpt7p4UBfsSSfXjSNVCrMzF10xiyT8yuce5JhoZ7IBlehEeS9czvWLHOAPs1Fb8nIXxv+yyhGgJ/QjzWJN8r0osC5toNk+s42B7l9S2HPYrUN2J1qW587jy+riPr9IilWJB3iL8kXehBp014ZQzMrt/7R+wix25IOj2yix07fOMuFT8Xyp9v53O804X/UHV07y+ff0C4i5CLpVh9kkPnRumZ2R9cA+MRo/hNKX+f54/vGkMxePDDnlKuSRhM3/cf4gDbkGTcZ6mDE9+tf2R3KB+RDYgHxTlPSYb6D8jvF96XymUuDQAA","debug_symbols":"lZDBCsMgDIbfJWcPbS0t+CpjFG21BCQWtYMhvvvSbYdevYR8yf9d/gKbNee+ILmQQD0K+LDqjIGYShVgInqP+3I/Q3cN2X3z6dB0Yco6ZlBymgVY2nibB/Ydegtq7Kf6FCD7dmVoV2S7MjYqlfGlI2rj7b8pd9J6Ky6/j9+Hwx8=","brillig_names":["compute_note_hash_and_optionally_a_nullifier"]},{"name":"entrypoint","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"},"visibility":"private"},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"},"visibility":"private"},{"name":"cancellable","type":{"kind":"boolean"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"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T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2z1i2z1i2z1i2z1i2zw5UKhvL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9jnL9jnL9jnL9jnL9vmBSmVn2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2b5g2b5g2b5g2b5g2b44UKkcLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsX97Z9nfp28Rz1ezkfL9Yjj+Pn1ec/2/F+uYhduD5H8+flOb9V8taq7GlV97Rqe1r1Pa3GnlZzT6u1p9Xe0+qsabX2TEsFnpZkSuf96vK80qraofH2aOwI/9P1f20XPDF9Rbvgqekr2vVd7YKnp69oFzxBfUW7936/Yvl+ccSHNwh39+BXyhlUOSwPHiwPHiwPHnf34Ff+7DirnGCVk6xyWKncrFRuVirf3YNfKYeVynf24CrzdrGqH1fmqfM7+Nt89GPyk4/z0Z39+M3L98cuPx67fNanyrA+VYb1qXJnz/53/lnrtrdbpxwfv8jlnf37zcuXxy7/4qfc2xvU40rpNvl2qc3khdvb197ev/b28bW3z6+9fX3t7fux/+A/dmrKY6emPHZqCvq7wfXy0d8NrpfvpC+KyfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1GeT30HVIvd/68P6fv7+H/nj955Ak72z3v7VV8u++3LjV3NNq7WmV/JPtG7fK+vRmnbGcrDOWk3XGcrLOWE7WGcvJOmM5WWcsJ+uM5WSdsZysM5aTdcZyss5YTtYZy8k6YzlZZywn64zlZJ2xnKwzlpN1xnKyzlhOlqlNlqlNlqlN1hnLyTpjOVlnLCfrjOVknbGcrDOWk3XGcrLOWE6WqU3WGcvJOmM5WWcsJ+uM5WSdsZysM5aTdcZyss5YLtYZy8U6Y7lYZywX64zl82csrHJQqVysM5aLdcZysc5YLtYZy8U6Y7lYZywX64zlYp2xXCwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWqwzlot1xnKxzlgu1hnLxTpjuVhnLBfL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9jXL9jXL9jXL9jXL9vWBSuVm2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5h2b5h2b5h2b5h2b45UKk8LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3KNunB8r2neWQUvksh5TKZzmkVD7LIaXyWQ4plc9ySKl8lkNK5bMcUiqf5bBSGWX7znJYqYyyfWc5d07lTn27eI76vZyPF+uRx/Hz6vOf7Xi/XMQuXJ+j+fPynN8qeWvV97Qae1rNPa3WnlZ7T6v3/fTWCHsr/vwv+bzV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K5VZ52km6zzNZJ2nmazzNJN1nmayztNMlrlNlrnNZqVys1K5WancrFQeViqzzG2yzG0OK5VZ52km6zzNHFYqDyuVWeY2Wea2WOa2WOa2WOa2WOa2DlQq14FK5WKdp1ms8zSLdZ5msc7TLNZ5msU6T7NY52kW6zzNYpnbYpnbElYqCyuVhZXKwkplZaWyslJZWamsrFRmnadZrPM0S1mprKxUVlYqKyuVjZXKrPM0i3WeZhkrlY2VysZKZZbtK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5bta5bta5bta5bta5bt6wOVys2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfcOyfcOyfcOyfcOyfXOgUnlYtm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Qts8OlO07yyGl8lkOKZXPckipfJZDSuWzHFIqn+WQUvksh5TKZzmkVD7LYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiqVhWX7hGX7hGX7hGX75EClsrBsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Jsn7Jsn7Jsn7Jsnx6oVFaW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7TOW7TOW7TOW7TOW7bMDlcrGsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Osn3Osn3Osn3Osn1+oFLZWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbYvWLYvWLYvWLYvWLYvDlQqB8v2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Jcv2Jcv2Jcv2Jcv25YFK5WTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmLZvmLZvmLZvmLZvjpQqVws21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs29cs29cs29cs29cs29cHKpWbZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuGZfuGZfuGZfuGZfvmQKXysGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfoGyfHyjbd5ZDSuWzHFIqn+WQUvksh5TKZzmkVD7LIaXyWQ4plc9ySKl8lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxUKgvL9gnL9gnL9gnL9smBSmVh2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5l2T5l2T5l2T5l2T49UKmsLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNtnLNtnLNtnLNtnLNtnByqVjWX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX77M62Tw/rnxfr0fZ7OZcuzuN4vzrteL9c5NL1OZo/L8+xeb86frY6a1q9s0n81lZlT6u6p1Xb06rvaTX2tJp7Wq09rYKnpXO80/k16nleaVXt0Hi7ux3hf7r+r+2CJ6YvaDfBU9NXtAuenL6iXfD09BXtgieor2jX//l2xd9qqt+i//LX6rJ8vzh+3bp+flDcwmzfspxklVN3LqfeL+5DPpbTrHIGVc4tzPYN/+zcwmzfshxllWOsclipXKxULlYqV7HKaVY5rFTug1WOsMpRVjn3TWWVebtY1Y/fy7lw56jjbbY+/znl42zd/tjlx2OXn49dPutTpVmfKj2ocuYg/1nrtrdbpxwXXgKMPHb5+tjlX/yUe3v7flwp3SbfLrWZvHB7/9rbx9fePr/29vW1t++vvf088h98Px46Nf146NT046FT0w/0d4Pr5aO/G1wvP0hfFP1IVjmo9/R+oN7T+4F6I+SCeiPkgnoj5IJ6I+RirHKcVQ4rlYWVysJKZWGlsrBSWVmprKxUVlYqKyuVlZXKykplZaWyslJZWamsrFQ2ViobK5WNlcrGSmVjpbKxUtlYqWysVDZWKhsrlZ2Vys5KZWelsrNS2Vmp7KxUdlYqOyuVnZXKzkrlYKVysFI5WKkcrFQOVioHK5WDlcrBSuVgpXKwUjlZqZysVE5WKicrlZOVyslK5WSlMstKOstKOstKerFSuVipXKxULlYqFyuVi5XKxUrlYqVysVKZZSWdZSWdZSWdZSW9WancrFRuVio3K5WblcrNSuVmpfKwUnlYqTysVB5WKg8rlYeVysNK5WGl8rBSeVCpHAcqleNApXIcqFSOA5XKcaBSOVi2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L+58vq1avR+h8cft3i6+uNq9Dnm/dR3e75f/IwduxJ3Pzv3OVu98Lu+3tip7WtU9rdqeVv2urV45xDFY5yAH6xzkYJ2DHKxzkIN1DnKwzkEO1jnIwToHOVjnIAfrHORgnYMcrHOQg3UOcjgrlZ2VysFK5WClcrBSOVipHKxUDlYqByuVg5XKwUrlYKVyslI5WamcrFROVionK5WTlcrJSuVkpXKyUjlZqVysVC5WKhcrlYuVysVK5WKlcrFSuVipXKxULlYqNyuVm5XKzUrlZqVys1K5WancrFRuVio3K5WblcrDSuVhpfKwUnlYqTysVB5WKg8rlYeVysNK5UGlch6oVM4Dlcp5oFI5D1Qq54FK5TxQqZwHKpXzQKVyHqhUzoOVysJKZWGlsrBSWVipLKxUFlYqCyuVhZXKwkplYaWyslJZWamsrFRWViorK5WVlcrKSmVlpbKyUllZqWysVDZWKhsrlY2VyizblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzbVyzbVyzbVyzbVyzbVwcqlYtl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+5pl+5pl+5pl+5pl+/pApXKzbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbN+wbN+wbN+wbN+wbN8cqFQelu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blO2LA2X7znJIqXyWQ0rlsxxSKp/lkFL5LIeUymc5pFQ+yyGl8lkOKZXPclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3loNKZWHZPmHZPmHZPmHZPjlQqSws2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs26cs26cs26cs26cs26cHKpWVZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuMZfuMZfuMZfuMZfvsQKWysWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfs2yfs2yfs2yfs2yfH6hUdpbtc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btC5btC5btC5btC5btiwOVysGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfXFn26eH9c+L9Wj7vZxLF+dxvF+ddrxfLnLp+hzNn5fn2LxfHT9bjT2t5p5Wa0+rvafVWdMqx4BeuDhm3i5O8feLTX9+fHDE6D9SPGYy+EeKN+7fkLM9nV+tel75G6J2aLzd3Y7wP13/13Z9V7vgWeUr2gXPK1/RLnhmken49el2ftRdKP+Z5pC29w/nDvvw4fxMc8jnrd5ZPX9rq7KnVd3TKngi+vtb7Xr/znB8+M5wZ2X+ra0+01ubK60+01ubK60+01ubK60+1bT0eatPNS191moeTzUtfd7qU01Ln7f6VNPS562umZby8D2trpmW8lgzLeWxZlrKY820lMeeaUn2TEuyZ1qSPdOS7JmW7ryV5Vtb3TMtyZ5pSfZMS7JnWpI905LumZZ0z7Ske6Yl3TMt3Xlb0re2umda0j3Tku6ZlnTPtKR7piXbMy3ZnmnJ9kxLtmdauvMWs29tdc+0ZHumJdszLdmeacn2TEu+Z1ryPdOS75mWfM+0dOftgt/a6p5pyfdMS75nWvI905LvmZZiz7QUe6al2DMtxZ5p6c5bP7+11T3TUuyZlmLPtBR7pqXYMy3lnmkp90xLuWdayj3T0p238X5rq3umpdwzLeWeaSn3TEu5Z1qqPdNS7ZmWas+0VHumpafakn2l1T3T0lNtyb7S6p5p6am2ZF9pdc+01Humpd4zLfWeaYm8r/vWrfqeVvdMS+Qd3bdudc+09Fy7vD9vdc+09Fy7vD9vdc+09Fy7vD9vdc+0tGeXd+7Z5Z17dnnnnl3euWeXd+7Z5V17dnnXnl3etWeXd+3Z5V2H72l1zbRUe3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3r1nl3fv2eXde3Z5955d3n34nlbXTEu9Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nlPXt2ec+eXd6zZ5f37NnlPYfvaXXNtDR7dnnPnl3es2eX9+zZ5T17dnnPnl3es2eX9+zZ5T17dnnPnl3es2eX9+zZ5T17dnnPnl3es2eX9+zZ5T17dnnPnl3es2eX9+zZ5T17dnnPnl3es2eX9+zZ5T17dnnPnl3e81S7vM/Pk/dW7WOrzzQtXWnV79uq1Xvxf9zus1blx+/bv9065fA/tfrX8uOxy09w+Smuv8rPuVB+PXb5/djlz0OXf+8d1n9X+XXI+63r8L760WnvIdthfxuy995h/Z2t6p5WbU+rvqdV8kTxd7f66UTv5Onjxq2SJ5Ubt0qeam7cKnkCum2r8VTT0uetPtW09HmrTzUtfd7qU01Ln7fqe1rdMy3Fnmkp9kxLsWdaij3TUu6ZlnLPtJR7pqXcMy3de4f1d7a6Z1rKPdNS7pmWcs+0lHumpdozLdWeaan2TEu1Z1q69w7r72x1z7RUe6al2jMt1Z5pqfZMS71nWuo901LvmZZ6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ts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zti9Yti9Yti9Yti9Yti8OVCoHy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/Yly/Yly/Yly/Yly/blgUrlZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+Ytm+Ytm+Ytm+Ytm+OlCpXCzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzb1yzb1yzb1yzb1yzb1wcqlZtl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+4Zl+4Zl+4Zl+4Zl++ZApfKwbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+gbF8dKNt3lkNK5bMcUiqf5ZBS+SyHlMpnOaRUPsshpfJZDimVz3JIqXyWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFQqC8v2Ccv2Ccv2Ccv2yYFKZWHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmXZPmXZPmXZPmXZPj1Qqaws26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs22cs22cs22cs22cs22cHKpWNZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfucZfucZfucZfucZfv8QKWys2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2xfsGxfsGxfsGxfsGxfHKhUDpbtC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btS5btS5btS5btS5btywOVysmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcWyfcWyfcWyfcWyfXWgUrlYtq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ztq9Ztq9Ztq9Ztq8PVCo3y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/YNy/YNy/YNy/YNy/bNgUrlYdm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Qdm+PlC27yyHlMpnOaRUPsshpfJZDimVz3JIqXyWQ0rlsxxSKp/lkFL5LIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrOc+6aynhPNz4v1aPu9nEsX53G8X512vF8ucun6HM2fl+fYvF8dP1v1Pa3GnlZzT6u1p9Xe0+qsafXOvvRbW5U9reqeVsHT0jne6fwa9TyvtKp2/oDm7e52Tkd/uv6v7fqudsFT01e0C56cvqJd8PT0Fe2CJ6ivaPcGU5T4W031W/Rf/lpdlu8Xx69b188PiluY7VuWI6xy9M7l1PvFfcjHcoxVjrPKCdafnWSVU6xymlUOK5WblcrNSuVWVjnGKoeVyh2scpJVTrHKuW8qq8zbxap+/F7OhTtHHW+z9fnPKR9n656HLn+Oxy5fHrt81qfKsD5VbmHOb1lOkP+sddvbrVOOCy8BJh+7/Hrs8i9+yr29fT+ulG6Tb5faTF64/Xzl7eWyUb/d7eVrb69fe3v72tv7I//Bl+OhU1OOh05NOR46NeVAfze4Xj76u8HV8uUgfVEUEVY5qPf0Iqj39HILA3/LclBvhERQb4REUG+ERJpVzqDKUVYqKyuVlZXKykplZaWyslJZWamsrFRWViorK5WNlcrGSmVjpbKxUtlYqWysVDZWKhsrlY2VysZKZWelsrNS2Vmp7KxUdlYqOyuVnZXKzkplZ6Wys1I5WKkcrFQOVioHK5WDlcrBSuVgpXKwUjlYqRysVE5WKicrlZOVyslK5WSlcrJSOVmpnKxUTlYqJyuVi5XKxUpllpUUlpUUlpWUYqVysVK5WKlcrFQuVio3K5WblcrNSuVmpTLLSgrLSgrLSgrLSkqzUrlZqTysVB5WKg8rlYeVysNK5WGl8rBSeVipPKxUHlQq64FKZT1QqawHKpX1QKWyHqhU1gOVynqgUlkPVCrrgUplPVipzLJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9yrJ9eufzbdXq/QiNP273dvHF1e51yPut6/B+v/wfOXBD73x27re2GntazT2t1p5We0+rqBM3lXUOsrLOQVbWOcjKOgdZWecgK+scZGWdg6ysc5CVdQ6yss5BVtY5yMo6B1lZ5yBrsFI5WKkcrFQOVioHK5WDlcrBSuVkpXKyUjlZqZysVE5WKicrlZOVyslK5WSlcrJSuVipXKxULlYqFyuVi5XKxUrlYqVysVK5WKlcrFRuVio3K5WblcrNSuVmpXKzUrlZqdysVG5WKjcrlYeVysNK5WGl8rBSeVipPKxUHlYqDyuVh5XKg0plO1CpbAcqle1ApbIdqFS2A5XKdqBS2Q5UKtuBSmU7UKlsByuVhZXKwkplYaWysFJZWKksrFQWVioLK5WFlcrCSmVlpbKyUllZqaysVFZWKisrlZWVyspKZWWlsrJS2VipbKxUNlYqGyuVjZXKxkplY6WysVLZWKnMsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Osn3Osn3Osn3Osn1+oFLZWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbYvWLYvWLYvWLYvWLYvDlQqB8v2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Jcv2Jcv2Jcv2Jcv25YFK5WTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmLZvmLZvmLZvmLZvjpQqVws21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs29cs29cs29cs29cs29cHKpWbZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuGZfuGZfuGZfuGZfvmQKXysGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfoGzfHCjbd5ZDSuWzHFIqn+WQUvksh5TKZzmkVD7LIaXyWQ4plc9ySKl8lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxUKgvL9gnL9gnL9gnL9smBSmVh2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5l2T5l2T5l2T5l2T49UKmsLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNund7Z9elj/vFiPtt/LuXRxHsf71WnH++Uil67P80Pm5+U5Nu9Xx19bvbMb/NZWZU+ruqdV29Oq72kV8+l94eKYebs4xd8vNv358cERo/9I8ZjJ4B8pvrl/Q872dH616nnlb4jaofF2dzvC/3T9X9sFzylf0O6AZ5WvaBc8r3xFu+CZRabj16fb+VF3ofxnmkPa3j+cO+xvP5zvLJO/tdXY02ruabX2tAqeiP7+VrvevzMcH74zzDO9tfm0VTue6a3NlVaf6a3NlVaf6a3NlVafalr6vFXf0+pTTUuft/pU09LnrT7VtPR5q2umJTv2TEuyZ1qSPdOS7JmWZM+0dOdNHt/a6p5pSfZMS7JnWpI905LsmZZ0z7Ske6Yl3TMt6Z5p6c4bdr611T3Tku6ZlnTPtKR7piXdMy3ZnmnJ9kxLtmdasj3T0p03X31rq3umJdszLdmeacn2TEu2Z1ryPdOS75mWfM+05HumpTtvpPvWVvdMS75nWvI905LvmZZ8z7QUe6al2DMtxZ5pKfZMS3feFPmtre6ZlmLPtBR7pqXYMy3Fnmkp90xLuWdayj3TUu6Zlu68wfVbW90zLeWeaSn3TEu5Z1rKPdNS7ZmWas+0VHumpdozLd15s/K3trpnWqo901LtmZZqz7T0VFuyP2/1qbZkX2l1z7T0VFuyr7S6Z1p6qi3ZV1rdMy31nmmp90xL5H3dt251z7RE3tN961b3TEvk/dy3bnXPtPRcu7w/b3XPtPRcu7w/b3XPtLRnl7ft2eXte3Z5+55d3r5nl7fv2eXth+9pdc205Ht2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6xZ5d37NnlHXt2eceeXd5x+J5W10xLsWeXd+zZ5R17dnnHnl3esWeXd+zZ5R17dnnHnl3esWeXd+zZ5R17dnnHnl3esWeXd+zZ5R17dnnHnl3esWeXd+zZ5R17dnnHnl3esWeXd+zZ5R17dnnHnl3esWeXd+zZ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UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+0GB+0GB+0GB+0GB+0A5WPhvMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDzrMDzrMDzrMDzrMD/rBymeH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+cGA+cGA+cGA+cGA+cE4WPkcMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD+YMD+YMD+YMD+YMD+YByufE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHC+YHC+YHC+YHC+YH62Dlc8H8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMP8YMP8YMP8YMP8YB+sfG6YH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYHxyYHxyYHxyYHxyYH5yDlc8D84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84PD8oNysPzgWQ8qn896UPl81oPK57MeVD6f9aDy+awHlc9nPah8PutB5fNZDyyfWX7wrAeWzyw/eNYDy2eWHzzrgeUzyw+e9cDymeUHz3pg+czyg2c9sHxm+cGzHlg+s/zgWQ8sn1l+8KwHls8sP3jWA8tnlh8864HlM8sPnvXA8pnlB896YPnM8oNnPbB8ZvnBsx5YPrP84FkPLJ9ZfvCsB5bPLD941gPLZ5YfPOuB5TPLD571wPKZ5QfPemD5zPKDZz2wfGb5wbMeWD6z/OBZDyyfWX7wrAeWzyw/eNYDy2eWHzzrgeUzyw+e9cDymeUHz3pg+czyg2c9sHxm+cGzHlg+s/zgWQ8sn1l+8KwHls8sP3jWA8tnlh8864HlM8sPnvXA8pnlB896YPnM8oNnPbB8ZvnBHwegwuqB5TPLD/440AVWDyyfWX7wx4JaWD2wfGb5wR8Ld2D1wPKZ5Qd/AEJUPQLzgwLzgwLzgwLzg+cPvGH1sPJZYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYX5QYX5QYX5QYX5QD1Y+K8wPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPGswPGswPGswPGswP2sHKZ4P5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYf5QYf5QYf5QYf5QT9Y+ewwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwPxgwPxgwPxgwPxgwPxgHK58D5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcT5gcT5gcT5gcT5gfzYOVzwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwfxgwfxgwfxgwfxgHax8LpgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfrDv7QT2sf16sR9vv9Vy6OI/j/eq04/1ykUvX52j+vDzH5v3qeOt19vR6Z/f4vb3Kol51Ua+2qFdf1Gss6jUX9VqLegXPTeekp/Nr6vO80qvaofF2dzvC/3T9z37Bs9NX9Fvg+elL+gXPUF/SL3iO+pJ+wbPUl/Tr/3y/4m9F1W+fAJe/Z58/qHu/OH7dut4+L27hwm9aT8LqqTvXU+8X9yEX6mlYPcOq5xYu/JZ/fm7hwm9aj8LqMVg9sHxuWD43LJ+7YPU0rB5YPs8Bq0dg9Sisnvvms8q8Xazqx+/1XLhz1PE2b5//nHJh3h5/8PrjwevPB68f9vkysM+XGVQ9fRzkP2/d9nbrlOPC+4E+5MHr1wev/+Ln3dsb+uNK7Tb5dqnN5KX7+xffP774/vnF968vvn9/8f3nsf/8y4Pnpzx4fsqD56egvy/8G+pHf1/4N9QfqO+PLQmrh/U+v4X1Pr+F9b6olfW+qJX1vqiV9b6o1WD1OKweWD4rLJ8Vls8Ky2eF5bPB8tlg+WywfDZYPhssnw2WzwbLZ4Pls8Hy2WD57LB8dlg+OyyfHZbPDstnh+Wzw/LZYfnssHx2WD4HLJ8Dls8By+eA5XPA8jlg+RywfA5YPgcsnwOWzwnL54Tlc8LyOWH5nLB8Tlg+JyyfE5bPCcvnhOVzwfK5YPlcsHwuWD4XLJ8Lls8Fy2eYx2yYx2yYx+yG5XPD8rlh+dywfG5YPjcsnxuWzw3L54blM8xjNsxjNsxjNsxj9sDyeWD5PLB8Hlg+DyyfB5bPw8rnOVj5PAcrn+dg5fMcrHyeg5XPc7DyeQ5WPs/Byuc5WPk8ByyfBZbPAstngeWzwPJZYPkM84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84Nz53N61er9tI8/bvd28cX983XI+63r8H6//B86G2TufAbwt/Z65/OFv7dXWdSrLurVFvXqd+312vmTAzvPeWDnOQ/sPOeBnec8sPOcB3ae88DOcx7Yec4DO895YOc5D+w854Gd5zyw85wnYPkcsHxOWD4nLJ8Tls8Jy+eE5XPC8jlh+ZywfE5YPicsnwuWzwXL54Llc8HyuWD5XLB8Llg+FyyfC5bPBcvnhuVzw/K5YfncsHxuWD43LJ8bls8Ny+eG5XPD8nlg+TywfB5YPg8snweWzwPL54Hl88DyeWD5PKh81uNA5fNZDyqfz3pQ+XzWg8rnsx5UPp/1oPL5rAeVz2c9qHw+60Hl81kPLJ8Fls8Cy2eB5bPA8llg+SywfBZYPgssnwWWzwLLZ4Xls8LyWWH5rLB8Vlg+KyyfFZbPCstnheWzwvLZYPlssHw2WD4bLJ8Nls8Gy2eD5bPB8tlg+WywfHZYPjssnx2Wzw7LZ5YfPOuB5TPLD571wPKZ5QfPemD5zPKDZz2wfGb5wbMeWD6z/OBZDyyfWX7wrAeWzyw/eNYDy2eWHzzrgeUzyw+e9cDymeUHz3pg+czyg2c9sHxm+cGzHlg+s/zgWQ8sn1l+8KwHls8sP3jWA8tnlh8864HlM8sPnvXA8pnlB896YPnM8oNnPbB8ZvnBsx5YPrP84FkPLJ9ZfvCsB5bPLD941gPLZ5YfPOuB5TPLD571wPKZ5QfPemD5zPKDZz2sfBaYHxSYHxSYHxSYH5SDlc8C84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MK84MK84MK84MK84N6sPJZYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX7QYH7QYH7QYH7QYH7QDlY+G8wPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPOswPOswPOswPOswP+sHKZ4f5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5wYD5wYD5wYD5wYD5wThY+RwwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwP5gwP5gwP5gwP5gwP5gHK58T5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcL5gcL5gcL5gcL5gfrYOVzwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgw/xgw/xgw/xgw/xgH6x8bpgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgf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ByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmBxfmBxfmBxfmBxfmB9dl9XlhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBjfnBjfnBjfnBjfnBfVp835gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gcP5gcP5gcP5gcP5gfPZfX5YH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7w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P7gwP7gxP7gxP7gxP7gxP7gvq88b84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84MH84MH84MH84MH84Pnsvp8MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94LD84L8sP3nuoPt97qD7fe6g+33uoPt97qD7fe6g+33uoPt97qD7fe7A+W37w3oP12fKD9x6sz5YfvPdgfbb84L0H67PlB+89WJ8tP3jvwfps+cF7D9Znyw/ee7A+W37w3oP12fKD9x6sz5YfvPdgfbb84L0H67PlB+89WJ8tP3jvwfps+cF7D9Znyw/ee7A+W37w3oP12fKD9x6sz5YfvPdgfbb84L0H67PlB+89WJ8tP3jvwfps+cF7D9Znyw/ee7A+W37w3oP12fKD9x6sz5YfvPdgfbb84L0H67PlB+89WJ8tP3jvwfps+cF7D9Znyw/ee7A+W37w3oP12fKD9x6sz5YfvPdgfbb84L0H67PlB+89WJ8tP3jvwfps+cF7D9Znyw/ee7A+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","brillig_names":["get_auth_witness","enqueue_public_function_call_internal","call_private_function_internal","debug_log_format","notify_set_min_revertible_side_effect_counter","directive_invert","directive_integer_quotient"]}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"}},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"}},{"name":"cancellable","type":{"kind":"boolean"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::entrypoint_parameters"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::entrypoint_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"inner_hash","type":{"kind":"field"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::verify_private_authwit_parameters"}},{"name":"return_type","type":{"kind":"field"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::verify_private_authwit_abi"}]}},"file_map":{"113":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest, public_call_stack_item::PublicCallStackItem,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() });\n }\n\n fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one\n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let (end_side_effect_counter, returns_hash) = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"},"141":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n point::Point, traits::Hash, hash::{sha256_to_field, poseidon2_hash_with_separator}\n};\nuse crate::oracle::logs_traits::ToBytesForUnencryptedLog;\n\npub use dep::protocol_types::hash::{compute_siloed_nullifier, pedersen_hash};\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\n}\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes: [u8; 4] = (n as Field).to_be_bytes();\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes: [u8; 32] = sender.to_field().to_be_bytes();\n let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n let recipient_bytes: [u8; 32] = recipient.to_field().to_be_bytes();\n let version_bytes: [u8; 32] = version.to_be_bytes();\n let content_bytes: [u8; 32] = content.to_be_bytes();\n let secret_hash_bytes: [u8; 32] = secret_hash.to_be_bytes();\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n poseidon2_hash_with_separator(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n poseidon2_hash_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x1cce4dbf69f14c44865919991ee1057922e34d7310ba237d71759aa422621ca9);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"146":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/returns.nr","source":"#[oracle(packReturns)]\nunconstrained fn pack_returns_oracle(_returns: [Field]) -> Field {}\n\nunconstrained pub fn pack_returns(returns: [Field]) {\n let _unused = pack_returns_oracle(returns);\n}\n\n#[oracle(unpackReturns)]\nunconstrained fn unpack_returns_oracle<let N: u32>(_return_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn unpack_returns<let N: u32>(return_hash: Field) -> [Field; N] {\n unpack_returns_oracle(return_hash)\n}\n"},"154":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress, utils::reader::Reader};\n\n#[oracle(callPrivateFunction)]\nunconstrained fn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; 2] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> (u32, Field) {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let mut reader = Reader::new(fields);\n let end_side_effect_counter = reader.read_u32();\n let returns_hash = reader.read();\n\n (end_side_effect_counter, returns_hash)\n}\n"},"159":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{abis::{function_selector::FunctionSelector}, address::AztecAddress};\n\n#[oracle(enqueuePublicFunctionCall)]\nunconstrained fn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nunconstrained fn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) {}\n\nunconstrained pub fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n}\n\n#[oracle(notifySetMinRevertibleSideEffectCounter)]\nunconstrained fn notify_set_min_revertible_side_effect_counter_oracle(_counter: u32) {}\n\nunconstrained pub fn notify_set_min_revertible_side_effect_counter(counter: u32) {\n notify_set_min_revertible_side_effect_counter_oracle(counter);\n}\n"},"22":{"path":"std/embedded_curve_ops.nr","source":"use crate::ops::arith::{Add, Sub, Neg};\nuse crate::cmp::Eq;\n\n/// A point on the embedded elliptic curve\n/// By definition, the base field of the embedded curve is the scalar field of the proof system curve, i.e the Noir Field.\n/// x and y denotes the Weierstrass coordinates of the point, if is_infinite is false.\nstruct EmbeddedCurvePoint {\n x: Field,\n y: Field,\n is_infinite: bool\n}\n\nimpl EmbeddedCurvePoint {\n /// Elliptic curve point doubling operation\n /// returns the doubled point of a point P, i.e P+P\n fn double(self) -> EmbeddedCurvePoint {\n embedded_curve_add(self, self)\n }\n\n /// Returns the null element of the curve; 'the point at infinity'\n fn point_at_infinity() -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n }\n}\n\nimpl Add for EmbeddedCurvePoint {\n /// Adds two points P+Q, using the curve addition formula, and also handles point at infinity\n fn add(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n embedded_curve_add(self, other)\n }\n}\n\nimpl Sub for EmbeddedCurvePoint {\n /// Points subtraction operation, using addition and negation\n fn sub(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n self + other.neg()\n }\n}\n\nimpl Neg for EmbeddedCurvePoint {\n /// Negates a point P, i.e returns -P, by negating the y coordinate.\n /// If the point is at infinity, then the result is also at infinity.\n fn neg(self) -> EmbeddedCurvePoint { \n EmbeddedCurvePoint {\n x: self.x,\n y: -self.y,\n is_infinite: self.is_infinite\n }\n }\n}\n\nimpl Eq for EmbeddedCurvePoint {\n /// Checks whether two points are equal\n fn eq(self: Self, b: EmbeddedCurvePoint) -> bool {\n (self.is_infinite & b.is_infinite) | ((self.is_infinite == b.is_infinite) & (self.x == b.x) & (self.y == b.y))\n }\n}\n\n/// Scalar for the embedded curve represented as low and high limbs\n/// By definition, the scalar field of the embedded curve is base field of the proving system curve.\n/// It may not fit into a Field element, so it is represented with two Field elements; its low and high limbs.\nstruct EmbeddedCurveScalar {\n lo: Field,\n hi: Field,\n}\n\nimpl EmbeddedCurveScalar {\n pub fn new(lo: Field, hi: Field) -> Self {\n EmbeddedCurveScalar { lo, hi }\n }\n\n #[field(bn254)]\n fn from_field(scalar: Field) -> EmbeddedCurveScalar {\n let (a,b) = crate::field::bn254::decompose(scalar);\n EmbeddedCurveScalar { lo: a, hi: b }\n }\n}\n\nimpl Eq for EmbeddedCurveScalar {\n fn eq(self, other: Self) -> bool {\n (other.hi == self.hi) & (other.lo == self.lo)\n }\n}\n\n// Computes a multi scalar multiplication over the embedded curve.\n// For bn254, We have Grumpkin and Baby JubJub.\n// For bls12-381, we have JubJub and Bandersnatch.\n//\n// The embedded curve being used is decided by the \n// underlying proof system.\n// docs:start:multi_scalar_mul\npub fn multi_scalar_mul<let N: u32>(\n points: [EmbeddedCurvePoint; N],\n scalars: [EmbeddedCurveScalar; N]\n) -> EmbeddedCurvePoint\n// docs:end:multi_scalar_mul\n{\n let point_array = multi_scalar_mul_array_return(points, scalars);\n EmbeddedCurvePoint { x: point_array[0], y: point_array[1], is_infinite: point_array[2] as bool }\n}\n\n#[foreign(multi_scalar_mul)]\nfn multi_scalar_mul_array_return<let N: u32>(points: [EmbeddedCurvePoint; N], scalars: [EmbeddedCurveScalar; N]) -> [Field; 3] {}\n\n#[foreign(multi_scalar_mul)]\npub(crate) fn multi_scalar_mul_slice(points: [EmbeddedCurvePoint], scalars: [EmbeddedCurveScalar]) -> [Field; 3] {}\n\n// docs:start:fixed_base_scalar_mul\npub fn fixed_base_scalar_mul(scalar: EmbeddedCurveScalar) -> EmbeddedCurvePoint\n// docs:end:fixed_base_scalar_mul\n{\n let g1 = EmbeddedCurvePoint { x: 1, y: 17631683881184975370165255887551781615748388533673675138860, is_infinite: false };\n multi_scalar_mul([g1], [scalar])\n}\n\n// This is a hack as returning an `EmbeddedCurvePoint` from a foreign function in brillig returns a [BrilligVariable::SingleAddr; 2] rather than BrilligVariable::BrilligArray\n// as is defined in the brillig bytecode format. This is a workaround which allows us to fix this without modifying the serialization format.\n// docs:start:embedded_curve_add\nfn embedded_curve_add(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint\n) -> EmbeddedCurvePoint\n// docs:end:embedded_curve_add\n{\n let point_array = embedded_curve_add_array_return(point1, point2);\n let x = point_array[0];\n let y = point_array[1];\n EmbeddedCurvePoint { x, y, is_infinite: point_array[2] == 1 }\n}\n\n#[foreign(embedded_curve_add)]\nfn embedded_curve_add_array_return(_point1: EmbeddedCurvePoint, _point2: EmbeddedCurvePoint) -> [Field; 3] {}\n"},"24":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size(self, bit_size: u32) {\n // docs:end:assert_max_bit_size\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_le_bits)]\n // docs:start:to_le_bits\n pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {}\n // docs:end:to_le_bits\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_be_bits)]\n // docs:start:to_be_bits\n pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {}\n // docs:end:to_be_bits\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8]` slice of length `byte_size`.\n /// This slice will be zero padded should not all bytes be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{8*byte_size}` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `byte_size` equal to or greater than the number of bytes necessary to represent the `Field` modulus\n /// (e.g. 32 for the BN254 field) allow for multiple byte decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n // docs:start:to_le_bytes\n pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n self.to_le_radix(256)\n }\n // docs:end:to_le_bytes\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8]` slice of length `byte_size`.\n /// This slice will be zero padded should not all bytes be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{8*byte_size}` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `byte_size` equal to or greater than the number of bytes necessary to represent the `Field` modulus\n /// (e.g. 32 for the BN254 field) allow for multiple byte decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n // docs:start:to_be_bytes\n pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n self.to_be_radix(256)\n }\n // docs:end:to_be_bytes\n\n // docs:start:to_le_radix\n pub fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n crate::assert_constant(radix);\n self.__to_le_radix(radix)\n }\n // docs:end:to_le_radix\n\n // docs:start:to_be_radix\n pub fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n crate::assert_constant(radix);\n self.__to_be_radix(radix)\n }\n // docs:end:to_be_radix\n\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b: [u1; 32] = exponent.to_le_bits();\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\nmod tests {\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bits: [u8; 8] = field.to_be_bytes();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 0, 2]);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bits: [u8; 8] = field.to_le_bytes();\n assert_eq(bits, [2, 0, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n let field = 2;\n let bits: [u8; 8] = field.to_be_radix(256);\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 0, 2]);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n let field = 2;\n let bits: [u8; 8] = field.to_le_radix(256);\n assert_eq(bits, [2, 0, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_radix_example\n}\n"},"262":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr","source":"use crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, let N: u32>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<let N: u32> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<let N: u32> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<let N: u32> Serialize<N> for [Field; N] {\n fn serialize(self) -> [Field; N] {\n self\n }\n}\nimpl<let N: u32> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<let N: u32> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n\nimpl<let N: u32> Deserialize<N> for [Field; N] {\n fn deserialize(fields: [Field; N]) -> Self {\n fields\n }\n}\n"},"263":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"267":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n poseidon2_hash_with_separator(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256([log_hash.contract_address.to_field(), log_hash.log_hash.value])\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0\n )\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes: [u8; 32] = inputs[i].to_be_bytes();\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes: [u8; 32] = input[offset].to_be_bytes();\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes: [u8; 32] = logs[offset].value.to_be_bytes();\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes: [u8; 32] = logs[offset].value.to_be_bytes();\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(\n inputs: [Field; N],\n separator: T\n) -> Field where T: ToField {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = std::hash::sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3)\n },\n version,\n chainId\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"},"290":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<let K: u32>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, let K: u32, let C: u32>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"},"310":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/mod.nr","source":"// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, let N: u32, let M: u32>(src: [T; N], mut dst: [T; M], offset: u32) -> [T; M] {\n let iterator_len = if N > M { M } else { N };\n for i in 0..iterator_len {\n dst[i] = src[i + offset];\n }\n dst\n}\n"},"32":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\ncomptime global RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n }\n\n fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n"},"323":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","source":"use crate::{\n crate::address::{partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n hash::poseidon2_hash_with_separator, traits::{Empty, FromField, ToField, Serialize, Deserialize},\n utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys_hash() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x23ce9be3fa3c846b0f9245cc796902e731d04f086e8a42473bb29e405fc98075;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n"},"415":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/auth_oracle.nr","source":"use dep::authwit::auth_witness;\nuse dep::aztec::{\n protocol_types::{address::PartialAddress, utils::arr_copy_slice},\n keys::{PublicKeys, PUBLIC_KEYS_LENGTH}\n};\n\nstruct AuthWitness {\n keys: PublicKeys,\n signature: [u8; 64],\n partial_address: PartialAddress,\n}\n\nimpl AuthWitness {\n fn deserialize(values: [Field; 77]) -> Self {\n let mut signature = [0; 64];\n for i in 0..64 {\n signature[i] = values[i + PUBLIC_KEYS_LENGTH] as u8;\n }\n Self {\n keys: PublicKeys::deserialize(arr_copy_slice(values, [0; PUBLIC_KEYS_LENGTH], 0)),\n signature,\n partial_address: PartialAddress::from_field(values[76])\n }\n }\n}\n\nunconstrained pub fn get_auth_witness(message_hash: Field) -> AuthWitness {\n let witness: [Field; 77] = auth_witness::get_auth_witness(message_hash);\n AuthWitness::deserialize(witness)\n}\n"},"416":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/main.nr","source":"mod util;\nmod auth_oracle;\n\ncontract SchnorrSingleKeyAccount {\n use dep::aztec::prelude::PrivateContext;\n\n use dep::authwit::{entrypoint::{app::AppPayload, fee::FeePayload}, account::AccountActions};\n\n use crate::{util::recover_address, auth_oracle::get_auth_witness};\n\n // Note: If you globally change the entrypoint signature don't forget to update account_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload, fee_payload: FeePayload, cancellable: bool) {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.entrypoint(app_payload, fee_payload, cancellable);\n }\n\n #[aztec(private)]\n #[aztec(view)]\n fn verify_private_authwit(inner_hash: Field) -> Field {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.verify_private_authwit(inner_hash)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, outer_hash: Field) -> bool {\n let witness = unsafe {\n get_auth_witness(outer_hash)\n };\n recover_address(outer_hash, witness).eq(context.this_address())\n }\n}\n"},"417":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/util.nr","source":"use std::schnorr::verify_signature;\nuse dep::aztec::prelude::AztecAddress;\nuse crate::auth_oracle::AuthWitness;\n\npub fn recover_address(message_hash: Field, witness: AuthWitness) -> AztecAddress {\n let message_bytes: [u8; 32] = message_hash.to_be_bytes();\n // In a single key account contract we re-used ivpk_m as signing key\n let verification = verify_signature(\n witness.keys.ivpk_m.inner.x,\n witness.keys.ivpk_m.inner.y,\n witness.signature,\n message_bytes\n );\n assert(verification == true);\n\n AztecAddress::compute(witness.keys.hash(), witness.partial_address)\n}\n"},"5":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\n/// A `BoundedVec<T, MaxLen>` is a growable storage similar to a `Vec<T>` except that it\n/// is bounded with a maximum possible length. Unlike `Vec`, `BoundedVec` is not implemented\n/// via slices and thus is not subject to the same restrictions slices are (notably, nested\n/// slices - and thus nested vectors as well - are disallowed).\n/// \n/// Since a BoundedVec is backed by a normal array under the hood, growing the BoundedVec by\n/// pushing an additional element is also more efficient - the length only needs to be increased\n/// by one.\n/// \n/// For these reasons `BoundedVec<T, N>` should generally be preferred over `Vec<T>` when there\n/// is a reasonable maximum bound that can be placed on the vector.\n/// \n/// Example:\n/// \n/// ```noir\n/// let mut vector: BoundedVec<Field, 10> = BoundedVec::new();\n/// for i in 0..5 {\n/// vector.push(i);\n/// }\n/// assert(vector.len() == 5);\n/// assert(vector.max_len() == 10);\n/// ```\nstruct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n /// Creates a new, empty vector of length zero.\n ///\n /// Since this container is backed by an array internally, it still needs an initial value\n /// to give each element. To resolve this, each element is zeroed internally. This value\n /// is guaranteed to be inaccessible unless `get_unchecked` is used.\n ///\n /// Example:\n ///\n /// ```noir\n /// let empty_vector: BoundedVec<Field, 10> = BoundedVec::new();\n /// assert(empty_vector.len() == 0);\n /// ```\n ///\n /// Note that whenever calling `new` the maximum length of the vector should always be specified\n /// via a type signature:\n ///\n /// ```noir\n /// fn good() -> BoundedVec<Field, 10> {\n /// // Ok! MaxLen is specified with a type annotation\n /// let v1: BoundedVec<Field, 3> = BoundedVec::new();\n /// let v2 = BoundedVec::new();\n ///\n /// // Ok! MaxLen is known from the type of `good`'s return value\n /// v2\n /// }\n ///\n /// fn bad() {\n /// // Error: Type annotation needed\n /// // The compiller can't infer `MaxLen` from the following code:\n /// let mut v3 = BoundedVec::new();\n /// v3.push(5);\n /// }\n /// ```\n ///\n /// This defaulting of `MaxLen` (and numeric generics in general) to zero may change in future noir versions\n /// but for now make sure to use type annotations when using bounded vectors. Otherwise, you will receive a \n /// constraint failure at runtime when the vec is pushed to.\n pub fn new() -> Self {\n let zeroed = crate::mem::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero.\n /// \n /// If the given index is equal to or greater than the length of the vector, this\n /// will issue a constraint failure.\n /// \n /// Example:\n /// \n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// let last = v.get(v.len() - 1);\n /// assert(first != last);\n /// }\n /// ```\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero, without\n /// performing a bounds check.\n /// \n /// Since this function does not perform a bounds check on length before accessing the element,\n /// it is unsafe! Use at your own risk!\n /// \n /// Example:\n /// \n /// ```noir\n /// fn sum_of_first_three<let N: u32>(v: BoundedVec<u32, N>) -> u32 {\n /// // Always ensure the length is larger than the largest\n /// // index passed to get_unchecked\n /// assert(v.len() > 2);\n /// let first = v.get_unchecked(0);\n /// let second = v.get_unchecked(1);\n /// let third = v.get_unchecked(2);\n /// first + second + third\n /// }\n /// ```\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Writes an element to the vector at the given index, starting from zero.\n /// \n /// If the given index is equal to or greater than the length of the vector, this will issue a constraint failure.\n /// \n /// Example:\n /// \n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// assert(first != 42);\n /// v.set(0, 42);\n /// let new_first = v.get(0);\n /// assert(new_first == 42);\n /// }\n /// ```\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Writes an element to the vector at the given index, starting from zero, without performing a bounds check.\n /// \n /// Since this function does not perform a bounds check on length before accessing the element, it is unsafe! Use at your own risk!\n /// \n /// Example:\n /// \n /// ```noir\n /// fn set_unchecked_example() {\n /// let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n /// vec.extend_from_array([1, 2]);\n /// \n /// // Here we're safely writing within the valid range of `vec`\n /// // `vec` now has the value [42, 2]\n /// vec.set_unchecked(0, 42);\n /// \n /// // We can then safely read this value back out of `vec`.\n /// // Notice that we use the checked version of `get` which would prevent reading unsafe values.\n /// assert_eq(vec.get(0), 42);\n /// \n /// // We've now written past the end of `vec`.\n /// // As this index is still within the maximum potential length of `v`,\n /// // it won't cause a constraint failure. \n /// vec.set_unchecked(2, 42);\n /// println(vec);\n /// \n /// // This will write past the end of the maximum potential length of `vec`,\n /// // it will then trigger a constraint failure.\n /// vec.set_unchecked(5, 42);\n /// println(vec);\n /// }\n /// ```\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n /// Pushes an element to the end of the vector. This increases the length\n /// of the vector by one.\n /// \n /// Panics if the new length of the vector will be greater than the max length.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n /// \n /// v.push(1);\n /// v.push(2);\n /// \n /// // Panics with failed assertion \"push out of bounds\"\n /// v.push(3);\n /// ```\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n /// Returns the current length of this vector\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 4> = BoundedVec::new();\n /// assert(v.len() == 0);\n /// \n /// v.push(100);\n /// assert(v.len() == 1);\n /// \n /// v.push(200);\n /// v.push(300);\n /// v.push(400);\n /// assert(v.len() == 4);\n /// \n /// let _ = v.pop();\n /// let _ = v.pop();\n /// assert(v.len() == 2);\n /// ```\n pub fn len(self) -> u32 {\n self.len\n }\n\n /// Returns the maximum length of this vector. This is always\n /// equal to the `MaxLen` parameter this vector was initialized with.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n /// \n /// assert(v.max_len() == 5);\n /// v.push(10);\n /// assert(v.max_len() == 5);\n /// ```\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n /// Returns the internal array within this vector.\n /// \n /// Since arrays in Noir are immutable, mutating the returned storage array will not mutate\n /// the storage held internally by this vector.\n /// \n /// Note that uninitialized elements may be zeroed out!\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n /// \n /// assert(v.storage() == [0, 0, 0, 0, 0]);\n /// \n /// v.push(57);\n /// assert(v.storage() == [57, 0, 0, 0, 0]);\n /// ```\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n /// Pushes each element from the given array to this vector.\n /// \n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_array([2, 4]);\n /// \n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the given slice to this vector.\n /// \n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_slice(&[2, 4]);\n /// \n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the other vector to this vector. The length of\n /// the other vector is left unchanged.\n /// \n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n /// \n /// ```noir\n /// let mut v1: BoundedVec<Field, 5> = BoundedVec::new();\n /// let mut v2: BoundedVec<Field, 7> = BoundedVec::new();\n /// \n /// v2.extend_from_array([1, 2, 3]);\n /// v1.extend_from_bounded_vec(v2);\n /// \n /// assert(v1.storage() == [1, 2, 3, 0, 0]);\n /// assert(v2.storage() == [1, 2, 3, 0, 0, 0, 0]);\n /// ```\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n /// Creates a new vector, populating it with values derived from an array input. \n /// The maximum length of the vector is determined based on the type signature.\n /// \n /// Example:\n /// \n /// ```noir\n /// let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array([1, 2, 3])\n /// ```\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n /// Pops the element at the end of the vector. This will decrease the length\n /// of the vector by one.\n /// \n /// Panics if the vector is empty.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n /// v.push(1);\n /// v.push(2);\n /// \n /// let two = v.pop();\n /// let one = v.pop();\n /// \n /// assert(two == 2);\n /// assert(one == 1);\n ///\n /// // error: cannot pop from an empty vector\n /// let _ = v.pop();\n /// ```\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::mem::zeroed();\n elem\n }\n\n /// Returns true if the given predicate returns true for any element\n /// in this vector.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<u32, 3> = BoundedVec::new();\n /// v.extend_from_array([2, 4, 6]);\n /// \n /// let all_even = !v.any(|elem: u32| elem % 2 != 0);\n /// assert(all_even);\n /// ```\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n\n /// Creates a new vector of equal size by calling a closure on each element in this vector. \n /// \n /// Example:\n /// \n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let result = vec.map(|value| value * 2);\n /// \n /// let expected = BoundedVec::from_array([2, 4, 6, 8]);\n /// assert_eq(result, expected);\n /// ```\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n ret\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n \n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n crate::println(vec.get(0));\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n\n // Need to use println to avoid DIE removing the write operation.\n crate::println(vec.get(0));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.storage()[2], 0);\n }\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n assert_eq(bounded_vec.storage()[2], 3);\n }\n\n #[test(should_fail_with=\"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n}\n"},"70":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth_witness.nr","source":"#[oracle(getAuthWitness)]\nunconstrained fn get_auth_witness_oracle<let N: u32>(_message_hash: Field) -> [Field; N] {}\n\n/**\n * Oracle wrapper to fetch an `auth_witness` for a given `message_hash` from the PXE.\n * \n * @param message_hash The hash of the message for which the `auth_witness` is to be fetched.\n * @return The `auth_witness` for the given `message_hash` as Field array.\n */\nunconstrained pub fn get_auth_witness<let N: u32>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n"},"71":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr","source":"use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{\n GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER, GENERATOR_INDEX__AUTHWIT_NULLIFIER,\n CANONICAL_AUTH_REGISTRY_ADDRESS\n},\n hash::poseidon2_hash_with_separator\n};\nuse dep::aztec::{prelude::Deserialize, context::{PrivateContext, PublicContext, gas::GasOpts}, hash::hash_args_array};\n\n/**\n * Authenticaion witness helper library\n *\n * Authentication Witness is a scheme for authenticating actions on Aztec, so users can allow third-parties\n * (e.g. protocols or other users) to execute an action on their behalf.\n *\n * This library provides helper functions to manage such witnesses.\n * The authentication witness, is some \"witness\" (data) that authenticates a `message_hash`.\n * The simplest example of an authentication witness, is a signature. The signature is the \"evidence\",\n * that the signer has seen the message, agrees with it, and has allowed it.\n * It does not need to be a signature. It could be any kind of \"proof\" that the message is allowed.\n * Another proof could be knowing some kind of secret, or having some kind of \"token\" that allows the message.\n *\n * The `message_hash` is a hash of the following structure:\n * hash(consumer, chain_id, version, inner_hash)\n * - consumer: the address of the contract that is \"consuming\" the message,\n * - chain_id: the chain id of the chain that the message is being consumed on,\n * - version: the version of the chain that the message is being consumed on,\n * - inner_hash: the hash of the \"inner\" message that is being consumed, this is the \"actual\" message or action.\n *\n * While the `inner_hash` could be anything, such as showing you signed a specific message, it will often be\n * a hash of the \"action\" to approve, along with who made the call. As part of this library, we provide a few\n * helper functions to deal with such messages.\n *\n * For example, we provide helper function that is used for checking that the message is an encoding of the current call.\n * This can be used to let some contract \"allow\" another contract to act on its behalf, as long as it can\n * show that it is acting on behalf of the contract.\n *\n * If we take a case of allowing a contract to transfer tokens on behalf of an account, the `inner_hash` can be\n * derived as:\n * inner_hash = hash(caller, \"transfer\", hash(to, amount))\n *\n * Where the `caller` would be the address of the contract that is trying to transfer the tokens, and `to` and `amount`\n * the arguments for the transfer.\n *\n * Note that we have both a `caller` and a `consumer`, the `consumer` will be the contract that is consuming the message,\n * in the case of the transfer, it would be the `Token` contract itself, while the caller, will be the actor that is\n * allowed to transfer the tokens.\n *\n *\n * The authentication mechanism works differently in public and private contexts. In private, we recall that everything\n * is executed on the user's device, so we can use `oracles` to \"ask\" the user (not contract) for information. In public\n * we cannot do this, since it is executed by the sequencer (someone else). Therefore we can instead use a \"registry\"\n * to store the messages that we have approved.\n *\n * A simple example would be a \"token\" that is being \"pulled\" from one account into another. We will first outline\n * how this would look in private, and then in public later.\n *\n * Say that a user `Alice` wants to deposit some tokens into a DeFi protocol (say a DEX).\n * `Alice` would make a `deposit` transaction, that she is executing using her account contract.\n * The account would call the `DeFi` contract to execute `deposit`, which would try to pull funds from the `Token`\n * contract. Since the `DeFi` contract is trying to pull funds from an account that is not its own, it needs to\n * convince the `Token` contract that it is allowed to do so.\n *\n * This is where the authentication witness comes in The `Token` contract computes a `message_hash` from the\n * `transfer` call, and then asks `Alice Account` contract to verify that the `DeFi` contract is allowed to\n * execute that call.\n *\n * `Alice Account` contract can then ask `Alice` if she wants to allow the `DeFi` contract to pull funds from her\n * account. If she does, she will sign the `message_hash` and return the signature to the `Alice Account` which\n * will validate it and return success to the `Token` contract which will then allow the `DeFi` contract to pull\n * funds from `Alice`.\n *\n * To ensure that the same \"approval\" cannot be used multiple times, we also compute a `nullifier` for the\n * authentication witness, and emit it from the `Token` contract (consumer).\n *\n * Note that we can do this flow as we are in private were we can do oracle calls out from contracts.\n *\n *\n * Person Contract Contract Contract\n * Alice Alice Account Token DeFi\n * | | | |\n * | Defi.deposit(Token, 1000) | |\n * |----------------->| | |\n * | | deposit(Token, 1000) |\n * | |---------------------------------------->|\n * | | | |\n * | | | transfer(Alice, Defi, 1000)\n * | | |<---------------------|\n * | | | |\n * | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | |<-----------------| |\n * | | | |\n * | Please give me AuthWit for DeFi | |\n * | calling transfer(Alice, Defi, 1000) | |\n * |<-----------------| | |\n * | | | |\n * | | | |\n * | AuthWit for transfer(Alice, Defi, 1000) |\n * |----------------->| | |\n * | | AuthWit validity | |\n * | |----------------->| |\n * | | | |\n * | | throw if invalid AuthWit |\n * | | | |\n * | | emit AuthWit nullifier |\n * | | | |\n * | | transfer(Alice, Defi, 1000) |\n * | | | |\n * | | | |\n * | | | success |\n * | | |--------------------->|\n * | | | |\n * | | | |\n * | | | deposit(Token, 1000)\n * | | | |\n * | | | |\n *\n *\n * If we instead were in public, we cannot do the same flow. Instead we would use an authentication registry to store\n * the messages that we have approved.\n *\n * To approve a message, `Alice Account` can make a `set_authorized` call to the registry, to set a `message_hash`\n * as authorized. This is essentially a mapping from `message_hash` to `true` for `Alice Contract`. Every account\n * has its own map in the registry, so `Alice` cannot approve a message for `Bob`.\n *\n * The `Token` contract can then try to \"spend\" the approval by calling `consume` on the registry. If the message\n * was approved, the value is updated to `false`, and we return the success flag. For more information on the\n * registry, see `main.nr` in `auth_registry_contract`.\n *\n * Person Contract Contract Contract Contract\n * Alice Alice Account Registry Token DeFi\n * | | | | |\n * | Registry.set_authorized(..., true) | | |\n * |----------------->| | | |\n * | | set_authorized(..., true) | |\n * | |------------------->| | |\n * | | | | |\n * | | set authorized to true | |\n * | | | | |\n * | | | | |\n * | Defi.deposit(Token, 1000) | | |\n * |----------------->| | | |\n * | | deposit(Token, 1000) | |\n * | |-------------------------------------------------------------->|\n * | | | | |\n * | | | transfer(Alice, Defi, 1000) |\n * | | | |<---------------------|\n * | | | | |\n * | | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | | |<------------------| |\n * | | | | |\n * | | throw if invalid AuthWit | |\n * | | | | |\n * | | | | |\n * | | set authorized to false | |\n * | | | | |\n * | | | | |\n * | | | AuthWit validity | |\n * | | |------------------>| |\n * | | | | |\n * | | | | transfer(Alice, Defi, 1000)\n * | | | |<-------------------->|\n * | | | | |\n * | | | | success |\n * | | | |--------------------->|\n * | | | | |\n * | | | | deposit(Token, 1000)\n * | | | | |\n *\n *\n * --- FAQ ---\n * Q: Why are we using a success flag of `keccak256(\"IS_VALID()\")` instead of just returning a boolean?\n * A: We want to make sure that we don't accidentally return `true` if there is a collision in the function selector.\n * By returning a hash of `IS_VALID()`, it becomes very unlikely that there is both a collision and we return\n * a success flag.\n *\n * Q: Why are we using static calls?\n * A: We are using static calls to ensure that the account contract cannot re-enter. If it was a normal call, it\n * could make a new call and do a re-entry attack. Using a static ensures that it cannot update any state.\n *\n * Q: Would it not be cheaper to use a nullifier instead of updating state in public?\n * A: At a quick glance, a public state update + nullifier is 96 bytes, but two state updates are 128, so it would be\n * cheaper to use a nullifier, if this is the way it would always be done. However, if both the approval and the\n * consumption is done in the same transaction, then we will be able to squash the updates (only final tx state diff is posted to DA), and now it is cheaper.\n *\n * Q: Why is the chain id and the version part of the message hash?\n * A: The chain id and the version is part of the message hash to ensure that the message is only valid on a specific\n * chain to avoid a case where the same message could be used across multiple chains.\n */\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n/**\n * Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n assert_inner_hash_valid_authwit(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit\n\n/**\n * Assert that a specific `inner_hash` is valid for the `on_behalf_of` address\n *\n * Used as an internal function for `assert_current_call_valid_authwit` and can be used as a standalone function when\n * the `inner_hash` is from a different source, e.g., say a block of text etc.\n *\n * @param on_behalf_of The address that have authorized the current call\n * @param inner_hash The hash of the message to authorize\n */\npub fn assert_inner_hash_valid_authwit(\n context: &mut PrivateContext,\n on_behalf_of: AztecAddress,\n inner_hash: Field\n) {\n // We perform a static call here and not a standard one to ensure that the account contract cannot re-enter.\n let result: Field = context.static_call_private_function(\n on_behalf_of,\n comptime {\n FunctionSelector::from_signature(\"verify_private_authwit(Field)\")\n },\n [inner_hash]\n ).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n // Compute the nullifier, similar computation to the outer hash, but without the chain_id and version.\n // Those should already be handled in the verification, so we just need something to nullify, that allow same inner_hash for multiple actors.\n let nullifier = compute_authwit_nullifier(on_behalf_of, inner_hash);\n context.push_nullifier(nullifier);\n}\n\n/**\n * Assert that `on_behalf_of` have authorized the current call in the authentication registry\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit_public\npub fn assert_current_call_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n assert_inner_hash_valid_authwit_public(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n/**\n * Assert that `on_behalf_of` have authorized a speicifc `inner_hash` in the authentication registry\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that have authorized the `inner_hash`\n */\npub fn assert_inner_hash_valid_authwit_public(\n context: &mut PublicContext,\n on_behalf_of: AztecAddress,\n inner_hash: Field\n) {\n let result: Field = context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"consume((Field),Field)\")\n },\n [on_behalf_of.to_field(), inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n\n/**\n * Compute the `message_hash` from a function call to be used by an authentication witness\n *\n * Useful for when you need a non-account contract to approve during execution. For example if you need a contract\n * to make a call to nested contract, e.g., contract A wants to exit token T to L1 using bridge B, so it needs to allow\n * B to transfer T on its behalf.\n *\n * @param caller The address of the contract that is calling the function, in the example above, this would be B\n * @param consumer The address of the contract that is consuming the message, in the example above, this would be T\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param selector The function selector of the function that is being called\n * @param args The arguments of the function that is being called\n */\n// docs:start:compute_authwit_message_hash_from_call\npub fn compute_authwit_message_hash_from_call<let N: u32>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_authwit_message_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_authwit_message_hash_from_call\n\n/**\n * Computes the `inner_hash` of the authentication witness\n *\n * This is used internally, but also useful in cases where you want to compute the `inner_hash` for a specific message\n * that is not necessarily a call, but just some \"bytes\" or text.\n *\n * @param args The arguments to hash\n */\npub fn compute_inner_authwit_hash<let N: u32>(args: [Field; N]) -> Field {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\n/**\n * Computs the `authwit_nullifier` for a specific `on_behalf_of` and `inner_hash`\n *\n * Using the `on_behalf_of` and the `inner_hash` to ensure that the nullifier is siloed for a specific `on_behalf_of`.\n *\n * @param on_behalf_of The address that have authorized the `inner_hash`\n * @param inner_hash The hash of the message to authorize\n */\npub fn compute_authwit_nullifier(on_behalf_of: AztecAddress, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [on_behalf_of.to_field(), inner_hash],\n GENERATOR_INDEX__AUTHWIT_NULLIFIER\n )\n}\n\n/**\n * Computes the `message_hash` for the authentication witness\n *\n * @param consumer The address of the contract that is consuming the message\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param inner_hash The hash of the \"inner\" message that is being consumed\n */\npub fn compute_authwit_message_hash(\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n inner_hash: Field\n) -> Field {\n poseidon2_hash_with_separator(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n\n/**\n * Helper function to set the authorization status of a message hash\n *\n * Wraps a public call to the authentication registry to set the authorization status of a `message_hash`\n *\n * @param message_hash The hash of the message to authorize\n * @param authorize True if the message should be authorized, false if it should be revoked\n */\npub fn set_authorized(context: &mut PublicContext, message_hash: Field, authorize: bool) {\n context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"set_authorized(Field,bool)\")\n },\n [message_hash, authorize as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n\n/**\n * Helper function to reject all authwits\n *\n * Wraps a public call to the authentication registry to set the `reject_all` flag\n *\n * @param reject True if all authwits should be rejected, false otherwise\n */\npub fn set_reject_all(context: &mut PublicContext, reject: bool) {\n context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"set_reject_all(bool)\")\n },\n [context.this_address().to_field(), reject as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n"},"72":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/account.nr","source":"use dep::aztec::{\n context::PrivateContext,\n protocol_types::constants::{GENERATOR_INDEX__COMBINED_PAYLOAD, GENERATOR_INDEX__TX_NULLIFIER},\n hash::poseidon2_hash_with_separator\n};\n\nuse crate::entrypoint::{app::AppPayload, fee::FeePayload};\nuse crate::auth::{IS_VALID_SELECTOR, compute_authwit_message_hash};\n\nstruct AccountActions<Context> {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n}\n\nimpl<Context> AccountActions<Context> {\n pub fn init(context: Context, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions { context, is_valid_impl }\n }\n}\n\n/**\n * An implementation of the Account Action struct for the private context.\n *\n * Implements logic to verify authorization and execute payloads.\n */\nimpl AccountActions<&mut PrivateContext> {\n\n /**\n * Verifies that the `app_hash` and `fee_hash` are authorized and then executes them.\n *\n * Executes the `fee_payload` and `app_payload` in sequence.\n * Will execute the `fee_payload` as part of the setup, and then enter the app phase.\n *\n * @param app_payload The payload that contains the calls to be executed in the app phase.\n * @param fee_payload The payload that contains the calls to be executed in the setup phase.\n */\n // docs:start:entrypoint\n pub fn entrypoint(self, app_payload: AppPayload, fee_payload: FeePayload, cancellable: bool) {\n let valid_fn = self.is_valid_impl;\n\n let combined_payload_hash = poseidon2_hash_with_separator(\n [app_payload.hash(), fee_payload.hash()],\n GENERATOR_INDEX__COMBINED_PAYLOAD\n );\n assert(valid_fn(self.context, combined_payload_hash));\n\n fee_payload.execute_calls(self.context);\n self.context.end_setup();\n app_payload.execute_calls(self.context);\n if cancellable {\n let tx_nullifier = poseidon2_hash_with_separator([app_payload.nonce], GENERATOR_INDEX__TX_NULLIFIER);\n self.context.push_nullifier(tx_nullifier);\n }\n }\n // docs:end:entrypoint\n\n /**\n * Verifies that the `msg_sender` is authorized to consume `inner_hash` by the account.\n *\n * Computes the `message_hash` using the `msg_sender`, `chain_id`, `version` and `inner_hash`.\n * Then executes the `is_valid_impl` function to verify that the message is authorized.\n *\n * Will revert if the message is not authorized.\n *\n * @param inner_hash The hash of the message that the `msg_sender` is trying to consume.\n */\n // docs:start:verify_private_authwit\n pub fn verify_private_authwit(self, inner_hash: Field) -> Field {\n // The `inner_hash` is \"siloed\" with the `msg_sender` to ensure that only it can\n // consume the message.\n // This ensures that contracts cannot consume messages that are not intended for them.\n let message_hash = compute_authwit_message_hash(\n self.context.msg_sender(),\n self.context.chain_id(),\n self.context.version(),\n inner_hash\n );\n let valid_fn = self.is_valid_impl;\n assert(valid_fn(self.context, message_hash) == true, \"Message not authorized by account\");\n IS_VALID_SELECTOR\n }\n // docs:end:verify_private_authwit\n}\n"},"73":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_array(self.nonce.to_be_bytes::<32>());\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n"},"75":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/fee.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__FEE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\nuse crate::entrypoint::function_call::FunctionCall;\n\n// 2 * 5 (FUNCTION_CALL_SIZE) + 2\nglobal FEE_PAYLOAD_SIZE: Field = 12;\n\n// 2 * 98 (FUNCTION_CALL_SIZE_IN_BYTES) + 32\nglobal FEE_PAYLOAD_SIZE_IN_BYTES: Field = 228;\n\nglobal MAX_FEE_FUNCTION_CALLS = 2;\n\n// docs:start:fee-payload-struct\nstruct FeePayload {\n function_calls: [FunctionCall; MAX_FEE_FUNCTION_CALLS],\n nonce: Field,\n is_fee_payer: bool,\n}\n// docs:end:fee-payload-struct\n\nimpl Serialize<FEE_PAYLOAD_SIZE> for FeePayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; FEE_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, FEE_PAYLOAD_SIZE> = BoundedVec::new();\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n fields.extend_from_array(self.function_calls[i].serialize());\n }\n fields.push(self.nonce);\n fields.push(self.is_fee_payer as Field);\n fields.storage\n }\n}\n\nimpl Hash for FeePayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__FEE_PAYLOAD\n )\n }\n}\n\nimpl FeePayload {\n fn to_be_bytes(self) -> [u8; FEE_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, FEE_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_array(self.nonce.to_be_bytes::<32>());\n bytes.push(self.is_fee_payer as u8);\n\n bytes.storage\n }\n\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n if self.is_fee_payer {\n context.set_as_fee_payer();\n }\n }\n}\n"},"83":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/public_keys.nr","source":"use dep::protocol_types::{\n address::PublicKeysHash, constants::GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n hash::poseidon2_hash_with_separator, point::{Point, POINT_LENGTH},\n traits::{Deserialize, Serialize, Empty, is_empty, Hash}\n};\nuse crate::keys::constants::{NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX};\n\nglobal PUBLIC_KEYS_LENGTH: u32 = 12;\n\nstruct PublicKeys {\n npk_m: NpkM,\n ivpk_m: IvpkM,\n ovpk_m: OvpkM,\n tpk_m: TpkM,\n}\n\ntrait ToPoint {\n fn to_point(self) -> Point;\n}\n\nstruct NpkM {\n inner: Point\n}\n\nimpl ToPoint for NpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for NpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\n// Note: If we store npk_m_hash directly we can remove this trait implementation. See #8091\nimpl Hash for NpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nstruct IvpkM {\n inner: Point\n}\n\nimpl ToPoint for IvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for IvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nstruct OvpkM {\n inner: Point\n}\n\nimpl Hash for OvpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nimpl ToPoint for OvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for OvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nstruct TpkM {\n inner: Point\n}\n\nimpl ToPoint for TpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Empty for PublicKeys {\n fn empty() -> Self {\n PublicKeys {\n npk_m : NpkM { inner: Point::empty() },\n ivpk_m : IvpkM { inner: Point::empty() },\n ovpk_m : OvpkM { inner: Point::empty() },\n tpk_m : TpkM { inner: Point::empty() }\n }\n }\n}\n\nimpl Eq for PublicKeys {\n fn eq(self, other: PublicKeys) -> bool {\n ( self.npk_m.inner == other.npk_m.inner ) &\n ( self.ivpk_m.inner == other.ivpk_m.inner ) &\n ( self.ovpk_m.inner == other.ovpk_m.inner ) &\n ( self.tpk_m.inner == other.tpk_m.inner )\n }\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(\n if is_empty(self) {\n 0\n } else {\n poseidon2_hash_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_KEYS_HASH as Field)\n }\n )\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.inner.x,\n self.npk_m.inner.y,\n self.npk_m.inner.is_infinite as Field,\n self.ivpk_m.inner.x,\n self.ivpk_m.inner.y,\n self.ivpk_m.inner.is_infinite as Field,\n self.ovpk_m.inner.x,\n self.ovpk_m.inner.y,\n self.ovpk_m.inner.is_infinite as Field,\n self.tpk_m.inner.x,\n self.tpk_m.inner.y,\n self.tpk_m.inner.is_infinite as Field\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: NpkM { inner: Point { x:serialized[0], y:serialized[1], is_infinite: serialized[2] as bool } },\n ivpk_m: IvpkM { inner: Point { x:serialized[3], y: serialized[4], is_infinite: serialized[5] as bool } },\n ovpk_m: OvpkM { inner: Point { x:serialized[6], y: serialized[7], is_infinite: serialized[8] as bool } },\n tpk_m: TpkM { inner: Point { x:serialized[9], y: serialized[10], is_infinite: serialized[11] as bool } }\n }\n }\n}\n\n#[test]\nfn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash = 0x0fecd9a32db731fec1fded1b9ff957a1625c069245a3613a2538bd527068b0ad;\n\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nfn compute_empty_hash() {\n let keys = PublicKeys::empty();\n\n let actual = keys.hash();\n let test_data_empty_hash = 0x0000000000000000000000000000000000000000000000000000000000000000;\n\n assert(actual.to_field() == test_data_empty_hash);\n}\n\n#[test]\nfn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.inner.x, deserialized.npk_m.inner.x);\n assert_eq(keys.npk_m.inner.y, deserialized.npk_m.inner.y);\n assert_eq(keys.ivpk_m.inner.x, deserialized.ivpk_m.inner.x);\n assert_eq(keys.ivpk_m.inner.y, deserialized.ivpk_m.inner.y);\n assert_eq(keys.ovpk_m.inner.x, deserialized.ovpk_m.inner.x);\n assert_eq(keys.ovpk_m.inner.y, deserialized.ovpk_m.inner.y);\n assert_eq(keys.tpk_m.inner.x, deserialized.tpk_m.inner.x);\n assert_eq(keys.tpk_m.inner.y, deserialized.tpk_m.inner.y);\n}\n"}}}
|
|
1
|
+
{"transpiled":true,"noir_version":"0.34.0+e0185e75e65df08b5334856f8bf63fa3aed7049a","name":"SchnorrSingleKeyAccount","functions":[{"name":"entrypoint","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"},"visibility":"private"},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"},"visibility":"private"},{"name":"cancellable","type":{"kind":"boolean"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"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T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2z1i2z1i2z1i2z1i2zw5UKhvL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9jnL9jnL9jnL9jnL9vmBSmVn2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2b5g2b5g2b5g2b5g2b44UKkcLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXd7d93a8vnpe3ex/n44v1iIhfrz7/c79PIpIXXp+jry/PsX5/819H1T1HtT1H9T1HjT1HzT1HrT1H7T1HnTVHvbuL/caj7mlLCW5LMtlvbz11yJWjqk6/tmC145g/vf6P44Ib01cc13cdF9ycvuK44Pb0FccFN6ivOO6dW1Slvr245cMdhHt78Cvj3NuDXxuHddeb5cGD5cHj3h782t+dYI2TrHGKNQ4rlYuVys1K5Xt78GvjsFL5zh5cVd8aj2Ze6VNnuX0b/vx0zY/96M5+/Objx88eP3/2+KxPlWZ9qjTrU+XOnv3v/LvW9vY1MY+48EXuzv795uPrzx7/4qfc63/FcWV0G3m9e2oTcuHt/WvfPr727fNr376+9u37a99+fvJf/Dx+dGrm8aNTM48fnZp5oL8bXB8f/d3g+vio34NMlq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq9Plq/PO/v6v+8+dE69/9j9ON5/w/kfgSTp5N9nufFRyb/7cuOj1p6j9p6jkn+yfdujsvYwJOsZy8l6xnKynrGcrGcsJ+sZy8l6xnKynrGcrGcsJ+sZy8l6xnKynrGcrGcsJ+sZy8l6xnKynrGcrGcsJ+sZy8l6xnKynrGcrGcsJ8vUJsvUJsvUJusZy8l6xnKynrGcrGcsJ+sZy8l6xnKynrGcrGcsJ8vUJusZy8l6xnKynrGcrGcsJ+sZy8l6xnKynrGcrGcsJ+sZy8l6xnKynrGcrGcsJ+sZy8l6xnKynrGcrGcsJ+sZy8V6xnKxnrFcrGcsF+sZy3WgUrlYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYBrRYz1gu1jOWi/WM5WI9Y7lYz1gu1jOWi2X7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7mmX7mmX7mmX7mmX7+kClcrNsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7Ns37Bs37Bs37Bs37Bs3xyoVB6W7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuU7dMDZfvOcUipfI5DSuVzHFIqn+PcO5W7X188L2/3Ps7HF+sREb9eff7nfp9EJC+8PkdfX55j/f7mv44ae46ae45ae47ae446a456ZwOqUfM6fB5Xjtpqr6O3+Z8P+sfwN/isT3sb/rdreXH4znr9c+pKvzDPDT7sp94/MPXK35vz5yNvf2/mtyt/6e+B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s56nmaznaWazUrlZqcwyt8kyt8kyt8kyt8kyt8kytzmsVB5WKrOep5ms52km63maxXqeZrGep1ms52kW63madaBSuVjmtljmtg5UKteBSuU6WKksrFQWVioLK5WFlcrCSmXW8zSL9TzNElYqCyuVhZXKykplZaUy63maxXqeZikrlZWVyspKZZbtK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5bta5bta5bta5bta5bt6wOVys2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfcOyfcOyfcOyfcOyfXOgUnlYtm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Qts8OlO07xyGl8jkOKZXPcUipfI5DSuVzHFIqn+OQUvkch5TK5zikVD7HYaUyyvad47BSGWX7znFYqYyyfec4rFRG2b5zHFYqo2zfOQ4rlVG27xyHlcoo23eOw0pllO07x2GlMsr2neOwUhll+85xWKmMsn3nOKxURtm+cxxWKqNs3zkOK5VRtu8ch5XKKNt3jsNKZZTtO8dhpTLK9p3jsFIZZfvOcVipjLJ95zisVEbZvnMcViqjbN85DiuVUbbvHIeVyijbd47DSmWU7TvHYaUyyvad47BSGWX7znFYqYyyfec4rFRG2b5zHFYqo2zfOQ4rlVG27xyHlcoo23eOw0pllO07x2GlMsr2neOwUhll+85xWKmMsn3nOKxURtm+cxxWKqNs3zkOK5VRtu8ch5XKKNt3jsNKZZTtO8dhpTLK9p3jsFIZZfvOcVipjLJ95zisVEbZvnMcViqjbN85DiqVhWX7hGX7hGX7hGX75EClsrBsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Jsn7Jsn7Jsn7Jsnx6oVFaW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7TOW7TOW7TOW7TOW7bMDlcrGsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Osn3Osn3Osn3Osn1+oFLZWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbYvWLYvWLYvWLYvWLYvDlQqB8v2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Jcv2Jcv2Jcv2Jcv25YFK5WTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmLZvmLZvmLZvmLZvjpQqVws21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs29cs29cs29cs29cs29cHKpWbZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuGZfuGZfuGZfuGZfvmQKXysGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfoGyfHyjbd45DSuVzHFIqn+OQUvkch5TK5zikVD7HIaXyOQ4plc9xSKl8jsNKZZTtO8dhpTLK9p3jsFIZZfvOcVipjLJ95zisVEbZvnMcViqjbN85DiuVUbbvHIeVyijbd47DSmWU7TvHYaUyyvad47BSGWX7znFYqYyyfec4rFRG2b5zHFYqo2zfOQ4rlVG27xyHlcoo23eOw0pllO07x2GlMsr2neOwUhll+85xWKmMsn3nOKxURtm+cxxWKqNs3zkOK5VRtu8ch5XKKNt3jsNKZZTtO8dhpTLK9p3jsFIZZfvOcVipjLJ95zisVEbZvnMcViqjbN85DiuVUbbvHIeVyijbd47DSmWU7TvHYaUyyvad47BSGWX7znFYqYyyfec4rFRG2b5zHFYqo2zfOQ4rlVG27xyHlcoo23eOw0pllO07x2GlMsr2neOwUhll+85xWKmMsn3nOKxURtm+cxxUKgvL9gnL9gnL9gnL9smBSmVh2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5l2T5l2T5l2T5l2T49UKmsLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNtnLNtnLNtnLNtnLNtnByqVjWX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX77M62T488fr1Y5Yjfx7n04oh4ffUR/f5ykUuvz9HXl+dYv7/5H0e9sxv81qPKnqPqnqPanqP6nqPGnqPmnqPWnqP2nqOC25JMtr9VvTrkylFVp9/e/fyB/vzp9X89boAb01ccF9yavuK44Ob0FccFt6evOK7vOu4NWpS8zVQ2V75WV759ra5+n7/61zjJGqdY4/R9x+njeP+LXB/HGdQ4tzDbtxxHUH93bmG2bzmOscZx1jisVE5WKicrlbNZ4wxqnGKlcglrHGWNY6xx7pvKqvrWljXz93EuvHPkW3OXKMmP3briZ4+fP3v8+tnjsz5VivWp0gdrHCH/XWvr17fOIy7cBGj92ePbzx7/4qfc63/FcWV0G3m9824TcuHt42vfPr/27etr376/9u3nS99+jh/9F39+dmrOz07N+dmpeQuj/p3jo78bXB8/UV8Up1jjsO7TD+o+vR+oO0J+oO4I+YG6I+QH6o6QH84aJ1jjoFLZD1Qq+4FKZT9YqSysVBZWKgsrlYWVysJKZWGlsrBSWVipLKxUFlYqKyuVlZXKykplZaWyslJZWamsrFRWViorK5WVlcrGSmVjpbKxUtlYqWysVDZWKhsrlY2VysZKZWOlsrNS2Vmp7KxUdlYqOyuVnZXKzkplZ6Wys1LZWakcrFQOVioHK5WDlcrBSuVgpXKwUjlYqcyyks6yks6ykp6sVE5WKicrlZOVyslK5WSlcrJSOVmpnKxUZllJZ1lJZ1lJZ1lJL1YqFyuVi5XKxUrlYqVysVK5WancrFRuVio3K5WblcrNSuVmpXKzUrlZqdysVB5WKg8rlYeVysNK5WGl8rBSmWX7nGX7nGX7nGX7gmX7gmX7gmX7gmX74kClcrBsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX9z5+bZq87o0Tv33Z2JcXO2evz1wrI7D3l7+jzxwI+787NxvParsOaruOartOarvOSrqiZvBeg5ysJ6DHKznIAfrOcjBeg5ysJ6DHKznIAfrOcjBeg5ysJ6DHKznIAfrOcjBeg5yGCuVnZXKzkplZ6Wys1LZWansrFR2Vio7K5WdlcrOSuVgpXKwUjlYqRysVA5WKgcrlYOVysFK5WClcrBSOVmpnKxUTlYqJyuVk5XKyUrlZKVyslI5WamcrFQuVioXK5WLlcrFSuVipXKxUrlYqVysVC5WKhcrlZuVys1K5WalcrNSuVmp3KxUblYqNyuVm5XKzUrlYaXysFJ5WKk8rFQeVioPK5WHlcrDSuVhpfKgUjkPVCrngUrlPFCpnAcqlfNApXIeqFTOA5XKeaBSOQ9UKufBSmVhpbKwUllYqSysVBZWKgsrlYWVysJKZWGlsrBSWVmprKxUVlYqKyuVlZXKLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNuXLNtXLNtXLNtXLNtXLNtXByqVi2X7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7imX7mmX7mmX7mmX7mmX7+kClcrNsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7NsX7Ns37Bs37Bs37Bs37Bs3xyoVB6W7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuW7RuU7YsDZfvOcUipfI5DSuVzHFIqn+OQUvkch5TK5zikVD7HIaXyOQ4plc9xWKmMsn3nOKxURtm+cxxWKqNs3zkOK5VRtu8ch5XKKNt3jsNKZZTtO8dhpTLK9p3jsFIZZfvOcVipjLJ95zisVEbZvnMcViqjbN85DiuVUbbvHIeVyijbd47DSmWU7TvHYaUyyvad47BSGWX7znFYqYyyfec4rFRG2b5zHFYqo2zfOQ4rlVG27xyHlcoo23eOw0pllO07x2GlMsr2neOwUhll+85xWKmMsn3nOKxURtm+cxxWKqNs3zkOK5VRtu8ch5XKKNt3jsNKZZTtO8dhpTLK9p3jsFIZZfvOcVipjLJ95zisVEbZvnMcViqjbN85DiuVUbbvHIeVyijbd47DSmWU7TvHYaUyyvad47BSGWX7znFYqYyyfec4rFRG2b5zHFYqo2zfOQ4rlVG27xyHlcoo23eOg0plYdk+Ydk+Ydk+Ydk+OVCpLCzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbJyzbpyzbpyzbpyzbpyzbpwcqlZVl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+5Rl+4xl+4xl+4xl+4xl++xApbKxbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+xbJ+zbJ+zbJ+zbJ+zbJ8fqFR2lu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu1zlu0Llu0Llu0Llu0Llu2LA5XKwbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9wbJ9cWfbp0cev16scsTv41x68fkv//XVR/T7y0UuvT5HX1+eY/3+5r+OmnuOWnuO2nuOOmuOemen+a1HxXx6X3jx+xgS8/7Opr8+Pjhi9B8ZHtMM/pHhnfsvRCbb345ah1z5F6I6/fbudhzzp9f/cVxwT/mK44K7ylccF9xXvuK44M4i5/Tvn26HxIXxH6mHtL19OHfo33449yP1kCtHlT1H1T1HtT1H9Uc6aufbd4bjw3eGfqS7NleO+kh3ba4c9ZHu2lw56iPdtbly1IdqS58edR6qLX1+1IdqS58f9aHa0udHfai29PlRfc9R97Sl2dOWZk9bmj1tada0pTzWtKU81rSlPNa0pTzWtKU8fM9R17SlPNa0pTzWtKU81rSlPPa0JdnTlmRPW5I9bUn2tKU7bzT61qPuaUuypy3JnrYke9qS7GlLuqct6Z62pHvaku5pS3feNPatR93TlnRPW9I9bUn3tCXd05ZsT1uyPW3J9rQl29OW7rwB8FuPuqct2Z62ZHvaku1pS7anLfmetuR72pLvaUu+py3deTPntx51T1vyPW3J97Ql39OWfE9bij1tKfa0pdjTlmJPW7rzxtxvPeqethR72lLsaUuxpy3FnraUe9pS7mlLuact5Z62dOdN1t961D1t6aG2ZF856p629FBbsq8cdU9beqgt2VeOuqct1Z62VHvaEnlf962Puqctkfd03/qoe9oSeT/3rY+6py091i7vz4+6py091i7vz4+6py3t2eWde3Z5555d3rlnl3fu2eWde3Z5555d3rlnl3fu2eWde3Z5555d3rlnl3fu2eWde3Z5555d3rlnl3ft2eVde3Z5155d3rVnl3cdvueoa9pS7dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2efeeXd69Z5d379nl3Xt2effhe466pi31nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeXd+/Z5d17dnn3nl3evWeX9+zZ5T17dnnPnl3es2eX9xy+56hr2tLs2eU9e3Z5z55d3rNnl/fs2eU9e3Z5z55d3rNnl/fs2eU9e3Z5z55d3rNnl/fs2eU9e3Z5z55d3rNnl/fs2eU9D7XLezTejmofj+p7jnrntmSjr8P779NcGl1edg++vnUeMX866h/j588ev8Dj5/H+1inqF8bvnz3+/Ojx773v+tbjC3n8qddXSx2HXf3otLeQ7dC/Ddl777D+zqPanqP6nqOSW8KNj0puFH/3UT9t9IZuH7c9Krqp3Pao6FZz06M6ugHd9qgP1ZY+P+pDtaXPj/pQbenzo/qeoz5UW/r8qHvaku9pS76nLfmethR72lLsaUuxpy3FnrZ07x3W33nUPW0p9rSl2NOWYk9bij1tKfe0pdzTlnJPW8o9beneO6y/86h72lLuaUu5py3lnraUe9pS7WlLtact1Z62VHva0r13WH/nUfe0pdrTlmpPW6o9ban2tKXe05Z6T1vqPW2p97Sle++w/s6j7mlLvact9Z621HvaUu9pS7OnLc2etjR72tLsaUv3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ZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfucZfuCZfuCZfuCZfuCZfviQKVysGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsmxfsmxfsmxfsmxfHqhUTpbtS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btS5btK5btK5btK5btK5btqwOVysWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWyfcWy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WLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWLbPWbbPWbbPWbbPWbbPD1QqO8v2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Ocv2Bcv2Bcv2Bcv2Bcv2xYFK5WDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmDZvmTZvmTZvmTZvmTZvjxQqZws25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs25cs21cs21cs21cs21cs21cHKpWLZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuKZfuaZfuaZfuaZfuaZfv6QKVys2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2xfs2zfsGzfsGzfsGzfsGzfHKhUHpbtG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5btG5Tt6wNl+85xSKl8jkNK5XMcUiqf45BS+RyHlMrnOKRUPschpfI5DimVz3FYqYyyfec4rFRG2b5zHFYqo2zfOQ4rlVG27xyHlcoo23eOw0pllO07x2GlMsr2neOwUhll+85xWKmMsn3nOKxURtm+cxxWKqNs3zkOK5VRtu8ch5XKKNt3jsNKZZTtO8dhpTLK9p3jsFIZZfvOcVipjLJ95zisVL6z7dMjj18vVjni93EuvTgiXl99RL+/XOTS63P09eU51u9v/uuoseeoueeoteeoveeos+aodzag33pU2XNU3XNU23NU5x5VJtvfql4dcuWoqtNv727nT2X/9Po/jgtuTF9xXHBr+orjgpvTVxwX3J6+4rjgBvUFx72F2Za3mcrmytfqyrev1dXv81f/GkdY4yhrHLvvOH0c73+R6+M4zhonWOMk6+9OscZp1jiDGqdYqVysVC5WKpexxnHWOKxUrmSNU6xxmjXOfVNZVd/asmb+Ps6Fd458a+4SJfmxW/fxs8eXnz2+/uzxWZ8qtzDntxwnWOMk+e9aW7++dZ73Ny78XaufPX7/7PEvfsq9/lccV0a3kdc77zYhH9/+smm/3dvL1769fu3b29e+vX/t28eP/os/Pzs152en5vzs1Bz0d4Nr48uB/m5wfXwhfVGUQ1njoO7Ty+GscVB3hORA3RGSA3VHSA7UHSE5BjWOHKxxWKksrFQWVioLK5WFlcrCSmVhpbKwUllYqaysVFZWKisrlZWVyspKZWWlsrJSWVmprKxUVlYqGyuVjZXKxkplY6WysVLZWKlsrFQ2ViobK5WNlcrOSmVnpbKzUtlZqeysVHZWKjsrlZ2Vys5KZWelcrBSOVipHKxUDlYqByuVg5XKwUrlYKVysFI5WKmcrFROVionK5VZVlJYVlJYVlKSlcrJSuVkpXKyUrlYqVysVC5WKhcrlYuVyiwrKSwrKSwrKSwrKcVK5WalcrNSuVmp3KxUblYqNyuVm5XKzUrlZqVys1J5WKk8rFQeVioPK5WHlcrDSuVhpfKwUnlYqTyoVNYDlcrKsn3Ksn3Ksn16oFJZWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZP7/x8W7V5XRqn/vszMS6uds/fHjhWx2FvL/9HHrihd3527rceNfcctfYctfccddYclfUcZGU9B1lZz0FW1nOQlfUcZGU9B1lZz0FW1nOQlfUcZGU9B1lZz0FW1nOQlfUcZGU9B1mdlcrOSmVnpbKzUtlZqeysVA5WKgcrlYOVysFK5WClcrBSOVipHKxUDlYqByuVk5XKyUrlZKVyslI5WamcrFROVionK5WTlcrJSuVipXKxUrlYqVysVC5WKhcrlYuVysVK5WKlcrFSuVmp3KxUblYqNyuVm5XKzUrlZqVys1K5WancrFQeVioPK5WHlcrDSuVhpfKwUnlYqTysVB5WKg8qle1ApbIdqFS2A5XKdqBS2Q5UKtuBSmU7UKlsByqV7UClsh2sVBZWKgsrlYWVysJKZWGlsrBSWVipLKxUFlYqCyuVlZXKykplZaWyslJZWamsrFRWViorK5WVlcrKSmWW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7TOW7XOW7XOW7XOW7XOW7fMDlcrOsn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Osn3Bsn3Bsn3Bsn3Bsn1xoFI5WLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWLYvWbYvWbYvWbYvWbYvD1QqJ8v2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Jcv2Fcv2Fcv2Fcv2Fcv21YFK5WLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmLZvmbZvmbZvmbZvmbZvj5Qqdws29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs29cs2zcs2zcs2zcs2zcs2zcHKpWHZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfuGZfsGZfvmQNm+cxxSKp/jkFL5HIeUyuc4pFQ+xyGl8jkOKZXPcUipfI5DSuVzHFYqo2zfOQ4rlVG27xyHlcoo23eOw0pllO07x2GlMsr2neOwUhll+85xWKmMsn3nOKxURtm+cxxWKqNs3zkOK5VRtu8ch5XKKNt3jsNKZZTtO8dhpTLK9p3jsFIZZfvOcVipjLJ95zisVEbZvnMcViqjbN85DiuVUbbvHIeVyijbd47DSmWU7TvHYaUyyvad47BSGWX7znFYqYyyfec4rFRG2b5zHFYqo2zfOQ4rlVG27xyHlcoo23eOw0pllO07x2GlMsr2neOwUhll+85xWKmMsn3nOKxURtm+cxxWKqNs3zkOK5VRtu8ch5XKKNt3jsNKZZTtO8dhpTLK9p3jsFIZZfvOcVipjLJ95zisVEbZvnMcViqjbN85DiuVUbbvHIeVyijbd47DSmWU7TvHYaUyyvad46BSWVi2T1i2T1i2T1i2Tw5UKgvL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9gnL9inL9inL9inL9inL9umBSmVl2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T5l2T69s+3TI49fL1Y54vdxLr04Il5ffUS/v1zk0uvz/Mz79fIc6/c3/3VU2XNU3XNU23NU33PU2HNUzKf3hRe/jyEx7+9s+vrxgfms/0eGxzSDf2T44f4Lkcn2t6PWIVf+hZw/bO+3d7fjmD+9/q/HbXBP+YrjgrvKVxwX3Fe+4rjgziLn9O+fbofEhfH9gT6c294+nDv0bz+c+5F6yJWj5p6j1p6j9p6jghvR33/UzrfvDMeH7wzzSHdtrhz1ke7aXDnqI921uXLUR7prc+WovueoD9WWPj/qQ7Wlz4/6UG3p86M+VFv6/Khr2pIda9qSHWvakh1r2pIda9qSHb7nqGvakh1r2pIda9qSHWvakh172pLsaUuypy3JnrYke9rSnbfgfOtR97Ql2dOWZE9bkj1tSfa0Jd3TlnRPW9I9bUn3tKU7b6f61qPuaUu6py3pnrake9qS7mlLtqct2Z62ZHvaku1pS3feGvetR93TlmxPW7I9bcn2tCXb05Z8T1vyPW3J97Ql39OW7rzN8VuPuqct+Z625Hvaku9pS76nLcWethR72lLsaUuxpy3decvqtx51T1uKPW0p9rSl2NOWYk9byj1tKfe0pdzTlnJPW7rz9uNvPeqetpR72lLuaUu5py3lnrb0UFuyrxx1T1t6qC3ZV466py091JbsK0fd05ZqT1uqPW2p9rQl8r7uGx+VvKv71kfd05bIO7pvfdQ9bemxdnl/ftQ9bemxdnl/ftQ9bemxdnl/ftQ9bWnPLm/bs8vb9uzytj27vG3PLm/bs8vb9uzytj27vG3PLm/bs8vb9+zy9j27vH3PLm/fs8vbD99z1DVtyffs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7xjzy7v2LPLO/bs8o49u7zj8D1HXdOWYs8u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv37PLOPbu8c88u79yzyzsP33PUNW0p9+zyzj27vHPPLu/cs8s79+zyzj27vHPPLu/cs8s79+zyzj27vHPPLu/cs8s79+zyzj27vHPPLu/cs8s79+zyzj27vHPPLu/cs8s79+zyzj27vPOhdnmPxttR7eNRH6ktfX7Ue+/yttHX4f33aS6NLtHWr2993pyfPx31j/HlZ4+v4PHPW6xvb33erfIL49vPHt9/9vjxs8dP8vhTr6+WOg67+tFpbyHboR9CtvYctfccddYc1ckt4cZHJTeKv/uonzZ6R7eP2x4V3VRue1Tfc1R0A7rtUR+qLX1+1IdqS58f9aHa0udHfai29OlR46Ha0udH3dOWYk9bij1t6d47rL/zqHvaUuxpS7GnLcWethR72lLuaUu5py3lnraUe9rSvXdYf+dR97Sl3NOWck9byj1tKfe0pdrTlmpPW6o9ban2tKV777D+zqPuaUu1py3VnrZUe9pS7WlLvact9Z621HvaUu9pS/feYf2dR93TlnpPW+o9ban3tKXe05ZmT1uaPW1p9rSl2dOW7r3D+juPuqctzZ62NHva0uxpS7OmLdWxpi3VsaYt1bGmLdWxpi3V4XuOuqYt1bGmLdWxpi3VsaYt1bGnLcmetiR72pLsaUuypy3de4f1dx51T1uSPW1J9rQl2dOWZE9b0j1tSfe0Jd3TlnRPW7r3DuvvPOqetqR72pLuaUu6py3pnraE3mF946PuaUvs3di3PeqetsTeuX3bo+5pS4+1y/vzo+5pS4+1y/vzo+5pS4+1y/vzo+5pS3t2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61Z5d37dnlXXt2edeeXd61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BxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBxXmBw3mBw3mBw3mBw3mB+1g5bPB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDB/KDD/KDD/KDD/KDD/KAfrHx2mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB90mB8MmB8MmB8MmB8MmB+Mg5XPAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODAfODCfODCfODCfODCfODebDyOWF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+MGF+sGB+sGB+sGB+sGB+sA5WPhfMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDxbMDzbMDzbMDzbMDzbMD/bByueG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGB+cGB+cGB+cGB+cE5WPk8MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84LD8oB8sPnvOg8vmcB5XP5zyofD7nQeXzOQ8qn895UPl8zoPK53MeVD6f88DymeUHz3lg+czyg+c8sHxm+cFzHlg+s/zgOQ8sn1l+8JwHls8sP3jOA8tnlh8854HlM8sPnvPA8pnlB895YPnM8oPnPLB8ZvnBcx5YPrP84DkPLJ9ZfvCcB5bPLD94zgPLZ5YfPOeB5TPLD57zwPKZ5QfPeWD5zPKD5zywfGb5wXMeWD6z/OA5DyyfWX7wnAeWzyw/eM4Dy2eWHzzngeUzyw+e88DymeUHz3lg+czyg+c8sHxm+cFzHlg+s/zgOQ8sn1l+8JwHls8sP3jOA8tnlh8854HlM8sPnvPA8pnlB895YPnM8oPnPLB8ZvnBcx5YPrP84DkPLJ9ZfvCcB5bPLD94zgPLZ5YffHkAKmweWD6z/ODLA11g88DymeUHXxbUwuaB5TPLD74s3IHNA8tnlh98AYSoeQTmBwXmBwXmBwXmB88feMPmYeWzwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwPygwvygwvygwvygwvygHqx8VpgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfVJgfNJgfNJgfNJgfNJgftIOVzwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgwbzgw7zgw7zgw7zgw7zg36w8tlhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhftBhfjBgfjBgfjBgfjBgfjAOVj4HzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8GzA8mzA8mzA8mzA8mzA/mwcrnhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBhPnBgvnBgvnBgvnBgvnBOlj5XDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/WDA/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/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDB/KDB/KDB/KDB/KAdrHw2mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB90mB90mB90mB90mB/0g5XPDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODAfODAfODAfODAfODcbDyOWB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGF+MGF+MGF+MGF+MA9WPifMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDxbMDxbMDxbMDxbMD9bByueC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGG+cGG+cGG+cGG+cE+WPncMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD84MD84MD84MD84MD84ByufB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YH585+UI88fr1Y5Yjf57n04oh4ffUR/f5ykUuvz/Onnb9enueN2vc3fz1rLjprLTprLzrr7DnrnS3o954V8zl+4cXvY0jM+zubvn6KcFTqPzQ9piP8Q9M791+JnN8n/O2sdciVfyX68o/+9d3tOOZPr/91XnBj+ZLzglvLl5wX3Fy+5Lzg9iLn+O+fcofEpfkfqZG0vX1Kd+iHT+l5pEZy7ayy6Ky66Ky26Kz+SGftfPsGcXz8BjGPdCfn2lkf6U7OtbM+0p2ca2d9pDs51876UL3ps7OexfehetOVsz5Ub7py1ofqTVfO+lC96cpZfdFZ1/Sm86xretN51jW96Tzrmt70chNtz1llUW+SRb1JFvUmWdSb7ryd5XvPuqg3yaLeJIt6kyzqTbKoN+mi3qSLepMu6k26qDfdeWvS9551UW/SRb1JF/UmXdSbdFFvskW9yRb1JlvUm2xRb7rzNrPvPeui3mSLepMt6k22qDfZot7ki3qTL+pNvqg3+aLedOctg9971kW9yRf1Jl/Um3xRb/JFvSkW9aZY1JtiUW+KRb3pzts/v/esi3pTLOpNsag3xaLeFIt6Uy7qTbmoN+Wi3pSLetOdt/J+71kX9aZc1JtyUW/KRb0pF/WmWtSbalFvqkW9qRb1pjtvy/7esy7qTQ+1ifvaWRf1pofaxH3trIt600Nt4r521kW9qRf1pl7Um8g7wW9+1kW9ibwL/OZnXdSbyDvAb37WRb3psfaFXznrot70WPvCr5x1UW/asy/8POui3rRnX/h51kW9ac++8POse3qTLNoXLov2hcuifeGyaF+4HL7orHt6kyzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXLon3hsmhfuCzaFy6L9oXron3humhfuC7aF66L9oXr4YvOuqc36aJ94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gu2heui/aF66J94bpoX7gt2hdui/aF26J94bZoX7gdvuise3qTLdoXbov2hduifeG2aF+4LdoXbov2hduifeG2aF+4LdoXbov2hduifeG2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P1iw5w8W7PmDBXv+YMGeP1gwP1gwP1gNy+eG5fPA8nlg+TywfIb5wYL5wRpYPsOeP1iw5w/WwPJ5WPncMD/YMD/YMD/YMD/YByufG+YH+2Dlcx+sfG7Y8wcb9vzBhj1/sGHPH2zY8wcb9vzBhj1/sGHPH2yYH2yYH2yB5bPA8llh+aywfFZYPissnxWWzwrLZ9jzBxv2/MGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGG+cGB+cGB+cGB+cGB+cE5WPk8MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84LD/oB8sPnvOg8vmcB5XP5zyofD7nQeXzOQ8qn895UPl8zoPK53MeVD6f88DymeUHz3lg+czyg+c8sHxm+cFzHlg+s/zgOQ8sn1l+8JwHls8sP3jOA8tnlh8854HlM8sPnvPA8pnlB895YPnM8oPnPLB8ZvnBcx5YPrP84DkPLJ9ZfvCcB5bPLD94zgPLZ5YfPOeB5TPLD57zwPKZ5QfPeWD5zPKD5zywfGb5wXMeWD6z/OA5DyyfWX7wnAeWzyw/eM4Dy2eWHzzngeUzyw+e88DymeUHz3lg+czyg+c8sHxm+cFzHlg+///l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nJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfnJgfXJgfXJgfXJgfXJgfXJfVzwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgwvzgxvzgxvzgxvzgxvzg/uy+nljfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfnBjfvBgfvBgfvBgfvBgfvBcVj8fzA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8ezA8e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","brillig_names":["get_auth_witness","enqueue_public_function_call_internal","call_private_function_internal","debug_log_format","notify_set_min_revertible_side_effect_counter","directive_invert","directive_integer_quotient"]},{"name":"verify_private_authwit","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(view)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"inner_hash","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"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","brillig_names":["get_auth_witness","pack_returns","directive_invert"]},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/9VWzU7DMAx2Wdqm6yomeAB6BA7QSUPacRK/D8ALTKMSu2xoLTw/S2dr39KyC4m0RaqcOLH95bOTNKBt05sv4H7IMqJ2kzVTlsX/2sihr8InzuBEcJ6dCM7eieBUDnEGHTiNVNw3586cuZi257E1icYm0T2YpwOOAiuoaXfQv2b5/rmo8vlqWa9n8zr/WJVVvlzV+XdV5l/rxc+sLs24rFosJwwIQU/dsDZKrI078z0ZzxPG7gH3g/Hb9+O7MIl91DvuCWKZonjlOZEBfxnPE9hntCucJ9BJwT2DTl6EF9DFtB/L4NF+8jXxmK8iAw4JYmDDwyb13idveW5endSK37fiNzllwjXoFA9S0IVWzZjhFcxr2JPM31p7Qyw9C4vxG/rggnMf+fBdFGPkUHVwGHZwGHVweLn53iw/BnesveBuXhQNGBXEEpxnsEYDjhDGN7TTJ1IE7E94Eb/nZu9SR/pvO2XZDWFNBHaxZRcD7mbt5su5nzKfeAc4/DMb2Xe2y78+PMuKfUss2U8Ia+5ZXlC7IQdEfu/ABDC5fiMP3a8S8xju14GFaQg6rMWB5Wtg+ToGu4z2uRWd3OUpyF9gHhYxHg4AAA==","debug_symbols":"lZDBCsMgDIbfJWcPo7oWfJUxirZaAhKL2sEQ333ptkOvXkK+5P8uf4XV2WObkXzMoB8VQlxMwUhMtQmwCUPAbb6e4XYONXzzeTd0Yi4mFdBynAQ4WnmbBvY9BgdaSdmeApTsV1S/cu9Xxk6lMb5MQmOD+zflD1ouxZX3/vtw+AM=","brillig_names":["compute_note_hash_and_optionally_a_nullifier"]}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"inner_hash","type":{"kind":"field"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::verify_private_authwit_parameters"}},{"name":"return_type","type":{"kind":"field"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::verify_private_authwit_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"}},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"}},{"name":"cancellable","type":{"kind":"boolean"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::entrypoint_parameters"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::entrypoint_abi"}]}},"file_map":{"116":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() });\n }\n\n fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one\n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let (end_side_effect_counter, returns_hash) = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"},"144":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, GENERATOR_INDEX__FUNCTION_ARGS},\n point::Point, traits::Hash,\n hash::{sha256_to_field, poseidon2_hash_with_separator, poseidon2_hash_with_separator_slice}\n};\nuse crate::oracle::logs_traits::ToBytesForUnencryptedLog;\n\npub use dep::protocol_types::hash::{compute_siloed_nullifier, pedersen_hash};\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\n}\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes: [u8; 4] = (n as Field).to_be_bytes();\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes: [u8; 32] = sender.to_field().to_be_bytes();\n let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n let recipient_bytes: [u8; 32] = recipient.to_field().to_be_bytes();\n let version_bytes: [u8; 32] = version.to_be_bytes();\n let content_bytes: [u8; 32] = content.to_be_bytes();\n let secret_hash_bytes: [u8; 32] = secret_hash.to_be_bytes();\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n poseidon2_hash_with_separator(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n poseidon2_hash_with_separator_slice(args, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..100 {\n input.add(i as Field);\n }\n let hash = input.hash();\n dep::std::println(hash);\n assert(hash == 0x19b0d74feb06ebde19edd85a28986c97063e84b3b351a8b666c7cac963ce655f);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"149":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/returns.nr","source":"#[oracle(packReturns)]\nunconstrained fn pack_returns_oracle(_returns: [Field]) -> Field {}\n\nunconstrained pub fn pack_returns(returns: [Field]) {\n let _unused = pack_returns_oracle(returns);\n}\n\n#[oracle(unpackReturns)]\nunconstrained fn unpack_returns_oracle<let N: u32>(_return_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn unpack_returns<let N: u32>(return_hash: Field) -> [Field; N] {\n unpack_returns_oracle(return_hash)\n}\n"},"157":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress, utils::reader::Reader};\n\n#[oracle(callPrivateFunction)]\nunconstrained fn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; 2] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> (u32, Field) {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let mut reader = Reader::new(fields);\n let end_side_effect_counter = reader.read_u32();\n let returns_hash = reader.read();\n\n (end_side_effect_counter, returns_hash)\n}\n"},"162":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{abis::{function_selector::FunctionSelector}, address::AztecAddress};\n\n#[oracle(enqueuePublicFunctionCall)]\nunconstrained fn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nunconstrained fn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) {}\n\nunconstrained pub fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n}\n\n#[oracle(notifySetMinRevertibleSideEffectCounter)]\nunconstrained fn notify_set_min_revertible_side_effect_counter_oracle(_counter: u32) {}\n\nunconstrained pub fn notify_set_min_revertible_side_effect_counter(counter: u32) {\n notify_set_min_revertible_side_effect_counter_oracle(counter);\n}\n"},"24":{"path":"std/embedded_curve_ops.nr","source":"use crate::ops::arith::{Add, Sub, Neg};\nuse crate::cmp::Eq;\n\n/// A point on the embedded elliptic curve\n/// By definition, the base field of the embedded curve is the scalar field of the proof system curve, i.e the Noir Field.\n/// x and y denotes the Weierstrass coordinates of the point, if is_infinite is false.\nstruct EmbeddedCurvePoint {\n x: Field,\n y: Field,\n is_infinite: bool\n}\n\nimpl EmbeddedCurvePoint {\n /// Elliptic curve point doubling operation\n /// returns the doubled point of a point P, i.e P+P\n fn double(self) -> EmbeddedCurvePoint {\n embedded_curve_add(self, self)\n }\n\n /// Returns the null element of the curve; 'the point at infinity'\n fn point_at_infinity() -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n }\n}\n\nimpl Add for EmbeddedCurvePoint {\n /// Adds two points P+Q, using the curve addition formula, and also handles point at infinity\n fn add(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint {\n embedded_curve_add(self, other)\n }\n}\n\nimpl Sub for EmbeddedCurvePoint {\n /// Points subtraction operation, using addition and negation\n fn sub(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint {\n self + other.neg()\n }\n}\n\nimpl Neg for EmbeddedCurvePoint {\n /// Negates a point P, i.e returns -P, by negating the y coordinate.\n /// If the point is at infinity, then the result is also at infinity.\n fn neg(self) -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: self.x, y: -self.y, is_infinite: self.is_infinite }\n }\n}\n\nimpl Eq for EmbeddedCurvePoint {\n /// Checks whether two points are equal\n fn eq(self: Self, b: EmbeddedCurvePoint) -> bool {\n (self.is_infinite & b.is_infinite)\n | ((self.is_infinite == b.is_infinite) & (self.x == b.x) & (self.y == b.y))\n }\n}\n\n/// Scalar for the embedded curve represented as low and high limbs\n/// By definition, the scalar field of the embedded curve is base field of the proving system curve.\n/// It may not fit into a Field element, so it is represented with two Field elements; its low and high limbs.\nstruct EmbeddedCurveScalar {\n lo: Field,\n hi: Field,\n}\n\nimpl EmbeddedCurveScalar {\n pub fn new(lo: Field, hi: Field) -> Self {\n EmbeddedCurveScalar { lo, hi }\n }\n\n #[field(bn254)]\n fn from_field(scalar: Field) -> EmbeddedCurveScalar {\n let (a,b) = crate::field::bn254::decompose(scalar);\n EmbeddedCurveScalar { lo: a, hi: b }\n }\n}\n\nimpl Eq for EmbeddedCurveScalar {\n fn eq(self, other: Self) -> bool {\n (other.hi == self.hi) & (other.lo == self.lo)\n }\n}\n\n// Computes a multi scalar multiplication over the embedded curve.\n// For bn254, We have Grumpkin and Baby JubJub.\n// For bls12-381, we have JubJub and Bandersnatch.\n//\n// The embedded curve being used is decided by the \n// underlying proof system.\n// docs:start:multi_scalar_mul\npub fn multi_scalar_mul<let N: u32>(\n points: [EmbeddedCurvePoint; N],\n scalars: [EmbeddedCurveScalar; N]\n) -> EmbeddedCurvePoint\n// docs:end:multi_scalar_mul\n{\n let point_array = multi_scalar_mul_array_return(points, scalars);\n EmbeddedCurvePoint { x: point_array[0], y: point_array[1], is_infinite: point_array[2] as bool }\n}\n\n#[foreign(multi_scalar_mul)]\nfn multi_scalar_mul_array_return<let N: u32>(points: [EmbeddedCurvePoint; N], scalars: [EmbeddedCurveScalar; N]) -> [Field; 3] {}\n\n#[foreign(multi_scalar_mul)]\npub(crate) fn multi_scalar_mul_slice(points: [EmbeddedCurvePoint], scalars: [EmbeddedCurveScalar]) -> [Field; 3] {}\n\n// docs:start:fixed_base_scalar_mul\npub fn fixed_base_scalar_mul(scalar: EmbeddedCurveScalar) -> EmbeddedCurvePoint\n// docs:end:fixed_base_scalar_mul\n{\n let g1 = EmbeddedCurvePoint { x: 1, y: 17631683881184975370165255887551781615748388533673675138860, is_infinite: false };\n multi_scalar_mul([g1], [scalar])\n}\n\n// This is a hack as returning an `EmbeddedCurvePoint` from a foreign function in brillig returns a [BrilligVariable::SingleAddr; 2] rather than BrilligVariable::BrilligArray\n// as is defined in the brillig bytecode format. This is a workaround which allows us to fix this without modifying the serialization format.\n// docs:start:embedded_curve_add\nfn embedded_curve_add(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint\n) -> EmbeddedCurvePoint\n// docs:end:embedded_curve_add\n{\n let point_array = embedded_curve_add_array_return(point1, point2);\n let x = point_array[0];\n let y = point_array[1];\n EmbeddedCurvePoint { x, y, is_infinite: point_array[2] == 1 }\n}\n\n#[foreign(embedded_curve_add)]\nfn embedded_curve_add_array_return(_point1: EmbeddedCurvePoint, _point2: EmbeddedCurvePoint) -> [Field; 3] {}\n"},"26":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size(self, bit_size: u32) {\n // docs:end:assert_max_bit_size\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_le_bits)]\n // docs:start:to_le_bits\n pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {}\n // docs:end:to_le_bits\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_be_bits)]\n // docs:start:to_be_bits\n pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {}\n // docs:end:to_be_bits\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8]` slice of length `byte_size`.\n /// This slice will be zero padded should not all bytes be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{8*byte_size}` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `byte_size` equal to or greater than the number of bytes necessary to represent the `Field` modulus\n /// (e.g. 32 for the BN254 field) allow for multiple byte decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n // docs:start:to_le_bytes\n pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n self.to_le_radix(256)\n }\n // docs:end:to_le_bytes\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8]` slice of length `byte_size`.\n /// This slice will be zero padded should not all bytes be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{8*byte_size}` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `byte_size` equal to or greater than the number of bytes necessary to represent the `Field` modulus\n /// (e.g. 32 for the BN254 field) allow for multiple byte decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n // docs:start:to_be_bytes\n pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n self.to_be_radix(256)\n }\n // docs:end:to_be_bytes\n\n // docs:start:to_le_radix\n pub fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n crate::assert_constant(radix);\n self.__to_le_radix(radix)\n }\n // docs:end:to_le_radix\n\n // docs:start:to_be_radix\n pub fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n crate::assert_constant(radix);\n self.__to_be_radix(radix)\n }\n // docs:end:to_be_radix\n\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b: [u1; 32] = exponent.to_le_bits();\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\nmod tests {\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bits: [u8; 8] = field.to_be_bytes();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 0, 2]);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bits: [u8; 8] = field.to_le_bytes();\n assert_eq(bits, [2, 0, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n let field = 2;\n let bits: [u8; 8] = field.to_be_radix(256);\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 0, 2]);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n let field = 2;\n let bits: [u8; 8] = field.to_le_radix(256);\n assert_eq(bits, [2, 0, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_radix_example\n}\n"},"265":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr","source":"use crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field {\n fn empty() -> Self {\n 0\n }\n}\n\nimpl Empty for u1 {\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u8 {\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u32 {\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u64 {\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for U128 {\n fn empty() -> Self {\n U128::from_integer(0)\n }\n}\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, let N: u32>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool {\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u1 {\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u8 {\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u32 {\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u64 {\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<let N: u32> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool {\n fn from_field(value: Field) -> Self {\n value as bool\n }\n}\nimpl FromField for u1 {\n fn from_field(value: Field) -> Self {\n value as u1\n }\n}\nimpl FromField for u8 {\n fn from_field(value: Field) -> Self {\n value as u8\n }\n}\nimpl FromField for u32 {\n fn from_field(value: Field) -> Self {\n value as u32\n }\n}\nimpl FromField for u64 {\n fn from_field(value: Field) -> Self {\n value as u64\n }\n}\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<let N: u32> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<let N: u32> Serialize<N> for [Field; N] {\n fn serialize(self) -> [Field; N] {\n self\n }\n}\nimpl<let N: u32> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<let N: u32> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n\nimpl<let N: u32> Deserialize<N> for [Field; N] {\n fn deserialize(fields: [Field; N]) -> Self {\n fields\n }\n}\n"},"266":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"270":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc\n};\nuse super::utils::field::field_from_bytes;\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n poseidon2_hash_with_separator(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256([log_hash.contract_address.to_field(), log_hash.log_hash.value])\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0\n )\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes: [u8; 32] = inputs[i].to_be_bytes();\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes: [u8; 32] = input[offset].to_be_bytes();\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes: [u8; 32] = logs[offset].value.to_be_bytes();\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes: [u8; 32] = logs[offset].value.to_be_bytes();\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(\n inputs: [Field; N],\n separator: T\n) -> Field where T: ToField {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\npub fn poseidon2_hash_with_separator_slice<T>(inputs: [Field], separator: T) -> Field where T: ToField {\n let in_len = inputs.len() + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\n#[no_predicates]\npub fn poseidon2_hash_bytes<let N: u32>(inputs: [u8; N]) -> Field {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of Math.ceil(N/31)\n let mut in_len = N / 31;\n let mut has_padding = false;\n if N % 31 != 0 {\n in_len += 1;\n has_padding = true;\n }\n\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n\n let mut current_field = [0; 31];\n for i in 0..inputs.len() {\n let index = i % 31;\n current_field[index] = inputs[i];\n if index == 30 {\n sponge.absorb(field_from_bytes(current_field, false));\n current_field = [0; 31];\n }\n }\n if has_padding {\n sponge.absorb(field_from_bytes(current_field, false));\n }\n\n sponge.squeeze()\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = std::hash::sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3)\n },\n version,\n chainId\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"},"293":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<let K: u32>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, let K: u32, let C: u32>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"},"313":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/mod.nr","source":"// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, let N: u32, let M: u32>(src: [T; N], mut dst: [T; M], offset: u32) -> [T; M] {\n let iterator_len = if N > M { M } else { N };\n for i in 0..iterator_len {\n dst[i] = src[i + offset];\n }\n dst\n}\n"},"326":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","source":"use crate::{\n crate::address::{partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n hash::poseidon2_hash_with_separator, traits::{Empty, FromField, ToField, Serialize, Deserialize},\n utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other: Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self { inner: 0 }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys_hash() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x23ce9be3fa3c846b0f9245cc796902e731d04f086e8a42473bb29e405fc98075;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n"},"34":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\ncomptime global RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n }\n\n fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field) * 18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field) {\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher { _state: &[] }\n }\n}\n"},"432":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/auth_oracle.nr","source":"use dep::authwit::auth_witness;\nuse dep::aztec::{\n protocol_types::{address::PartialAddress, utils::arr_copy_slice},\n keys::{PublicKeys, PUBLIC_KEYS_LENGTH}\n};\n\nstruct AuthWitness {\n keys: PublicKeys,\n signature: [u8; 64],\n partial_address: PartialAddress,\n}\n\nimpl AuthWitness {\n fn deserialize(values: [Field; 77]) -> Self {\n let mut signature = [0; 64];\n for i in 0..64 {\n signature[i] = values[i + PUBLIC_KEYS_LENGTH] as u8;\n }\n Self {\n keys: PublicKeys::deserialize(arr_copy_slice(values, [0; PUBLIC_KEYS_LENGTH], 0)),\n signature,\n partial_address: PartialAddress::from_field(values[76])\n }\n }\n}\n\nunconstrained pub fn get_auth_witness(message_hash: Field) -> AuthWitness {\n let witness: [Field; 77] = auth_witness::get_auth_witness(message_hash);\n AuthWitness::deserialize(witness)\n}\n"},"433":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/main.nr","source":"mod util;\nmod auth_oracle;\n\ncontract SchnorrSingleKeyAccount {\n use dep::aztec::prelude::PrivateContext;\n\n use dep::authwit::{entrypoint::{app::AppPayload, fee::FeePayload}, account::AccountActions};\n\n use crate::{util::recover_address, auth_oracle::get_auth_witness};\n\n // Note: If you globally change the entrypoint signature don't forget to update account_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload, fee_payload: FeePayload, cancellable: bool) {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.entrypoint(app_payload, fee_payload, cancellable);\n }\n\n #[aztec(private)]\n #[aztec(view)]\n fn verify_private_authwit(inner_hash: Field) -> Field {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.verify_private_authwit(inner_hash)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, outer_hash: Field) -> bool {\n let witness = unsafe {\n get_auth_witness(outer_hash)\n };\n recover_address(outer_hash, witness).eq(context.this_address())\n }\n}\n"},"434":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/util.nr","source":"use std::schnorr::verify_signature;\nuse dep::aztec::prelude::AztecAddress;\nuse crate::auth_oracle::AuthWitness;\n\npub fn recover_address(message_hash: Field, witness: AuthWitness) -> AztecAddress {\n let message_bytes: [u8; 32] = message_hash.to_be_bytes();\n // In a single key account contract we re-used ivpk_m as signing key\n let verification = verify_signature(\n witness.keys.ivpk_m.inner.x,\n witness.keys.ivpk_m.inner.y,\n witness.signature,\n message_bytes\n );\n assert(verification == true);\n\n AztecAddress::compute(witness.keys.hash(), witness.partial_address)\n}\n"},"7":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\n/// A `BoundedVec<T, MaxLen>` is a growable storage similar to a `Vec<T>` except that it\n/// is bounded with a maximum possible length. Unlike `Vec`, `BoundedVec` is not implemented\n/// via slices and thus is not subject to the same restrictions slices are (notably, nested\n/// slices - and thus nested vectors as well - are disallowed).\n/// \n/// Since a BoundedVec is backed by a normal array under the hood, growing the BoundedVec by\n/// pushing an additional element is also more efficient - the length only needs to be increased\n/// by one.\n/// \n/// For these reasons `BoundedVec<T, N>` should generally be preferred over `Vec<T>` when there\n/// is a reasonable maximum bound that can be placed on the vector.\n/// \n/// Example:\n/// \n/// ```noir\n/// let mut vector: BoundedVec<Field, 10> = BoundedVec::new();\n/// for i in 0..5 {\n/// vector.push(i);\n/// }\n/// assert(vector.len() == 5);\n/// assert(vector.max_len() == 10);\n/// ```\nstruct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n /// Creates a new, empty vector of length zero.\n ///\n /// Since this container is backed by an array internally, it still needs an initial value\n /// to give each element. To resolve this, each element is zeroed internally. This value\n /// is guaranteed to be inaccessible unless `get_unchecked` is used.\n ///\n /// Example:\n ///\n /// ```noir\n /// let empty_vector: BoundedVec<Field, 10> = BoundedVec::new();\n /// assert(empty_vector.len() == 0);\n /// ```\n ///\n /// Note that whenever calling `new` the maximum length of the vector should always be specified\n /// via a type signature:\n ///\n /// ```noir\n /// fn good() -> BoundedVec<Field, 10> {\n /// // Ok! MaxLen is specified with a type annotation\n /// let v1: BoundedVec<Field, 3> = BoundedVec::new();\n /// let v2 = BoundedVec::new();\n ///\n /// // Ok! MaxLen is known from the type of `good`'s return value\n /// v2\n /// }\n ///\n /// fn bad() {\n /// // Error: Type annotation needed\n /// // The compiler can't infer `MaxLen` from the following code:\n /// let mut v3 = BoundedVec::new();\n /// v3.push(5);\n /// }\n /// ```\n ///\n /// This defaulting of `MaxLen` (and numeric generics in general) to zero may change in future noir versions\n /// but for now make sure to use type annotations when using bounded vectors. Otherwise, you will receive a \n /// constraint failure at runtime when the vec is pushed to.\n pub fn new() -> Self {\n let zeroed = crate::mem::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero.\n /// \n /// If the given index is equal to or greater than the length of the vector, this\n /// will issue a constraint failure.\n /// \n /// Example:\n /// \n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// let last = v.get(v.len() - 1);\n /// assert(first != last);\n /// }\n /// ```\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero, without\n /// performing a bounds check.\n /// \n /// Since this function does not perform a bounds check on length before accessing the element,\n /// it is unsafe! Use at your own risk!\n /// \n /// Example:\n /// \n /// ```noir\n /// fn sum_of_first_three<let N: u32>(v: BoundedVec<u32, N>) -> u32 {\n /// // Always ensure the length is larger than the largest\n /// // index passed to get_unchecked\n /// assert(v.len() > 2);\n /// let first = v.get_unchecked(0);\n /// let second = v.get_unchecked(1);\n /// let third = v.get_unchecked(2);\n /// first + second + third\n /// }\n /// ```\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Writes an element to the vector at the given index, starting from zero.\n /// \n /// If the given index is equal to or greater than the length of the vector, this will issue a constraint failure.\n /// \n /// Example:\n /// \n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// assert(first != 42);\n /// v.set(0, 42);\n /// let new_first = v.get(0);\n /// assert(new_first == 42);\n /// }\n /// ```\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Writes an element to the vector at the given index, starting from zero, without performing a bounds check.\n /// \n /// Since this function does not perform a bounds check on length before accessing the element, it is unsafe! Use at your own risk!\n /// \n /// Example:\n /// \n /// ```noir\n /// fn set_unchecked_example() {\n /// let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n /// vec.extend_from_array([1, 2]);\n /// \n /// // Here we're safely writing within the valid range of `vec`\n /// // `vec` now has the value [42, 2]\n /// vec.set_unchecked(0, 42);\n /// \n /// // We can then safely read this value back out of `vec`.\n /// // Notice that we use the checked version of `get` which would prevent reading unsafe values.\n /// assert_eq(vec.get(0), 42);\n /// \n /// // We've now written past the end of `vec`.\n /// // As this index is still within the maximum potential length of `v`,\n /// // it won't cause a constraint failure. \n /// vec.set_unchecked(2, 42);\n /// println(vec);\n /// \n /// // This will write past the end of the maximum potential length of `vec`,\n /// // it will then trigger a constraint failure.\n /// vec.set_unchecked(5, 42);\n /// println(vec);\n /// }\n /// ```\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n /// Pushes an element to the end of the vector. This increases the length\n /// of the vector by one.\n /// \n /// Panics if the new length of the vector will be greater than the max length.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n /// \n /// v.push(1);\n /// v.push(2);\n /// \n /// // Panics with failed assertion \"push out of bounds\"\n /// v.push(3);\n /// ```\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n /// Returns the current length of this vector\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 4> = BoundedVec::new();\n /// assert(v.len() == 0);\n /// \n /// v.push(100);\n /// assert(v.len() == 1);\n /// \n /// v.push(200);\n /// v.push(300);\n /// v.push(400);\n /// assert(v.len() == 4);\n /// \n /// let _ = v.pop();\n /// let _ = v.pop();\n /// assert(v.len() == 2);\n /// ```\n pub fn len(self) -> u32 {\n self.len\n }\n\n /// Returns the maximum length of this vector. This is always\n /// equal to the `MaxLen` parameter this vector was initialized with.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n /// \n /// assert(v.max_len() == 5);\n /// v.push(10);\n /// assert(v.max_len() == 5);\n /// ```\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n /// Returns the internal array within this vector.\n /// \n /// Since arrays in Noir are immutable, mutating the returned storage array will not mutate\n /// the storage held internally by this vector.\n /// \n /// Note that uninitialized elements may be zeroed out!\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n /// \n /// assert(v.storage() == [0, 0, 0, 0, 0]);\n /// \n /// v.push(57);\n /// assert(v.storage() == [57, 0, 0, 0, 0]);\n /// ```\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n /// Pushes each element from the given array to this vector.\n /// \n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_array([2, 4]);\n /// \n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the given slice to this vector.\n /// \n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_slice(&[2, 4]);\n /// \n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the other vector to this vector. The length of\n /// the other vector is left unchanged.\n /// \n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n /// \n /// ```noir\n /// let mut v1: BoundedVec<Field, 5> = BoundedVec::new();\n /// let mut v2: BoundedVec<Field, 7> = BoundedVec::new();\n /// \n /// v2.extend_from_array([1, 2, 3]);\n /// v1.extend_from_bounded_vec(v2);\n /// \n /// assert(v1.storage() == [1, 2, 3, 0, 0]);\n /// assert(v2.storage() == [1, 2, 3, 0, 0, 0, 0]);\n /// ```\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n /// Creates a new vector, populating it with values derived from an array input. \n /// The maximum length of the vector is determined based on the type signature.\n /// \n /// Example:\n /// \n /// ```noir\n /// let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array([1, 2, 3])\n /// ```\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n /// Pops the element at the end of the vector. This will decrease the length\n /// of the vector by one.\n /// \n /// Panics if the vector is empty.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n /// v.push(1);\n /// v.push(2);\n /// \n /// let two = v.pop();\n /// let one = v.pop();\n /// \n /// assert(two == 2);\n /// assert(one == 1);\n ///\n /// // error: cannot pop from an empty vector\n /// let _ = v.pop();\n /// ```\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::mem::zeroed();\n elem\n }\n\n /// Returns true if the given predicate returns true for any element\n /// in this vector.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<u32, 3> = BoundedVec::new();\n /// v.extend_from_array([2, 4, 6]);\n /// \n /// let all_even = !v.any(|elem: u32| elem % 2 != 0);\n /// assert(all_even);\n /// ```\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n\n /// Creates a new vector of equal size by calling a closure on each element in this vector. \n /// \n /// Example:\n /// \n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let result = vec.map(|value| value * 2);\n /// \n /// let expected = BoundedVec::from_array([2, 4, 6, 8]);\n /// assert_eq(result, expected);\n /// ```\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n ret\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n\n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n crate::println(vec.get(0));\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n\n // Need to use println to avoid DIE removing the write operation.\n crate::println(vec.get(0));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.storage()[2], 0);\n }\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n assert_eq(bounded_vec.storage()[2], 3);\n }\n\n #[test(should_fail_with=\"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n}\n"},"73":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth_witness.nr","source":"#[oracle(getAuthWitness)]\nunconstrained fn get_auth_witness_oracle<let N: u32>(_message_hash: Field) -> [Field; N] {}\n\n/**\n * Oracle wrapper to fetch an `auth_witness` for a given `message_hash` from the PXE.\n * \n * @param message_hash The hash of the message for which the `auth_witness` is to be fetched.\n * @return The `auth_witness` for the given `message_hash` as Field array.\n */\nunconstrained pub fn get_auth_witness<let N: u32>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n"},"74":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr","source":"use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{\n GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER, GENERATOR_INDEX__AUTHWIT_NULLIFIER,\n CANONICAL_AUTH_REGISTRY_ADDRESS\n},\n hash::poseidon2_hash_with_separator\n};\nuse dep::aztec::{prelude::Deserialize, context::{PrivateContext, PublicContext, gas::GasOpts}, hash::hash_args_array};\n\n/**\n * Authenticaion witness helper library\n *\n * Authentication Witness is a scheme for authenticating actions on Aztec, so users can allow third-parties\n * (e.g. protocols or other users) to execute an action on their behalf.\n *\n * This library provides helper functions to manage such witnesses.\n * The authentication witness, is some \"witness\" (data) that authenticates a `message_hash`.\n * The simplest example of an authentication witness, is a signature. The signature is the \"evidence\",\n * that the signer has seen the message, agrees with it, and has allowed it.\n * It does not need to be a signature. It could be any kind of \"proof\" that the message is allowed.\n * Another proof could be knowing some kind of secret, or having some kind of \"token\" that allows the message.\n *\n * The `message_hash` is a hash of the following structure:\n * hash(consumer, chain_id, version, inner_hash)\n * - consumer: the address of the contract that is \"consuming\" the message,\n * - chain_id: the chain id of the chain that the message is being consumed on,\n * - version: the version of the chain that the message is being consumed on,\n * - inner_hash: the hash of the \"inner\" message that is being consumed, this is the \"actual\" message or action.\n *\n * While the `inner_hash` could be anything, such as showing you signed a specific message, it will often be\n * a hash of the \"action\" to approve, along with who made the call. As part of this library, we provide a few\n * helper functions to deal with such messages.\n *\n * For example, we provide helper function that is used for checking that the message is an encoding of the current call.\n * This can be used to let some contract \"allow\" another contract to act on its behalf, as long as it can\n * show that it is acting on behalf of the contract.\n *\n * If we take a case of allowing a contract to transfer tokens on behalf of an account, the `inner_hash` can be\n * derived as:\n * inner_hash = hash(caller, \"transfer\", hash(to, amount))\n *\n * Where the `caller` would be the address of the contract that is trying to transfer the tokens, and `to` and `amount`\n * the arguments for the transfer.\n *\n * Note that we have both a `caller` and a `consumer`, the `consumer` will be the contract that is consuming the message,\n * in the case of the transfer, it would be the `Token` contract itself, while the caller, will be the actor that is\n * allowed to transfer the tokens.\n *\n *\n * The authentication mechanism works differently in public and private contexts. In private, we recall that everything\n * is executed on the user's device, so we can use `oracles` to \"ask\" the user (not contract) for information. In public\n * we cannot do this, since it is executed by the sequencer (someone else). Therefore we can instead use a \"registry\"\n * to store the messages that we have approved.\n *\n * A simple example would be a \"token\" that is being \"pulled\" from one account into another. We will first outline\n * how this would look in private, and then in public later.\n *\n * Say that a user `Alice` wants to deposit some tokens into a DeFi protocol (say a DEX).\n * `Alice` would make a `deposit` transaction, that she is executing using her account contract.\n * The account would call the `DeFi` contract to execute `deposit`, which would try to pull funds from the `Token`\n * contract. Since the `DeFi` contract is trying to pull funds from an account that is not its own, it needs to\n * convince the `Token` contract that it is allowed to do so.\n *\n * This is where the authentication witness comes in The `Token` contract computes a `message_hash` from the\n * `transfer` call, and then asks `Alice Account` contract to verify that the `DeFi` contract is allowed to\n * execute that call.\n *\n * `Alice Account` contract can then ask `Alice` if she wants to allow the `DeFi` contract to pull funds from her\n * account. If she does, she will sign the `message_hash` and return the signature to the `Alice Account` which\n * will validate it and return success to the `Token` contract which will then allow the `DeFi` contract to pull\n * funds from `Alice`.\n *\n * To ensure that the same \"approval\" cannot be used multiple times, we also compute a `nullifier` for the\n * authentication witness, and emit it from the `Token` contract (consumer).\n *\n * Note that we can do this flow as we are in private were we can do oracle calls out from contracts.\n *\n *\n * Person Contract Contract Contract\n * Alice Alice Account Token DeFi\n * | | | |\n * | Defi.deposit(Token, 1000) | |\n * |----------------->| | |\n * | | deposit(Token, 1000) |\n * | |---------------------------------------->|\n * | | | |\n * | | | transfer(Alice, Defi, 1000)\n * | | |<---------------------|\n * | | | |\n * | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | |<-----------------| |\n * | | | |\n * | Please give me AuthWit for DeFi | |\n * | calling transfer(Alice, Defi, 1000) | |\n * |<-----------------| | |\n * | | | |\n * | | | |\n * | AuthWit for transfer(Alice, Defi, 1000) |\n * |----------------->| | |\n * | | AuthWit validity | |\n * | |----------------->| |\n * | | | |\n * | | throw if invalid AuthWit |\n * | | | |\n * | | emit AuthWit nullifier |\n * | | | |\n * | | transfer(Alice, Defi, 1000) |\n * | | | |\n * | | | |\n * | | | success |\n * | | |--------------------->|\n * | | | |\n * | | | |\n * | | | deposit(Token, 1000)\n * | | | |\n * | | | |\n *\n *\n * If we instead were in public, we cannot do the same flow. Instead we would use an authentication registry to store\n * the messages that we have approved.\n *\n * To approve a message, `Alice Account` can make a `set_authorized` call to the registry, to set a `message_hash`\n * as authorized. This is essentially a mapping from `message_hash` to `true` for `Alice Contract`. Every account\n * has its own map in the registry, so `Alice` cannot approve a message for `Bob`.\n *\n * The `Token` contract can then try to \"spend\" the approval by calling `consume` on the registry. If the message\n * was approved, the value is updated to `false`, and we return the success flag. For more information on the\n * registry, see `main.nr` in `auth_registry_contract`.\n *\n * Person Contract Contract Contract Contract\n * Alice Alice Account Registry Token DeFi\n * | | | | |\n * | Registry.set_authorized(..., true) | | |\n * |----------------->| | | |\n * | | set_authorized(..., true) | |\n * | |------------------->| | |\n * | | | | |\n * | | set authorized to true | |\n * | | | | |\n * | | | | |\n * | Defi.deposit(Token, 1000) | | |\n * |----------------->| | | |\n * | | deposit(Token, 1000) | |\n * | |-------------------------------------------------------------->|\n * | | | | |\n * | | | transfer(Alice, Defi, 1000) |\n * | | | |<---------------------|\n * | | | | |\n * | | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | | |<------------------| |\n * | | | | |\n * | | throw if invalid AuthWit | |\n * | | | | |\n * | | | | |\n * | | set authorized to false | |\n * | | | | |\n * | | | | |\n * | | | AuthWit validity | |\n * | | |------------------>| |\n * | | | | |\n * | | | | transfer(Alice, Defi, 1000)\n * | | | |<-------------------->|\n * | | | | |\n * | | | | success |\n * | | | |--------------------->|\n * | | | | |\n * | | | | deposit(Token, 1000)\n * | | | | |\n *\n *\n * --- FAQ ---\n * Q: Why are we using a success flag of `poseidon2_hash_bytes(\"IS_VALID()\")` instead of just returning a boolean?\n * A: We want to make sure that we don't accidentally return `true` if there is a collision in the function selector.\n * By returning a hash of `IS_VALID()`, it becomes very unlikely that there is both a collision and we return\n * a success flag.\n *\n * Q: Why are we using static calls?\n * A: We are using static calls to ensure that the account contract cannot re-enter. If it was a normal call, it\n * could make a new call and do a re-entry attack. Using a static ensures that it cannot update any state.\n *\n * Q: Would it not be cheaper to use a nullifier instead of updating state in public?\n * A: At a quick glance, a public state update + nullifier is 96 bytes, but two state updates are 128, so it would be\n * cheaper to use a nullifier, if this is the way it would always be done. However, if both the approval and the\n * consumption is done in the same transaction, then we will be able to squash the updates (only final tx state diff is posted to DA), and now it is cheaper.\n *\n * Q: Why is the chain id and the version part of the message hash?\n * A: The chain id and the version is part of the message hash to ensure that the message is only valid on a specific\n * chain to avoid a case where the same message could be used across multiple chains.\n */\n\nglobal IS_VALID_SELECTOR = 0x47dacd73; // 4 last bytes of poseidon2_hash_bytes(\"IS_VALID()\")\n\n/**\n * Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n assert_inner_hash_valid_authwit(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit\n\n/**\n * Assert that a specific `inner_hash` is valid for the `on_behalf_of` address\n *\n * Used as an internal function for `assert_current_call_valid_authwit` and can be used as a standalone function when\n * the `inner_hash` is from a different source, e.g., say a block of text etc.\n *\n * @param on_behalf_of The address that have authorized the current call\n * @param inner_hash The hash of the message to authorize\n */\npub fn assert_inner_hash_valid_authwit(\n context: &mut PrivateContext,\n on_behalf_of: AztecAddress,\n inner_hash: Field\n) {\n // We perform a static call here and not a standard one to ensure that the account contract cannot re-enter.\n let result: Field = context.static_call_private_function(\n on_behalf_of,\n comptime {\n FunctionSelector::from_signature(\"verify_private_authwit(Field)\")\n },\n [inner_hash]\n ).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n // Compute the nullifier, similar computation to the outer hash, but without the chain_id and version.\n // Those should already be handled in the verification, so we just need something to nullify, that allow same inner_hash for multiple actors.\n let nullifier = compute_authwit_nullifier(on_behalf_of, inner_hash);\n context.push_nullifier(nullifier);\n}\n\n/**\n * Assert that `on_behalf_of` have authorized the current call in the authentication registry\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit_public\npub fn assert_current_call_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n assert_inner_hash_valid_authwit_public(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n/**\n * Assert that `on_behalf_of` have authorized a speicifc `inner_hash` in the authentication registry\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that have authorized the `inner_hash`\n */\npub fn assert_inner_hash_valid_authwit_public(\n context: &mut PublicContext,\n on_behalf_of: AztecAddress,\n inner_hash: Field\n) {\n let result: Field = context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"consume((Field),Field)\")\n },\n [on_behalf_of.to_field(), inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n\n/**\n * Compute the `message_hash` from a function call to be used by an authentication witness\n *\n * Useful for when you need a non-account contract to approve during execution. For example if you need a contract\n * to make a call to nested contract, e.g., contract A wants to exit token T to L1 using bridge B, so it needs to allow\n * B to transfer T on its behalf.\n *\n * @param caller The address of the contract that is calling the function, in the example above, this would be B\n * @param consumer The address of the contract that is consuming the message, in the example above, this would be T\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param selector The function selector of the function that is being called\n * @param args The arguments of the function that is being called\n */\n// docs:start:compute_authwit_message_hash_from_call\npub fn compute_authwit_message_hash_from_call<let N: u32>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_authwit_message_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_authwit_message_hash_from_call\n\n/**\n * Computes the `inner_hash` of the authentication witness\n *\n * This is used internally, but also useful in cases where you want to compute the `inner_hash` for a specific message\n * that is not necessarily a call, but just some \"bytes\" or text.\n *\n * @param args The arguments to hash\n */\npub fn compute_inner_authwit_hash<let N: u32>(args: [Field; N]) -> Field {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\n/**\n * Computs the `authwit_nullifier` for a specific `on_behalf_of` and `inner_hash`\n *\n * Using the `on_behalf_of` and the `inner_hash` to ensure that the nullifier is siloed for a specific `on_behalf_of`.\n *\n * @param on_behalf_of The address that have authorized the `inner_hash`\n * @param inner_hash The hash of the message to authorize\n */\npub fn compute_authwit_nullifier(on_behalf_of: AztecAddress, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [on_behalf_of.to_field(), inner_hash],\n GENERATOR_INDEX__AUTHWIT_NULLIFIER\n )\n}\n\n/**\n * Computes the `message_hash` for the authentication witness\n *\n * @param consumer The address of the contract that is consuming the message\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param inner_hash The hash of the \"inner\" message that is being consumed\n */\npub fn compute_authwit_message_hash(\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n inner_hash: Field\n) -> Field {\n poseidon2_hash_with_separator(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n\n/**\n * Helper function to set the authorization status of a message hash\n *\n * Wraps a public call to the authentication registry to set the authorization status of a `message_hash`\n *\n * @param message_hash The hash of the message to authorize\n * @param authorize True if the message should be authorized, false if it should be revoked\n */\npub fn set_authorized(context: &mut PublicContext, message_hash: Field, authorize: bool) {\n context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"set_authorized(Field,bool)\")\n },\n [message_hash, authorize as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n\n/**\n * Helper function to reject all authwits\n *\n * Wraps a public call to the authentication registry to set the `reject_all` flag\n *\n * @param reject True if all authwits should be rejected, false otherwise\n */\npub fn set_reject_all(context: &mut PublicContext, reject: bool) {\n context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"set_reject_all(bool)\")\n },\n [context.this_address().to_field(), reject as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n"},"75":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/account.nr","source":"use dep::aztec::{\n context::PrivateContext,\n protocol_types::constants::{GENERATOR_INDEX__COMBINED_PAYLOAD, GENERATOR_INDEX__TX_NULLIFIER},\n hash::poseidon2_hash_with_separator\n};\n\nuse crate::entrypoint::{app::AppPayload, fee::FeePayload};\nuse crate::auth::{IS_VALID_SELECTOR, compute_authwit_message_hash};\n\nstruct AccountActions<Context> {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n}\n\nimpl<Context> AccountActions<Context> {\n pub fn init(context: Context, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions { context, is_valid_impl }\n }\n}\n\n/**\n * An implementation of the Account Action struct for the private context.\n *\n * Implements logic to verify authorization and execute payloads.\n */\nimpl AccountActions<&mut PrivateContext> {\n\n /**\n * Verifies that the `app_hash` and `fee_hash` are authorized and then executes them.\n *\n * Executes the `fee_payload` and `app_payload` in sequence.\n * Will execute the `fee_payload` as part of the setup, and then enter the app phase.\n *\n * @param app_payload The payload that contains the calls to be executed in the app phase.\n * @param fee_payload The payload that contains the calls to be executed in the setup phase.\n */\n // docs:start:entrypoint\n pub fn entrypoint(self, app_payload: AppPayload, fee_payload: FeePayload, cancellable: bool) {\n let valid_fn = self.is_valid_impl;\n\n let combined_payload_hash = poseidon2_hash_with_separator(\n [app_payload.hash(), fee_payload.hash()],\n GENERATOR_INDEX__COMBINED_PAYLOAD\n );\n assert(valid_fn(self.context, combined_payload_hash));\n\n fee_payload.execute_calls(self.context);\n self.context.end_setup();\n app_payload.execute_calls(self.context);\n if cancellable {\n let tx_nullifier = poseidon2_hash_with_separator([app_payload.nonce], GENERATOR_INDEX__TX_NULLIFIER);\n self.context.push_nullifier(tx_nullifier);\n }\n }\n // docs:end:entrypoint\n\n /**\n * Verifies that the `msg_sender` is authorized to consume `inner_hash` by the account.\n *\n * Computes the `message_hash` using the `msg_sender`, `chain_id`, `version` and `inner_hash`.\n * Then executes the `is_valid_impl` function to verify that the message is authorized.\n *\n * Will revert if the message is not authorized.\n *\n * @param inner_hash The hash of the message that the `msg_sender` is trying to consume.\n */\n // docs:start:verify_private_authwit\n pub fn verify_private_authwit(self, inner_hash: Field) -> Field {\n // The `inner_hash` is \"siloed\" with the `msg_sender` to ensure that only it can\n // consume the message.\n // This ensures that contracts cannot consume messages that are not intended for them.\n let message_hash = compute_authwit_message_hash(\n self.context.msg_sender(),\n self.context.chain_id(),\n self.context.version(),\n inner_hash\n );\n let valid_fn = self.is_valid_impl;\n assert(valid_fn(self.context, message_hash) == true, \"Message not authorized by account\");\n IS_VALID_SELECTOR\n }\n // docs:end:verify_private_authwit\n}\n"},"76":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(self.serialize(), GENERATOR_INDEX__SIGNATURE_PAYLOAD)\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_array(self.nonce.to_be_bytes::<32>());\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n"},"78":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/fee.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__FEE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\nuse crate::entrypoint::function_call::FunctionCall;\n\n// 2 * 5 (FUNCTION_CALL_SIZE) + 2\nglobal FEE_PAYLOAD_SIZE: Field = 12;\n\n// 2 * 98 (FUNCTION_CALL_SIZE_IN_BYTES) + 32\nglobal FEE_PAYLOAD_SIZE_IN_BYTES: Field = 228;\n\nglobal MAX_FEE_FUNCTION_CALLS = 2;\n\n// docs:start:fee-payload-struct\nstruct FeePayload {\n function_calls: [FunctionCall; MAX_FEE_FUNCTION_CALLS],\n nonce: Field,\n is_fee_payer: bool,\n}\n// docs:end:fee-payload-struct\n\nimpl Serialize<FEE_PAYLOAD_SIZE> for FeePayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; FEE_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, FEE_PAYLOAD_SIZE> = BoundedVec::new();\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n fields.extend_from_array(self.function_calls[i].serialize());\n }\n fields.push(self.nonce);\n fields.push(self.is_fee_payer as Field);\n fields.storage\n }\n}\n\nimpl Hash for FeePayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(self.serialize(), GENERATOR_INDEX__FEE_PAYLOAD)\n }\n}\n\nimpl FeePayload {\n fn to_be_bytes(self) -> [u8; FEE_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, FEE_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_array(self.nonce.to_be_bytes::<32>());\n bytes.push(self.is_fee_payer as u8);\n\n bytes.storage\n }\n\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n if self.is_fee_payer {\n context.set_as_fee_payer();\n }\n }\n}\n"},"86":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/public_keys.nr","source":"use dep::protocol_types::{\n address::PublicKeysHash, constants::GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n hash::poseidon2_hash_with_separator, point::{Point, POINT_LENGTH},\n traits::{Deserialize, Serialize, Empty, is_empty, Hash}\n};\n\nglobal PUBLIC_KEYS_LENGTH: u32 = 12;\n\nstruct PublicKeys {\n npk_m: NpkM,\n ivpk_m: IvpkM,\n ovpk_m: OvpkM,\n tpk_m: TpkM,\n}\n\ntrait ToPoint {\n fn to_point(self) -> Point;\n}\n\nstruct NpkM {\n inner: Point\n}\n\nimpl ToPoint for NpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for NpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\n// Note: If we store npk_m_hash directly we can remove this trait implementation. See #8091\nimpl Hash for NpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nstruct IvpkM {\n inner: Point\n}\n\nimpl ToPoint for IvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for IvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nstruct OvpkM {\n inner: Point\n}\n\nimpl Hash for OvpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nimpl ToPoint for OvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for OvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nstruct TpkM {\n inner: Point\n}\n\nimpl ToPoint for TpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Empty for PublicKeys {\n fn empty() -> Self {\n PublicKeys {\n npk_m: NpkM { inner: Point::empty() },\n ivpk_m: IvpkM { inner: Point::empty() },\n ovpk_m: OvpkM { inner: Point::empty() },\n tpk_m: TpkM { inner: Point::empty() }\n }\n }\n}\n\nimpl Eq for PublicKeys {\n fn eq(self, other: PublicKeys) -> bool {\n (self.npk_m.inner == other.npk_m.inner)\n & (self.ivpk_m.inner == other.ivpk_m.inner)\n & (self.ovpk_m.inner == other.ovpk_m.inner)\n & (self.tpk_m.inner == other.tpk_m.inner)\n }\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(\n if is_empty(self) {\n 0\n } else {\n poseidon2_hash_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_KEYS_HASH as Field)\n }\n )\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.inner.x,\n self.npk_m.inner.y,\n self.npk_m.inner.is_infinite as Field,\n self.ivpk_m.inner.x,\n self.ivpk_m.inner.y,\n self.ivpk_m.inner.is_infinite as Field,\n self.ovpk_m.inner.x,\n self.ovpk_m.inner.y,\n self.ovpk_m.inner.is_infinite as Field,\n self.tpk_m.inner.x,\n self.tpk_m.inner.y,\n self.tpk_m.inner.is_infinite as Field\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: NpkM { inner: Point { x: serialized[0], y: serialized[1], is_infinite: serialized[2] as bool } },\n ivpk_m: IvpkM { inner: Point { x: serialized[3], y: serialized[4], is_infinite: serialized[5] as bool } },\n ovpk_m: OvpkM { inner: Point { x: serialized[6], y: serialized[7], is_infinite: serialized[8] as bool } },\n tpk_m: TpkM { inner: Point { x: serialized[9], y: serialized[10], is_infinite: serialized[11] as bool } }\n }\n }\n}\n\n#[test]\nfn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash = 0x0fecd9a32db731fec1fded1b9ff957a1625c069245a3613a2538bd527068b0ad;\n\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nfn compute_empty_hash() {\n let keys = PublicKeys::empty();\n\n let actual = keys.hash();\n let test_data_empty_hash = 0x0000000000000000000000000000000000000000000000000000000000000000;\n\n assert(actual.to_field() == test_data_empty_hash);\n}\n\n#[test]\nfn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.inner.x, deserialized.npk_m.inner.x);\n assert_eq(keys.npk_m.inner.y, deserialized.npk_m.inner.y);\n assert_eq(keys.ivpk_m.inner.x, deserialized.ivpk_m.inner.x);\n assert_eq(keys.ivpk_m.inner.y, deserialized.ivpk_m.inner.y);\n assert_eq(keys.ovpk_m.inner.x, deserialized.ovpk_m.inner.x);\n assert_eq(keys.ovpk_m.inner.y, deserialized.ovpk_m.inner.y);\n assert_eq(keys.tpk_m.inner.x, deserialized.tpk_m.inner.x);\n assert_eq(keys.tpk_m.inner.y, deserialized.tpk_m.inner.y);\n}\n"}}}
|