@aztec/protocol-contracts 0.46.4 → 0.46.6
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.
- package/artifacts/AuthRegistry.json +1 -1
- package/artifacts/ContractClassRegisterer.json +1 -1
- package/artifacts/ContractInstanceDeployer.json +1 -1
- package/artifacts/GasToken.json +1 -1
- package/artifacts/KeyRegistry.json +1 -1
- package/artifacts/MultiCallEntrypoint.json +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"transpiled":true,"noir_version":"0.31.0+97ecff5ea76a0da878bdccc453b121147f726ec4","name":"MultiCallEntrypoint","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":"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"}],"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":"target","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":"function_data","type":{"fields":[{"name":"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_private","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_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":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::caller_context::CallerContext"}},{"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_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"public_teardown_function_hash","type":{"kind":"field"}},{"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":"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":"7P3friw7t9yJvcu5FhpJJv/qVQzDaFvdhoCGZFjylaB3d219q6rmOnNmJWutkcXgiLjqo0Z9tTl+sTcZMWZx8H/823/6P/6f/7//9//jP/+X//O//rd/+4//t//xb//Xf/1//e///T//1/9y+3/9j3+L5X/9//tv/5///b/88//8b//9f////vd/+4/bf/i3/+O//Kfb//d//od/+z//8//1f/zbf9x7/5//4dvnYgn910djSeHx6RDjD5/ea4q/Pr23rZ98uqcefn265/xcSbz9c/7v/+HfYl114W3VhffPLTyFel9Kinv4u4Xv298sfG9xezDM5fHpnv7Xd4cLvzv+9N0p3f8nqfaT7w99S78+HPq+Pz79zz/q+4dze3w49+dXx/4vijvUahLUavLfr6bf/0uNsZysJoa93JcTb+sJ//5fnPLh5ZSwP5ZTym/L+eFf+vT8lz59+e7wz67w7dO13iut7fkfSPhVaGUptLEU2kkKTRtLoYGl0MhS6M5SaGIpNLMUiu2Mcrl/ei9bPS20/vpwC8913MLVT6su9Z6+Qv0nQ90/HerbCLE91xIIsd3cEgixfeIKCDO2A10CIba3XQIhtmteAiG2H18CYRLCv0WInSGWQMiaTmp+dNdrzb8h/AcLa+I4wcKaIk6wsCaD11gKq9s/wcLq4E+wsLryEyysTvsESxKWn7CwOuITLKwut235jqXF8g0Lq8s9wcLqck+wsLrc11gqq8s9wcLqck+wsLrcEyysLvcESxKWn7CwutwTLNgut6T2wFLyCZY9PRmG37D8Uyi2bzUsFNuJGhaK7S3tCm3YbtGwUGz/Z1gotqMzLBTboxkWmlgKxfZRhoV+3Bk97hLG0Fp8XWjcWyj3j+8tt68f/2f1denVt6VX31defd/AV1+fq+8x//vVh6VXH5de/b706tPSq89Lrx79rH29evCztu/3dlFMW/i234OftSerBz9rX68+bOCH7dnywU/bs+WDH7dnywc/b8+Wj33gpm0vz+XX+m352Cfu6fKxj9zT5WOfuSlujy9PsW7flo996KbY2mP5e47flo996p4tP2CfuqfLxz51T5ePfeqmXh47T97S/m352Kfu6fKxT928tceX51C/mYaAfeqeLh/71D1d/qdP3f4YqXH7v9P39TSw9Xz6XOz98ceRm+M4+ePI19Vv4cu0wvqv1ce/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uGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euWard67Z6p1rtnrnmq3et8RVLpWr6lyz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvXbPXONVu9c81W71yz1TvVbPW6Uc1Wv5XL5Kpu5TK5qlu5TK7qVm7iKpfJVd3KZXJVt3KZXNWtXCZXdSuXy1VRzVa/lcvlqqhmq9/K5XJVVLPVb+VyuSqq2eq3crlcFdVs9Vu5XK6Karb6rVwuV0U1W/1WLperopqtfiuXy1VRzVa/lcvlqqhmq9/K5XJVVLPVb+VyuSqq2eq3crlcFdVs9Vu5XK6Karb6rVwuV0U1W/1WLperopqtfiuXy1VRzVa/lcvlqqhmq9/K5XJVVLPVb+VyuSqq2eq3crlcFdVs9Vu5XK6Karb6rVwuV0U1W/1WLperopqtfiuXy1VRzVa/lcvlqqhmq9/K5XJVVLPVb+VyuSqq2eq3crlcFdVs9Vu5XK6Karb6rVwuV0U1W/1WLperopqtfiuXy1VRzVa/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33xErleqqrQTPiLXK1VV2tsekeuVqrx2q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt9rbR9++td357vej4ufvZP3sfU1udPXr69etpvf/vJ+/H8yfPFT17a/Oe1S7ufWFQoK9S0aKu05byqRYUyWVWLCuXIqhYVyr5VLWpYlN2iQh2jqkWFps1VLSo0Ia9qEdOF9BYxXehr0f74wcux/N2iStc+qlrEdCG9RUwX0lvEdKGvRdvLovXEooZF2S1iupDeIqYL6S1iupDeIqYL6S1iutDXouXxF0DL+ve/ANoqXb2qahHThfQWMV1IbxHThfQWNSzKbhHThfQWMV1IbxHThfQWMV1IbxHThewWVbr+WNUipgvpLWK6kN4ipgvpLWpYlN0ipgvpLWK6kN4ipgvpLWK6kN4ipgvZLap0BbmqRUwX0lvEdCG9RUwX0lvUsCi7RUwX0lvEdCG9RUwX0lvEdCG9RUwXslu0MF1IbxHThfQWMV1IbxHThfQWNSzKbhHThfQWMV1IbxHThewWrb69SLt7cfVtL2KQvh1DDNK3CYhBNkBqQPqmajFI3+wrBumbUMUgfX9LJQbp+7skLciNZiMCSbOJgLxeibzRbEQgaTYikA2QGpA0mwjI6yWjG81GBJJmIwJJsxGBpNloQO40GxFImo3mt4g7zUYEkmYjAtkAqQFJsxGBpNmIQNJsRCBpNiKQNBsNyINmIwJJsxGBpNmIQNJsRCAbIDUgaTYikDQbEUiajQgkzUYEkmYjAbnfaDYikDQbEUiajQgkzUYEsgFSA5JmIwJJsxGBpNmIQNJsRCBpNhqQE81GBJJmIwJJ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37Usl+uVqpLvWZbL9UpVyXcsy+V6park+5Xlcr1SVfLdynK5Xqkq+V5luVyvVJV8p7JcrleqSr5PWS7XK1Ul36Usl+uVqu5eqerulaqSb8mWy/VKVc0rVTWvVJV8B7pcrleqSr4DXS7XK1Ul34Eul+uVqpLvQJfL9UpVyXegy+V6parkO9Dlcr1SVfId6HK5XqnKa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+9dqvPXrvVZ6/d6rPXbvX51rzkWqWq2Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671e9eu9XvXrvV71671e9eu9Xvt+Yl1ypV3b12q9+9dqvfvXar3712q9+9dqvfvXar3712q9+9dqvfvXar3712q9+9dqvfvXar3712q98rbd8+tvnx4u1+IrfQczcit9An87HvzxdvJ3ILfTJH5Bb6ZI7ILfTJHJFbqO8G5FbazxyRW+m5G5Bb6bkbkFuo70bkNi+5Xqmq0n7miNxhU9VLwrBJ6SUhdfr5eh/z8nwjt329+J/d+c9+Cs69SfkTglMnoE8ITp2B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qipdBY/I9UpVlS5gR+R6papK154jcr1SVaXLxhG5Xqmq0hXfiFyvVFXpYm1ErleqqnSdNSLXK1VVukQakeuVqipd3YzI9UpVlS5MRuR6papK1xQjcr1SVaXLgRG5Xqmq0pW8iFyvVFXpIlxErleqqnT9LCLXK1VVuvQVkeuVqipdtYrI9UpVlS44ReR6papK14oicr1SVaXLPBG5Xqmq0hWaiFyvVFXp4kpErleqqnRdJCLXK1VVuqQRkeuVqipdjYjI9UpVlS4kROR6papK1wAicr1SVaWt+hG5Xqmq0ub7iFyvVFVpO31ErleqqrRBPiLXK1VV2vIekeuVqiptYo/I9UpVXrvVN6/d6pvXbvXNa7f65rVbffParb557VbfvHarb1671Tev3eqb1271zWu3+ua1W33z2q2+ee1W37x2q29eu9U3r93qu9du9d1rt/rutVt999qtvt+al1yrVLV77VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f64bVb/fDarX547VY/vHarH7fmJdcqVR1eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/2w2q2+3ax2q3/JdUpVX3KdUtWXXKdU9SW3ecl1SlVfcp1S1Zdcp1T1JdcpVX3J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1LrlWqmrx2q09eu9Unr93qk9du9S8xXnKtUtXktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du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yC2USyNyCyXNiNxC2TEit3nJLZTvInILJbaI3EIZLCLXK1XNXqnq7pWq7l6p6u6Vqu5eqerevOR6paq7V6q6e6Wqu1equnulquaVqppXqmpeqap5parWvOR6parmlaqaV6qqdMc+ItcrVVW62R6R65WqKt0nj8j1SlWVbnFH5Hqlqkp3pyNyvVJVpRvLEbleqarSPeGIXK9UVel2bkSuV6qqdCc2ItcrVVW6iRqR65WqKt3/jMj1SlWVbl1G5Hqlqkp3HSNyvVJVpRuGEbleqarSvb6IXK9UVek2XUSuV6qqdIctItcrVVW6ORaR65WqKt3Xisj1SlWVbklF5Hqlqkp3kyJyvVJVpRtBEbleqarSPZyIXK9UVen2S0SuV6qqdOckItcrVVW66RGRa5Wq1kr3KyJyrVLVWulWQ0SuVapab81LrlWqWivt4I/ItUpVa6U9+RG5Xqmq0i77iFyvVFVp33xErleqqrQTPiLXK1VV2tsekeuVqrx2q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt9rbR9++td357vej4ufvZP3sfU1udPXr69etpvf/vJ+/H8yfPFT17a/Oe1S7ufWFQoK9S0aKu05byqRYUyWVWLCuXIqhYVyr5VLWpYlN2iQh2jqkWFps1VLSo0Ia9qEdOF9BYxXehr0f74wcux/N2iStc+qlrEdCG9RUwX0lvEdKGvRdvLovXEooZF2S1iupDeIqYL6S1iupDeIqYL6S1iutDXouXxF0DL+ve/ANoqXb2qahHThfQWMV1IbxHThfQWNSzKbhHThfQWMV1IbxHThfQWMV1IbxHThewWVbr+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MlfwVcFfKf78RbK73kRPY4ve4Gtkv9P78Y+e72ISfUqb9Cb6jDbpTfQJbdKbqBOb9CZqxCa9mZ6/Fr2Znr8GvcHXx/rrTdSETXrF8lXw3bH+euuoet80DJuZ3jTEzkH7sj3/U9qXT83843Xou97YOchfb+wc5K83dg5y1xt8uau/3tg5yF9v7Bzkrzd2DvLXW8X0xs5M/nrF8lXwra7+esXyVfCdru56g6909dcrlq+CL3T11yuWr7YqplcsXwVf2OuvVyxfbWL5KvhGZne9wVcy++sVy1fBlzL76xXLV8HXMvvrFctXwRcz++sVy1fBVzP76xXLV8GXM/vrFctXwVc5++sVy1fB1z776xXLV8GXPvvrFctXwVc+++vVyldT8H3P/nq18tUUfNezv16tfHVXI6ZXK19NwXc8++vVyldT8P3O/nrF8lXw3c7+esXyVfC9zv56xfJV8J3O/nrF8lXwfc7+esXyVfBdzv56xfJV8D3O/nrF8lXwHc7+esXyVfD9zf56xfJV8N3N/nrF8lXwvc3+esXyVfCdzf56xfJV8H3N/nrF8lXwXc3+esXy1SyWr2axfBV8D7e/XrF8VcXyVRXLV8H3rPvrFctXwfes++sVy1fB96z76xXLV8H3rPvrFctXwfes++sVy1fB96z76xXLV8H3rPvrFctXYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vn8T2t09i+9snsf3tk9j+9klsf/sktr99EtvfPontb5/E9rdPYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vn8T2t09i+9snsf3tk9j+9klsf3sR299exPa3F7H97UVsf3u5VTG9WvmqiO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1vL2L724vY/vYitr+9iO1v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376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97bvY/vZdbH/7Lra/fRfb376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97YfY/vZDbH/7Iba//RDb337cqpherXx1iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2t/+3bT2t9+1yuVr+56pfLVXa9UvrrrrWJ6pfLVXa9UvrrrlcpXd71S+equVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+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7ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vn8T2t09i+9snsf3tk9j+9klsf/sktr99EtvfPontb5/E9rdPYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72Ira/vYjtby9i+9uL2P72cqtierXyVRHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rcXsf3tRWx/exHb317E9rfPYvvbZ7H97bPY/vZZbH/7fKtierXy1Sy2v30W298+i+1vn8X2t89i+9tnsf3ts9j+9llsf/sstr99FtvfPovtb5/F9rfPYvvb50z7vY+tPF68zWd6Ez1/TXoTfT4f+/588XamN9Hns0lvos9nk95En88mvYn6r0Vvpv3PJr2Znr8WvZmevxa9ifqvSW8V0yuWrzLtfzbpHTZfvWkYNjO9aQidg+7voyzPN3Lb1w//5Z3/7Jfi2JuamygOnYWaKA6dhpooDp2HmiiucopDZ6ImikOnoiaKQ+eiJopDp6gmiuUyV+ztzU0Uy2Wu2BucmyiWy1yxtzg3USyXuWJvcm6iWC5zxd7m3ESxXOaKvdG5iWK5zBV7q3MTxXKZK/Zm5yaK5TJX7O3OTRTLZa7YG56bKJbLXLG34n6reKmPv4Nd6qniVE8nk+JUn1zL8vhbjWU9+1uN2LtTmyhO9cllURx7f2oTxanaoklxqrZoUpzqeXzX9OvV61zOFKd6HpsUp2qLJsWp2qJJcarMZVKc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81eVtut3zWvmryptwO+a18xfVdpS3zWvmb+qtEm+a14zf1Vp23vXvGb+ymx/+2a2v30z29++me1v38z2t29m+9s3s/3tm9n+9s1sf/tmtr99M9vfvpntb9/M9rdvZvvbN7P97ZvZ/vbNbH/7Zra/fTfb376b7W/fzfa372b72/dbM5vXy1/tZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vffpjtbz/M9rcfZvvbD7P97cetmc3r5a8Os/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+eO1v325e+9sf81r5q8e8Vv7qMa+Vv3rM28zmtfJXj3mt/NVjXit/9ZjXyl895jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Zv/La3/6Y18xfee1vf8xr5q+89rc/5jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Zv/La3/6Y18xfee1vf8xr5q+89rc/5jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Zv/La3/6Y18xfee1vf8xr5q+89rc/5jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Zv/La3/6Y18xfee1vf8xr5q+89rc/5jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Zv/La3/6Y18xfee1vf8xr5q+89rc/5jXzV1772x/zmvkrr/3tj3nN/JXX/vbHvGb+ymt/+2NeM3/ltb/9Ma+Xv5rM9rdPZvvbJ7P97ZPZ/vbHNGbzevmryWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPlXa7/1417evdz0fH/72T97H/X5ffr34ft+n7/dxLP/mX55v8/PF8217YTfd/uov78fXX54//OWlzb9eu7T7mfqF3Ajq/1j9Qt4M9X+sfkN9Y/UL+XbU/7H6hVIM6v9Y/UKZDvV/rH6hhIv6P1a/0PcpqP9D9edK11VQ/8fq0/U5q0/XV1X9/QljOZYz9en6nNVvqG+sPl2fs/p0fVXV377VX8/Up+tzVp+u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"},{"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/+2b3U7bQBCF18GhBoOb2HGckEAIBaTehRSScMfLtM/d60p9haqss6Mclmm0UcdLVool5LG9O+ebsz+EyERqfSSvP5GJ2+Z8rN4f1ObFnGf/dzwI5po1yRkFwtkKhPMoEM5YkDNiOPU5NrFed3rNfVLr9fjuIXbWA30Ez9W2RLZqYgJ8eC1V6Wr2fAzJEVwZ8Ng8o7PGSc0zBEtNkXUbuEeFtuAe6RzBPdrBSCcxpgjX+5RskOXyvs4+XcOJyUXcKcT4bAzWxQ3V2Jav8bGRMXn1rqExqVcx+d42uRO4pjE4NbHgb44H1I7Mz6k1F2KIR9CW2pEfLWDVx7narJfTLf1iq18GbY6hn7230DWNtfaqa2J9btOeAPkb8HCm86byed+MTWx5l0JNGXgioz1f6fxn6u0RWdfXEGfAcy7Os1578nWux+4zsMvkfXrUXnUsr84srzJogwydBvyLQJdy03WH0ZbzYrHS2l0HL7oMT9ezF11GW9CLZ62dO3iRMzy5Zy9yRlvOi+U3rV04eFEwPIVnLwpGW86Lef0ZoOfgRY/h6Xn2osdoC66Rel6UDl6UDE/p2YuS0Rb04ofW7jt40Wd4+p696DPagl5819qVgxcVw1N59qJitAX3zvrzxcDBiwHDM/DsxYDRFvRirrWHDl4MGZ6hZy+GjLbgGqm1Lxy8uGB4Ljx7QXq7MvcCZK4CZC72gDmxYhntRb1/jhy8GDE8I89e4HcuuzCXe8CcWLGM9uJJa48dvBgzPGPPXpDersx5gMxFgMz9AJnLAJmrAJn3YT4nViyjvaz30EsHLy4ZnkvPXpDersx5gMyjAJmLPWBOrFhGe1l/N3fl4MUVw3Pl2QvS25V5ECBzdw+YEyuW0V4utPbEwYsJwzPx7AXp7co8DJC5CpB5FCBzESBzP0DmMkDmwxr0w5zvATO+e/S7UZ75c2rxkGfKYlQWYwpxBozU9kXJva+SWbWT1lTcj/X42POFrqeNas9XOu+XBmrSeW/l89Z/I9yZXPQO3y3j1b2JI+FxuoO8EejQ/RjiX9CW2pEftB8Qu36X68bE91v6Tax+GbS5gX63Vj+6prHW3v00cVNzy2Ved9RmLX8Fngb2wUd8J1eBV8pipGMCPNfyPA8N1TnDd/j+KNm1N7W8OrG8yqAN7tEftW8emA/M/2LGzxMncA956F7LqgX/v2EKOf4CARQXTpY1AAA=","debug_symbols":"ndpRattAGIXRveg5FN/f0owmWymlOIlTDMEJsVMoJnuv3dIF9LxpJN237+kwl+lp//Dx4/vh+Px6mu6/XqaX18fd+fB6vJ4u0+ZLrX/ent52x9uL03n3fp7ut63fTfvj0/Wp1+fd9Hx42V+fx/j8dncbDRhtNzKKjEpGWxnNMlpk1GTUZSRFbKWIWYqYpYhZipiliFmKmKWIWYqYpYhZipiliEWKWKSIRYpYpIhFilikiEWKWKSIRYpYpIgmRTQpokkRTYpoUkSTIpoU0aSIJkU0KaJLEV2K6FJElyK6FNGliC5FdCmiSxFdililiFWKWKWIVYpYpYhVililiFWKWKWIVYoYUsSQIoYUMaSIIUUMKWJIEUOKGFLEkCKy2dAqtCpabWk102qhVaNVp9VKK2oj1EaojVAboTZCbYTaCLURaiPURqiNojaK2ihqo6iNojaK2ihqo6gNAs2QaIZIM2SaIdQMqWaINUOuGYLNkGyGaDNkmyHcDOlmiDdDvhkCzpBwhogzZJwh5AwpZ4g5Q84Zgs6QdIaoM2SdIewMaWeIO0PeGQLPkHiGyDNkniH0DKlniD1D7hmCz5B8hugzZJ8h/AzpZ4g/Q/4ZAtCQgIYINGSgIQQNKWiIQUMOGoLQkISGKDRkoSEMDWloiENDHhoC0ZCIhkg0ZKIhFA2paIhFQy5a5KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWuSiRS5a5KJFLlrkokUuWnbRk1y0yEWLXLTIRYtctMhFi1y0/ttFr6efu/fD7uFlf7vbe/v4cXz8d9X3ejz/evv75frvbw=="}],"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"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_parameters"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_abi"}]}},"file_map":{"122":{"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 traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\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 = (n as Field).to_be_bytes(4);\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 = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\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 pedersen_hash(\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<N>(&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<N>(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] = pedersen_hash(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] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(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 == 0x11e40f2a780822f7971803048c9a2100579de352e7dadd99981760964da65b57);\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"},"136":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\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; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\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) -> PrivateCallStackItem {\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 PrivateCallStackItem::deserialize(fields)\n}\n"},"141":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector, public_call_stack_item::PublicCallStackItem,\n function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_context::CallContext, read_request::ReadRequest, note_hash::NoteHash, nullifier::Nullifier,\n log_hash::LogHash, global_variables::GlobalVariables, gas::Gas\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n messaging::l2_to_l1_message::L2ToL1Message, header::Header, address::AztecAddress,\n utils::reader::Reader,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n}\n};\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\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\npub fn parse_public_call_stack_item_from_oracle(fields: [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH]) -> PublicCallStackItem {\n let mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n // WARNING: if updating, see comment in public_call_stack_item.ts's PublicCallStackItem.hash()\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData { selector: FunctionSelector::from_field(reader.read()), is_private: false },\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n args_hash: reader.read(),\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0\n },\n is_execution_request: true\n };\n reader.finish();\n\n item\n}\n"},"168":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{GAS_LENGTH, FIXED_DA_GAS, FIXED_L2_GAS}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader,\n abis::gas_fees::GasFees\n};\nuse std::ops::{Add, Sub};\n\nstruct Gas {\n da_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l2_gas }\n }\n\n pub fn tx_overhead() -> Self {\n Self { da_gas: FIXED_DA_GAS, l2_gas: FIXED_L2_GAS }\n }\n\n pub fn compute_fee(self, fees: GasFees) -> Field {\n (self.da_gas as Field) * fees.fee_per_da_gas + (self.l2_gas as Field) * fees.fee_per_l2_gas\n }\n\n pub fn is_empty(self) -> bool {\n (self.da_gas == 0) & (self.l2_gas == 0)\n }\n\n pub fn within(self, limits: Gas) -> bool {\n (self.da_gas <= limits.da_gas) & (self.l2_gas <= limits.l2_gas)\n }\n}\n\nimpl Add for Gas {\n fn add(self, other: Gas) -> Self {\n Gas::new(self.da_gas + other.da_gas, self.l2_gas + other.l2_gas)\n }\n}\n\nimpl Sub for Gas {\n fn sub(self, other: Gas) -> Self {\n Gas::new(self.da_gas - other.da_gas, self.l2_gas - other.l2_gas)\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Gas::empty();\n let serialized = item.serialize();\n let deserialized = Gas::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n"},"170":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/note_hash.nr","source":"use crate::{\n abis::read_request::ScopedReadRequest, address::AztecAddress,\n abis::side_effect::{Ordered, OrderedValue, Readable, Scoped},\n constants::{NOTE_HASH_LENGTH, SCOPED_NOTE_HASH_LENGTH}, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct NoteHash {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for NoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHash {\n fn eq(self, other: NoteHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n }\n}\n\nimpl Empty for NoteHash {\n fn empty() -> Self {\n NoteHash {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_LENGTH> for NoteHash {\n fn serialize(self) -> [Field; NOTE_HASH_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_LENGTH> for NoteHash {\n fn deserialize(values: [Field; NOTE_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl NoteHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNoteHash {\n ScopedNoteHash { note_hash: self, contract_address }\n }\n}\n\nstruct ScopedNoteHash {\n note_hash: NoteHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<NoteHash> for ScopedNoteHash {\n fn inner(self) -> NoteHash {\n self.note_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNoteHash {\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNoteHash {\n fn value(self) -> Field {\n self.note_hash.value\n }\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl Eq for ScopedNoteHash {\n fn eq(self, other: ScopedNoteHash) -> bool {\n (self.note_hash == other.note_hash)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedNoteHash {\n fn empty() -> Self {\n ScopedNoteHash {\n note_hash: NoteHash::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn serialize(self) -> [Field; SCOPED_NOTE_HASH_LENGTH] {\n array_concat(self.note_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn deserialize(values: [Field; SCOPED_NOTE_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n note_hash: reader.read_struct(NoteHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNoteHash {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.note_hash.value, read_request.value(), \"Value of the note hash does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the note hash does not match read request\");\n assert(\n read_request.counter() > self.note_hash.counter, \"Read request counter must be greater than the counter of the note hash\"\n );\n }\n}\n\nimpl ScopedNoteHash {\n pub fn expose_to_public(self) -> NoteHash {\n // Hide the actual counter when exposing it to the public kernel.\n NoteHash { value: self.note_hash.value, counter: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = NoteHash::empty();\n let serialized = item.serialize();\n let deserialized = NoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNoteHash::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"171":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n pub fn new(fee_per_da_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l2_gas }\n }\n\n pub fn default() -> Self {\n GasFees::new(1, 1)\n }\n\n pub fn is_empty(self) -> bool {\n (self.fee_per_da_gas == 0) & (self.fee_per_l2_gas == 0)\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasFees::empty();\n let serialized = item.serialize();\n let deserialized = GasFees::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"173":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr","source":"use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber, gas_settings::GasSettings,\n validation_requests::KeyValidationRequestAndGenerator, note_hash::NoteHash, nullifier::Nullifier,\n private_call_request::PrivateCallRequest, read_request::ReadRequest,\n log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NOTE_HASHES_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_L2_TO_L1_MSGS_PER_CALL, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS, MAX_ENCRYPTED_LOGS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n transaction::tx_context::TxContext, utils::arrays::validate_array\n};\n\nstruct PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: u32,\n nullifier_read_requests: u32,\n key_validation_requests_and_generators: u32,\n note_hashes: u32,\n nullifiers: u32,\n l2_to_l1_msgs: u32,\n private_call_requests: u32,\n public_call_stack_hashes: u32,\n note_encrypted_logs_hashes: u32,\n encrypted_logs_hashes: u32,\n unencrypted_logs_hashes: u32,\n}\n\nimpl PrivateCircuitPublicInputsArrayLengths {\n pub fn new(public_inputs: PrivateCircuitPublicInputs) -> Self {\n PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: validate_array(public_inputs.note_hash_read_requests),\n nullifier_read_requests: validate_array(public_inputs.nullifier_read_requests),\n key_validation_requests_and_generators: validate_array(public_inputs.key_validation_requests_and_generators),\n note_hashes: validate_array(public_inputs.note_hashes),\n nullifiers: validate_array(public_inputs.nullifiers),\n l2_to_l1_msgs: validate_array(public_inputs.l2_to_l1_msgs),\n private_call_requests: validate_array(public_inputs.private_call_requests),\n public_call_stack_hashes: validate_array(public_inputs.public_call_stack_hashes),\n note_encrypted_logs_hashes: validate_array(public_inputs.note_encrypted_logs_hashes),\n encrypted_logs_hashes: validate_array(public_inputs.encrypted_logs_hashes),\n unencrypted_logs_hashes: validate_array(public_inputs.unencrypted_logs_hashes)\n }\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator; MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n note_hashes: [NoteHash; MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier; MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: Field,\n l2_to_l1_msgs: [L2ToL1Message; MAX_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n note_encrypted_logs_hashes: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash; MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\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: The chain_id and version here are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n tx_context: TxContext,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.min_revertible_side_effect_counter == other.min_revertible_side_effect_counter) &\n (self.is_fee_payer == other.is_fee_payer) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.key_validation_requests_and_generators == other.key_validation_requests_and_generators) &\n (self.note_hashes == other.note_hashes) &\n (self.nullifiers == other.nullifiers) &\n (self.private_call_requests == other.private_call_requests) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.l2_to_l1_msgs == other.l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.note_encrypted_logs_hashes == other.note_encrypted_logs_hashes) &\n (self.encrypted_logs_hashes == other.encrypted_logs_hashes) &\n (self.unencrypted_logs_hashes == other.unencrypted_logs_hashes) &\n self.historical_header.eq(other.historical_header) &\n self.tx_context.eq(other.tx_context)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n fields.push(if self.is_fee_payer { 1 } else { 0 } as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..self.note_hash_read_requests.len() {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_read_requests.len() {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..self.key_validation_requests_and_generators.len() {\n fields.extend_from_array(self.key_validation_requests_and_generators[i].serialize());\n }\n for i in 0..self.note_hashes.len() {\n fields.extend_from_array(self.note_hashes[i].serialize());\n }\n for i in 0..self.nullifiers.len() {\n fields.extend_from_array(self.nullifiers[i].serialize());\n }\n for i in 0..self.private_call_requests.len() {\n fields.extend_from_array(self.private_call_requests[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.push(self.public_teardown_function_hash);\n for i in 0..self.l2_to_l1_msgs.len() {\n fields.extend_from_array(self.l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n for i in 0..self.note_encrypted_logs_hashes.len() {\n fields.extend_from_array(self.note_encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.encrypted_logs_hashes.len() {\n fields.extend_from_array(self.encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.unencrypted_logs_hashes.len() {\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.tx_context.serialize());\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n is_fee_payer: reader.read() == 1,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n key_validation_requests_and_generators: reader.read_struct_array(KeyValidationRequestAndGenerator::deserialize, [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL]),\n note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL]),\n nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL]),\n private_call_requests: reader.read_struct_array(PrivateCallRequest::deserialize, [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n public_teardown_function_hash: reader.read(),\n l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n note_encrypted_logs_hashes: reader.read_struct_array(NoteLogHash::deserialize, [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL]),\n encrypted_logs_hashes: reader.read_struct_array(EncryptedLogHash::deserialize, [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL]),\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n tx_context: reader.read_struct(TxContext::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n note_encrypted_logs_hashes: [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n tx_context: TxContext::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x15c9b0a92b9b541598e24c9f0b0b4b04b7f2408599751c45aa12de671fd9b363;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"174":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item_compressed.nr","source":"use crate::abis::{call_context::CallContext, function_data::FunctionData, gas::Gas};\nuse crate::address::AztecAddress;\nuse crate::constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH};\nuse crate::traits::{Hash, Empty, Serialize, Deserialize};\nuse crate::utils::reader::Reader;\n\n/**\n * A compressed version of the PublicCallStackItem struct used to compute the \"hash\"\n * of a PublicCallStackItem.\n * \n * Historically, we have been zeroing most values in the PublicCallStackItem struct\n * to compute the hash involved when adding a PublicCallStackItem to the PublicCallStack.\n * \n * This struct is used to store the values that we did not zero out, and allow us to hash\n * only these, thereby skipping a lot of computation and saving us a lot of constraints\n * \n * Essentially this struct exists such that we don't have a `hash` function in the \n * PublicCallStackItem struct that practically throws away some values of the struct\n * without clearly indicating that it does so.\n */\nstruct PublicCallStackItemCompressed {\n contract_address: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n revert_code: u8,\n start_gas_left: Gas,\n end_gas_left: Gas,\n}\n\nimpl Eq for PublicCallStackItemCompressed {\n fn eq(self, other: PublicCallStackItemCompressed) -> bool {\n (self.contract_address == other.contract_address)\n & (self.call_context == other.call_context)\n & (self.function_data == other.function_data)\n & (self.args_hash == other.args_hash)\n & (self.returns_hash == other.returns_hash)\n & (self.revert_code == other.revert_code)\n & (self.start_gas_left == other.start_gas_left)\n & (self.end_gas_left == other.end_gas_left)\n }\n}\n\nimpl Hash for PublicCallStackItemCompressed {\n fn hash(self) -> Field {\n std::hash::pedersen_hash_with_separator(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PublicCallStackItemCompressed {\n fn empty() -> Self {\n PublicCallStackItemCompressed {\n contract_address: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n }\n }\n}\n\nimpl Serialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn serialize(self) -> [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.start_gas_left.serialize());\n fields.extend_from_array(self.end_gas_left.serialize());\n\n assert_eq(fields.len(), PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn deserialize(fields: [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH]) -> PublicCallStackItemCompressed {\n let mut reader = Reader::new(fields);\n\n let item = PublicCallStackItemCompressed {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n revert_code: reader.read() as u8,\n start_gas_left: reader.read_struct(Gas::deserialize),\n end_gas_left: reader.read_struct(Gas::deserialize),\n };\n reader.finish();\n item\n }\n}\n"},"176":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr","source":"use crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl GlobalVariables {\n fn is_empty(self) -> bool {\n (self.chain_id == 0)\n & (self.version == 0)\n & (self.block_number == 0)\n & (self.timestamp == 0)\n & (self.coinbase.is_zero())\n & (self.fee_recipient.is_zero())\n & (self.gas_fees.is_empty())\n }\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n"},"177":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr","source":"use crate::{\n abis::side_effect::{Ordered, Scoped}, traits::{Empty, Serialize, Deserialize},\n address::AztecAddress, constants::{READ_REQUEST_LENGTH, SCOPED_READ_REQUEST_LEN},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for ReadRequest {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedReadRequest {\n ScopedReadRequest { read_request: self, contract_address }\n }\n}\n\nstruct ScopedReadRequest {\n read_request: ReadRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<ReadRequest> for ScopedReadRequest {\n fn inner(self) -> ReadRequest {\n self.read_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Eq for ScopedReadRequest {\n fn eq(self, other: ScopedReadRequest) -> bool {\n (self.read_request == other.read_request)\n & (self.contract_address.eq(other.contract_address))\n }\n}\n\nimpl Empty for ScopedReadRequest {\n fn empty() -> Self {\n ScopedReadRequest {\n read_request: ReadRequest::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn serialize(self) -> [Field; SCOPED_READ_REQUEST_LEN] {\n array_concat(self.read_request.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn deserialize(values: [Field; SCOPED_READ_REQUEST_LEN]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n read_request: reader.read_struct(ReadRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedReadRequest {\n pub fn value(self) -> Field {\n self.read_request.value\n }\n pub fn counter(self) -> u32 {\n self.read_request.counter\n }\n}\n\n#[test]\nfn serialization_of_empty_read() {\n let item = ReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"180":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr","source":"use crate::{\n address::AztecAddress,\n abis::validation_requests::{\n key_validation_request::KeyValidationRequest,\n scoped_key_validation_request_and_generator::ScopedKeyValidationRequestAndGenerator\n},\n constants::KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct KeyValidationRequestAndGenerator {\n request: KeyValidationRequest,\n sk_app_generator: Field,\n}\n\nimpl Eq for KeyValidationRequestAndGenerator {\n fn eq(self, other: KeyValidationRequestAndGenerator) -> bool {\n (self.request == other.request) & (self.sk_app_generator == other.sk_app_generator)\n }\n}\n\nimpl Empty for KeyValidationRequestAndGenerator {\n fn empty() -> Self {\n KeyValidationRequestAndGenerator {\n request: KeyValidationRequest::empty(),\n sk_app_generator: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH] {\n array_concat(self.request.serialize(), [self.sk_app_generator])\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH]) -> Self {\n let mut reader = Reader::new(fields);\n let res = Self {\n request: reader.read_struct(KeyValidationRequest::deserialize),\n sk_app_generator: reader.read(),\n };\n reader.finish();\n res\n }\n}\n\nimpl KeyValidationRequestAndGenerator {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedKeyValidationRequestAndGenerator {\n ScopedKeyValidationRequestAndGenerator { request: self, contract_address }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = KeyValidationRequestAndGenerator::empty();\n let serialized = item.serialize();\n let deserialized = KeyValidationRequestAndGenerator::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"181":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr","source":"use crate::{constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize}, point::Point};\n\nstruct KeyValidationRequest {\n pk_m: Point,\n sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m))\n & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest {\n pk_m: Point::empty(),\n sk_app: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.pk_m.x,\n self.pk_m.y,\n self.pk_m.is_infinite as Field,\n self.sk_app,\n ]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: Point { x:fields[0], y: fields[1], is_infinite: fields[2] as bool},\n sk_app: fields[3],\n }\n }\n}\n\n"},"185":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier.nr","source":"use crate::{\n abis::{side_effect::{Ordered, OrderedValue, Readable, Scoped}, read_request::ScopedReadRequest},\n address::AztecAddress, constants::{NULLIFIER_LENGTH, SCOPED_NULLIFIER_LENGTH},\n hash::compute_siloed_nullifier, traits::{Empty, Hash, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct Nullifier {\n value: Field,\n counter: u32,\n note_hash: Field,\n}\n\nimpl Ordered for Nullifier {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for Nullifier {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for Nullifier {\n fn eq(self, other: Nullifier) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.note_hash == other.note_hash) \n }\n}\n\nimpl Empty for Nullifier {\n fn empty() -> Self {\n Nullifier {\n value: 0,\n counter: 0,\n note_hash: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_LENGTH> for Nullifier {\n fn serialize(self) -> [Field; NULLIFIER_LENGTH] {\n [self.value, self.counter as Field, self.note_hash]\n }\n}\n\nimpl Deserialize<NULLIFIER_LENGTH> for Nullifier {\n fn deserialize(values: [Field; NULLIFIER_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n note_hash: values[2],\n }\n }\n}\n\nimpl Readable for Nullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n // Public kernels output Nullifier instead of ScopedNullifier.\n // The nullifier value has been siloed.\n let siloed_request_value = compute_siloed_nullifier(read_request.contract_address, read_request.value());\n assert_eq(self.value, siloed_request_value, \"Value of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl Nullifier {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNullifier {\n ScopedNullifier { nullifier: self, contract_address }\n }\n}\n\nstruct ScopedNullifier {\n nullifier: Nullifier,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<Nullifier> for ScopedNullifier {\n fn inner(self) -> Nullifier {\n self.nullifier\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNullifier {\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNullifier {\n fn value(self) -> Field {\n self.nullifier.value\n }\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl Eq for ScopedNullifier {\n fn eq(self, other: ScopedNullifier) -> bool {\n (self.nullifier == other.nullifier)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedNullifier {\n fn empty() -> Self {\n ScopedNullifier {\n nullifier: Nullifier::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn serialize(self) -> [Field; SCOPED_NULLIFIER_LENGTH] {\n array_concat(self.nullifier.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn deserialize(values: [Field; SCOPED_NULLIFIER_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n nullifier: reader.read_struct(Nullifier::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.nullifier.value, read_request.value(), \"Value of the nullifier does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.nullifier.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl ScopedNullifier {\n pub fn nullified_note_hash(self) -> Field {\n self.nullifier.note_hash\n }\n\n pub fn expose_to_public(self) -> Nullifier {\n // Hide the actual counter and note hash when exposing it to the public kernel.\n Nullifier { value: self.nullifier.value, counter: 0, note_hash: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Nullifier::empty();\n let serialized = item.serialize();\n let deserialized = Nullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNullifier::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"194":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr","source":"use crate::utils::field::field_from_bytes;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n"},"195":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_request.nr","source":"use crate::{\n abis::{\n private_call_stack_item::PrivateCallStackItem, call_context::CallContext,\n function_data::FunctionData, caller_context::CallerContext,\n side_effect::{Ordered, RangeOrdered, Scoped}\n},\n address::AztecAddress, constants::{PRIVATE_CALL_REQUEST_LENGTH, SCOPED_PRIVATE_CALL_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, utils::reader::Reader\n};\n\nstruct PrivateCallRequest {\n target: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n caller_context: CallerContext,\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n}\n\nimpl Ordered for PrivateCallRequest {\n fn counter(self) -> u32 {\n self.start_side_effect_counter\n }\n}\n\nimpl RangeOrdered for PrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.start_side_effect_counter\n }\n fn counter_end(self) -> u32 {\n self.end_side_effect_counter\n }\n}\n\nimpl Eq for PrivateCallRequest {\n fn eq(self, other: PrivateCallRequest) -> bool {\n (self.target == other.target) \n & (self.call_context == other.call_context) \n & (self.function_data == other.function_data) \n & (self.args_hash == other.args_hash) \n & (self.returns_hash == other.returns_hash)\n & (self.caller_context == other.caller_context)\n & (self.start_side_effect_counter == other.start_side_effect_counter)\n & (self.end_side_effect_counter == other.end_side_effect_counter)\n }\n}\n\nimpl Empty for PrivateCallRequest {\n fn empty() -> Self {\n PrivateCallRequest {\n target: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n caller_context: CallerContext::empty(),\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n }\n }\n}\n\nimpl Serialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn serialize(self) -> [Field; PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.push(self.target.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.extend_from_array(self.caller_context.serialize());\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n assert_eq(fields.len(), PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn deserialize(fields: [Field; PRIVATE_CALL_REQUEST_LENGTH]) -> PrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = PrivateCallRequest {\n target: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n caller_context: reader.read_struct(CallerContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n end_side_effect_counter: reader.read_u32(),\n };\n reader.finish();\n item\n }\n}\n\nimpl PrivateCallRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedPrivateCallRequest {\n ScopedPrivateCallRequest { call_request: self, contract_address }\n }\n\n pub fn matches_stack_item(self, stack_item: PrivateCallStackItem) -> bool {\n (self.target == stack_item.contract_address)\n & (self.call_context == stack_item.public_inputs.call_context)\n & (self.function_data == stack_item.function_data)\n & (self.args_hash == stack_item.public_inputs.args_hash)\n & (self.returns_hash == stack_item.public_inputs.returns_hash)\n & (self.start_side_effect_counter\n == stack_item.public_inputs.start_side_effect_counter)\n & (self.end_side_effect_counter\n == stack_item.public_inputs.end_side_effect_counter)\n }\n}\n\nstruct ScopedPrivateCallRequest {\n call_request: PrivateCallRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<PrivateCallRequest> for ScopedPrivateCallRequest {\n fn inner(self) -> PrivateCallRequest {\n self.call_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedPrivateCallRequest {\n fn counter(self) -> u32 {\n self.call_request.counter_start()\n }\n}\n\nimpl RangeOrdered for ScopedPrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.call_request.counter_start()\n }\n fn counter_end(self) -> u32 {\n self.call_request.counter_end()\n }\n}\n\nimpl Eq for ScopedPrivateCallRequest {\n fn eq(self, other: ScopedPrivateCallRequest) -> bool {\n (self.call_request == other.call_request)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedPrivateCallRequest {\n fn empty() -> Self {\n ScopedPrivateCallRequest {\n call_request: PrivateCallRequest::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn serialize(self) -> [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, SCOPED_PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.call_request.serialize());\n fields.extend_from_array(self.contract_address.serialize());\n\n assert_eq(fields.len(), SCOPED_PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn deserialize(fields: [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH]) -> ScopedPrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = ScopedPrivateCallRequest {\n call_request: reader.read_struct(PrivateCallRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = ScopedPrivateCallRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedPrivateCallRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"200":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n abis::gas_fees::GasFees,\n constants::{\n GAS_SETTINGS_LENGTH, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_MAX_FEE_PER_GAS,\n DEFAULT_INCLUSION_FEE\n},\n hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n utils::reader::Reader\n};\n\nstruct GasSettings {\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n pub fn new(\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field\n ) -> Self {\n Self { gas_limits, teardown_gas_limits, max_fees_per_gas, inclusion_fee }\n }\n\n pub fn default() -> Self {\n GasSettings::new(\n Gas::new(DEFAULT_GAS_LIMIT, DEFAULT_GAS_LIMIT),\n Gas::new(DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT),\n GasFees::new(DEFAULT_MAX_FEE_PER_GAS, DEFAULT_MAX_FEE_PER_GAS),\n DEFAULT_INCLUSION_FEE\n )\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limits == other.gas_limits) & (self.teardown_gas_limits == other.teardown_gas_limits) & (self.max_fees_per_gas == other.max_fees_per_gas) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n Gas::empty(), Gas::empty(), GasFees::empty(), 0\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.gas_limits.serialize());\n serialized.extend_from_array(self.teardown_gas_limits.serialize());\n serialized.extend_from_array(self.max_fees_per_gas.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings::new(reader.read_struct(Gas::deserialize), reader.read_struct(Gas::deserialize), reader.read_struct(GasFees::deserialize), reader.read())\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasSettings::empty();\n let serialized = item.serialize();\n let deserialized = GasSettings::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"209":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr","source":"use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x065f2831db9ac0db5e710bd3a865b5facd8cf83f1585e1af8fd1d6ce9c47f685;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"210":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/caller_context.nr","source":"use crate::address::AztecAddress;\nuse crate::traits::{Empty, Serialize, Deserialize};\nuse crate::constants::CALLER_CONTEXT_LENGTH;\nuse crate::utils::reader::Reader;\n\nstruct CallerContext {\n msg_sender: AztecAddress,\n storage_contract_address: AztecAddress,\n is_static_call: bool,\n}\n\nimpl Eq for CallerContext {\n fn eq(self, other: CallerContext) -> bool {\n other.msg_sender.eq(self.msg_sender)\n & other.storage_contract_address.eq(self.storage_contract_address)\n & other.is_static_call == self.is_static_call\n }\n}\n\nimpl Empty for CallerContext {\n fn empty() -> Self {\n CallerContext {\n msg_sender: AztecAddress::zero(),\n storage_contract_address: AztecAddress::zero(),\n is_static_call: false,\n }\n }\n}\n\nimpl CallerContext {\n pub fn is_empty(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero() & !self.is_static_call\n }\n\n // Different to an empty context, a hidden context won't reveal the caller's msg_sender and storage_contract_address,\n // but will still propagate the is_static_call flag.\n pub fn is_hidden(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero()\n }\n}\n\nimpl Serialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn serialize(self) -> [Field; CALLER_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, CALLER_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.msg_sender.serialize());\n fields.extend_from_array(self.storage_contract_address.serialize());\n fields.push(self.is_static_call as Field);\n\n assert_eq(fields.len(), CALLER_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn deserialize(fields: [Field; CALLER_CONTEXT_LENGTH]) -> CallerContext {\n let mut reader = Reader::new(fields);\n\n let item = CallerContext {\n msg_sender: reader.read_struct(AztecAddress::deserialize),\n storage_contract_address: reader.read_struct(AztecAddress::deserialize),\n is_static_call: reader.read_bool(),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = CallerContext::empty();\n let serialized = item.serialize();\n let deserialized = CallerContext::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"212":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr","source":"use crate::{\n abis::side_effect::{Ordered, OrderedValue, Scoped}, address::AztecAddress,\n constants::{\n LOG_HASH_LENGTH, NOTE_LOG_HASH_LENGTH, ENCRYPTED_LOG_HASH_LENGTH, SCOPED_LOG_HASH_LENGTH,\n SCOPED_ENCRYPTED_LOG_HASH_LENGTH\n},\n traits::{Empty, Serialize, Deserialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct LogHash {\n value: Field,\n counter: u32,\n length: Field,\n}\n\nimpl Ordered for LogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for LogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for LogHash {\n fn eq(self, other: LogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n }\n}\n\nimpl Empty for LogHash {\n fn empty() -> Self {\n LogHash {\n value: 0,\n counter: 0,\n length: 0,\n }\n }\n}\n\nimpl Serialize<LOG_HASH_LENGTH> for LogHash {\n fn serialize(self) -> [Field; LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length]\n }\n}\n\nimpl Deserialize<LOG_HASH_LENGTH> for LogHash {\n fn deserialize(values: [Field; LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n }\n }\n}\n\nimpl LogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedLogHash {\n ScopedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedLogHash {\n log_hash: LogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<LogHash> for ScopedLogHash {\n fn inner(self) -> LogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedLogHash {\n fn eq(self, other: ScopedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedLogHash {\n fn empty() -> Self {\n ScopedLogHash {\n log_hash: LogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn serialize(self) -> [Field; SCOPED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn deserialize(values: [Field; SCOPED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(LogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the counter when exposing to public.\n // The log hash must already be siloed when we call this.\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nstruct EncryptedLogHash {\n value: Field,\n counter: u32,\n length: Field,\n randomness: Field,\n}\n\nimpl Ordered for EncryptedLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for EncryptedLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for EncryptedLogHash {\n fn eq(self, other: EncryptedLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.randomness == other.randomness) \n }\n}\n\nimpl Empty for EncryptedLogHash {\n fn empty() -> Self {\n EncryptedLogHash {\n value: 0,\n counter: 0,\n length: 0,\n randomness: 0,\n }\n }\n}\n\nimpl Serialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn serialize(self) -> [Field; ENCRYPTED_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.randomness]\n }\n}\n\nimpl Deserialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn deserialize(values: [Field; ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n randomness: values[3],\n }\n }\n}\n\nimpl EncryptedLogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedEncryptedLogHash {\n ScopedEncryptedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<EncryptedLogHash> for ScopedEncryptedLogHash {\n fn inner(self) -> EncryptedLogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl ScopedEncryptedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the secret randomness and counter when exposing to public\n // Expose as a LogHash rather than EncryptedLogHash to avoid bringing an unnec. 0 value around\n // The log hash will already be silo'd when we call this\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nimpl Ordered for ScopedEncryptedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedEncryptedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedEncryptedLogHash {\n fn eq(self, other: ScopedEncryptedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedEncryptedLogHash {\n fn empty() -> Self {\n ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn serialize(self) -> [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn deserialize(values: [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(EncryptedLogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct NoteLogHash {\n value: Field,\n counter: u32,\n length: Field,\n note_hash_counter: u32,\n}\n\nimpl NoteLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the actual counter and note hash counter when exposing it to the public kernel.\n // The counter is usually note_hash.counter + 1, so it can be revealing.\n // Expose as a LogHash rather than NoteLogHash to avoid bringing an unnec. 0 value around\n LogHash { value: self.value, counter: 0, length: self.length }\n }\n}\n\nimpl Ordered for NoteLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteLogHash {\n fn eq(self, other: NoteLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.note_hash_counter == other.note_hash_counter) \n }\n}\n\nimpl Empty for NoteLogHash {\n fn empty() -> Self {\n NoteLogHash {\n value: 0,\n counter: 0,\n length: 0,\n note_hash_counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn serialize(self) -> [Field; NOTE_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.note_hash_counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn deserialize(values: [Field; NOTE_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n note_hash_counter: values[3] as u32,\n }\n }\n}\n"},"216":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr","source":"struct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u32 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n"},"217":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n}\n// docs:end:call-context\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n function_selector: FunctionSelector::empty(),\n is_delegate_call: false,\n is_static_call: false,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n"},"218":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/max_block_number.nr","source":"use crate::{constants::MAX_BLOCK_NUMBER_LENGTH, traits::{Deserialize, Serialize, Empty}};\n\nstruct MaxBlockNumber {\n _opt: Option<u32>\n}\n\nimpl Empty for MaxBlockNumber {\n fn empty() -> Self {\n Self { _opt: Option::none() }\n }\n}\n\nimpl Eq for MaxBlockNumber {\n fn eq(self, other: Self) -> bool {\n self._opt == other._opt\n }\n}\n\nimpl Serialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn serialize(self) -> [Field; MAX_BLOCK_NUMBER_LENGTH] {\n [self._opt._is_some as Field, self._opt._value as Field]\n }\n}\n\nimpl Deserialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn deserialize(serialized: [Field; MAX_BLOCK_NUMBER_LENGTH]) -> MaxBlockNumber {\n MaxBlockNumber {\n _opt: Option {\n _is_some: serialized[0] as bool,\n _value: serialized[1] as u32,\n }\n }\n }\n}\n\nimpl MaxBlockNumber {\n pub fn new(max_block_number: u32) -> Self {\n Self { _opt: Option::some(max_block_number) }\n }\n\n pub fn is_none(self) -> bool {\n self._opt.is_none()\n }\n\n pub fn is_some(self) -> bool {\n self._opt.is_some()\n }\n\n pub fn unwrap(self) -> u32 {\n self._opt.unwrap()\n }\n\n pub fn unwrap_unchecked(self) -> u32 {\n self._opt.unwrap_unchecked()\n }\n\n pub fn min(lhs: MaxBlockNumber, rhs: MaxBlockNumber) -> MaxBlockNumber {\n if rhs.is_none() {\n lhs // lhs might also be none, but in that case both would be\n } else {\n MaxBlockNumber::min_with_u32(lhs, rhs.unwrap_unchecked())\n }\n }\n\n pub fn min_with_u32(lhs: MaxBlockNumber, rhs: u32) -> MaxBlockNumber {\n if lhs._opt.is_none() {\n MaxBlockNumber::new(rhs)\n } else {\n let lhs_value = lhs._opt.unwrap_unchecked();\n\n MaxBlockNumber::new(if lhs_value < rhs { lhs_value } else { rhs })\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = MaxBlockNumber::empty();\n let serialized = item.serialize();\n let deserialized = MaxBlockNumber::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn zeroed_is_none() {\n // Large parts of the kernel rely on zeroed to initialize structs. This conveniently matches what `default` does,\n // and though we should eventually move everything to use `default`, it's good to check for now that both are\n // equivalent.\n let a = MaxBlockNumber::empty();\n assert(a.is_none());\n}\n\n#[test]\nfn serde_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert(b.is_none());\n}\n\n#[test]\nfn serde_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert_eq(b.unwrap(), 13);\n}\n\n#[test(should_fail)]\nfn default_unwrap_panics() {\n let a = MaxBlockNumber::empty();\n let _ = a.unwrap();\n}\n\n#[test]\nfn min_default_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::empty();\n\n assert(MaxBlockNumber::min(a, b).is_none());\n}\n\n#[test]\nfn min_default_some() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::new(13);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_some_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::new(42);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_with_u32_default() {\n let a = MaxBlockNumber::empty();\n let b = 42;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 42);\n}\n\n#[test]\nfn min_with_u32_some() {\n let a = MaxBlockNumber::new(13);\n let b = 42;\n let c = 8;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min_with_u32(a, c).unwrap(), 8);\n}\n"},"221":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr","source":"use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n (self.is_private == other.is_private)\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false\n }\n }\n\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty function data hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"228":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr","source":"use crate::{\n address::{AztecAddress, EthAddress},\n constants::{L2_TO_L1_MESSAGE_LENGTH, SCOPED_L2_TO_L1_MESSAGE_LENGTH},\n abis::side_effect::{Ordered, Scoped}, traits::{Deserialize, Empty, Serialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n counter: u32,\n}\n\nimpl Ordered for L2ToL1Message {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n counter: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content) & (self.counter == other.counter)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content, self.counter as Field]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\nimpl L2ToL1Message {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedL2ToL1Message {\n ScopedL2ToL1Message { message: self, contract_address }\n }\n}\n\nstruct ScopedL2ToL1Message {\n message: L2ToL1Message,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<L2ToL1Message> for ScopedL2ToL1Message {\n fn inner(self) -> L2ToL1Message {\n self.message\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedL2ToL1Message {\n fn counter(self) -> u32 {\n self.message.counter\n }\n}\n\nimpl Eq for ScopedL2ToL1Message {\n fn eq(self, other: ScopedL2ToL1Message) -> bool {\n (self.message == other.message)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedL2ToL1Message {\n fn empty() -> Self {\n ScopedL2ToL1Message {\n message: L2ToL1Message::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn serialize(self) -> [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH] {\n array_concat(self.message.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn deserialize(values: [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n message: reader.read_struct(L2ToL1Message::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\n#[test]\nfn serialization_of_empty_l2() {\n let item = L2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = L2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped_l2() {\n let item = ScopedL2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = ScopedL2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"23":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\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 pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\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 = exponent.to_le_bits(32);\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 fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\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 num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 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\n"},"238":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr","source":"use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n num_txs: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.num_txs);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let num_txs = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n num_txs,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n num_txs: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.num_txs == other.num_txs)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n"},"240":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr","source":"use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n total_fees: Field\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables) &\n self.total_fees.eq(other.total_fees)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.total_fees);\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n offset = offset + GLOBAL_VARIABLES_LENGTH;\n\n let total_fees = serialized[offset];\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n total_fees\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n total_fees: 0\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x124e8c40a6eca2e3ad10c04050b01a3fad00df3cea47b13592c7571b6914c7a7;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"241":{"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, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = 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 pedersen_hash(\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, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\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 pedersen_hash(\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 compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\npub fn 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 pedersen_hash([left, right], 0)\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 = inputs[i].to_be_bytes(32);\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 = input[offset].to_be_bytes(32);\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 = logs[offset].value.to_be_bytes(32);\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 = logs[offset].value.to_be_bytes(32);\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<N>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\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 = 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"},"242":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n"},"244":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/transaction/tx_context.nr","source":"use crate::{\n constants::{GENERATOR_INDEX__TX_CONTEXT, TX_CONTEXT_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n abis::gas_settings::GasSettings\n};\n\n// docs:start:tx-context\nstruct TxContext {\n chain_id : Field,\n version : Field,\n gas_settings: GasSettings,\n}\n// docs:end:tx-context\n\nimpl TxContext {\n pub fn new(chain_id: Field, version: Field, gas_settings: GasSettings) -> Self {\n TxContext { chain_id, version, gas_settings }\n }\n}\n\nimpl Eq for TxContext {\n fn eq(self, other: Self) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.gas_settings.eq(other.gas_settings))\n }\n}\n\nimpl Empty for TxContext {\n fn empty() -> Self {\n TxContext {\n chain_id: 0,\n version: 0,\n gas_settings: GasSettings::empty(),\n }\n }\n}\n\nimpl Serialize<TX_CONTEXT_LENGTH> for TxContext {\n fn serialize(self) -> [Field; TX_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, TX_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.extend_from_array(self.gas_settings.serialize());\n\n assert_eq(fields.len(), TX_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<TX_CONTEXT_LENGTH> for TxContext {\n fn deserialize(serialized: [Field; TX_CONTEXT_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let context = Self {\n chain_id: reader.read(),\n version: reader.read(),\n gas_settings: reader.read_struct(GasSettings::deserialize),\n };\n\n reader.finish();\n context\n }\n}\n\nimpl Hash for TxContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__TX_CONTEXT)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context = TxContext::empty();\n let serialized = context.serialize();\n let deserialized = TxContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let context = TxContext::empty();\n let hash = context.hash();\n\n // Value from tx_context.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17e4357684c5a4349b4587c95b0b6161dcb4a3c5b02d4eb2ecc3b02c80193261;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"250":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n"},"264":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<N> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<N> 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<K>(&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, K>(&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, K, C>(&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"},"276":{"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, N, M>(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"},"290":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr","source":"use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\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"},"291":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","source":"use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash,\n traits::{Empty, FromField, ToField, Serialize, Deserialize}, 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([pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1])\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 = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\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"},"399":{"path":"/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr","source":"// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n"},"5":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\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 pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Get an element from the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\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 /// Get an element from the vector at the given index.\n /// Responds with undefined data for `index` where `self.len < index < self.max_len()`.\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Write an element to the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\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 /// Write an element to the vector at the given index.\n /// Does not check whether the passed `index` is a valid index within the vector.\n ///\n /// Silently writes past the end of the vector for `index` where `self.len < index < self.max_len()`\n /// Panics if the given index points beyond the maximum length of the vector (`self.max_len()`).\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\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 pub fn len(self) -> u32 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\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 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 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 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 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::unsafe::zeroed();\n elem\n }\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 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"},"56":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\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 pedersen_hash(\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_slice(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"},"94":{"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, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n 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_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\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_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\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 // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_nullifier(&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_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\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 }\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, 0)\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<M>(&mut self, randomness: Field, log: [u8; M], log_hash: Field) {\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<M>(&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<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_COUNT>(\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<RETURNS_COUNT>(\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<RETURNS_COUNT>(\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<ARGS_COUNT>(\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<RETURNS_COUNT>(\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 item = 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 assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\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 assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest {\n target: item.contract_address,\n call_context: item.public_inputs.call_context,\n function_data: item.function_data,\n args_hash: item.public_inputs.args_hash,\n returns_hash: item.public_inputs.returns_hash,\n caller_context,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_COUNT>(\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 mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.get_compressed().hash());\n }\n\n pub fn set_public_teardown_function<ARGS_COUNT>(\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<ARGS_COUNT>(\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 mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.get_compressed().hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.start_side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\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_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\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"}}}
|
|
1
|
+
{"transpiled":true,"noir_version":"0.31.0+8403e849dff51c99a38ae15a4c39a40edc558214","name":"MultiCallEntrypoint","functions":[{"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/+2b3U7bQBCF18GhBoOb2HGckEAIBaTehRSScMfLtM/d60p9haqss6Mclmm0UcdLVool5LG9O+ebsz+EyERqfSSvP5GJ2+Z8rN4f1ObFnGf/dzwI5po1yRkFwtkKhPMoEM5YkDNiOPU5NrFed3rNfVLr9fjuIXbWA30Ez9W2RLZqYgJ8eC1V6Wr2fAzJEVwZ8Ng8o7PGSc0zBEtNkXUbuEeFtuAe6RzBPdrBSCcxpgjX+5RskOXyvs4+XcOJyUXcKcT4bAzWxQ3V2Jav8bGRMXn1rqExqVcx+d42uRO4pjE4NbHgb44H1I7Mz6k1F2KIR9CW2pEfLWDVx7narJfTLf1iq18GbY6hn7230DWNtfaqa2J9btOeAPkb8HCm86byed+MTWx5l0JNGXgioz1f6fxn6u0RWdfXEGfAcy7Os1578nWux+4zsMvkfXrUXnUsr84srzJogwydBvyLQJdy03WH0ZbzYrHS2l0HL7oMT9ezF11GW9CLZ62dO3iRMzy5Zy9yRlvOi+U3rV04eFEwPIVnLwpGW86Lef0ZoOfgRY/h6Xn2osdoC66Rel6UDl6UDE/p2YuS0Rb04ofW7jt40Wd4+p696DPagl5819qVgxcVw1N59qJitAX3zvrzxcDBiwHDM/DsxYDRFvRirrWHDl4MGZ6hZy+GjLbgGqm1Lxy8uGB4Ljx7QXq7MvcCZK4CZC72gDmxYhntRb1/jhy8GDE8I89e4HcuuzCXe8CcWLGM9uJJa48dvBgzPGPPXpDersx5gMxFgMz9AJnLAJmrAJn3YT4nViyjvaz30EsHLy4ZnkvPXpDersx5gMyjAJmLPWBOrFhGe1l/N3fl4MUVw3Pl2QvS25V5ECBzdw+YEyuW0V4utPbEwYsJwzPx7AXp7co8DJC5CpB5FCBzESBzP0DmMkDmwxr0w5zvATO+e/S7UZ75c2rxkGfKYlQWYwpxBozU9kXJva+SWbWT1lTcj/X42POFrqeNas9XOu+XBmrSeW/l89Z/I9yZXPQO3y3j1b2JI+FxuoO8EejQ/RjiX9CW2pEftB8Qu36X68bE91v6Tax+GbS5gX63Vj+6prHW3v00cVNzy2Ved9RmLX8Fngb2wUd8J1eBV8pipGMCPNfyPA8N1TnDd/j+KNm1N7W8OrG8yqAN7tEftW8emA/M/2LGzxMncA956F7LqgX/v2EKOf4CARQXTpY1AAA=","debug_symbols":"ndpRattAGIXRveg5FN/foxkpWymlOIlTDMEJsVMoJnuv3dIF9LxpJN237+kwl+lp//Dx4/vh+Px6mu6/XqaX18fd+fB6vJ4u0+ZLLX/ent52x9uL03n3fp7ut33cTfvj0/Vp1Ofd9Hx42U/3bbP5/HZ3G60w2m5kFBmVjLYyajKaZdRlNGQkRWyliCZFNCmiSRFNimhSRJMimhTRpIgmRTQpYpYiZililiJmKWKWImYpYpYiZililiJmKaJLEV2K6FJElyK6FNGliC5FdCmiSxFdihhSxJAihhQxpIghRQwpYkgRQ4oYUsSQIhYpYpEiFilikSIWKWKRIhYpYpEiFilikSJWKWKVIlYpYpUiVililSJWKWKVIlYpYpUistnQKrQqWm1p1Wg106rTatBqoRW1EWoj1EaojVAboTZCbYTaCLURaiPURlEbRW0UtVHURlEbRW0UtVHUBoFmSDRDpBkyzRBqhlQzxJoh1wzBZkg2Q7QZss0QboZ0M8SbId8MAWdIOEPEGTLOEHKGlDPEnCHnDEFnSDpD1BmyzhB2hrQzxJ0h7wyBZ0g8Q+QZMs8QeobUM8SeIfcMwWdIPkP0GbLPEH6G9DPEnyH/DAFoSEBDBBoy0BCChhQ0xKAhBw1BaEhCQxQastAQhoY0NMShIQ8NgWhIREMkGjLREIqGVDTEoiEXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy276EkuWuSiRS5a5KJFLlrkokUuWv/totfTz937Yffwsr/d7b19/Dg+/rvqez2ef739/XL99zc="},{"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":"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"}],"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":"target","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":"function_data","type":{"fields":[{"name":"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_private","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_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":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::caller_context::CallerContext"}},{"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_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"public_teardown_function_hash","type":{"kind":"field"}},{"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":"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":"H4sIAAAAAAAA/+xdB3gVxRN/KdTQQXoJHaS9TYFQpPeiYAMExSQEBASkCioIAjZUbNh7xYYoomJDVFRQrCCKWBDFghV75T8Lt2E5NmDmZp5v/tz7vt93eZOb25ndmZ3Zubt9CZE9n52VIpFx5fb8nQBI8o6JgFQfzRztv5MdtKIO3lIOWhkHrZyDVsFBqwzo7KPVdpxXx0FLddDqOmgNHbTGDlpTRx8c7qA1d/C2dJzXykFTDt50x3kZDlprB2+W47y2Fq2ENxYR73sjwD9WH5i/m1h/N7X+Ptz6u5n1d3Pr7xbW3y2tv1tZf0etv5X1d5r1d7r1d4b1d6b3t27z14TIPh/ztbN3TI+2zsjIa5OWp9JVdjStbU5WZjQjM6d1lspSmVmZI9Oy0tPzsjKy2rTNadsm2lZlpOepUZlt00dF93x+S9h7rWjAj6v/W1t6tbH+zrL+bmv93c76W8v2X/6t+//3BLdd/Wqd/3tC/Mj8b/X6w2dXiT67igb7qIaENvonnY0qe97Q102FYxFPf1+X5I81Zb80idD6m/n8lcAo8F8J9Nf9O4HOQLj0/tvqYaLrRot41ykakWVsnHI2FiJnIyFyEk6YTt8K6q86ydIJOHXQSSa81uFMYx2h1Tlqz/slvL//gS+7EvZ0cAIgEZAESAYUARTVdOpB1ZOlWVFQDmrTCO3kmxTZa3j2h1ruXQlxbUDK/GH3RTHvS3GTDplUSf/jQx9Nn5TqEyqJsRORBprmGajSOgS8Vr6xF0/kGVzqGZFS5xKOa+VEc0dmqpzWI9uovOzMrNzctulKpWW3zm6dk5Y1Ki8nU2VlZsE1c7PTsqC5tOxclRfNbp0Xy5S7RCL9bKs/JRMZBdYXp75uCqExcOmdYk1HRNdlSWGKe7JSOay5LuUYlSI2/PyaaOKeumMso2liorxoWtr7UsYfTUs7ommZGETTxES6aFqa0FDLCImmlDqXFRpNyzJF03KJjAKXY4im5eM8mmq9ywuJpmU8WamjKeUYVWCKphX+g2iaFN/R1HzS7L6o6H2p5I+m+h9/+2iVEvefDamjaRKBceWN2vOpSGiolYREU0qdD7OupbLS09LapOvzskZGVcbI3LSstLSRORnR3Gh2blpe2wzVdlRGWkZ67sjcHLhmthoVHZWd23ZU1h65YhlND2OKppUTGQWuzBBNq8R5NNV6VxESTSt5slJftypTBKzqRf5YRsBkgRGwmveluj8CVnNEwOoxiIDJhBGwGuEEUF1IBKTUuYbQCFiDKQLWTGQUuCZDBKwV5xFQ611LSASs7slKfd3aTBGw9n8QAYvEdwR0VlTreF9S/RFQ/8NfUdUnpfqEoo6ARYI7bX5FtQ7hBJAqJAJS6lw3UWZFtS5TBKyXyChwPYYIWD/OI6DWu76QCJjqyUrlsOa6lGPUgCma6uvWLcD2g8qsn0bSTzpRT4RNCWVsmMhrm9Fgn92PpTZkyM4WlI1vn9SP5XHofW5ZGcGecHzUuWXj28b18yEcY90ozn1b69yIQe/GTLGisbVI4HisncMGmgiwgSYMejdlsoGmjoUi9dzXKPHQGf9UprnvcAF2fziD3s2Y7L4Z49z3J1Ou01yADTRn0LsFkw20iMHcd3jioTP++hUxDru/IM7XNkWZ5vwLhaxtCMdHXRjna5tK3lhHaK/LYpf6lUD9Kh/5rW/Cax1OqG/LOJ8fqzPNExfH+fyodW7JoPclQuZHwvFRl8T5/JjAZOOXxWis46gOqy6Lc7/W1+MY6yvi3MYjTDZ+pZD5jHB81JVxPtZmLU/dhw0J14WtmNbHrbz1sf5bb69Q1mtDf9f3c8zeSrpzzN8J1t9lrL8rWX9Xt/4unujer6loIu2+T3o/Ov04TRFz/cj+H457fUTXCregiR66W9BwyUm9XvJ/qK7dwbqm8iZi83B4unfM8I6Z3rG1d2zjHbO8Y1vv2M47tveOHbzjEd6xoxffU712O+m+AnQBdAV0A3QH9AD0BPQC9Ab0AfQF9AP0BwwAHAk4CjAQMAhwNOAYwLGA4wDHAwYDhgCGAk4ADAMMB5wIOMknywj4fjIgG5ADyAWMBOQBRgFGA04BjAGMBYwDnAoYD5gAmAg4DTAJMBkwBTAVMA0wHXA6YAZgJuAMwJmAswCzALM9WQZ6spwN3+cA5gLOAcwDzAcsAJwLOA9wPuACwIWAhYCLABcDLgEsAlwKuAxwOeAKwJWAxYCrAFcDrgFcC7gOcD3gBsCNgJsANwNuAdwKuA1wO+AOwJ2AuwB3A5YA7gHcC7gPcD/gAcBSwIOAZYCHAA8DlgMeAawAPAp4DPA4YCXgCcCTgKcATwOeAawCPAtYDXgO8DzgBcAawIuAlwAvA9YC1gFeAbwKWA94zTeur8P3NwBvAt4CvA3YANgIeAewCfAu4D3AZsD7gC2ADwAfAj4CfAzYCvgEsA3wKeAzwHbA54AvAF8CvgLsAHwN+AbwrSeLceTv4Pv3gB8AOwE/An4C/Az4BfAr4DfA74A/AH8C/gL8DfgHsAugE4kEQCIgCZAMKAIoCigGKA4oASgJSAGUApQGlAGUBZQDlAdUAFQEVAIcBqgMqAKoCqgGqA6oAagJqAWonbRHFzNv1IHvqYC6gHqA+oAGgIaARoDGgCaApoDDAc0AzQEtAC0BrQBRgAKkAdIBGYBMQGtAG0AWoC2gHaA9oAPgCEBHQCdAZ0AXQFdAN0B3QA9AT0AvQG9AH0BfQD9Af8AAwJGAowADAYMARwOOARwLOA5wPGAwYAhgKOAET/dynu7D4PtwwImAkwAjACcDsgE5gFzASEAeYBRgNOAUwBjAWK9wOC5p35zpVPg+HjABMBFwGmCSd+5k7zjF4+ns8UyF79MA0wGnA2YAZgLOAJwJOAswCzAbcDZgDmAu4BzAPMB8wALAuYDzAOcDLgBcCFgIuAhwMeASwCLApYDLAJcDrgBcCVgMuApwNeAawLWA6wDXA24A3Ai4CXAz4BbArYDbALcD7gDcCbgLcDdgCeAewL2A+wD3Ax4ALAU8CFgGeAjwMGC5b0wege8rAI8CHgM8DlgJeALwJOApwNOAZwCrAM8CVgOeAzzvXauUd60X4PsawIuAlwAvA9YC1gFeAbwKWA94DfC6NzZveMc3veNb3vFt77jBO270ju94x03e8V3v+J533Owd3/eOW7zjB97xQ+/4kXf82Dtu9Y6feMdt3vFT7/iZd9zuHT/3jl94xy+941fecYd3/No7fuMdv/WO3+m+o06izNZvib7rUjxsSXWtv+kS0n02kdVJWGpk3zcP0r1AYtNaO85r4zgvy0Fr7+Dt4DjvCAeto4O3s4PW1UHr7qD1dNB6O2h9HbT+DtqRDtpAB+1oB+1YB+14B22Ig3aCgzbcQTvJQTvZQctx0EY6aKMctFMctLEO2qkO2gQH7TQHbbKDNtVBm+6gzXDQznDQznLQZjtocx12eq6DttBBu9RBW+ygXeeg3eyg3eGg3eOgLXXQljtojztoTztozzloLzlorzpobzj69C0HbYOD9o6D9q6DttlB2+KgfeigfeygfeKgfeqgbXfQvnDQvnLQvnbQvnXQvnfQfnTQfnHQfnfQ/nLQdjloehHgpxVx0Io7aCkOWhkHrbyDVslBq+KgVXfQajlo9Rw0vaDw22kDB62hg7eR47xmDlpzB28LB005aGmO66U7aBkO3kzHee0ctPYO3g4OWmcHrYvjel0dtG4O3u6O8/o4aH0dvP0ctKMctIGO6w1y0I528B7jOG+IgzbUwXuCgzbBQZvkoE120KY4aNMctNMdtJkO2pkO2iwH7WwHba6DNs9BW+CgneegXeCgLXTQLnbQFjlolzloVzhoix20qx20ax206x20Gx20mx20Wx202x20Ox20ux20exy0+xy0Bxy0Bx20hxy05Q7aCgdtpYP2tIO22kFb46C97KC94qC95qC96aBtctDec9Ded9A+cND0Qrizj/al47yvHLQdDtrXHi3ifdefzt4xGuyjzEuASb7rxut6N+i1vk8ifHCAYTz0PP990v7XDar3D0m0N4eo9dY6/8Cg905CvW2f3Mnok/qGI4cN/CjABn5k0PsnJhv4ybIB80kk7hPbb//fx3+KN/dR9+H3hH34M5Mt/cw4n+gHVzjmk6vj/IFG/XABh97XCHmwj3B81DVx/mBfGtNY/yIgZv7CoPevTPPcr4zznH7wjcMGfhNgA78x6P07kw38HoO86ZekQ2f8GzHZ/fVxHt/bMs35NwiJ74Tjo26I8/jexhvrCO11WeyyJZNd3hznY5TFpPctQvyRcHzULXE+1plMY327kBcDKddWtwt4MZBjrO+McxvPYLLxu4TMZ4Tjo+4KXwwMbDd/JMmYGynv1/0Z5/fr9Jj8yTBH/MW09v6Lsf4ioX7/d5yv5bUt/c1gT/8w2dM/jPbE5Vv3xHssYrKBe5nyDupnR3YRzvmEY60o+8/2oV2MPtSaKYeNJMe/D2kZyddCyTw2oK+bymQDXPfGEgXYQCKDDSQx2UASow1wPVOULMAGkhlsoAiTDRRJ5s/PqfuiqAAbKMpgA8WYbKCYZQPmQ51jFU8+tHKs4sxzq655UNtXCSb7KvEv7Csa7KMo7cvuh6B9WpKpT0sy2hfXc2wpcT5vc9XfS8W53lz31kofomu2Mkw+X4bR59sw2UDZOLcBrmcIyh2ia9XyTLZfntH205lsoEKc2wDX82wV41zvdkx6V4pzvfXG+xx6H3aI1mQqM811lTnXjky1iSpMfVGFsS/0sxJ6U1/qvqhK2Bex/DXlFhHaMTSfasmMAldLpr9udcICAJfe1ZP3djDRdXcbm/7EYndrSmPjlLO5EDmbCZGzJHOyEHg3/MjumsDuSZdSb8pfPWrFNNYRWp3zg8DuIrD3dw3oiJqAWoDagDo6wAPqAuoB6uv5nHpQ9WTZMkJvzC0jtJNvkmV49oda7prJcW1Ayvxh90UDL+A1TI7su12N/seHPlrDGNxyqBk8S0jzDFQ1IMw4GjINLvWMSKlzI8e1cqK5IzNVTuuRbVRedmZWbm7bdKXSsltnt85JyxqVl5OpsjKz4Jq52WlZ0Fxadq7Ki2a3zotlyt0omX621Z/GyYwCN2ZIuZvEecqt9W7CkHK7ZKWYALSsVA6b/+PZhGPUlKleoK9bN7Lnh3piFU3rCIymh3u23MwfTQ93RNNmMYimdQij6eGEhtpMSDSl1Lm50GjanCmatkhmFLgFQzRtGefRVOvdUkg0bebJSh1NKceoFVM0bfUfRNPU+I6m5pNm90XUs2Xlj6b6H3/7aCp5/9mQOpqmEhhX3qg9nyihoSoh0ZRS5zTrWiorPS2tTbo+L2tkVGWMzE3LSksbmZMRzY1m56bltc1QbUdlpGWk547MzYFrZqtR0VHZuW1HZe2RK5bRNI0pmqYnMwqczhBNM+I8mmq9M4REU+XJSn3dTKYImOlF/lhGwLoCI2Brz/7a+CNga0cEbBODCFiXMAK2JpwA2giJgJQ6ZwmNgFlMEbBtMqPAbRkiYLs4j4Ba73ZCImAbT1bq67ZnioDt/4MIWE9gRbWDZ39H+CNgB0dF9YgYVFTrEVZUOxBOAEcIiYCUOncUWlHtyBQBOyUzCtyJIQJ2jvMIuHughETAIzxZqSuqlGPUhSmadvEqqhz9qp9Gqp5MPxG2JJSxazKvbUaDfXY/ltqVITt7IM733NSP5XHovVTI3pOE46OWxvl+Xw2ZxrpbnPu21rkbg97dmWJF92S+d1/0Y+0cNtBDgA30YNC7J5MN9HQsFKnnvm7Jh874H8E09/USYPe9GPTuzWT3vRnnvpJMNtBHgA30YdC7L5MN9I3B3Ncr+dAZf/2KGIfdPxTna5v6TP7+sJC1DeH4qIfjfG2jvLGO0F6XxS61mPpVPurCfzLhtVoR6tsvzufHNkzzxIo4nx+1zv0Y9H5UyPxIOD7q0TifH2sz2fhKIb+jRFnnWyngd5Q4xvrJOLfxWkw2/pSQ+YxwfNRTcT7WZi1P3YddCdeF/ZnWx/299bH+W2+vUNZrQ3/X93P+8f6uZf1d2/q7mfW3sv5uY/3d0Pr7t4S9f9cvgI79uwJgQPKep4ySI/s+ZURtM3oPrIZWA0Gva96TiDg+Aa/tfNLoSG99c5T/SaMjvUnPph3FWEjTnfhnElmQzn/a6EhC5zsqmXaAOZLvI2O0YI0G++x2nKoMgXUg4QSpu7IMoJx3PX1tPclgEWH2Heq+HCSgCD2IwYaOJtQ7ybMh/4eyXzn69ujk+JfxGEoZpQ6UnljiXcZjGYzJKWhQzz+OTlAl1aCOE+D5x0sxqMF0gqZJNajBAgxqiBSDGkonaLpUgxoqwKBOkGJQw+gEzZBqUMMEGNRwKQZ1Ip2gmVIN6kQBBnWSFIMaQSdoa6kGNUKAQZ0sxaCy6QRtI9WgsgUYVI4Ug8qlEzRLqkHlCjCokVIMKo9O0LZSDSpPgEGNkmJQo+kEzZZqUKMFGNQpUgxqDJ2gOVINaowAgxorxaDG0QmaK9WgxgkwqFOlGNR4OkFHSjWo8QIMaoIUg5pIJ2ieVIOaKMCgTpNiUJPoBB0l1aAmCTCoyZQy6ocK9dPV5bwL6mdj9OMM+g60vmmo7/Po0ryupuoCmK5Z6GWmXhnoZE7HXz1laiufnFywcUaDfXY/XDeA4eG6VQLeYDuGQe9nmd74SCYe92MIH5ieQvg4FaHdKMqxSIrsfVvC/lDJaq53KD7gOYVaRilPXk9NpjUgjuAwlWGSnMb0etM0782VIt738Fep98oZ/io1rZwlk2XI2Y9JzgitnNEO1jWne9nO6d5xhnec6R3P8I5nesezvOMs7zjbO57tHed4x7ne8RzvOM+b21K9dufD9wWAcwHnAc4HXAC4ELAQcBHgYsAlgEWASwGXAS4HXAG4ErAYcBXgasA1gGsB1wGuB9wAuBFwE+BmwC2AWwG3AW73yXIHfL8TcBfgbsASwD2AewH3Ae4HPABYCngQsAzwEOBhwHLAI4AVgEcBjwEeB6wEPAF4EvAU4GnAM4BVgGcBqwHPAZ73ZBnoyfICfF8DeBHwEuBlwFrAOsArgFcB6wGvAV4HvAF4E/AW4G3ABsBGwDuATYB3Ae8BNgPeB2wBfAD4EPAR4GPAVsAngG2ATwGfAbYDPgd8AfgS8BVgB+BrwDeAbwHfAb4H/ADYCfgR8BPgZ8AvgF8BvwF+B/wB+BPwF+BvwD+AXdo2IIAkABIBSYBkQBFAUUAxQHFACUBJQAqgFKA0oAygLKAcoDygAqBikX3HtRJ8PwxQGVAFUBVQDVAdUANQE1ALUBtQB5AKqAuoB6gPaABoCGgEaAxoAmgKOBzQDNAc0ALQEtAKoH8lXP8ERhog3ZPFOHIGfM8EtAa0AWQB2gLaAdoDOgCOAHQEdAJ0BnQBdAV0A3QH9AD0BPQC9Ab0AfQF9AP0BwwAHAk4CjAQMAhwNOAYwLGA4wDHAwYDhgCGAk4ADAMMB5wIOAkwAnAyIBuQA8j1dDHzxkj4rjc6HwUYDTgFMAYwFjAOcCpgPGACYCLgNMAkwGTAFMBUwDTAdMDpgBmAmYAzAGcCzgLMAswGnA2YA5gLOAcwDzAfsABwLuA8wPmACwAXAhYCLgJcDLgEsAhwKeAywOWAKwBXAhYDrgJcDbgGcC3gOsD1gBsANwJuAtzs6W6KC7fA91sBtwFuB9wBuBNwF+BuwBLAPYB7AfcB7gc8AFgKeLDInmssK7JvzvQQfH8YsBzwCGAF4FHv3Me84+MeT2ePZyV8fwLwJOApwNOAZwCrAM8CVgOeAzwPeAGwBvAi4CXAy4C1gHWAVwCvAtYDXgO8DngD8CbgLcDbgA2AjYB3AJsA7wLeA2wGvA/YAvgA8CHgI8DHgK2ATwDbAJ8CPgNsB3wO+ALwJeArwA7A14BvAN8CvgN8D/gBsBPwI+AnwM+AXwC/An7zjcnv8P0PwJ+AvwB/A/4B7Cqyp5MTAImAJEAyoAigKKAYoHjRPdcq5V2rBHwvCUgBlAKUBpQBlAWUA5QHVABUBFTyBvAw71jZO1bxjlW9YzXvWN071vCONb1jLe9Y2zvW8Y6p3rGud6znHet7xwbesaF3bOQdG3vHJt6xqXc83Ds2847NvWML79jSO7byjlHvqLxjmndM944Zuu+okyi9R7re0zzRd12K/deprqVlpNLXXlTpJCw1su8WATOS99824EzHeWc5zpvloM1x8M51nHeOgzbPwbvAQTvPQbvAQVvooF3soC1y0C5z0K5w0BY7aFc7aNc6aNc7aDc6aDc7aLc6aLc7aHc6aHc7aPc4aPc5aA84aA86aA85aMsdtBUO2mMO2koH7UkH7WkHbZWDttpBe95Be9Fhp684aG84aBsdtM0O2kcO2qcO2pcO2rcO2o8O2m8O2t8OWmKR/WnFHLRSDlp5B00nyKk+WhUHrZqDVsNBq+Wg1XHQ6jpo9R20hg5aYwetqYPWzEFr4aC1ctCUg5buoGU6aFkOWnsHraOD1sVB6+6g9XLQ+jpoAxy0gQ7aMQ7a8Q7aUAdtuIM2wkHLcdBGO2inOOx0jIM21sE7znHeaQ7aJAfvZAdtuoN2uuN6Mxy0mQ7eMxznne2gzXHwznXQFjho5zqud56Ddr6D9wLHeZc4aIscvJc6aFc6aIsd17vKQbvawXuN47wbHbSbHLw3O2jLHbRHHbTHHLTHHbQnHLSnHLRnHLRnHbTnHLQXHLQXHbSXHbR1DtqrDtprDtobDtpbDtoGB+0dB+1dB22zg7bFQfvQQfvYQfvEQfvUQdvuoH3hoH3loH3toH3roH3voO100H5y0H5x0H5z0P5w0P5x0PSC2E8r6qCVdNBKO2jlHLSKDlplB62mg1bbQUt10Oo5aHoh3NlHa+k4r5WDFnXQlEeLeN/1p7N3jAb7KPO7YEm+68brejfwb4EXje8bsXqezyy6/3WD6t26KO3NIWq9tc6tGfRuU5TnBnQbRp/UNxw5bCBLgA1kMejdlskG2lo2YD6JxH1i++3/+/g/7s191H2YSdiH7ZhsqR3jfKIfXOGYT56P8yc/pzPNoy8I2eubcHzUC3G+1/fpTGPdXkDMbM+gdwemea4D4zynH3zjsIEjBNjAEQx6d2SygY4xyJvaFz10xr8Zk92/FOfxfTbTnP+ykPhOOD7q5TiP72d5Yx2hvS6LXfZjsstX4nyMZjHp/aoQfyQcH/VqnI/1GUxj/bqQ3wqjXFu9LuC3wjjG+s04t/GZTDb+lpD5jHB8FKXO+rna5Aj/70B9n7T3+kGv6/1MUG7E8Ql4befvQHXycqXORSP73kzs5Bm0TevMuCjXncjxO1CdCBd4nYvSDjD1hKEnoU4xSn6jwT6jzHhT90EXAUWYLgzBoitTEaYro8/r8U9Jpu+LbnFuA1rvUgx6dxegd2kGvXsI0Lssg949BehdjkHvXgL0rsCgd28Beldk0LuPAL0rMejdV4DehzHo3Y9Qb70ArBHZ+1awzg10nNQxowz8U8+hej4pD39r/9K2pvvd/HanlqUy/K9KcrDfAP2vYD5S8tj+hGOf5I29/0N1fa6+7V80/mUcQC0jx2J4AIOBbhSyn9sAwsLHkYTXInxCSG0sK2ayYNvPTcJkcST3ZBEN9smPZokM16VynKOYKjxHMVZ4JPTrwDDjUAMFTCKDJGQcgxgyjk1CMo5BhE55NOH7V4T3FNWmMOMQMVkcfYhmHGmUkfEYpozjGHkZB2m/HhtmHOpYAZPIcRIyjuMYMo73hGQcxxE65fGEGQfhk3rqvTDjEDFZHH+IZhzplJFxMFPGMVhexkHar0PCjEMNETCJDI33SeRMpmed34/zZ9u1zkMZ9N4iJNMaSjgZnUCYaRHajdoSZloiJskTDtFMK4MyIxjGlGkNk5dpkfbr8DDTUsMFTCInxvskchZTpvWRgEzrRAa9PxaSaZ1IOBmdRJhpEdqN+jjMtERMkicdoplWJmVGMIIp0xohL9Mi7deTw0xLnSxgEsmWcBctmyHj2CYk48gmdMocwoyDcG8TtS3MOERMFjmHaMbRmjIy5jJlHLnyMg7Sfh0ZZhxqpIBJJC/eJxGuXWg/E1DbyWPQe7uQTCuPcDIaRZhpEdqN2h5mWiImyVGHaKbVhjIjGM2UaY2Wl2mR9uspYaalThEwiYyJ90lkBlOm9aWATGsMg95fCcm0xhBORmMJMy1Cu1FfhZmWiEly7CGaaWVRZgTjmDKtcfIyLdJ+PTXMtNSpAiaR8RLuoo1nyDi+EZJxjCd0ygmE1yL8xQ71TZhxiJgsJhyiGUdbysg4kSnjmCgv4yDt19PCjEOdJmASmRTvk8jZTLWd7wTUdiYx6P29kExrEuFkNJmwtkNoN+r7MNMSMUlOPkQzrWzKjGAKU6Y1RV6mRdqvU8NMS00VMIlMk1DbmUZv7PsoHvhX3OUYO1vElGDs0w/RiJlDObOfzhQxT5cXMUn7dUYYMdUMAZPITAkRcyZDxJxJaOxnhBFThLGfcYhGzFzKmf1Mpoh5pryISdqvZ4URU50lYBKZFe+TiK4Sc1TzfxRQzZ/FoPdPQqr5swgno9mE1XxCu1E/hdV8EZPk7EM00xpJmRGczZRpnS0v0yLt1zlhpqXmCJhE5sb7JFKS6bmJXwVkWnMZ9P5NSKY1l3AyOocw0yK0G/VbmGmJmCTPOUQzrTzKjGAeU6Y1T16mRdqv88NMS80XMIksiPdJ5PEiPJnWnwIyrQUMev8lJNNaQDgZnUuYaRHajforzLRETJLnxvsk+T2M/p9J9JPFeUVpDYgjEzqPYZI8nykrPJ8xK9Qlia7J9I9L6GtS9esFDM6uP4nE41+dUOcL49yH9JhcyOBDC5l8aCGjD5lkk9qHKFdWFxH7EHUfalu6iMGeLmayp4sZ7YnLt3aVPTRtIFKOJ34kEct5CeGcTzjWirL/bB+6xPMhqZWa3xLiX8ZFlPO+1IG6UMBq8VKmJJc6K0m7kDAruSys96rLBBjn5eEsElVDk+NfxiviveZUxqs3UOd4VwpY31zJkNsuZlrfLGa+E3kFQ19cJcAGrmLQ+2omG7ia0Qa4/CGp3KFpA8lC1rjXEK5xCcdaJTOtca8RvsYdJiDpuTbekx6d8PRkcPpicT7Z6UB/LYPexYVMdtcRTnaEY62KCwiS1zHYzfVMidL1lqzmQ30ziLLscgNdP2RIDWw3CCi73CghsPVicNQUAYHtRga9SwkJbDcRBjbCsValBAS2mxjs5mamwHYzf2BLpwxst9D1Q7rUwHaLgMB2a7wHtvJMZerbBJQob2OYoG5nmqBuZy5T38rQF3cIsIE7GPS+k8kG7mQuU3P4Q1kBiQqHDZQTkuDeRZjgEo61KsdUpr7L8iHziedE7+6wgqHuFpDoLZFQwejNMNFVFFDBWMKgdyUhE/w9hBM84VirSgISg3sY7OZepuTwXv4KRhZlYLsvfCJS3ScgsN0v5HHdtpTG+UBonOoBAca5VIhxZlMa54OhcaoHBRjnMiHGmUNpnA+FxqkeEmCcDwsxTtKcc3lYTFHLBRjnIxKKKf0YFodVBBRTHmHQu6qQYsoKwmIK4VirqgKKKSsY7OZRpmLKo/zFFNIlwWPh4yDqMQGB7fF4D2yVmR4HWSngUYCVDBPUE0wT1BPMj4M8ztAXTwqwgScZ9H6KyQaeYn4chMMfaghIVDhsoKaQBPdpwgSXcKwVZf/ZPvQ0/+MgpOW1Z8JETz0jINFbFe+JXhWmRO9ZAUH+WYYJfjVTkF/NnOitYuiL5wTYwHMMej/PZAPPMyd6HP5QR0Cix2EDqUISvRcIEz3CsVapTIneC/yJ3ijKRG9NeB9VrRGQ6L0o4z6qilIa50uhcaqXBBjny0KMk3TPh7Whcaq1AoxznZAnUEjD+ith/Ua9IsA4X433+o1eu7/KsH5ZL2Dtvp5B79eY1u6vCVt3vB4+IqdeFzBBvXEorjveDI1TvSnAON8SYpykW/y/HaZ26m0BxrlBQmq3gSHF2SggtdvIoPc7TKndO+ypHe0EtSmMnmqTgAnqXSHRsw2lcb4XVu3UewKMc7MQ4yR9b+z90DjV+wKMc4sQ4yTdq+CD0DjVBwKM80Mhxkn6YtJHoXGqjwQY58eHYs65NVwQqa0CjPOTQzGsbwvLiWqbAOP8VEI58VOGstpnAsqJnzHovZ2pnLidv5xImtp9Hk5Q6nMBE9QXEiaoLxgc9UsBE9SXDHp/xTRBfcU/QeVRTlA7wrWn2iFggvpaSHpP+pzVN6Fxqm8EGOe3MowzjfQ5q+9C41TfCTDO74XMnKRh/Ydw3aF+EGCcOyWsO3Yy5N8/Clh3/Mig909M646fhK07fg5vK6ifBUxQvxyK645fQ+NUvwowzt+ErDtIX939PUzt1O8CjPMPCandHwwpzp8CUrs/GfT+iym1+4s9taOdoP4Oo6f6W8AE9Y+Q6Nma0jh3hVU7tUuAcUaKyTBO0mftEoqFxplQLP5lTBRinKTvdySFxqmSBBhnshDjJH0QtEhonKqIAOMsKsQ4SXPOYnRKi10QFRNgnMUPxbBegk5pseXEEgKMsyS1jBzlRC0kdVkthVhxjnJiCoPepQj1tsuJ+rqpkX0/8ZzalQ4nKFVawARVRsIEVYbBUcsKmKDKMuhdjmmCKsc/QY2knKDKh2tPVV7ABFVBSHpP+pxVxdA4VUUBxllJiHGSPmd1WGic6jABxllZiHGShvUq4bpDVRFgnFUlrDuqMuTf1QSsO6ox6F2dad1RXdi6o0Z4W0HVEDBB1TwU1x21QuNUtQQYZ20ZxplO+upunTC1U3UEGGeqhNQulSHFqSsgtavLoHc9ptSuHntqRztB1Q+jp6ovYIJqICR6ZlIaZ8OwaqcaCjDORkKMk/RZu8ahcarGAoyziRDjJH2/o2lonKqpAOM8XIhxkj4I2iw0TtVMgHE2PxRzzhbhgki1EGCcLQ/FsN4qLCeqVgKMMyqhnBhlKKspAeVExaB3GlM5MY2/nEia2qWHE5RKFzBBZUiYoDIYHDVTwASVyaB3a6YJqrU1QZHvpwuN/JlE3xdt4twGuiZHIm0YbCBLgO1nMejdlsn22zLavp7/zmPYOqydABtox2AD7ZlsoD2jDXD5Q/1yh6YNNChHn5hFPFuglLMDna0qwrFWlP1n+1AHRh9qmMiTQxwhIIc4gsGHOhLX7stG9v9Q9itH33YUsMDrFO8LPC7H7CzAMTszOGYXYscsE9n/Q9mvHH3bRYBjdj1UHbObAMfsxuCY3cOIqboLcMwe8e6Y2kA7MRho4zhfDupSSFcGvZsIWQ72JFwOEo61asJsN0H7TftLDwa7aRbn/qL17smgd3Mmf0km1t+eyIPq3IvQ9wjtRlGOBXNSocz1DsWkopeEpGJqMv1k0VvAfYbeDJNkH6b7DH0E1kj7xrkN6MSyL4MN9BNg+/0Y9O7PZPv9me+xccwDrQTcY+OwgaiQRdUAwsSOcKwVZf/ZPjTA8SAhdZ8eSdinu8oSJqBMfXok47xUEnKy6gx52VFMc/RR/8K+osE+itK+jiJcJA5k6tOBjPa1u9rN8HxRuoBi4iIGvTOExL1BhD5EONYqQ0BRrTuD3bQR4C+XMuidJcRfjib0F8KxVlkC/KUHg920F+AvlzPo3UGIvxxD6C+EY62k9N+xhP2XRNh/yUxrqGMZc9wyTGuo45jy/eNisIaitK/jCNdQxzP16fGM9qVtqyfDXN9JQO3wOga9OwuZowcT+hDhWKvOTHP0YKtOzOFDvRhsqZsAH7qJQe/uQnxoCKEPEY616s7kQ0MsH+Lq06GEfVqWsE/LMfXpUMbYXp4pdzyBKc85IQa5I6V9nUCYOw5j6tNhzLljb4b5v5eAuHcPg969hcS94YQ+RDjWqjfTHD2cMXfUNcY+DLbUT0CN8X4GvfsL8aETCX2IcKxV/zi3G+0vfRns5igB/rKUQe+BQvzlJMrnJgj9ZaAAu1nGYDcjBDwX+zCD3ifHud46J+/HoPcxAnLyFQx6HytkfswmnB8Jx1ody5STZ8egFpVD2Kc1CPu0JlOf5jDWCioz1aJymeomuTGoRVHaVy5hLWokU5+OjMHz23mEfVqH0GdTmXw2j9FnqzD57Cgm+xoVA5+ltK9RhD47mqlPRzPvD/kiQ852ioC1ycsMeo8RoPc6Br3HCnhXcT2D3uOYfH4cs8+/wdAXpwqw/bcY9B4vwPY3Mug9gcn2JzDb/rsMfTFRgO1vZtD7NAF6b2HQe5IAvT9k0HuyAL0/ZtB7igC9P2HQe6qA2PYZg97TmGLbNOY9KL5k6IvpTH0xnTnOf83QF6cLmAe+ZdB7hgC9v2fQe6aA+e9HBr3PYPL5M5h9/heGvjhTgO3/xqD3WQJs/08GvWcx2f4sZtv/h6EvZguw/QjD/lNnC9A7kUHvOQL0TmbQe64AvYsy6H2OAL2LM+g9T0BsS2HQez5TbJvPvK4ty9AXC5j6YgFznK/A0BfnCpgHKjHofZ4AvSsz6H2+gPmvGoPeFzD5/AXMPl+ToS8uFGD7tRn0XijA9usy6H0Rk+1fxGz7DRj64mIBtt+IQe9LBOjdhEHvRQL0PpxB70sF6N2cQe/LBOjdkkHvywXENsWg9xVMse0K5nVtJkNfXMnUF1fG4N2BxYTPdkv4zerFzHuDtGGwr6uY7OuqGLw7QGlfVxG+O3A1U59e7fWp1F/8/C0h/mW8hjLmSh2o45LjX8Zrw4GKqsECBuq6cKCiaqiAgbo+HKioGiZgoG4IByqqThQwUDeGAxVVIwQM1E3hQEVVtoCBujkcqKjKFTBQt4QDFVV5Agbq1nCgomq0gIG6LRyoqBojYKBuDwcqqsYJGKg7woGKqvECBurOcKCiaqKAgborHKiomiRgoO4uRi/j7g/1PeQlhPf4JPwm+xLme8h9Ge4h38N0v/OeGNxDprSvewjvId/L1Kf3en1aBJBo2Zj9oba7tAitLuZzXzFGge8rRn/d+wkNhEvv+4vt7WCi60aLeNcpGpFlbJxyKiFyRoXIOZD5Ycmg/poB14D4u3vSpdQ7mfBaGUxjHaHVOT8I6GMJ7+8HYPyXAh4ELAM8BHgYsBzwCGCFns+pB1VPlukRemNOj9BOvkmW4dkfarmXFotrA1LmD7svHvUC3mPFvA4xqZL+x4c+2mMxSEmXBs8S0jwDVY8SZhyPMQ0u9YxIqfPjjmvlRHNHZqqc1iPbqLzszKzc3LbpSqVlt85unZOWNSovJ1NlZWbBNXOz07KgubTsXJUXzW6dF8uU+/Fi9LOt/qwsxijwSoaU+4k4T7m13k8wpNwuWSkmAC0rlcOa61KO0ZNM62Z93bqRPevmWEXThwRG06c8W37aH02fckTTp2MQTR8ijKZPERrq00KiKaXOzwiNps8wRdNVxRgFXsUQTZ+N82iq9X5WSDR92pOVOppSjtFqpmi6+j+Ipg/HdzQ1nzS7L57zbPl5fzTV//jbR3u+2P6zIXU0fZjAuPJG7fk8R2iozwuJppQ6v2BdS2Wlp6W1SdfnZY2EQt7I3LSstLSRORnR3Gh2blpe2wzVdlRGWkZ67sjcHLhmthoVHZWd23ZU1h65YhlNX2CKpmuKMQq8hiGavhjn0VTr/aKQaPq8Jyv1dV9iioAveZE/lhFwucAI+LJnf2v9EfBlRwRcG4MIuJwwAr5MOAGsFRIBKXVeJzQCrmOKgK8UYxT4FYYI+GqcR0Ct96tCIuBaT1bq665nioDr/4MI+IjAiuprnv297o+Arzkqqq/HoKL6CGFF9TXCCeB1IRGQUuc3hFZU32CKgG8WYxT4TYYI+FacR0Ct91tCIuDrnqzUFVXKMXqbKZq+7VVUOfpVP410fzH6iTCdUMYNxXhtMxrss/ux1A0M2dngcvHtk/qxPA69h5STEewJx0cNKRffNv4Y01hvjHPf1jpvZND7HaZY8U4xvneM9GPtHDawSYANbGLQ+10mG3jXsVCknvs2Fjt0xv91prnvPQF2/x6D3puZ7H4z49w3kMkG3hdgA+8z6L2FyQa2xGDue6/YoTP++qIcdj8sztc2K5j8fbiQtQ3h+Kjhcb62ed4b6wjtdVnsUr8SqF/loy78c71qGFTfD+J8flzLNE+MiPP5Uev8AYPeJwuZHwnHR50c5/PjMiYbz43RWMdRHVblxrlf6+txjHVenNv4g0w2PkrIfEY4PmpUnI+1WctT9+EGwnXhh0zr4w+99bH+W2+vYDZh09/1/Zx/vL8ftP5eZv39tPX389bfa62/H7P+1r8LY/5eUQAd+3cFwEfF9jxlZG+/YX+obYdi7ybvCdGYPWX0sbe22ep/yuhjb8KzaVtj8JTRvYRPGX1M6HRbiQeXI+n+OEYL1Wiwz+4N6QYm0/fBmDgPLvrHAq9hSCTGMiUS1Js6fkIXuBThWKuxAuzmWga72RbnBRSt93UMen8qQO/rGfT+TIDeNzDovV2A3jcy6P25AL1vYtD7CwF638yg95cC9L6FQe+vBOh9K4PeOwTofRuD3l8L0Pt2Br2/EaD3HQx6fytA7zsZ9P5OgN53Mej9vQC972bQ+wdCvXXRsxagnHc9vfbW6z299tHrAJ0T6/xQ50o6b9AxVMcTPbfqeUb7nLY/PRY/WHUljqIpx82VnYR9meT1pf9DdX2uvt1ZLP5l/JFSRqkDpe9axLuMP4UDFVXHCfiNn5/DgYqqwQIG6pdwoKJqqICB+jUcqKgaJmCgfgsHKqpOFDBQv4cDFVUjBAzUH+FARVW2gIH6MxyoqMoVMFB/hQMVVXkCBurvcKCiarSAgfonHKioGiNgoHaFAxVV4wQMVKR4OFBqvICBSggHKqomChioxHCgomqSgIFKohwofRO2dmTvTVh9D0WX53XlVxcVdb1Kl0L0Klsv4PTaQKedOqPRwVLPw9rFtfVowbiU1jdgP2K4CTtewJvKPzLoPYHpgfxk4nH/kfAFmeTihKGX8OF+yrFI8vzZ/6GS1VzvUHwQILk4sYxcT6okEl+X8tXQIoSdaL/5p6+bGtnzOqX+XjSy/4e6v9MiPJMotZxKiJxRIXIOLCZDzg+Y5IzQyhntYF2zqJdEFvOOxb1jCe9Y0jumeMdS3rG0dyzjHct6x3Lesbx3rOAdKxbf09+pe75GKsH3wwCVAVUAVQHVANUBNQA1AbUAtQF19FwDqAuoB6gPaABoCGgEaAxoAmgKOBzQDNAc0ALQEtAKEAUoQBog3SdLBnzPBLQGtAFkAdoC2gHaAzoAjgB0BHTS8ymgC6AroBugO6AHoCegF6A3oA+gL6AfoD9gAOBIwFGAgYBBgKMBx3iyDPRkORa+Hwc4HjAYMAQwFHACYBhgOOBEwEmAEYCTAdmAHEAuYCQgDzAKMBpwCmAMYCxgHOBUwHjABMBEwGmASYDJgCmAqYBpgOmA0wEzADMBZwDOBJwFmAWYDTgbMAcwF3AOYB5gPmAB4FzAeYDzARcALgQsBFwEuBhwCWAR4FLAZYDLAVcArgQsBlwFuBpwDeBawHWA6wE3AG4E3AS4GXAL4FbAbYDbfeN6B3y/E3AX4G7AEsA9gHsB9wHuBzwAWAp4ELAM8BDgYcBywCOAFYBHAY8BHgesBDwBeBLwFOBpwDOAVYBnAasBzwGe92QxjvwCfF8DeBHwEuBlwFrAOsArgFcB6wGvAV4HvAF4E/AW4G3ABsBGwDuATYB3Ae8BNgPeB2wBfAD4EPAR4GPAVsAngG2ATwGfAbYDPgd8AfgS8BVgB+BrwDeAbwHfAb4H/ADYCfjR08XMGz/B958BvwB+BfwG+B3wB+BPwF+AvwH/AHYB9N4RCYBEQBIgGVAEUBRQDFAcUAJQEpACKAUoDSgDKAsoBygPqACoCKgEOAxQGVAFUBVQDVAdUANQE1ALUBtQB5AKqAuoB6gPaABoCGgEaAxoAmgKOBzQDNAc0ALQEtCqxB7dzYI9Ct8VIA2QDsgAZAJaA9oAsgBtAe0A7QEdAEcAOgI6ldhzjc4l9s2ZusD3roBugO6AHoCe3rm9vGNvj6ezx9MHvvcF9AP0BwwAHAk4CjAQMAhwNOAYwLGA4wDHAwYDhgCGAk4ADAMMB5wIOAkwAnAyIBuQA8gFjATkAUYBRgNOAYwBjAWMA5wKGA+YAJgIOA0wCTAZMAUwFTANMB1wOmAGYCbgDMCZgLMAswCzAWcD5gDmAs4BzAPMBywAnAs4D3C+b0wugO8XAhYCLgJcDLgEsAhwKeAywOWAKwBXAhYDrgJcDbjGu1Yp71rXwvfrANcDbgDcCLgJcDPgFsCtgNsAtwPu8MbmTu94l3e82zsu8Y73eMd7veN93vF+7/iAd1zqHR/0jsu840Pe8WHvuNw7PuIdV3jHR73jY97xce+40js+4R2f9I5PecenveMz3nGVd3zWO672js95x+e94wu676iTKP37Evr3IPyLKorfrqC61v2E2xbYiyqdhKVG9t1ipXjx/bddSXGcV8pxXmkHrZyDt7zjvAoOWkUH72EOWhUHrZqDVsNBq+Wg1XHQ6jpo9R20hg5aYwetqYPWzEFr4aC1ctCUg5buoGU6aG0ctLYOWnsH7QgHrZOD1sVB6+ag9XDQejlofRy0fg7aAAftKAdtkIN2jIN2vMNOhzloJztoeQ7aWAdtooM21UGb6aDNdtDmOWjnO2gXO2iXO2hXO2g3OGi3Omh3Ovr0bgftHgftPgftAQftQQftIQdtuYO2wkF7zEFb6aA96aA97aCtctBWO2jPO2hrHLSXHbRXHLTXHLQ3HbQNDtomB22zg/aBg/axg7bNQdvuoH3poH3toH3noO100H510H5z2OnvDtofDt4/HedFSuxP0wsSP2+ig1bUQSvmuF5xB62Eg7ek47yyDlo5B295B+0wB62y43pVHLSqDt5qjvNqO2h1HLypDloDB62h43qNHLTGDt4mjvNaOGgtHbytHLRuDlpPB62Xg9bbQevroPV30I500AY6aEc7aMc6aMc7aEMctBMctOEO2kkO2skOWo6DNtJBG+WgneKgjXXQTnXQJjhopzlokx20qQ7adAdthoN2hoN2loM220Gb46Cd46DNd9DOddDOd9AudNAucdAud9CuctCuc9BudNBucdBud9DuctDud9CWOmjLHLSHHTS9EO7soz3jOG+Vg/asg7bao0W87/rT2TtGg32U+U3FJN9143W9G/Raa0rQ3h2nHg89z68psf91g+r9Ygnam0PUemudX2TQ+yVCvW2ffInRJ/UNRw4beFmADbzMoPdaJhtYa9mA+VA/jGH77f/7+Pf25j7qPlxD2IfrmGxpHeN8oh9c4ZhPJsX505T64QIOvScL+Z0EwvFRk8vF99xRjGmsXxEQM19h0PtVpnnuVcZ5TifkHDawXoANrGfQ+zUmG3gtBnnTKyUOnfGPMtn9tDiP72WY5vzpQuI74fio6XEe30t5Yx2hvS6LXX7AtH6fGedjVJrJH88Q4o+E46POiPOxLsk01rOE/M4i5dpqVpzHWX09jrE+O85tvASTjc8RMp8Rjo+i1DmWv6F3Nd3PrOU6xA16bedv6L3u5UlvlIjseyPxdc+YbdobjsVYEo1w+UJeTfgbeq8TLuzeKEE7uNQThZ58Xo9R0hsN9hl1NVPS+yZTEeJNxkKU/j3BbkXp+2KegN+FG8SwfcF8Ib8n+BbhwwWEY63mx7ndaH/pzuAv5wnwl6MZ/OV8If7yNqG/EI61Ol+Av/Rg8JeFAvzlGAZ/uUiIv2wg9BfCsVYXCfCXPgz+skiAv5zI4C+XCvGXjYT+QjjW6lIB/tKXwV+uEOAvJzH4y5VC/OUdQn8hHGt1pQC7GcFgN5vi/MEDrffJDHq/K0DvUxj0fk+A3mMY9N4sQO+xDHq/L0DvUxn03iJA7/EMen8gQO+JDHp/KEDv0xj0/kiA3pMY9P5YgN6TGfTeKkDvKQx6fyJA76kMem8ToPfpDHp/KkDvGQx6fyZA75kMem8XoPeZDHp/LkDvsxj0/kKA3rMZ9P5SgN5nM+j9lQC95zDovUOA3nMZ9P5agN7nMOj9jQC95zHo/a0Avc9l0Ps7AXqfx6D39wL0Pp9B7x8E6H0hg947Bei9kEHvHwXofTGD3j8J0PsSBr1/FqD3Iga9fxGg96UMev8qQO/LGPT+TYDelzPo/Tuh3voFscMje381RD+br5831s9QHg+yDwYMAQwDDAfoZ8X08y/6mQv9/EE20EYCRgP0fXl9j1rfrx0H3/X9S30vbwL8re9t6fs8+p6Hrv/rWriuC0+D/00H6FqprhvqGtoZ8F3XlHR9ZRb8resNeu2t16F6TabXJzpXnw//WwDQ+avO5XRecwF813Fex7yL4G8dA/R8qOcG7SfaZnT/XQH/u7JYJP8j5T2fPwjHPskbe/+H6vpMfaso+4BLxj+pZeR4ae5PBgO9mukhPurfUP2T8AXJvwivRbiDmKIcC+bJgu03VCVMFn9xTxbRYJ/8aJZIrDjllpN/M70B+zffG7Ai+vWfMONQ/wiYRHZJyDh2MWQc1wrJOHYROmWkJJ1chHuOqGvDjEPEZEFoP6IyjjTKyJhQkifj0NdN5Rl4Ef2aWDLMOBJLxr+MSSUFZBxaSOrrXi8k47AHKKjOyYQZB+FOfur6MOMQMVkkH6IZRzplZCzClHEUkZdxkPZr0TDjUEUFTCLF4nwSUSlMe6HeGOd732qdizFkWjcJybSKEWZaxQkzLUK7UTeFmZaISbL4IZppZVBmBCWYMq0S8jIt0n4tGWZaqqSASSQl3jOtUkyZ1q0CMq0UhkzrNiGZVgphplWKMNMitBt1W5hpiZgkSx2imVYmZUZQminTKi0v0yLt1zJhpqXKCJhEykq4i1aWIeO4U0jGUZYw4yhHmHEQ/vaZujPMOERMFuUO0YyjNWVkLM+UcZSXl3GQ9muFMONQFQRMIhXjvbbD9Sv1dwuo7VRkyLSWCMm0KhJmWpUIMy1Cu1FLwkxLxCRZ6RDNtNpQZgSHMWVah8nLtEj7tXKYaanKAiaRKvGeaRVnyrTuE5BpVWHItO4XkmlVIcy0qhJmWoR2o+4PMy0Rk2TVQzTTyqLMCKoxZVrV5GVapP1aPcy0VHUBk0gNCXfRajBkHA8KyThqEGYcNQmvNZ0w43gwzDhETBY1D9GMoy1lZKzFlHHUkpdxkPZr7TDjULUFTCJ14r22U5aptvOQgNpOHYZM62EhmVYdwuwolbC2Q2g36uEw0xIxSaYeoplWNmVGUJcp06orL9Mi7dd6Yaal6gmYROpLqO1oIRMZFQ8qYwM5xs4WMSUYe4NDNGLmUM7sDZkiZkN5EZO0XxuFEVM1EjCJNJYQMRszRMzGhBGzSRgxRRh7k0M0YuZSzuxNmSJmU3kRk7RfDw8jpjpcwCTSLN6r+bpKzFHNXyGgmt+MoZr/qJBqfjPCjKY5YTWf0G7Uo2E1X8Qk2fwQzbRGUmYELZgyrRbyMi3Sfm0ZZlqqpYBJpFW8Z1oDmX66c6WATKsVQ6b1hJBMqxVhphUlzLQI7UY9EWZaIibJ6CGaaeVRZgSKKdNS8jIt0n5NCzMtlSZgEkmP90yrdwmeTOtpAZlWOkOm9YyQTCudMNPKIMy0CO1GPRNmWiImyYx4nyQl/EZ0JlOmlcmXae1e5m8oRt+v+ppU/dqawYH0x69z4G0vCHVuU5J2YqO2Gz0mbRiCdxaTD2Ux+pBJ4OJ5bmpL7EPUfahtqS2DPbVjsqd2jPbE5Vuryx2aNvAc04IgiVjO9oRzPuFYK8r+s32ovedDUqsfvyXEv4wdKOd9qQPVRsAK7AimJJc6K0lrQ1i26BjWUFVHAcbZKZxFompocvzL2Dne6zjHe/UG6hyvi4D1TReG3LYr0/qmK+P6Zve6lqEvugmwgW4MendnsoHujDbA5Q9rBKxxOWzgRSFr3B6Ea1zCsVYvMq1xewhf4w4TkPT0jPekZzBT0rM2zic7Heh7Mkx264RMdr0IJzvCsVbrBATJXgx205spUeptyWo+1DeDKMsufej6IUNqYOtTMv5l7BvvgW0IU2BbLyCw9WWYoF4TEtj6EQY2wrFWrwkIbP0Y7KY/U2Drzx/Y0ikD2wC6fkiXGtgGCAhsR8Z7YBvGFNiOElCiPIphghrINEENZC5TH8nQF4ME2MAgBr2PZrKBo5nL1Bz+8KaARIXDBt4SkuAeQ5jgEo61eoupTH2M5UPmE8+J3rFhBUMdKyDROy7eE73hTIneRgEVjOMYJvh3hEzwxxNO8IRjrd4RkBgcz2A3g5mSw8H8FYwsysA2JHwiUg0RENiGCnlcty2lcZ4QGqc6QYBxDhNinNmUxjk8NE41XIBxnijEOHMojfOk0DjVSQKMc4QQ4yTNOU8OiynqZAHGmR3vxZRspmLKewKKKdkMi+LNQoopOYTFFMKxVpsFFFNyGOwml6mYkstfTCFdEowMHwdRIwUEtrx4D2wjmQLbKAGPAoximKBGM01Qo5kfB8lj6ItTBNjAKQx6j2GygTHMj4Nw+MMHAhIVDhv4UEiCO5YwwSUca0XZf7YPjeV/HIS0vDYuTPTUOAGJ3qnxnuiNZkr0xgsI8uMZJvgJTEF+AnOidypDX0wUYAMTGfQ+jckGTmNO9Dj8YauARI/DBj4RkuhNIkz0CMdafcKU6E3iT/RGUSZ6k8P7qGqygERvioz7qCpKaZxTQ+NUUwUY5zQhxkm658P00DjVdAHGebqQJ1BIw/qMsH6jZggwzpnxXr8Zx1S/OUPA2v0MhnXbmUxr9zOZ6zczGfriLAE2cBaD3rOYbGAWc/2Gwx8+E1C/4bCB7ULqN7MJ6zeEY622M9VvZgur35wdPmqszhaQ6M2J90RPJ3lbGH409UsBjxrPYZjgvxIywc8lnOAJx1p9JSAxmMtgN+cwJYfnsD9qTFv7nRcGNjVPQGCbLyGwfcAQ2L4RENjmM0xQ3woJbAsIAxvhWKtvBQS2BQx2cy5TYDuXP7CR/kTbeWFpXp0nILCdH++BbQJTaf4CAWXZCxgmqAuZJqgLmUvz5zP0xUIBNrCQQe+LmGzgIubSPIc//CAgUeGwgZ1CEtyLCRNcwrFWO5lK8xezl+ZpE71LwgqGukRAordIQgXjQ4YKxs8CKhiLGCb4X4RM8JcSTvCEY61+EZAYXMpgN5cxJYeX8Vcw2lAGtsvDJ1/V5QIC2xVCHssm3XvtytA41ZUCjHOxEOMk3e/3qtA41VUCjPNqIcZJurnXNaFxqmsEGOe1QoyTNOe8LiymqOsEGOf1Eoop2xiKKb8LKKZcz7Ao/kNIMeUGwmIK4VirPwQUU25gsJsbmYopN/IXU0iXBDeFj4OomwQEtpvjPbBNY3oc5BYBjwLcwjBB3co0Qd3K/DjIzQx9cZsAG7iNQe/bmWzgdubHQTj84W8BiQqHDfwjJMG9gzDBJRxrRdl/tg/dwf84CGl57c4w0VN3Ckj07or3RG86U6J3t4AgfzfDBL+EKcgvYU707mLoi3sE2MA9DHrfy2QD9zInehz+kFD+0LSBxPL0wSkSoU/07iNM9AjHWlH2n+1D9/EnenmUid794X1Udb+ARO8BIfdRSfeLWRoap1oqwDgflGGcaaR7PiwLjVMtE2CcDwmZOUnD+sNh/UY9LMA4l8d7/eYMpvrNIwLW7o8wrNtWMK3dVzDXb5Yz9MWjAmzgUQa9H2OygceY6zcc/lBEQP2GwwaKCqnfPE5YvyEca1WUqX7zuLD6zcrwUWO1UkCi94SER40/Z3jUuEScT/A6uXmCYYIvKWSCf5Jwgicca1VSQGLwJIPdPMWUHD7F/6gxae336TCwqacFBLZnJAS2LxgCW2kBge0ZhgmqjJDAtoowsBGOtSojILCtYrCbZ5kC27PsgS2N9Kf4VoelebVaQGB7Lt4D2yym0vzzAsqyzzNMUC8wTVAvMJfmn2PoizUCbGANg94vMtnAi8yleQ5/KC8gUeGwgQpCEtyXCBNcwrFWFZhK8y+xl+ZpE72XwwqGellAordWQgXjS4YKxmECKhhrGSb4ykIm+HWEEzzhWKvKAhKDdQx28wpTcvgKfwWjNWVgezV88lW9KiCwrRfyWDbp3muvhcapXhNgnK8LMU7S/X7fCI1TvSHAON8UYpykm3u9FRqnekuAcb4txDhJc84NYTFFbRBgnBslFFO+ZSimVBNQTNnIsCiuLqSY8g5hMYVwrFV1AcWUdxjsZhNTMWUTfzGFdEnwbvg4iHpXQGB7L94D23ymx0E2C3gUYDPDBPU+0wT1PvPjIO8x9MUWATawhUHvD5hs4APmx0E4/KGWgESFwwZqC0lwPyRMcAnHWtVmehzkQ/7HQUjLax+FiZ76SECi93G8J3oLmBK9rQKC/FaGCf4TpiD/CXOi9zFDX2wTYAPbGPT+lMkGPmVO9Dj8oa6ARI/DBuoJSfQ+I0z0CMda1WNK9D7jT/RGUiZ628P7qGq7gETvcyH3UUn3i/kiNE71hQDj/FKIcZLu+fBVaJzqKwHGuUOIcZKG9a/D+o36WoBxfhPv9ZsLmOo33wpYu3/LsG77jmnt/h1z/eYbhr74XoANfM+g9w9MNvADc/2Gwx8aCqjfcNhAIyH1m52E9RvCsVaNmOo3O4XVb34MHzVWPwpI9H6S8KjxToZHjZsKeNT4J4YJ/nAhE/zPhBM84VirwwUkBj8z2M0vTMnhL/yPGpPWfn8NA5v6VUBg+01CYPuRIbC1EBDYfmOYoFoKCWy/EwY2wrFWLQUEtt8Z7OYPpsD2B3tgSyf9Kb4/w9K8+lNAYPsr3gPbRUyl+b8FlGX/Zpig/mGaoP5hLs3/xdAXuwTYwC4GvSMpPDagr5vKZANc/qAEJCocNpAmJMFNoLNVRTjWKo2pNJ+Qwl2ap030EunGR2wFg7AP2GRMSonzRE8neT8xVDAyBVQw9OBQ691ayASfTDjBE461ai0gMUhmsJsiTMlhkRT2CkYmZWArStgPUgNbUQGBrVgKzzxHbZyke68VD41TFRdgnCWEGCfpfr8lQ+NUJQUYZ4oQ4yTd3KtUaJyqlADjLC3EOElzzjJhMUWVEWCcZSUUU35nKKa0FVBMKcuwKG4npJhSjrCYQjjWqp2AYko5Brspz1RMKc9fTCFdElSg6wexj4NUEBDYKsZ7YLuC6XGQSinxP0FVYpigDmOaoA5jfBRAB/mKDH1RWYANVGbQuwqTDVRhfhyEwx+OEJCocNhARyEJblXCBJdwrFVHpsdBqvI/DkJaXqsWJnqqmoBEr3q8J3pXMiV6NQQE+RoME3xNpiBfkznRq87QF7UE2EAtBr1rM9lAbeZEj8MfughI9DhsoKuQRK8OYaJHONaqK1OiV4fRh65miqWpAubRVAYfqss0j9ZltgEdTxOJr6uvSdWv9QTYUz0Ge6rPZE/1meMyh2/1EBCXOWygp5C43IAwLhOOterJFJcbMPrQvUxxuSHxM061I/t/qK4fYerbhgKKMI3ivQjDZaCNiQ20VkSegTYWYKBNDlUDbRrOoKqpAAM9XMKDeI0Y0sU+Ah7Ea8Kgd18haXIzwjSZcKxVX2a7Cdpv2l8OZ7CbAXHuL1rvZgx6H8nkL8nE+tsTeVCdmxP6HqHdKMqxYE4qlLneoZhUNJeS9VLXcvU1OxM5YQsBtdwWDBNuS6ZabkvmOtQahrdFWgmwgVYMNhBlsoEocz2fwx8GCajnc9jA0UIWKoowWSIca3U0Uz1fOR6opO7TNMI+XV2O7lrPlePp0zTGeWkgxKb7GSp86UxzdPq/sK9osI+itK90woVXBlOfZjDal85532LIfY4TUKDrwLCv5PFC4l4moQ8RjrU6XkCh6m0GfxkqwF+OYPCXE4T4S2tCfyEca3WCAH/ZwOAvJwrwl04M/nKSEH9pQ+gvhGOtpPRfFmH/rSFcQ73ItIbKYsxxj2daQ7VlyvfbxmANRWlfbQnXUO2Y+rQdo30NZrKvbAG1w14MMS5HyBzdntCHCMda5TDVDttbdWJqWxrC5EN5AnyoH4MPjRLiQx0IfYhwrNUoJh/q4Ni5irpPjyDs0zcJc8e3mHLHIxhj+zCmeakjU57TMQa5I6V9dSTMHTul8PRpJ0b7Gs5kX2MExL3jGeLeWCFxrzOhDxGOtRrLFPc6M+aOusa4kaHGOF5AjXEogw9NEOJDXQh9iHCs1QQBNfl3GPxlkgB/GcbgL5OF+EtXQn8hHGs1WYC/bGLwl2kC/OVEBn+ZLsRfuhH6C+FYq+kC/OVdBn+ZKcBfRjD4yxlC/KU7ob8QjrU6I87tJpupBjBLQA0gh8FfZgvxlx6E/kI41mo2Uw2gRwxq3z0J+/QDwtr3h0y1756MtcmRTPNSL6Y6ba8Y1L4p7asXYe27N1Of9o7B+yJ9CPt0K6HPfsLks30YfXY0k8/2ZbKvvjHwWUr76kvos/2Y+rQf8/si7zGs7eYKWNtNYchVzxGSq/Yn9CHCsVbnCKiFbGbwlwUC/GUag7+cK8RfBhD6C+FYq3MF+Mv7DP5ygQB/OZ3BXy4U4i9HEvoL4VgrKf13FGH/fUa4htrOtIY6ijHHHce0hhrIlO8PjMEaitK+BhKuoQYx9ekgRvvStrWFIcZdLKDeP5chxl0iZI4+mtCHCMdaXcJU7z+a8Zk/7UMfMPjQZQJ8aAGDD10uxIeOIfQhwrFWlzP50DExuGd2LGGf/kCYO+5kyh2PZYztE5hyx+OY8pzjYpA7UtrXcYS54/FMfXo8c+74IUPcWywg7l3KEPeuEhL3BhP6EOFYq6uY4t5g5vdFPmLwoWsF1BivYPCh64T40BBCHyIca3WdgJr8xwz+cqMAf1nM4C83CfGXoYT+QjjW6iYB/rKVwV9uFeAvVzP4y21C/OUEQn8hHGt1mwB/+YTBX+4U4C/XMvjLXUL8ZRihvxCOtborzu1G1wC2MfjLPQJqADcw+Mu9QvxlOKG/EI61upepBjA8BrXvEwn79G/C2vc/TLXvExlrk9OYat8nMdVpT4pB7ZvSvk4irH2PYOrTETF4X+Rkwj5NIJwHE5nmwZMZfXY6196lTPaVHQOfpbSvbEKfzWHq0xzm90U+ZchVHxCwtnuAIVddKiRXzSX0IcKxVksF1EI+Y/CXhwT4y4MM/vKwEH8ZSegvhGOtHhbgL9sZ/GWFAH95iMFfHhXiL3mE/kI41kpK/40i7L8ihP1XlGkNNYoxxz2DaQ01minfHx2DNRSlfY0mXEOdwtSnpzA/8/c5Q4xbKaDe/yRDjHtCyBw9htCHCMdaPcE0R49hfl/kCwYfelqAD61i8KFnhPjQWEIfIhxr9QyTD42NwT2zcYR9Wp6wTysw9ek4xtg+iyl3PJUpzzk1BrkjpX2dSpg7jmfq0/HMueOXDHFvtYC4t44h7j0nJO5NIPQhwrFWzzHN0ROY3xf5isGH1gioMa5n8KEXhfjQRMrf4CX0oRcF1OR3MPjLWgH+8jqDv6wT4i+nEfoL4VirdQL85WsGf1kvwF/eZPCX14T4yyRCfyEca/WaAH/5hsFf3hTgL28z+MtbQvxlMuXv2hL6y1txbje6BvAtg79sFFADeIfBX94R4i9TCP2FcKzVO0w1gCkxqH1PJezTWoR9WpupT6cy1ibnM9W+pzHVaafFoPZNaV/TCGvf05n6dHoM3hc5nbBP6xL6bD0mnz2d0WcXMPnsDCb7mhEDn6W0rxmEPjuTqU9nMr8v8h1DrvqegLXd5wy56mYhueoZhD5EONZqs4BayPcM/vKBAH/5ksFfPhTiL2dS/s4hob98KMBffmDwl60C/GUHg798IsRfzqL8jUFCf5HSf7MI+68hYf81YlpDzWLMcS9gWkPNZsr3Z8dgDUVpX7MJ11BnM/Xp2czP/O1kiHGfCaj3/8wQ47YLmaPnUP4GFOEcvZ1pjp7D/L7Ijww+9KUAH/qdwYe+EuJDcwl9iHCs1VdMPjQ3BvfMziHsU0XYp2lMfXoOY2y/iCl3nMeU58yLQe5IaV/zCHPH+Ux9Op85d/yJIe59IyDuJafQ6/2tkLi3gNCHCMdafcs0Ry9gfl/kZwYf+kFAjbEYgw/tFOJD51L+jhqhD+0UUJP/hcFffhbgLyUY/OUXIf5yHqG/EI61+kWAv/zK4C+/C/CXFAZ/+UOIv5xP6C+EY63+EOAvvzH4y98C/KU0g7/8I8RfLqDc25/QX/6Jc7vRNYDfGfwloUL81wDKMfhLYgUZ/nIh5b76dDoryv6zawAXxqD2vZCwT48gnIM6MtVVFjLWJq9gqn1fxFSnvSgGtW9K+7qIsPZ9MVOfXhyD90UuIezTLoQ+25XJZy9h9NkrmXx2EZN9LYqBz1La1yJCn72UqU8vjYHPXkbYpz0IfbYnk89exuizVzP57OVM9nV5DHyW0r4uJ/TZK5j69AqvT/X32pH9P1RtRphs+LeE+JfxSsKxEztQxyXHv4yLw4GKqsECBuqqcKCiaqiAgbo6HKioGiZgoK4JByqqThQwUNeGAxVVIwQM1HXhQEVVtoCBuj4cqKjKFTBQN4QDFVV5AgbqxnCgomq0gIG6KRyoqBojYKBuDgcqqsYJGKhbwoGKqvECBurWcKCiaqKAgbotHKiomiRgoG5PoZdx94f6HvIdhPf4BhHeQz6a6R7yHYz3kO9luod8J9P9zjtjcA+Z0r7uJLyHfBdTn97l9WkRQGJk/2ctOeyuTYRWF/O5O4VR4LtT6K+7hNBAuPRekrK3g4muGy3iXadoRJaxccrZWoicmULkzCDOaKiDZFu4BiSGuyddSr2TCa/VlmmsI7Q6R+1NAkp4f98D438v4D7A/YAHAEsBDwKWAR7S8zn1oOrJMitCb8xZEdrJN8kyPPtDnmGmxLUBKfOH3RcPewFveYrXISZV0v/40EdbHoOU9N7gWUKaZ6DqYcKMYznT4FLPiJQ6P+K4Vk40d2Smymk9so3Ky87Mys1tm65UWnbr7NY5aVmj8nIyVVZmFlwzNzstC5pLy85VedHs1nmxTLkfSaGfbfVnRQqjwCsYUu5H4zzl1no/ypByu2SlmAC0rFQOa65LOUaPMa2b9XXrRvasm2MVTR8QGE0f92x5pT+aPu6IpitjEE0fIIymjxMa6koh0ZRS5yeERtMnmKLpkymMAj/JEE2fivNoqvV+Skg0XenJSh1NKcfoaaZo+vR/EE2Xxnc0NZ80uy+e8Wx5lT+a6n/87aOtSjn41gnRYJ99OhFrXHmj9nyeITTUVUKiKaXOz1rXUlnpaWlt0vV5WSOhGDoyNy0rLW1kTkY0N5qdm5bXNkO1HZWRlpGeOzI3B66ZrUZFR2Xnth2VtUeuWEbTZ5mi6eoURoFXM0TT5+I8mmq9nxMSTVd5slJf93mmCPi8F/ljGQEfFBgBX/Dsb40/Ar7giIBrYhABHySMgC8QTgBrhERASp1fFBoBX2SKgC+lMAr8EkMEfDnOI6DW+2UhEXCNJyv1ddcyRcC1/0EEXCaworrOs79X/BFwnaOi+koMKqrLCCuq6wgngFeEREBKnV8VWlF9lSkCrk9hFHg9QwR8Lc4joNb7NSER8BVPVuqKKuUYvc4UTV/3Kqoc/aqfRlqSQj8RZhHK+EYKr21Gg312P5b6BkN2VqRCfPukfiyPQ++iFWQEe8LxUUXjfK/u5Uxj/Wac+7bW+U0Gvd9iihVvpfC9Y6Qfa+ewgbcF2MDbDHpvYLKBDY6FIvXc92bKoTP+rzDNfRsF2P1GBr3fYbL7dxjnvgwmG9gkwAY2Mej9LpMNvBuDuW9jyqEz/voVMQ67LxHna5uHmPy9pJC1DeH4qJJxvrZZ5Y11hPa6LHapXwnUr/JRF/65XjUMqu97cT4/rmGaJ0rH+fyodX6PQe8yQuZHwvFRZeJ8fryfycbLx2is46gOq8rHuV/r63GMdcU4t/H7mGy8kpD5jHB8VKU4H2uzlqfuwzcI14WbmdbHm731sf5bb69Q1mtDf9f3c/7x/r7P+vt+6++V1t+rrL/XWH8vt/7Wvwtj/n6oADr2bzCzyPspe54ysrffsD/UtkOxd5P3hGjMnjLa4q1tPvA/ZbTFm/Bs2gcxeMroLsKnjLYQOt0HxIPLkXRvidFCNRrss/tHjT9h2JCuioAfNb6SIZGoKuRHjT+kC1yKcKxV1XhfZIGvbGPwlxoC/GUxg7/UFOIvHxH6C+FYq5oC/OVTBn+pI8BfrmLwl1Qh/vIxob8QjrVKFeAvnzH4S30B/nI1g780EOIvWwn9hXCsVQMB/rKdwV8aC/CXaxj8pYkQf/mE0F8Ix1o1EeAvnzP4SzMB/nItg780F+Iv2wj9hXCsVXMB/vIFg7+0EuAv1zH4S1SIv3xK6C+EY62iAvzlSwZ/SRfgL9cz+EuGEH/5jNBfCMdaZQjwl68Y/KWNAH+5gcFfsoT4y3ZCfyEca5UlwF92MPhLewH+ciODv3QQ4i+fE/oL4VirDgL85WsGf+kkwF9uYvCXzkL85QtCfyEca9VZgL98w+Av3QT4y80M/tJdiL98SegvhGOtugvwl28Z/KWXAH+5hcFfegvxl68I/YVwrFVvAf7yHYO/9BPgL7cy+Et/If6yg9BfCMda9RfgL98z+MtRAvzlNgZ/GSjEX74m9BfCsVYDBfjLDwz+cowAf7mdwV+OFeIv3xD6C+FYK8r+0y+PNQeU866n32HQz2XrZ03183P6mSD9nIO+d6vvR+kau64b6lqIXt/pnFXHYT23fGO9n8Px8hnHS6rfEr5smOT1pf9DdX2uvqXsAy4Zv6OUUepA6bc/413G78OBiqrjkuNfxh/CgYqqwQIGamc4UFE1VMBA/RgOVFQNEzBQP4UDFVUnChion8OBiqoRAgbql3CgoipbwED9Gg5UVOUKGKjfwoGKqjwBA/V7OFBRNVrAQP0RDlRUjREwUH+GAxVV4wQM1F/hQEXVeAED9Xc4UFE1UcBA/RMOVFRNEjBQuygHSt+EbRHZexNW30PR5Xld+dVFRV2v0qUQvcrWCzi9NtBpp85odLDU87B2cW09uxhvwuobsO8z3IQdLGDH9+8Y9B7C9CBEMvG4f0e40WikFOHdG8KHKijHIsnzZ/+HSlZzvUPxQQBC+4nu3j5ZC1h0/7Gif5oqwuPs1HK2FiJnphA5M1JkyPkek5wRWjmjHew+KLXnmOgdk7xjsncs4h2Lesdi3rG4dyzhHUt6xxTvWMo7lvaOZUrt6e9Ur92y8L0coDygAqAioBLgMEBlQBVAVUA1QHVADUBNQC1AbUAdQCqgLqAeoD6gAaAhoBGgMaAJoCngcEAzQHNAC0BLnyyt4HsUoABpgHRABiAT0BrQBpAFaAtoB2gP6AA4AtAR0ElPqIAugK6AboDugB6AnoBegN6APoC+gH6A/oABgCM9WQZ6shwF3wcCBgGOBhwDOBZwHOB4wGDAEMBQwAmAYYDhgBMBJwFGAE4GZANyALmAkYA8wCjAaMApgDGAsYBxgFMB4wETABMBpwEmASYDpgCmAqYBpgNOB8wAzAScATgTcBZgFmA24GzAHMBcwDmAeYD5gAWAcwHnAc4HXAC4ELAQcBHgYsAlgEWASwGXAS4HXAG4ErAYcBXgasA1gGsB1wGuB9wAuBFwk29cb4bvtwBuBdwGuB1wB+BOwF2AuwFLAPcA7gXcB7gf8ABgKeBBwDLAQ4CHAcsBjwBWAB4FPAZ4HLAS8ATgScBTgKcBz3iyGEdeBd+fBawGPAd4HvACYA3gRcBLgJcBawHrAK8AXgWsB7wGeB3wBuBNwFuAtwEbABsB7wA2Ad4FvAfYDHgfsAXwAeBDwEeAjwFbAZ8AtgE+BXwG2A74HPAF4EvAV4AdgK8B3wC+9XQx88Z38P17wA+AnYAfAT8Bfgb8AvgV8Bvgd8AfgD8BfwH+BvwD2FVKTwxwTUAiIAmQDCgCKAooBigOKAEoCUgBlAKUBpQBlAWUA5QHVABUBFQCHAaoDKgCqAqoBqgOqAGoCagFqA2oA0gF1AXUA9QHNAA0BDQCNAY0ATQFHF56j+5mYdkMvjcHtAC0BLQCRAEKkAZIB2QAMgGtAW0AWYC2gHal91yjfel9c6YO8P0IQEdAJ0BnQBfv3K7esZvH09nj6Q7fewB6AnoBegP6APoC+gH6AwYAjgQcBRgIGAQ4GnAM4FjAcYDjAYMBQwBDAScAhgGGA04EnAQYATgZkA3IAeQCRgLyAKMAowGnAMYAxgLGAU4FjAdMAEwEnAaYBJgMmAKYCpgGmA44HTADMBNwBuBMwFmAWYDZgLMBcwBzAecA5vnGZD58XwA4F3Ae4HzABYALAQsBFwEuBlwCWAS4FHAZ4HLAFd61SnnXuhK+LwZcBbgacA3gWsB1gOsBNwBuBNwEuNkbm1u8463e8TbveLt3vMM73ukd7/KOd3vHJd7xHu94r3e8zzve7x0f8I5LveOD3nGZd3zIOz7sHZd7x0e84wrv+Kh3fMw7Pu4dV3rHJ7zjk97xKe/4tHd8xjuu0n1HnUQtgSQqK0L/O1xZhNdaQvhag+4/8/MpOglL9f42tCRv8rVpRR3nFXOcV9xBS3HwlnKcV9pBK+PgLeegVXDQKjlolR20qg5adQetpoNW20FLddDqOWgNHLRGDloTB+1wB625g9bSQYs6aGkOWoaD1tpBy3LQ2jloHRy0jg5aZwetq4PW3UHr6aD1dtD6Omj9HbQjHbRBDjs93kEb5qCd7KDlOWhjHbSJDtpUB22mgzbbQZvnoJ3voF3soF3uoF3toN3goN3i6NPbHLQ7HLS7HLQlDtq9Dtr9DtpSB22Zg/awg/aIg/aog/a4g/aEg/aUg/aMg/asg/a8g/aig7bWQXvVQXvdQXvLQdvooL3roL3voH3ooG110D510D530L5y0L5x0HY6aD867PQnB+1nB+8vjvP+dND+cvD+7aDpRYqfllh6/+slOWjJDt4ijvNKOmgpDt5SDlo5B62843oVHLSKDt5KjvOqOWjVHbw1HLQ6Dlqq43p1HbR6Dt76jvOaOGhNHbyHO2gdHbQuDlpXB62bg9bDQevloPVx0Po5aAMctKMctEEO2jEO2nEO2mAHbaiDNsxBO9FBG+GgZTtouQ5anoM22kEb46CNc9DGO2gTHbRJDtoUB22ag3a6gzbTQTvTQZvloJ3toM110OY5aAsctAsctIsdtMsctMUO2jUO2vUO2k0O2q0O2t0O2j0O2n0O2gMOml4Id/bRVjrOe8JBe9JBe8qjRbzv+tPZO0aDfZRel+r1ZJLvuvG63g16rWdL097FpR4PPc8/W3r/6wbVe3Vp2ptD1HprnVcz6P0cod62Tz7H6JP6hiOHDTwvwAaeZ9D7BSYbeMGyAfNJJO4T22//38e/mzf3Uffhs4R9uIbJltYwzif6wRWO+WRYnD/1px8u4NB7ONNTf9R2Tzg+anicb3WVyDTWLwqImS8y6P0S0zz3EuM8px9847CBlwXYwMsMeq9lsoG1McibXix96Ix/JpPdj4jz+F6Cac4/WUh8JxwfdXKcx/di3lhHaK/LYpfvMa3fc+N8jIoz+eNIIf5IOD5qZJyPdRGmsR4do7GOo7WvGh3v6+gIz1iPiXMbT2ay8bFC5jPC8VGUOuuXvpItfe0PtQ1cQfCs5ag9n1yHuEGvrcwfdl+s8/KkV0pH9r2RuM4zZpv2imMxlkQjXL6QVwS/gZfmOY9aR7iwe6U07eBSTxR68lkXo6Q3Guwz6gqmpPdVpiLEq4yFKP17A2+VoO+L8QJ+byCT4TX7CUJ+b2A94cMFhGOtJgj4fY63GfxlkgB/ac3gL5OF+MtrhP5CONZqsgB/2cDgL9ME+EsbBn+ZLsRfXif0F8KxVtMF+MtGBn+ZKcBfujD4yxlC/OUNQn8hHGt1hgB/eYfBX2YJ8JeuDP4yW4i/vEnoL4RjrWYL8JdNDP4yV4C/dGPwl3OE+MtbhP5CONbqHAH+8i6DvywQ4C/dGfzlXCH+8jahvxCOtTpXgL+8x+AvFwjwl/4M/nKhEH/ZQOgvhGOtLhTgL5sZ/OViAf4ygMFfLhHiLxsJ/YVwrNUlAvzlfQZ/uUyAvxzJ4C+XC/GXdwj9hXCs1eUC/OUjBn9ZLMBfhjD4y1VC/GUTob8QjrW6SoC/fMzgL9cK8JehDP5ynRB/eZfQXwjHWl0nwF+2MvjLjQL85QQGf7lJiL+8R+gvhGOtbhLgL58w+MutAvxlGIO/3CbEXzYT+gvhWKvbBPjLpwz+cqcAf8ll8Je7hPjL+4T+QjjW6i4B/vIZg7/cI8BfRjL4y71C/GULob8QjrW6V4C/bGfwlwcE+Eseg78sFeIvHxD6C+FYq6UC/OUrBn95SIC/TGTwl4eF+MuHhP5CONbqYQH+soPBX1YI8JfTGPzlUSH+8hGhvxCOtXpUgL98zeAvKwX4yyQGf3lCiL98TOgvhGOtnhDgL98w+MvTAvxlMoO/PCPEX7YS+gvhWKtnBPjLdwz+slqAv5zB4C/PCfGXTwj9hXCs1XMC/OV7Bn9ZI8BfzmTwlxeF+Ms2Qn8hHGv1ogB/+YHBX9YK8JezGPxlnRB/+ZTQXwjHWq0T4C8/M/jLegH+ci6Dv7wmxF8+I/QXwrFWrwnwl18Y/OVNAf5yHoO/vCXEX7YT+gvhWKu3BPjLrwz+slGAv5zP4C/vCPGXzwn9hXCs1TsC/OU3Bn95T4C/XMDgL5uF+MsXhP5CONaKsv/0RuxtAR286+k9cPW+nnqvwnYw9u0BHQCd9B7gAL0nm95nSu+do/cD6QG03oB+AL3fgX6HW7+XOgi+Hw04BnA8YDBAv3+n3ynS70noZ7+HA20EIAegn23Vz+vpZ5BOge9jAGMB4wETAPpZC33/WN8T03X+KUCbDpgJ0HVMXZvR682z4fscwFzAfMACgM6rda6g5z89phcC7WLApSl7bUfKftpfEu6nneSNvf9DdX2mvlWUfcAl41fUMnJsTv8Vg4F+wDS5JzMOUFCddxBei/CXOhXlWDBPFirC5IgSJosd3JNFNNgnP5olEitO+dPOXzP90sTXfL80IaJfvwkzDvWNgEnkWwkZx7cMGcdHQjKObwmd8jvCpSnhb3upj8KMQ8Rk8d0hmnGkUUbG75kyju/lZRyk/fpDmHGoHwRMIjslZBw7GTKOrUIyjp2ETvkjYcZB+Iu5amuYcYiYLH48RDOOdMrI+BNTxvGTvIyDtF9/DjMO9bOASeSXOJ9EVFGm3xzfxvyoAEWm9QuD3p8KybR+IZyMfiXMtAjtRn0aZloiJslfD9FMK4MyI/iNKdP6TV6mRdqvv4eZlvpdwCTyR7xnWsWYMq3PBWRafzDo/YWQTOsPwsnoT8JMi9Bu1BdhpiVikvzzEM20Mikzgr+YMq2/5GVapP36d5hpqb8FTCL/SLiL9g9DxrFDSMbxD6FT7iLMOEYSZhw7woxDxGSx6xDNOFpTRsZIGZ6MQ183lWfgRfRrQpkw46DsAy4ZE8vE9ySiEplqO98IqO3owaG+7rdCMi3bMIPqnERn5IrQbtS3YaYlYpJMivNJkisjaEOZESQzZVrJ8jIt0n4tEmZaqoiASaRovGdaSUyZ1g8CMq2iDJnWTiGZVlHCTKsYYaZFaDdqZ5hpiZgkix2imVYWZUZQnCnTKi4v0yLt1xJhpqVKCJhESnJPIhQZR0mGjONnIRlHScKMI4XwWicTZhw/hxmHiMki5RDNONpSRsZSTBlHKXkZB2m/lg4zDlVawCRSJt5rOyWZaju/CqjtlGHItH4TkmmVIcyOyhLWdgjtRv0WZloiJsmyh2imlU2ZEZRjyrTKycu0SPu1fJhpqfICJpEKEmo7WshERsWDylhRjrGzRUwJxl7xEI2YOZQzeyWmiFlJXsQk7dfDwoipDhMwiVSWEDErM0TMyoQRs0oYMUUYe5VDNGLmUs7sVZkiZlV5EZO0X6uFEVNVEzCJVI/3ar6uEnNU8/8UUM2vzlDN/0tINb86YUZTg7CaT2g36q+wmi9ikqxxiGZaIykzgppMmVZNeZkWab/WCjMtVUvAJFI73jOtDKaf7twlINOqzZBpRSrKyLRqE2ZadQgzLUK7UZRjITXTkjBJ1jlEM608yowglSnTSpWXaZH2a90w01J1BUwi9eI90+pWmifTSqoY/5lWPYZMK1lIplWPMNOqT5hpEdqNSg4zLRGTZH0Jy9E3UuhvletrdiZywgZleCYev85B5VxCqHPDMrQOSG03ekwaMgSZRkxZdSO+rDo/0aD2IcqsunEZ3qQlGuyjtC01ZrCnJkz21ITRnrh8q1jFQ9MGijMlrknEcjYlnPMJx1pR9p/tQ009H5K6Sv8tIf5lPJxy3pc6UA0FrBSaMSW51FlJWkPC5XXzsNanmgswzhbhLBJVQ5PjX8aW8V5vaOfVG6hzvFYC1jetGHLbKNP6Jsq4vtHr2pYMfaEE2IBi0DuNyQbSGG2Ayx9SBKxxOWyglJA1bjrhGpdwrFUppjVuuvA17jABSU9GvCc97ZmSnrJxPtnpQJ/BMNmVEzLZZRJOdoRjrcoJCJKZDHbTmilRam3Jaj7UN4Moyy5t6PohQ2pgayOg7JIV74GtA1NgqyggsGUxTFCVhAS2toSBjXCsVSUBga0tg920Ywps7fgDWzplYGtP1w/pUgNbewGBrUO8B7ZOTIHtCAElyiMYJqiOTBNUR+YydQeGvugkwAY6MejdmckGOjOXqTn8oYqARIXDBqoKSXC7ECa4hGOtqjKVqbtYPmQ+8ZzodQ0rGKqrgESvW7wnep2ZEr0aAioY3Rgm+JpCJvjuhBM84VirmgISg+4MdtODKTnswV/ByKIMbD3DJyJVTwGBrZeQx3XbUhpn79A4VW8BxtlHiHFmUxpn39A4VV8BxtlPiHHmUBpn/9A4VX8BxjlAiHGS5pxHhsUUdaQA4zwq3ospPZiKKXUEFFOOYlgUpwoppgwkLKYQjrVKFVBMGchgN4OYiimD+IsppEuCo8PHQdTRAgLbMfEe2HozBbZjBTwKcCzDBHUc0wR1HPPjIMcw9MXxAmzgeAa9BzPZwGDmx0E4/KG+gESFwwYaCElwhxAmuIRjrRowPQ4yhP9xENLy2tAw0VNDBSR6J8R7otePKdEbJiDID2OY4IczBfnhzIneCQx9caIAGziRQe+TmGzgJOZEj8MfGgtI9DhsoImQRG8EYaJHONaqCVOiN4I/0RtFmeidHN5HVScLSPSyZdxHVVFK48wJjVPlCDDOXCHGSbrnw8jQONVIAcaZJ+QJFNKwPiqs36hRAoxzdLzXbwYx1W9OEbB2P4Vh3TaGae0+hrl+M5qhL8YKsIGxDHqPY7KBccz1Gw5/aCagfsNhA82F1G9OJazfEI61as5UvzlVWP1mfPiosRovINGbEO+J3tFc+8gLeNR4AsMEHxUywU8knOAJx1pFBSQGExns5jSm5PA09keNaWu/k8LApiYJCGyT4z2wHcMU2NIFBLbJDBNUhpDANoUwsBGOtcoQENimMNjNVKbANpU/sJH+RNu0sDSvpgkIbNPjPbAdzxTYThdQlj2dYYKawTRBzWAuzU9n6IuZAmxgJoPeZzDZwBnMpXkOf2gjIFHhsIEsIQnumYQJLuFYqyym0vyZ7KV52kTvrLCCoc4SkOjNivdEbzBTotdeQAVjFsME30HIBD+bcIInHGvVQUBiMJvBbs5mSg7P5q9gtKEMbHPCJ1/VHAGBba6Qx7JJ9147JzROdY4A45wnxDhJ9/udHxqnmi/AOBcIMU7Szb3ODY1TnSvAOM8TYpykOef5YTFFnS/AOC+I92LKcKZiSicBxZQLGBbFnYUUUy4kLKYQjrXqLKCYciGD3SxkKqYs5C+mkC4JLgofB1EXCQhsF8d7YBvBFNguEfAowCUME9QipglqEfPjIBcz9MWlAmzgUga9L2OygcuYHwfh8IduAhIVDhvoLiTBvZwwwSUca9Wd6XGQy/kfByEtr10RJnrqCgGJ3pXxnujlMCV6iwUE+cUME/xVTEH+KuZE70qGvrhagA1czaD3NUw2cA1zosfhD70EJHocNtBbSKJ3LWGiRzjWqjdTonctf6KXR5noXRfeR1XXCUj0rhdyH5V0v5gbQuNUNwgwzhtlGGca6Z4PN4XGqW4SYJw3C5k5ScP6LWH9Rt0iwDhvjff6zSlM9ZvbBKzdb2NYt93OtHa/nbl+cytDX9whwAbuYND7TiYbuJO5fsPhD/0E1G84bKC/kPrNXYT1G8KxVv2Z6jd3Cavf3B0+aqzuFpDoLYn3RG8MU6J3lIBHjZcwTPADhUzw9xBO8IRjrQYKSAzuYbCbe5mSw3v5HzUmrf3eFwY2dZ+AwHZ/vAe2sUyB7RgBge1+hgnqWCGB7QHCwEY41upYAYHtAQa7WcoU2JayB7Y00p/iezAszasHBQS2ZfEe2MYzBbaHBJRlH2KYoB5mmqAeZi7NL2Poi+UCbGA5g96PMNnAI8yleQ5/GCwgUeGwgSFCEtwVhAku4VirIUyl+RXspXnaRO/RsIKhHhWQ6D0W74neBKZEb5iACsZjDBP8cCET/OOEEzzhWKvhAhKDxxnsZiVTcriSv4LRmjKwPRE++aqeEBDYnhTyWDbp3mtPhcapnhJgnE8LMU7S/X6fCY1TPSPAOFcJMU7Szb2eDY1TPSvAOFcLMU7SnPO5sJiinhNgnM/HezFlClMxZYSAYsrzDIvik4UUU14gLKYQjrU6WUAx5QUGu1nDVExZw19MIV0SvBg+DqJeFBDYXor3wDadKbC9LOBRgJcZJqi1TBPUWubHQV5i6It1AmxgHYPerzDZwCvMj4Nw+EOugESFwwZGCklwXyVMcAnHWo1kehzkVf7HQUjLa+vDRE+tF5DovRbvid5MpkTvdQFB/nWGCf4NpiD/BnOi9xpDX7wpwAbeZND7LSYbeIs50ePwh9ECEj0OGzhFSKL3NmGiRzjW6hSmRO9t/kRvJGWityG8j6o2CEj0Ngq5j0q6X8w7oXGqdwQY5yYhxkm658O7oXGqdwUY53tCjJM0rG8O6zdqswDjfD/e6zdnM9VvtghYu29hWLd9wLR2/4C5fvM+Q198KMAGPmTQ+yMmG/iIuX7D4Q/jBNRvOGzgVCH1m48J6zeEY61OZarffCysfrM1fNRYbRWQ6H0S74neHKZEb6KAR40/YZjgTxMywW8jnOAJx1qdJiAx2MZgN58yJYef8j9qTFr7/SwMbOozAYFte7wHtrlMgW2KgMC2nWGCmioksH1OGNgIx1pNFRDYPmewmy+YAtsX7IEtnfSn+L4MS/PqSwGB7at4D2zzmQLbDgFl2R0ME9TXTBPU18yl+a8Y+uIbATbwDYPe3zLZwLfMpXkOfzhdQKLCYQMzhCS43xEmuIRjrWYwlea/Yy/N0yZ634cVDPW9gETvh3hP9BYwJXpnCqhg/MAwwZ8lZILfSTjBE461OktAYrCTwW5+ZEoOf+SvYGRSBrafwidf1U8CAtvPMp58TSfde+2X0DjVLwKM81chxkm63+9voXGq3wQY5+9CjJN0c68/QuNUfwgwzj+FGCdpzvlXWExRfwkwzr/jvZhyIVMx5WwBxZS/GRbFc4QUU/4hLKYQjrWaI6CY8g+D3exiKqbs4i+mkC4JImXDx0EI+4BNxoSycR7YLmYKbIll43+C0jJS651UlmeC0tdNZTJSHeQTGPoiWYANJDPoXYTJBoow2gCXP8wTkKhw2MB8IQluUTpbVYRjreYzPQ5S1PIh84nn8lqxMNFTxQQkesXjPdG7lCnRKyEgyJdgmOBLMgX5ksyJXnGGvkgRYAMpDHqXYrKBUsyJHoc/nCcg0eOwgfOFJHqlCRM9wrFW5zMleqUZfeguplhahnA+0f3QIrL/h+r6Eaa+LSMg2Ssb78kel4GWIzbQ5hF5BlpOgIGWP1QNtEI4g6oKAgy0YrwbqDbOsgzp4kIBN/zLM+h9kZA0uRJhmkw41uoiZrsJ/Asz4C8VGexmUZz7i9a7EoPelzL5SzKx/vZEHlTnwwh9j9BuFOVYMCcVylzvUEwqDivL4zPkQaYyoaEXIzT04ky1mMqMtZgMmICXMKwkqjDVdqs4bkAmEfcJpX1VIZzgqzL1aVVG+9IBfn1pevu6QsBC4HCGJzivFLIQqEboQ4Rjra4UkBC/xuAvVwvwl2YM/nKNEH+pTugvhGOtrhHgL68z+Mv1AvylBYO/3CDEX2oQ+gvhWCsp/VeTsP9SCPuvFNMaqiZjjtuOaQ1ViynfrxWDNRSlfdUiXEPVZurT2oz21Z7Jvm4W8MxRJkOMu0XIHF2H0IcIx1rdwjRH17FuBFDbUgcmH7pdgA+1ZfChO4T4UCqhDxGOtbqDyYdSy+7/Ji51n9alrI8S9mlVpj6tyxjbOzHNS/WY8px6McgdKe2rHmHuWJ+pT+sz2ldnJvu6W0Dc684Q95YIiXsNCH2IcKzVEqY5ugFj7qhrjG8w1BjvE1Bj7MXgQ/cL8aGGhD5EONbqfgE1+TcZ/OVBAf7Sh8Fflgnxl0aE/kI41mqZAH95i8Fflgvwl34M/vKIEH9pTOgvhGOtHhHgL28z+MtjAvxlAIO/PC7EX5oQ+gvhWKvH49xuejDVAJ4UUAMYyOAvTwnxl6aE/kI41uopphpA0xjUvg8n7NP6hH3agKlPD2esTfZmmpeaMdVpm8Wg9k1pX80Ia9/Nmfq0+b/o06CytyDs08aEPtuEyWdbMPpsPyafbclkXy1j4LOU9tWS0GdbMfVpK+b3RTYwrO1WCVjbZTPkqs8KyVWjhD5EONbqWQG1kI0M/vK8AH/JZfCXF4T4iyL0F8KxVi8I8Jd3GPzlJQH+ksfgLy8L8Zc0Qn8hHGslpf/SKdelhP3XnGkNlc6Y4w5iWkNlMOX7GTFYQ1HaVwbhGiqTqU8zGe3raCb7ekVAvX8iQ4x7Vcgc3ZrQhwjHWr3KNEe3Znzm7xgmH3pdgA9NYfChN4T4UBtCHyIca/UGkw+1icE9syzCPm1D2KdZTH2axRjbj2eal9oy5TltY5A7UtpXW8LcsR1Tn7ZjtK/BTPb1toC4N5sh7m0QEvfaE/oQ4VirDUxzdHvm90U2MdQYNwmoMc5l8KF3hfhQB0IfIhxr9a6Amvy7DP7yvgB/mcfgL1uE+MsRhP5CONZqiwB/eY/BXz4S4C8LGPzlYyH+0pHQXwjHWn0swF82M/jLNgH+ch6Dv3wqxF86EfoL4VirT+PcboYz1QA+F1ADuJDBX74Q4i+dCf2FcKzVF0w1gM4xqH13IezTboR92p2pT7sw1iZHMM1LXZnqtF1jUPumtK+uhLXvbkx92i0G74t0J+zTXoQ+25vJZ7sz+mwOk8/2YLKvHjHwWUr76kHosz2Z+rQn8/si7zOs7XYIWNtdz5Crfi0kV+1F6EOEY62+FlAL2cLgL98J8JcbGfzleyH+0pvQXwjHWn0vwF8+YPCXHwX4y80M/vKTEH/pQ+gvhGOtpPRfX8L+60fYf/2Z1lB9GXPcU5jWUP2Y8v1+MVhDkdoX4RqqP1Of9me0rzFM9vWrgHr/PQwx7jchc/QAQh8iHGv1G9McPYDxmb+xTD70pwAfeoDBh/4S4kNHEvoQ4Virv5h86MgY3DM7irBPBxP26RCmPj2KMbaPZ5qXBjLlOQNjkDtS2tdAwtxxEFOfDmK0rwlM9rVLQNx7nCHuRSrJiHtHE/oQ4Vgryv6zfeho5vdFPmSoMSZVim8f0jXGJxl8KFmIDx1D6EOEY62S49xutL98xOAvxQT4y9MM/lJciL8cS+gvhGOtigvwl48Z/CVFgL+sYvCXUkL85TjK33gn9JdSAvxlK4O/lBXgL6sZ/KWcEH85ntBfCMdalYtzu5nCVAOoGOd66xrACwz+UkmIvwwm9BfCsVaVmGoAg2NQ+x5C2Ke5hHWVkUy17yGMtcnpTPPSUKY67dAY1L4p7WsoYe37BKY+PSEG74sMI+zT0YQ+ewqTzw5j9NmZTD47nMm+hsfAZyntazihz57I1KcnMr8v8gnD2q6KgLXdRoZctaqQXPUkQh8iHGtVVUAtZBuDv9QQ4C+bGPylphB/GUHoL4RjrWoK8JdPGfyljgB/eY/BX1KF+MvJhP5CONZKSv9lE/bfOMI11KlMa6hsxhz3bKY1VA5Tvp8TgzUUpX3lEK6hcpn6NJfRvuYw2Vd9AfX+bQwxroGQOXok5W9fE8a4Bkz1/pGMz/zNZfKhxgJ86HMGH2oixIfyKH+LmtCHmjD5UF4M7pmNIuzT0wlzxxlMueMoxtg+n2leGs2U54yOQe5IaV+jCXPHU5j69BRG+1rAZF/NBMS9nQxxr7mQuDeG8vdDCeNec6a4N4b5fZHPGGqMrQTUGH9m8KGoEB8aS+hDhGOtogJq8tsZ/CVdgL/8yuAvGUL8ZRyhvxCOtcoQ4C+fM/hLGwH+8juDv2QJ8ZdTKX+nk9BfsgT4yxcM/tJegL/8yeAvHYT4y3hCfyEca9Uhzu3mQqYaQCcBNYB/GPylsxB/mUDoL4RjrToz1QAmxKD2PZGwT+cR1r7nM9W+JzLWJi9mmpdOY6rTnhaD2jelfZ1GWPuexNSnk2Lwvshkwj49j9Bnz2fy2cmMPnspk89OYbKvKTHwWUr7mkLos1OZ+nSq16f6e4vI/h+qNiNMNvxbQvzLOI1w7MQO1HHJ8S/j9HCgomqwgIE6PRyoqBoqYKBmhAMVVcMEDNTMcKCi6kQBA3VGOFBRNULAQJ0ZDlRUZQsYqLPCgYqqXAEDNSscqKjKEzBQs8OBiqrRAgbq7HCgomqMgIGaEw5UVI0TMFBzw4GKqvECBuqccKDgDqWAgZoXDlRUTRIwUPPL0su4+5PoEzTw78QQKt0+wqM0tc4JhDp3EKJzIqHORwjROYlQ545CdE4m1LlTjHSOBvuozoT990cCj87UAaZLRIacXYXI2U2InN2FyNlDiJw9hcjZS4icvYXI2UeInH2FyNlPiJz9hcg5QIicRwqR8yghcg4UIucgIXIeLUTOY4TIeawQOY8TIufxQuQcLETOIULkHCpEzhOEyDlMiJzDhch5ohA5TxIi5wghcp4sRM5sIXLmCJEzV4icI4XImSdEzlFC5BwtRM5ThMg5RoicY4XIOU6InKcKkXO8EDknCJFzohA5TxMi5yQhck4WIucUIXJOFSLnNCFyThci5+lC5JwhRM6ZQuQ8Q4icZwqR8ywhcs4SIudsIXKeLUTOOULknCtEznOEyDlPiJzzhci5QIic5wqR8zwhcp4vRM4LhMh5oRA5FwqR8yIhcl4sRM5LhMi5SIiclwqR8zIhcl4uRM4rhMh5pRA5FwuR8yohcl4tRM5rhMh5rRA5rxMi5/VC5LxBiJw3CpHzJiFy3ixEzluEyHmrEDlvEyLn7ULkvEOInHcKkfMuIXLeLUTOJULkvEeInPcKkfM+IXLeL0TOB4TIuVSInA8KkXOZEDkfEiLnw0LkXC5EzkeEyLlCiJyPCpHzMSFyPi5EzpVC5HxCiJxPCpHzKSFyPi1EzmeEyLlKiJzPCpFztRA5nxMi5/NC5HxBiJxrhMj5ohA5XxIi58tC5FwrRM51QuR8RYicrwqRc70QOV8TIufrQuR8Q4icbwqR8y0hcr4tRM4NQuTcKETOd4TIuUmInO8KkfM9IXJuFiLn+0Lk3CJEzg+EyPmhEDk/EiLnx0Lk3CpEzk+EyLlNiJyfCpHzMyFybhci5+dC5PxCiJxfCpHzKyFy7hAi59dC5PxGiJzfCpHzOyFyfi9Ezh+EyLlTiJw/CpHzJyFy/ixEzl+EyPmrEDl/EyLn70Lk/EOInH8KkfMvIXL+LUTOf4TIuUuInPqCEuRMECJnohA5k4TImSxEziJC5CwqRM5iQuQsLkTOEkLkLClEzhQhcpYSImdpIXKWESJnWSFylhMiZ3khclYQImdFIXJWEiLnYULkrCxEzipC5KwqRM5qQuSsLkTOGkLkrClEzlpC5KwtRM46QuRMFSJnXSFy1hMiZ30hcjYQImdDYjn98qVHW2dk5LVJy1PpKjua1jYnKzOakZnTOktlqcyszJFpWenpeVkZWW3a5rRtE22rMtLz1KjMtumjvGsuSYlE1pemv263SvGtd8MykUi1svTX7V6Jxy6TiO2yEZ1dKsKxVt3j3G60v7zG4C+9BPhLdQZ/6S3EXxoT+gvhWKveAvzldQZ/6SfAX2ow+Et/If7ShNBfCMdacfVfInH/NU2gs5naZWXofDihznWE6NyMUOdUITo3J9S5vhCdWxDq3KBs/Mf8Nxhi/lECYn5Dhpg/UEjMb0kY8wnHWg0UkCO/yeAvxwjwl0YM/nKsEH9pRegvhGOtjhXgL28x+MtgAf7SmMFfhgjxlyihvxCOtRoiwF/eZvCXYQL8pQmDvwwX4i+K0F8Ix1oNF1KDSSNcszUVsk5NJ9S5uRCdMwh1biVgbb6BIRaMEBALogyx4GQhsSCTMBYQjrU6WUDutJHBX3IF+Iti8JeRQvylNaG/EI61GinAX95h8JfRAvwljcFfThHiL20I/YVwrNUpQtYaWYQ5aKaQvLstoc6thejcjlDnNkJ0bk+oczshOncg1Lm9gDXlJoaYP05AzO/AEPNPFRLzjyCM+YRjrU4VkCO/y+AvEwX4yxEM/nKaEH/pSOgvhGOtThPgL+8x+MsUAf7SkcFfpgrxl06E/kI41mqqAH/ZzOAvpwvwl04M/jJDiL90JvQXwrFWM4TUYLoQrtk6C1mndiXUuZsQnbsR6txTwNr8fYZYcKaAWNCLIRacJSQWdCeMBYRjrc4SkDttYfCXswX4S28Gf5kjxF96EPoL4VirOQL85QMGf5knwF/6MPjLfCH+0pPQXwjHWs0XstboRZiD9heSd/cm1HmAEJ37EOp8pBCd+xLqPEiIzv0IdT5awJryQ4aYf56AmH8MQ8w/X0jM708Y8wnHWp0vIEf+iMFfFgrwl2MZ/OUiIf4ygNBfCMdaXSTAXz5m8JdFAvzlOAZ/uVSIvxxJ6C+EY60uFeAvWxn85QoB/nI8g79cKcRfjiL0F8KxVlcKqcEMJFyzDRayTh1EqPMJQnQ+mlDnEwWszT9hiAVXC4gFJzHEgmuExIJjCGMB4VirawTkTtsY/OV6Af4ygsFfbhDiL8cS+gvhWKsbBPjLpwz+crMAfzmZwV9uEeIvxxH6C+FYq1uErDWOJ8xBc4Xk3YMJdR4pROchhDrnCdF5KKHOpwjR+QRCnccIWFN+xhDzbxcQ88cyxPw7hMT8YYQxn3Cs1R0CcuTtDP5ytwB/GcfgL0uE+MtwQn8hHGu1RIC/fM7gL/cJ8JdTGfzlfiH+ciKhvxCOtbpfgL98weAvDwrwl/EM/rJMiL+cROgvhGOtlgmpwYwgXLNNELJOPZlQ50lCdM4m1HmqhGexU+ivu1xALJjGEAseERILcghjAeFYq0cE5E4fMfjLYwL8ZTqDvzwuxF9yCf2FcKzV4wL85WMGf3lSgL+czuAvTwnxl5GE/kI41uopAf6ylcFfVgnwlxkM/vKsEH/JI/QXwrFWzwrwl08Y/OV5Af4yk8FfXhDiL6MI/YVwrNULAvxlG4O/vCTAX85g8JeXhfjLaEJ/IRxr9bIAf/mUwV9eEeAvZzL4y6tC/OUUQn8hHGv1qgB/+YzBX14X4C9nMfjLG0L8ZQyhvxCOtXpDgL9sZ/CXtwX4yywGf9kgxF/GEvoL4VirDQL85XMGf9kkwF9mM/jLu0L8ZRyhvxCOtXpXgL98weAv7wvwl7MZ/GWLEH85ldBfCMdabRHgL18y+MtHAvxlDoO/fCzEX8YT+gvhWKuPBfjLVwz+sk2Av8xl8JdPhfjLBEJ/IRxr9akAf9nB4C+fC/CXcxj85Qsh/jKR0F8Ix1p9IcBfvmbwlx0C/GUeg798LcRfTiP0F8KxVl8L8JdvGPzlOwH+Mp/BX74X4i+TCP2FcKwVV/8lEPff5AQZck4RIudUIXJOEyLndCFyni5EzhlMcib65Awc1wh1nhkjnaPBPuoMwvcvq5aVYY9nCvGbs4TIOUuInLOFyHm2EDnnCJFzrhA5zxEi5zwhcs4XIucCIXKeK0TO84TIeb4QOS8QIueFQuRcKETOi4TIebEQOS8RIuciIXJeKkTOy4TIebkQOa8QIueVQuRcLETOq4TIebUQOa8RIue1QuS8Toic1wuR8wYhct4oRM6bhMh5sxA5bxEi561C5LxNiJy3C5HzDiFy3ilEzruEyHm3EDmXCJHzHiFy3itEzvuEyHm/EDkfECLnUiFyPihEzmVC5HxIiJwPC5FzuRA5HxEi5wohcj4qRM7HhMj5uBA5VwqR8wkhcj4pRM6nhMj5tBA5nxEi5yohcj4rRM7VQuR8ToiczwuR8wUhcq4RIueLQuR8SYicLwuRc60QOdcJkfMVIXK+KkTO9ULkfE2InK8LkfMNIXK+KUTOt4TI+bYQOTcIkXOjEDnfYZIz0Sdn0PegixDqvEmIzkUJdX5XiM7FCHV+T4jOxQl13ixE5xKEOr8vROeShDpvEaJzCqHOHwjRuRShzh8K0bk0oc4fCdG5DKHOHwvRuSyhzluF6FyOUOdPhOhcnlDnbUJ0rkCo86dCdK5IqPNnQnSuRKjzdiE6H0ao8+dCdK5MqPMXQnSuQqjzl0J0rkqo81dCdK5GqPMOITpXJ9T5ayE61yDU+RshOtck1PlbITrXitDp/J0QnWsT6vy9EJ3rEOr8gxCdUwl13ilE57qEOv8oROd6hDr/JETn+oQ6/yxE5waEOv9CqLO+N57sXau9pX+C1wdJ3v/1vWR9b1Xfa9T33vS9KH1vRt+r0LV7XcvWtV1d69S1P10L07UhXSvRtQO9ltZrS73W0msPnYvr3FTnajp30bFcxzY916cC9FygfUPbiu47vSd6I0BjQBNAU8DhgGaA5oAWgJaAVrpPAAqQpscNkAHIBLQGtAFkAdoC2ln6PpWwtw86AI4AdAR08satC6AroBugO6AHoCegF6A3oA+gL6AfoD9gAOBIwFGAgYBBgKMBxwCOBRwHOB4wGDAEMBRwAmAYYDjgRMBJgBGAkwHZgBxALmAkIA8wCjAacApgDGAsYBzgVMB4wATARMBpgEmAyYApgKmAaYDpgNMBMwAzAWcAzgScBZgFmA04GzAHMBdwDmAeYD5gAeBcwHmA8wEXAC4ELARcBLgYcAlgEeBSwGWAywFXAK4ELAZcBbgacA3gWsB1gOsBNwBuBNwEuBlwC+BWwG2A2wF3AO4E3AW4G7AEcA/gXsB9gPsBDwCWAh4ELAM8BHgYsBzwCGAF4FHAY4DHASsBTwCeBDwFeBrwDGAV4FnAasBzgOcBLwDWAF4EvAR4GbAWsA7wCuBVwHrAa4DXAW8A3gS8BXgbsAGwEfAOYBPgXcB7gM2A9wFbAB8APgR8BPgYsBXwCWAb4FPAZ4DtgM8BXwC+BHwF2AH4GvAN4FvAd4DvAT8AdgJ+BPwE+BnwC+BXwG+A3wF/AP4E/AX4G/APYBdATwYJgERAEiAZUARQFFAMUBxQAlASkAIoBSgNKAMoCygHKA+oAKgIqAQ4DFAZUAVQFVANUB1QA1ATUAtQG1AHkAqoC6gHqA9oAGgIaARoDGgCaAo4HNAM0BzQAtAS0AqgJzkFSAOkAzIAmYDWgDaALEBbQDtAe0AHwBGAjoBOeq4FdAF0BXQDdAf0APQE9AL0BvQB9AX0A/QHDAAcCTgKMBAwCHA04BjAsYDjAMcDBgOGAIYCTgAMAwwHnAg4CTACcDIgG5ADyAWMBOQBRgFGA04BjAHo35fXv5mtfwdY/7ap/r1G/Rt0+ne19G8F6d+70b8lo3+nRf8Giv59Ef3bHfp3MfTvROjfYNC/SaD3+9d76et96vUe8HMAeu9yvS+43nNb72et94rW+zDrPY71/sF6b169763eU1bv16r3QtX7jOo9PPX+mHrvSb2vo94zUe9HqPf60/vo6T3q9P5vem81vW+Z3hNM77el97LS+0TpPZhuAei9g/S+PHrPG72fjN6rRe+DovcY0ft36L0x9L4Tek8HvV+C3otAv+ev36HX76frd7/1e9X6nWX9PrB+11a/x6rfEdXvX+p3G/V7g/qdPB0L9Ltk+j0t/Q6Ufr9Iv7uj34vR75zo9zn0uxL6PQT9jL9+fl4/m66f+9bPVOvnlfWzwPo5W/0Mq34+VD97qZ9r1M8M6ufx9LNu+jky/VyVfs5IP3ejn0PRz2Xo5xT0fXt9H1vf19X3OfV9P30fTN8X0vdJ9H0DXUfXdWVdZ9V1R12H03UpXafRdQu9jtfrWr3O0+sevQ7QebHOE3XepPOIF3RA9z519v65OybrT/bUqXnjT5uaOnViavbIkamnj5l6SurE6XmTR506UYeO3bHKfOruzzN+2qlTx5x26sz9GUdgGXOxjKOwjNMR/aLnIVRjLbGMKqHwUrbBNtYOy9gPy3gklvFoRL8ch21sCJZxGJbxJCzjyVjGHCzjSMRIjME2Nh7LOAXLOA3LuBzL+CiW8Qks49NYxvWIsX/b4qngHU+bNgVOmjY1deKo1JyJ0yaM1AuayC7E1ZcnYnsdy7gysfBSrsI29hyWcUPiv+31TdgmvkB0xHcInl8QPP8geIomFZ6nNILnMARPLQRPAwRPcwRPGoInC8HTGcHTG8EzCMFznMVTuFQDyzgcIeVIbGOjsYzjEFJOQvDMQPDMwio1B8s4HyHlQgTPdQiem7FK3YZlvAsh5X3YxpZiGR9GSPk0trEXsYybsIxbsIyfYxm/xzImJCMZi2IZy2MZq2MZm2EZo1jGDCxjGyxje4vx33rUkdjGjsYyHo+Qcgi2sROwjMMRUo7GNjYGyzgOIeVEBM8UBM80rFKnYxlnIqScheC5AMGzEKvUxVjGRQgpL8M2dgWWcTFCyuuwjd2EZbwLy7gEy/gAlvEhLONKLOOTWMZnsYwvYBlfxTK+hmV8A8v4FpZxA8KjtmMb+wLL+BVCysZFkI0djmVsiWVUWMYuRQrfL70sngOXJKcgrt64KLbXsYwtihZeynRsY62xjL2L/tte74ttYj6iIxYieC5H8FyH4LkNwXMPguchBM9KBM+zCJ6XETyvIXg2IHi2IHg+RfB8jeD5HutEP2IZf0VIuQvbWGIxJGPRYoWXshSCpyKCpypWqRpYxjoIKRsheDIRPO2wSh2BZeyCkLIntrE+WMYBCCmHYBsbhmUcgZByFIJnPIJnMlapaVjGmQgp5yB4FiF4rsQqdTWW8XqElLdgG7sdy3g3QsqHsY2twDKuREj5LILnJQTPq1ilXscyvo2QcjOC50sEz7dYpX7AMv6MkPIPbGN/YxkTihdeylLFkY2VxTJWREhZHcFTF8HTCKtUUyxjC4SUGQiebgie3lil+mEZj0JIeSy2scFYxmEIKU/CNpaNZcxDSDkN29gMLONZCClnYxubg2U8ByHlxdjGFmEZL0NIuRjBcy2C53qsUjdiGW9GSHk7gmc5gmcFVqnHsIwrEVI+iW3saSzjKoSU67CNvYplfA0h5VsInncQPO9ildqMZdyCkPJjBM/3CJ6dWKV+wjL+gpDyN2xjf2AZ/0JIWawEsrESWMaUEoWXsiyCpyKC5zCsUlWwjNUQUtZC8LRA8LTCKqWwjOkIKTOxjbXBMrZFSNkd21hPLGNvhJT9ETwDETxHY5U6Fst4PELKExA8YxE8p2KVmoBlPA0h5WRsY1OxjNMRUs7ANnYGlvEshJSXYBu7FMt4OULK17GNvYVlfAfL+B6W8UtEv3xn8Rz4UZ0dJZFifYtl/KFk4fX5FdvYH1jGUin/tgfLpCCbGJtS+I6YhOCZgeCZg+A5H8GzCMFzNYLnZgTPXQiepQieRxA8TyB4nkPwrEPwbMA6xCYs4/sIKbdhG9uOZfwKIeX3CJ5fETx/YZXahWVMKlV4KUsieKoheGqXQipVF8vYECHl4djGWmAZFULKDtjGOmEZuyGk7IvgGYTgOR6r1FAs44kIKUcieKYgeGZglToTy3g2Qsr52MbOwzIuREh5Fbaxa7GMNyKkvAPBcx+CZxlWqeVYxscQUj6D4FmP4HkLq9RGLON7CCk/xDa2Fcv4GULK77GN/Yhl/BUh5T8IniKlC89TsjRSqdJYxvIIKasieBojeJpjlWqFZUxHSJmFbaw9lrETQsojsY0NxDIejZDyRGxjI7CM2Qgp8xA8YxA847BKjccyTkRIOQXBMw/BswCr1HlYxgsQUi7ENnYxlnERQsrrsI3dgGW8CSHlbQieuxA8S7BK3YtlvB8h5TIEz7MInuewSr2AZXwRIeXL2MbWYRlfRUi5CdvYe1jG9xFSfoTg2Ybg+Qyr1OdYxi8RUn6D4PkbwbMLq1RCGSRjUpnCS1kE21gxLGMJhJSVsI1VxjJWRUhZE8GTiuCph1WqAZaxEULKwxE87RA8HbBKdcQydkZI2RXbWHcsY89CSpkQ2fNTRvqjf04Gy9vI4q3mHbtMnpw9M3XMhJF5M/Z9IsBmPCFAo6OxjU7CMt4bQNqERDxvjUSkwI2wjArL2AnLOADLmINlPCXAiJyGbXR6gEZnYxudH6DRRdhGFwdodF0A3k1YgbdiGccVcgctm/eMIshG5wZodD220Y0BGv0Y2+j2AI0Wdh8Xmzc7AO+VAXg3BeAt7NvYNm8di7dwUQbL2ALL2BrL2AHL2A3L2BfLODPAUC7HNvoElvF5LONaLOPbWMbNWMZPsYw7sIyJJZCMpbCMlbGMqVjGFljGDhZjDe+Ym33qqbu9Y8qUvMlTR4zPnjEiZ8zUEVPGnJFns3bFtjmjkE+a27wLsI1ehGX8IoC0xUsiG62IZTyxkE+927xLAvCuwAq8Csv4SwBpk1KQjZbGMnYv5MOyNu9AbKODsYzZWMbRAdTsFaDu0q8MUuBBWMaJAaRdEID3AqzAi7CMDwSQ9vkAvC9hBV6PZdwRQNqEsnjeImWRAqdgGZsGkLZTAN5uWIH7YBlHB5B2VgDeuViBz8My3hlA2hUBeFdiBV6FZfwggLTfYBv9EctYvhxe2roBeBuWQwrcDMvYJ4C0QwPwnogVOBfLODeAtJcF4F2MFfh6LOPKANKuxTb6OpbxmwDSJpXH8xYrjxS4NJaxWQBpJwXgnY0VeAGWcRGW8RaLse7+arrvANsXuAPb8uoAHbwG2+gnARrdjm20eAV8o9UC8NaqgBS4PpaxSwBpFwbgvQYr8M1YxnuwjMuwjKstRpSnrsG2/EmAkdmObTSpIr7RYhWRjTYI0GgTbKN9AzQ6LADvCKzAeVjGeQGkXR+AdzNW4K1Yxh1Yxp1YxqKV9jKipoeSlZAtN7YYCzsyzbCN9g7QaH9so2MCNDoe2+iiAI3eEoD3DqzA92IZXw4gbZnD8Lw1DkMK3MRiLOSNwRbYNjOwjL0tRtQE0R/b8pgAYzMe2+iFARq9BNvosgCNrg7AuwYr8CtYxi8DSLsrAG9SZaTAJbCMjSvjpR0XgPfhALyrsMruCtBo9SrIRhtiGaNYxo5Yxv5YxoVV8B17NbbRW7GMS7GMjwRQ8ylso88FaPT3ALydq+J5B1RFKjsrQKMXYBtdjGW8PoC0x1RDNnpCNXyjY7CNTgzQaGr1vbyo1KxBdaTUXarjpe6BbTQnQKOjsI3OC9DoedhG7wjQ6BJso2sCNLoW2+j2AI1+hW20WA18oyk1kI02CdBoc2yjfQI0OgDb6NgAjU7ANrowQKOLsI3eH6DRZdhG1wdo9E1so98GaHQnttFKNfGNNgzA27QmUuBWWMYBAaTNDcA7GivweCzjwgDS3hqA906swPdhGdcGkPajALzbsAJ/iWUsVgsvba0AvHVrIQVujGXsEUDaYQF4R2AFzsMyzgsg7bUBeG/ECnw7lnF1AGmL1cbzVqqNFLgGlrEhlrG1xVh3fzUPvtBsh215cIAOHoZtdEaARs/CNnpTgEYfDMC7HCvwSizjpgDSVquD521UBylwCyxjF4sR5Tc9sC3nBOinUdhGzw/Q6LUBeG/ECnw7lnF1AGnLpuJ5cwLwTkhFKjsNy3gWlvFcLOOlWMarUvEdO6DuXl6Ulw+qi5R6Ql281JOxjS4K0OgV2EaXBWj0EWyjbwZodCO20V8DNFq8Hp63VD2kwBWwjNEA0vYMwNsXK/BALOOEANIuC8D7NFbgF7CM71qMqLlwC7bl3wP009/YRuvUxzcaDcCbUR8pcDss45AA0l4XgPdurMBLsYzPWYwoE34R2/K2AP30ObbREg3wjVYPwFu7AVLgBljGrgGkHRKAdzhW4Bws45wA0l4VgPc6rMC3YBmfCSDthgC872IF/hDL+FcAaSs0xPNWbogUuCaWsV0AaQcG4D0WK/AJWMYZCGkj3i6QmO1wDW+ht8M1jCcEaHQ0ttFJWMZ7A0iL2Q7X8BZ6O9z8ccEyKixjJyzjACxjDpbxlAAjchq20ekBGp2NbXR+gEYXYRtdHKDRdQF4N2EF3oplxGyHa3gLvR2uYZwboNH12EY3Bmj0Y2yj2wM0itkO1/BmB+C9MgDvpgC8mO1wDW+ht8PN72QsYwssY2ssYwcsYzcsY18s48wAQ7kc2+gTWMbnsYxrsYxvYxk3Yxk/xTLuwDIWejtcw1gKy1gZy5iKZWyBZURsh2tYu2LbxGyHa3gXYBu9CMv4RQBpC70drmGsiGXEbIdreJcE4F2BFXgVlvGXANIWejtcw1gay4jZDtfwDsQ2OhjLmI1lHB1ATcx2uIa30NvhGsZBWMaJAaRdEID3AqzAi7CMDwSQ9vkAvC9hBV6PZdwRQFrMdriGt9Db4RrGFCxj0wDSdgrA2w0rcB8s4+gA0s4KwDsXK/B5WMY7A0i7IgDvSqzAq7CMHwSQ9htsoz9iGTHb4RreugF4C70drmFshmXsE0DaoQF4T8QKnItlnBtA2ssC8C7GCnw9lnFlAGnXYht9Hcv4TQBpMdvhGt5Cb4ebv6DAMjYLIO2kALyzsQIvwDIuwjKit8M1F7gD2/LqAB28BtvoJwEa3Y5tFLMdruGtFoC30NvhGsb6WMYuAaRdGID3GqzAN2MZ78EyLsMyorfDzXcabMufBBiZ7dhGMdvh5keawu4pahgbBGi0CbbRvgEaHRaAdwRW4Dws47wA0q4PwLsZK/BWLOMOLONOLCN6O1xzgUJvh2sYMdvh5mdo2EZ7B2i0P7bRMQEaHY9tdFGARm8JwHsHVuB7sYwvB5AWsx2u4S30drj5U37ht8PNvxmJbTMDy4jeDjffbbAtjwkwNuOxjV4YoNFLsI0uC9Do6gC8a7ACv4Jl/DKAtLsC8BZ6O1zDWALLiNkO1/COC8D7cADeVVhldwVotNDb4eYXYbGMUSxjRyxjfywjZjtcw3s1ttFbsYxLsYyPBFDzKWyjzwVo9PcAvJjtcA1vobfDzb/fFqDRC7CNLsYyXh9A2kJvh2sYMdvh5ucq2EYnBmgUvR1uft2isBuK5hfsELuYGt4e2EZzAjQ6CtvovACNnodt9I4AjS7BNromQKNrsY1uD9DoV9hGMdvhGt5Cb4ebv+gL0GhzbKN9AjQ6ANvo2ACNTsA2ujBAo4uwjd4foNFl2EbXB2j0TWyj3wZodCe2Ucx2uPmLgwC8hd4O1zC2wjIOCCBtbgDe0ViBx2MZFwaQ9tYAvHdiBb4Py7g2gLQfBeDdhhX4SywjZjtcw1srAG+ht8PNr81gGXsEkHZYAN4RWIHzsIzzAkh7bQDeG7EC345lXB1AWsx2uPnRrbDbiebfd8AyNsQyorfDNRdoh215cIAOHoZtdEaARs/CNnpTgEYfDMC7HCvwSizjpgDSYrbDNbyF3g43/6YblhG9HW5+vMG2nBOgn0ZhGz0/QKPXBuC9ESvw7VjG1QGkxWyHmz+sAXgLvR2uYZyGZTwLy3gulvFSLCNmO9z8xVvdvbwoLy/0drj5Q1oXL/VkbKOLAjR6BbbRZQEafQTb6JsBGt2IbfTXAI1itsM1vIXeDtcwVsAyRgNI2zMAb1+swAOxjBMCSLssAO/TWIFfwDKit8M1F9iCbfn3AP30N7ZRzHa4+eYfgLfQ2+HmL8SwjEMCSHtdAN67sQIvxTKit8M1F3gR2/K2AP30ObZRzHa4hrd6AN5Cb4drGBtgGbsGkHZIAN7hWIFzsIxzAkh7VQDe67AC34JlfCaAtBsC8L6LFfhDLONfAaStEGDb1UJvh2sYa2IZ2wWQdmAA3mOxAp+AZcRshzvV220Qsx2u4S30driG8YQAjY7GNjoJy3hvAGkx2+Ea3kJvh5s/LlhGhWXshGUcgGXMwTKeEmBETsM2Oj1Ao7Oxjc4P0OgibKOLAzS6LgDvJqzAW7GMmO1wDW+ht8M1jHMDNLoe2+jGAI1+jG10e4BGMdvhGt7sALxXBuDdFIAXsx2u4S30drj5nYxlbIFlbI1l7IBl7IZl7ItlnBlgKJdjG30Cy/g8lnEtlvFtLONmLOOnWMYdWMZCb4drGEthGStjGVOxjC2wjIjtcA1rV2ybmO1wDe8CbKMXYRm/CCBtobfDNYwVsYyY7XAN75IAvCuwAq/CMv4SQNpCb4drGEtjGTHb4RregdhGB2MZs7GMowOoidkO1/AWejtcwzgIyzgxgLQLAvBegBV4EZbxgQDSPh+A9yWswOuxjDsCSIvZDtfwFno7XMOYgmVsGkDaTgF4u2EF7oNlHB1A2lkBeOdiBT4Py3hnAGlXBOBdiRV4FZbxgwDSfoNt9EcsI2Y7XMNbNwBvobfDNYzNsIx9Akg7NADviViBc7GMcwNIe1kA3sVYga/HMq4MIO1abKOvYxm/CSAtZjtcw1vo7XDzFxRYxmYBpJ0UgHc2VuAFWMZFWEb0drjmAndgW14doIPXYBv9JECj27GNYrbDNbzVAvAWejtcw1gfy9glgLQLA/BegxX4ZizjPVjGZVhG9Ha4+U6DbfmTACOzHdsoZjvc/EhT2D1FDWODAI02wTbaN0CjwwLwjsAKnIdlnBdA2vUBeDdjBd6KZdyBZdyJZURvh2suUOjtcA0jZjvc/AwN22jvAI32xzY6JkCj47GNLgrQ6C0BeO/ACnwvlvHlANJitsM1vIXeDjd/yi/8drj5NyOxbWZgGdHb4ea7DbblMQHGZjy20QsDNHoJttFlARpdHYB3DVbgV7CMXwaQdlcA3kJvh2sYS2AZMdvhGt5xAXgfDsC7CqvsrgCNFno73PwiLJYximXsiGXsj2XEbIdreK/GNnorlnEplvGRAGo+hW30uQCN/h6AF7MdruEt9Ha4+ffbAjR6AbbRxVjG6wNIW+jtcA0jZjvc/FwF2+jEAI2it8PNr1sUdkPR/IIdYhdTw9sD22hOgEZHYRudF6DR87CN3hGg0SXYRtcEaHQtttHtARr9CtsoZjtcw1vo7XDzF30BGm2ObbRPgEYHYBsdG6DRCdhGFwZodBG20fsDNLoM2+j6AI2+iW302wCN7sQ2itkON39xEIC30NvhGsZWWMYBAaTNDcA7GivweCzjwgDS3hqA906swPdhGdcGkPajALzbsAJ/iWXEbIdreGsF4C30drj5tRksY48A0g4LwDsCK3AelnFeAGmvDcB7I1bg27GMqwNIi9kONz+6FXY70fz7DljGhlhG9Ha45gLtsC0PDtDBw7CNzgjQ6FnYRm8K0OiDAXiXYwVeiWXcFEBazHa4hrfQ2+Hm33TDMqK3w82PN9iWcwL00yhso+cHaPTaALw3YgW+Hcu4OoC0mO1w84c1AG+ht8M1jNOwjGdhGc/FMl6KZcRsh5u/eKu7lxfl5YXeDjd/SOvipZ6MbXRRgEavwDa6LECjj2AbfTNAoxuxjf4aoFHMdriGt9Db4RrGCljGaABpewbg7YsVeCCWcUIAaZcF4H0aK/ALWEb0drjmAluwLf8eoJ/+xjaK2Q433/wD8BZ6O9z8hRiWcUgAaa8LwHs3VuClWEb0drjmAi9iW94WoJ8+xzaK2Q7X8FYPwFvo7XANYwMsY9cA0g4JwDscK3AOlnFOAGmvCsB7HVbgW7CMzwSQdkMA3nexAn+IZfwrgLSY7XANb6G3wzWMNbGM7QJIOzAA77FYgU/AMmK2w83y9ubBbIdreAu9Ha5hPCFAo6OxjU7CMt4bQFrMdriGt9Db4eaPC5ZRYRk7YRkHYBlzsIynBBiR07CNTg/Q6Gxso/MDNLoI2+jiAI2uC8C7CSvwViwjZjtcw1vo7XAN49wAja7HNroxQKMfYxvdHqBRzHa4hjc7AO+VAXg3BeDFbIdreAu9HW5+J2MZW2AZW2MZO2AZu2EZ+2IZZwYYyuXYRp/AMj6PZVyLZXwby7gZy/gplnEHlrHQ2+EaxlJYxspYxlQsYwssI2I7XMPaFdsmZjtcw7sA2+hFWMYvAkhb6O1wDWNFLCNmO1zDuyQA7wqswKuwjL8EkLbQ2+EaxtJYRsx2uIZ3ILbRwVjGbCzj6ABqYrbDNbyF3g7XMA7CMk4MIO2CALwXYAVehGV8IIC0zwfgfQkr8Hos444A0mK2wzW8hd4O1zCmYBmbBpC2UwDebliB+2AZRweQdlYA3rlYgc/DMt4ZQNoVAXhXYgVehWX8IIC032Ab/RHLiNkO1/DWDcBb6O1wDWMzLGOfANIODcB7IlbgXCzj3ADSXhaAdzFW4OuxjCsDSLsW2+jrWMZvAkiL2Q7X8BZ6O9z8BQWWsVkAaScF4J2NFXgBlnERlhG9Ha65wB3YllcH6OA12EY/CdDodmyjmO1wDW+1ALyF3g7XMNbHMnYJIO3CALzXYAW+Gct4D5ZxGZYRvR1uvtNgW/4kwMhsxzaK2Q43P9IUdk9Rw9ggQKNNsI32DdDosAC8I7AC52EZ5wWQdn0A3s1YgbdiGXdgGXdiGdHb4ZoLFHo7XMOI2Q43P0PDNto7QKP9sY2OCdDoeGyjiwI0eksA3juwAt+LZXw5gLSY7XANb6G3w82f8gu/HW7+zUhsmxlYRvR2uPlug215TICxGY9t9MIAjV6CbXRZgEZXB+BdgxX4FSzjlwGk3RWAt9Db4RrGElhGzHa4hndcAN6HA/Cuwiq7K0Cjhd4ON78Ii2WMYhk7Yhn7Yxkx2+Ea3quxjd6KZVyKZXwkgJpPYRt9LkCjvwfgxWyHa3gLvR1u/v22AI1egG10MZbx+gDSFno7XMOI2Q43P1fBNjoxQKPo7XDz6xaF3VA0v2CH2MXU8PbANpoToNFR2EbnBWj0PGyjdwRodAm20TUBGl2LbXR7gEa/wjaK2Q7X8BZ6O9z8RV+ARptjG+0ToNEB2EbHBmh0ArbRhQEaXYRt9P4AjS7DNro+QKNvYhv9NkCjO7GNYrbDzV8cBOAt9Ha4hrEVlnFAAGlzA/COxgo8Hsu4MIC0twbgvRMr8H1YxrUBpP0oAO82rMBfYhkx2+Ea3loBeAu9HW5+bQbL2COAtMMC8I7ACpyHZZwXQNprA/DeiBX4dizj6gDSYrbDzY9uhd1ONP++A5axIZYRvR2uuUA7bMuDA3TwMGyjMwI0eha20ZsCNPpgAN7lWIFXYhk3BZAWsx2u4S30drj5N92wjOjtcPPjDbblnAD9NArb6PkBGr02AO+NWIFvxzKuDiAtZjvc/GENwFvo7XAN4zQs41lYxnOxjJdiGTHb4eYv3uru5UV5eaG3w80f0rp4qSdjG10UoNErsI0uC9DoI9hG3wzQ6EZso78GaBSzHa7hLfR2uIaxApYxGkDangF4+2IFHohlnBBA2mUBeJ/GCvwClhG9Ha65wBZsy78H6Ke/sY1itsPNN/8AvIXeDjd/IYZlHBJA2usC8N6NFXgplhG9Ha65wIvYlrcF6KfPsY1itsM1vNUD8BZ6O1zD2ADL2DWAtEMC8A7HCpyDZZwTQNqrAvBehxX4FizjMwGk3RCA912swB9iGf8KIG2FANuuFno7XMNYE8vYLoC0AwPwHosV+AQsY6G3wzU7DTbyjta+XZFUQGfv72iQT1Z0VFHr4kUj+370LpQJ3v/MMdWjJ3nfk3z0ZO+7OSZ49CLe9yIWPcX7n62gpiVF9m1T05KNTBbN9FGSRTM6JFs0s4uhaVt/r2k1a66dGiHr193bAhahvm402ra4pQ/hdVXxyF4bI7xuVI+z2furiHft4tZ3Mwaen+y2Cyqd7LYTPJh2DD3Z+ruGda45z/RHoiWr/pSO7LW1kgfgS/bxlbHOKWrx+f3bfM+3XYB5vVgfixbfVw/9tZTF39n7Oxrs0zbFJ5uRN+KT13xKWfKUoJdH6b4zM2/ehEnT8qblDZyWc+qY3J7TJuROHTNxQrfsU09NcHRsCZ/wCZF9FfnHOseeCK2tePMnJv1Jtv62toXdh7eYg/aP1Smu77Z89iRn9LAnuRIWLdEniz2R2ufPabjv9Uzbnb2/o0E+bXMzD9WA8l7E4im+V998HqOfRStudLNoJYxeFq2krz81LcVq29BKeTTbVkr7JgpNK+PRSlq0spZ+5ljOo5WyaOU9WmmLVsGjlbFoFT2a2fBHf+3j/Z0aoQq0KkNfty/1daNpUX3d/uTX3RNoB9Bfd3egPdK7lgm0pp2+1hgc5f1NHWiPtK6bYLVj6MnW302tc815pj/M3jNGdm1n/by/jzoAXx8fXxnrnH4W3wAfn/luxlr3nbnnx2Oz6aHNeh9JNtvGOtdve2YLi//SZlt4f/PYbCaTzWaGNlsInQprsz2sc/22Z16l/y9ttr33N4/NZofzrPeRZLPHWOf6bc+8e/xf2qy5Fo/N5jLZbHpos4XQqbA2m22d67c9837rf2mzg72/eWx2FJfN5oY2++91KqzNTrTO9dueed3yv7TZPO9vFpttu2c+pLdZFc6zhdCpsDY7yzrXb3vmhs5/abNTvL91/auzV3Azj8Dz2HGG4rHjPTewQjv+dzoV1o4vss7126OpPf2XdnyO97e2416eHde1aL09mnmYjsm22/LYdkY4RxdCp8La9g3WuX4bNU+u/Ze2fbn3N4/NZrUN84o9H0k2e691rt/2zIM7/6XN3uL9zWOzbZlsNhqu3wqhU2Ft9nHrXL/tNfb+/i9tdqn3t84X7vTyhaYW7S6PdrhFu9ujNbNoSzxac4t2j0drYdHu9WgtLdp9Hq2VRbvfo0Ut2gMeTVm0pR4tzaI96NHSLdoyj5Zh0R7yaJkW7WGP1tqiLfdobSzaIx4ty6Kt8GhtLdqjHq2dRXvMo7W3aI97tA4WbaVHO8KiPeHROlq0Jz1aJ4v2lEfrbNGe9mhdLNozHq2rRVvl0bpZtGc9WneLttqj9bBoz3m0nhbteY/Wy6K94NF6ezT7YalVCXuO+mtp7/+pESIfVjmjdj+/Edn3k+D7nmr9bWSwH4Ajk8d7WMpsF663HR44ecz07Kl55lGpBEtEI7bpIvt/tgr/WOfEy2NSTM9a7p6S/c/zlfTpErb937SdRN92mv0ImPkcyH2TLHmKMvSF/ejav5GnKK880TKR/R8pZHl++iB2YD9Ty/AsdJr9eOC/6fdiljzkYcWzg2KFkMcOK4kM8jDpuXuJW8a71j8R2rS+rK+vivn6qox1Thmr/8oy9F+C1a65tvluy2Bs0H7E05yXHCcyGpr9fDyHDxxoPrDH0MzfJRx9ViTO+sx+/NbLUPPnVS1ripWucszn+vLGtpK9a/vlSLbO6dpwr2xlPdlK+2T262P3Ocf7AAlWWxGfDqa90pYO9vsb5m87jnOk4XZ+7ZfRfnfEPHpdtAA9kq1zqnv9b/1UY/7HjtN2H9jXiXjXSvHRmN4jUbZ+5trmeylLRvvRdSMPV35hbCIhsm9MsPsihb7tKGcf23Odq4+TrXMaH8CGXHOZPadGvP8nW3+bPivOpFtB41U8hm1HDtA2w/yWVtj3r5jfB0srbInDfh+MIy9g0jOmuWgJX1/FOhct5ZPHfDftSZS5TGT/+JkS2dce40FGO/YZebhiQ0FzmD2GJl8r6uizWOTPhekze11kv2pnZO3Pmz+n2X1q4m2ir//s/DnZyp8HHiR/LuGjxTI3Nd/t9ZXRy5VP2vkzQ76U5lr7+XMR23aKFqBHsnXOsH+ZP9t9UNLS07Ttmk+41r8F+UZp6+iflzlzImMTJh9LdPQFV2xm6OPddmZiV5EC+jjZOueUg+TPZazvqZG99uNa75hzEyP7xgLDm2idY/7/j0f3XyM1wptvMcz9u/ve9KPpe3/tJNk6Z/JB+t6mp0b2rxWVtvrLnJtonVfGupam++cS0/fmPHt7Ac5aR0E+Z+f93G1HDtA2Q4wq9JrDnqfJbVXl5KZE9o1HB5PHfgW+HLU8Pp+kXKvo65Zn6D993QpM/VCR/rq712zmdUkzN5l2yltje5hlC1Q62W0neDDtGHqy9fclCXvPtX5FdZ850MhexjrHXutV9PGZ7xWsPjg3Ye81/HPj7m0ivL/tuYFjzBOstsy1y/vkLWPRylnykNv2QebJ8pY8rnVWeat/46nP7LWVf82oZb3BWmeR53swX7jqmn457Lrmiw32nnuLtc7yr2Ptedzuc479tVxrGPPdvhdp1jOudQfr8wZePxcrQEZ7ryp7jevSI9k6575/uc6y+8D87dreyJ5PuGoQBflvWUtGo7O95uHKu+w1bqr1vYTVj8Z+7a16XDUEjucBDlRDSLRk9K/ZmeoFB/S1sG2++wL2/T39SfB9T7X+5t4nzq7N/Bt5mNdPUbtuabfF5Y8F2YE9X3Gs4+25+t/0u702YsjHMlMi+967OJg8dj7PtVZj0DNq54rU96v864Gyvr4qE9l/jcC0Fjtg7mraC2UOZf5/klnL489B7fViYpzIGMs1dkHxzR5Dk48Uc/RZSpz1mZ2nmXWsnb//aK2xGfKTTLtP/fV3+7kxc8751hr7V2uN7c837ZqB3eccz8u71q/+d0vse2SuNaedlzLkR7v7uWgBMto1uHKW3C497Hshid4E4Fpj27rZdRzX3PFf1ZpKW7Lb+Rf3WtWsp0s4+oKrbf99qXJh2/ltM8SKQq9HbPvj8Afb9/6NPBWY5TnQ2DDnPrvXLJXor7t7jjX3Nfz3a+x7JuacmgeYP+1rGTnNfGquWdrqq8OsPjuMXrd9xsvMX+X+g7YjB2ibYUx3r5sr0193t61U8a5lbMXIb9pLts5pfBBbqeLrH2Mr5pqlrb6qYvVZFYY+O5CtxLLtyAHaZhjTNH3dqvTX3W0r5rcnjK0Y+U17ydY5aQexlWq+/jG2Yq5Z2uqralafVaPX7YC2YtpLtPS0bSbROsf83zwf45c/NUY6RArQgck20vV1q9Nfd7fNmd+lMTZn5DftJVvndD6IzdXw9Y+xOXPN0lZf1bD6rAa9bge0OdNeoqVnNevcROsc839jc375E2KkQ6QAHZhsY/e2qzXpr7vb5mp51zI2Z+Q37SVb5xx5EJur5esfY3PmmqWtvjLn2rUR5nsEB7RDu55k1hGuepK9jqnFJGNB62hXn9nrK789Gv9J9J1r/Mf2PXP+/+t6/GD3rVnuA/metTA+VtQ3Hva7A7kH8bGDPbdhP8Nf7AB85nz7mTN/Laqo7zp2LWrMAeTkrPsVZENFY9h25ABtc9mQ/cxYqjUmtg2ZcyYdxIb884vr+SSjU/kD8PnXPC4bKua7jm1Dpx/EhriezyrIhorFsO3IAdrmsiF/rPfHEDvWn13IWO+/L2PXo2sdgM+cfyAb8sc/24YWHMSGuPKIgmzIzhOMTLYtJUb273cTj/2+khojHSIF6MBpiya/NLZYy9cnydY5lx7EFmv69DC2aK5Z2tKp5gH4zPkHssVavuvYtnjVAeS0nwuyf5OWIa8/oH3abRtdCJ8jUXYb9m+Z1rLa/b+yZ+/eQ2Fq/fZ98zpM8pQrhDz2z+DVppdHMem5+76C0YP6Wai6vr4q5+urMtY5qVb/1WXovwSrXXNt8920J1Fm1zo2xTqvfJzIaGj2Tzww2PMB5zB7DP3vDth9lhJnfeban8vcT9Px4anEvfIy1Gt3v29a3Wov1ZLDruWbc/paz7s868lW2jrXft6lko/G+YyRactcu5KvL7WM5n6CfQ/K/G0/78IRAxMi+z9vZ9q2a26mxle0AD2SrXNe+Zf5lN0H/vf17OeC7fmE6919//4p9rsk5mh0jkW909iEyQMrO/qC4fkn1nf3/c+v+fvYfn7t3YOsHfzPFxr7sa/pf3Yv0WrLro8kRvZ//9ys7fzX0OdzvrvPsUeVq4bgenbQnPNJIWsIth+bo38tl2idZ7+Drun+ucT0vTnPfl6B6/mFA/mcaY8pTqTZMSliyWB/Uq2/K1ry0NtLWjQlsm9MOJg89vsyHPdWbD2p35+nXzft+flZjvUhU264e91Uz7uWmR9MO3buXN+yBaK2ld12ggfTjqEnW38neS+kpkT22qC9ljK8po9sf9WfMtY5JRy6pRLrluqTx3yvj5S5bJzIXNd3jvlu7F7b0U+Je+X3z/F6/Ixt2fNrKpNOtX3y2n5vZDQ0u+bFUVexY425tvle25LHrE+qOvosJc76rLIll1mTGVvdXU9M2isv/TNlavccVtVqL9WSw35O0Jxzcv295x7myWavF+01ov/ZVKa1mHKtxcx30569XrTzLv+a1q4l2rbC9U5+Qc/Y2Pm4X5dY9GNCAf3I2XZBvl2OdxwKXT+2YwlXHlmYd3vteMy9vqLOIxny3jA/9T6S8tOOhcxP7XlAfyTkpweSuVacyFzXd44rP22VtFd+f7yycy173k5l0qkwuZa9/yRXflpQHuLKTys5+ize8lN73WHyQrsm1t/KT+lrPMq5R111n2z2PnHT6+09d6CVn/pr83aMte30v6yTu2qx/lzUvq9k2wrXHk2lfXL765+lHbrEoh8TCuhHzrYL8u3SvOOQZo95xNI/4pPHfOz4Rz/PZUYLu2+pnWtw1TlNG9T5aR1LP8rrpjKMC1MemcmUk+ye273bz/lzu92OsZmG9GOg7LZNfmraMfRk6+8FVn5qclY7bzK8RnbjH+bcMtY5tR26pUZ4cm9zbfO94SEkcx2BMoe2gZfZv94y382cqOeYsdbaxZ/L2GtPO6bXY9Ip1Sev+W73saHZ68NUJnkKylFTLXlMzlnO0WcpcdZndp2O45mPgmr2VyZxtrtnTeT/TQG/HPZz2mvr7D33GmtNZNfG9cfO62z753rvr6Bn/+zn2I0+tlz+9U+KxWPbINca3/8ch/lu1xn8usSiHxMK6EfOtguaM5jvBabZYx6x9I/45DEfO0alksuzp2ZfuxDypFrycDxby/WsOFetmidm7KnZM6xd0phynd1zeyPvWmZuN+3Us2ymsfc39ZqokXXdBKsdQ0+2/l5trYnMOsnOxwyv6SPjH+bcMtY5qQ7dUiM86z1zbfO9MVLmunEisz9XN9+N3Ws7etjKe/3xyl7T2vN2AyadCsrl7T42NHsNx5VTFpSH2Dml/duw/j5LibM+s9czJi+010CvW/kpfb1yT37q/12L6j7Z7N+1+Kj23nPftvJT8387t3M9a8T1bkpB90lMe3aeZ+d+/ly0oPdVUpnkLuh9lVRLRr8usejHhAL68b98v4hpHNLsMY9Y+kd88vj/5pnn0qMpvvYOJo+dazDke8rWkzo/5ahV88zt6VGmPDKdKSfZPbc38a5l5nbTTgPLZpp6f1Pnp02s6yZY7Rh6svW3+RF3bfsmZ7XzJsNr+ijV+9ucW8Y6p55Dt9QIT+5trm2+N0XKXF+gzPHSz/51gPlufFXb/jdWTu2PsfaayI41jZh0KmidYPexodnrFq58taDcyc5XTS5Uy9FnKXHWZ/ZayeSy9vqqTPJeeelrbXty6tpWe6mR/Z/HSbbOWVtr77kVPNns3NTOR1N9NK6YnxDZP+cx3017pSP77iloaP78OcXiicV9h7o+uc33epaMqT5dYtGPCQX0I2fbZnzMtas72mYYhzR7zCOW/hGfPOZjxxKG3C3XrgH8G3ns/IjjGU+m+XyfHJV63xF/LHbVNcw5Da3++69iQihzbGRmajvqyu1cfdHYIc9/VeNlqvfvs5Y7UF80ccjTJMZ9Ya/7/t9lbiRQZon93DCUOZT5/0jmcK4LZS5I5tAHQ5kLkjnMN0KZC5I5tI3YyBzOdaHM/08yh3NdKHNBMoc+GMpckMxhvhHKXJDMoW3ERuZwrgtl/n+SOZzrQpkLkjn0wVDmgmQO841Q5oJkDm0jNjKHc10o8/+TzOFcd+jIbP/+nJHVfsehbpzIaGj2+0INmORJ9cljvttjaJ7nr+Pos5Q467NUSy7z7oW9f0PTInvlZXjHNcPuU/NeiP/92mTrnFaV957bwpPNfr+irqVPPR9N68C1N7Fpy1zbfDft2e8s17NotrzmWN9H47TngvYca2DJ6NclFv2YUEA/crZd0DtfzPNKmj3mEUv/iE8e82lgyUP/jLmK2vPVv5HHjlUc++fZelK/a03/TLyKcs3t+roM75Tufo7+cO9aZg427dj5XrPIXlug0sluO8GDacfQk62/jyyy91xznukPY7NG9jLWOfa7JP73ef3vYOsmehbZew3/nJhi9Ys9N3DF84Le5bXjuf/9Xh7bPnCsa2zJY2JXXUefxSIHKkyf1bPkqUcvzz57V5jra/M60cqt6pK3q5y/n5HqG5dk65wfDtt7braVW7lyFFc+y7V3akH5rGnPfnfVzlvM3/Zv6XLEy4TI/ntYmbbtecfYW9EC9Ei2zjnV63/Xb3Hautm5YhMfjSleKNda1nxvasno9znO3C3Vu5b5O9XRF1xtFzTXxKLtVF/bLr3J51iVk2vHUf8+f6a9ZOucMw9gz66YbOYc28eNTk05dfP61S+PXzc7bynqO6eppb8555wD6G//NratG5fvplo6pFrf7bYZ5vLd65ymPt0TfN9Trb/tXKYZvTytUyL7ztsHk6eZJc/h9PIoJj13r0eae9eifv+9ha+vGvr6qox1TnOr/1ow9J9rTWC+m/YkyszU9u7xa/kv+qKlQ56WMe4L015hZW4eyhwTmePBNux9uIysKdZ5TeNERn99g2neP2B+aI+ha63ezPo7nvos1ZLLrFuN7ekUa4W1pmbYfyPNXvuYvNfIYe8xbc55o9Lec1daa2r/nm22Prad0tcFDlzDMe1pGf37dpf2yWuOdX204pG940Qtd12f3Hb/GBld9324+zGhgH7kbLugfbNjqXckUrD9mL/t+gt53uytRc38YHzStG3XkM05rx1kLeqfj5o6dEv1/m4Wa30LmDP9+upzTB5R1HdOM6tPzDnvHKBP/kv/SbRkTLWOidY59tomMbJ/jTM18t/6QnGfDiRte3Zvxz597Wa+Pkm2ztl6ELv3r4uM3bts/EDrKX9+47JF/xrHtsXP/2WthHl9dED7NO0lWrrY9pVonWP+b+zT34epEbYccHfNxR4fo4v9SbX+tmsc9PleRtTOLf+NPC0tech9yKu5mDao7y23opd393WjDOOir6vo5c3Q101n6AdtMxnetczcZ9qJWjaT6f2dEKGdFzKs6yZY7Rh6svV3uaJ7jtr20zxausVveE0fGf8w55axzmnp0C2VWLc0nzzmeyZS5lYCZQ77GS9zuu8c893ML9pff7eer/DHSe0nxoftGJ/GpFPUJ6/5bvexodm1Ofp5+MD5ZNSSx6y1mzr6LCXO+sx+dtjURYytajOoXXSvvPQ50J77882t9lItOVxroYUV955bz5OtdGT/nNW+n2XbaazuSfqfW9Iympzbvg9vy2uOTXw0pmdfDvisgKuu1CSG/ZhQQD9ytm3Gx1z7cEfbDOOQZo95xNI/4pPHfOxnoujz2D3PmNYrhDx2bOOoQ8ciX6e+96p8fVXP11dlrHPsnJghz99t26188pjvirftqCsvcfVFmkMervhYUF+Y9gorczSUOZQ5EtpzKHNoz9Fgn7CfQ5ljKnNoz4eOzPY73Hbdw5zXJE5kNDS7zsmw/jlg3cIeQ1OHaOHos1jUswrTZ3bNzdSM7Nrm+VY9i2Etn2H3qalnGTlMe/az930q7D33IqueZc61a0EtfDTO5778943Nd9NeaUuvFhbNX7tKsXhsW+GyZ/9zkeZ7K0tGvy6x6MeEAvqRs20zPubazR1tM4xDmj3mEUv/iE8e87HrRww1iFx7vvo38tg5Acd9BK5aiz0HU9ez/PeN/PWjMtY5aVb/MdxfVq76mvmeztv2Pve2D9QXGQ55MmLcF/Z98MLInBbKHBOZQ9sIZS5I5tA2QpkLkjm0DZzM9jtR9vrVnNcyTmSM5X3BgtZ59hiadVsTR5+lxFmfuZ7/MP6i19ifWOt/hucIMuw+9e/XY797b85JL7/33O3W+t/w2GtnV12I6zmngmoupj17rW+vrf1r/YKefeKy54KefVKWjH5dYtGPCQX0I2fbZnzMtZv8B3pHDqA3gw2k2fYWsfo+4pPHfOy1Pv16UbWx58p/I48d2znqqbae1M/U08//qg3X87L6uq3pr7u7PtDGu5aZ/007GdbYZkX22gKVTnbbCR5MO4aebP1dotjec815pj+MzRrZy1jn2M/Ht/bxme+ZVh8kFNt7Df98nGL1i+vdgFTi/vHnrBk+eWOdsxY0T9q5jYmbLR19lhJnfWbXcjme2bPvg9jPKVcttrdd+nq6apPgay81sn8tP9k65+dye8+t6clWUH7kyqW57qUVlEub9uz7I3bOZP6235/liJcJkf3vK/tru7ZNFi1AD/sdn8Ze/5eL7P+x31m0+8B/3zre5il7TOy4wpXPFXQfy/Xeg23jrtyfay4tKPe351LXuysc998K+24n8/3AqP0uD3Odo9A5uG2/DDlZmu27/0ae1pY8knJPfV2T21Hf//Pnhxm+vrLzwzZW/2Ux9N+B8k47r5Ymsz0/2fmdOS8aJzL6c3xXbUrnPYOsnIzhXuzu/X7s9lItOUx7ydY5q62c7DhHThbPsd7oE4tYX9A7onbtzxVHGfonzdU/UV//2HZbNOKO/cnWOTkHyQdb+Hg541Jh4qQdlxj8P8Oea/6NPFmWPG3o5VFMeu6Ok229a1HHyXa+vnLNn+actlb/tWPoP1cMNN9Ne6HMocwFyWznI0bWFOu8aJzIGKMcLmrnOeb6OpeYb+U5DHFi9z1Fu56aaslh2ku2zrnAynPOt/Icf05TUG7JMZcfKLc07ZW2dLBjHVee49+/I9PXFwXlOQz9k+Hqn6ivf2x/8Oc5th2Ycxb/yzyHOa8odJ5j5xUM80qWPYf9G3naWfK0pZdHMem5O89p712LOs/p4Osr17xszmlv9V8Hhv5zxVbz3bQXyhzKHMocynwoyGzn7UbWFOu8aJzIGKO1zj55u7m+zo1fsvJ2hrwnS/eD/1kQ//rBfh5jkJW3v2Ll7f4cvaA1GEducqA1mGmvtKWDnbtx5e1tfPK08fVFQXk7Q/9kufon6usf2x/8ebttB+acd/9l3s6cJxc6b7fzZIZ5Jcuew/6NPB0sedrTy6OY9Nydtx/hXYs6b+/o6yvXvGzOOcLqv44M/eeKrea7aS+UOZQ5lDmU+VCQ2c7bjawp1nnROJExRmudffJ2c32dG5csvrddjvqg7oe2Vnupkf3XD8nWOdWsvL2MJ5vOQf05ekFrMI7c5EBrMNNeaUsHO3fjytvb+uRp6+uLgvJ2hv7JcvVP1Nc/tj/483bbDsw5NbyxP1jeztvXe56htf0lNbK/3dlypx5AbteckObTw35m2M65ufe4ILxumqvPXM8Um3MaF7LPzDNG9jPV7Rx9xvXOD4NP7+6zI3x95n9uOtk6p+VB+uyIAvrMfi7b9JU5N9E6z45Bmm6eW7J/QyTROs9+Jo3pudsMVx/53ze2+6hNIfvI3NO17croZec0XLpFfbqlOXQz5xxxEN2iBehmj7/RKcqrWxpTjrW7zzr5+szI39HqM3NO94P0WacC+szep8v0VSerzxh0Sy9uXYvwurv7rIuvz4z8na0+M+f0O0ifdSmgzzpafWb6qovVZxzvLeicMNMhY8Qno/nY7zIYPvsd1i70Mhb6+Xm7z7oyydOlEPJ0teTpTC+PYtJzd67TzbsWdR2wu6+vuvj6qox1Tjer/7oz9F+C1a65tvlu2pMos/1epJE1xTovI05kNLTOloz+vVz0vDvGWnczrMnS7JqNf91t2ku2zvms7N5zx1vr7va+/rXfsbT7nGsPyoLesbT3yXDtP8z1XlxBvwuVYcnjf+eAqX/SXP3jf3dYn2Pyl6IRd55rv9dxxkHW3a44yfXeGyaWM8Wl1oWN250teTjeiWTSM2rnPdRx0j9/Zvj6yp4/mfOe3b7c2SeP+W7aC2UOZQ5l/m9ltmOOnYOY8zLjREZDs98H70wvz+77OP71us7Z7rDySYZco3VCZP/foTVymPbsfSIesPLJJVY+aZ4vst93deVLXHuaFfR+qF3zc+0xxPW+6sH2/GHKr7h+B3l3Turf28WVb5pzHjlIfcm/p49/PWK/58K897niqo/ac8yB6trmnCcP0medC+gz17595txE6zx7/tB0s8ax339IjOz/2xH6fKb1bGtXH2X45LL76IVC9pGZl2y7MnqZczl18797rxy6mXPWHUS3lgXoZo9/Z+9vc649/p0tXvuekH/8/dfQ53PVM5jqsa3tnMj0vZHftJdsnbPhIH3vz6/a+PrO3iPBrqUy6JZu1zwJr9varh+aPjPyd7P6zJzz/kH6rHsBfdbF6jN/rS3RasvO+xIj+9ctjb36r6HPZ+qjDH3dHvTX3d33Pb1rmb438pv2kq1zPjtI3/e0vqdG9va9uWZpq7/MuUy6Zerr9mLqs96+PjPy97L6zJzz9UH6rHcBfdbD6jPTV+bcROu8nhavpvvf3TX2as6z34Nmei/6gM8U2e+0HqptM7ynnFbYPULsd/J7M/RFSmTf90EOJk9vZnkONDZ22wxzxu5n2vp41/Lnm/acYc5JKrHnWNCc0cenh3me0c43jU59LN360Ou2T78m+Po1lm1HDtA215j29a7lz7PtMTXnlD7ImPb16WHG1M6zjU59Ld360ut2wDGNZduRA7TNNab9vGv583d7TM05VQ4ypv18epgxtfN3o1M/S7d+9LodcExj2XbkAG1zjWl/71r+9YU9puacugcZ0/4+PcyY2usLo1N/S7f+9LodcExNe4mWnkauzh69v68fTK7ol79zjHSIFKADp20M8K7lX//YtmHOaXkQ2xjg08PYhr3+MToNsHQbQK/bAW3DtJdo/W3k+seT6Ujre+eAMo3yPvq6/2vvTcAsuao7z3iprFSVsjJVWpEFqorM2veXmVWZtamUVVJJYtFSWkBCEkgqUZIBIxZjWxjhBmQMBhoMGGw2GwyywZ62sdt4mvYYjMe4x3R76w973IZuN2ZsxmbsadOe6fYM6u54GX/lL0+eiHipjPMWePF9+eWN+86Ne865N87933PPvXHTU3ju2Yore+7Nq+d3ymYk0MMQ0qqrnd892ptQ5jpD94S5z7Ycq43YJ/X7lSV9Mui9KX1nr0PdAf269c5Kdjv/vsHRz9UV7+zNRg69s5x/2zZif0vrk202W/ubc+rqln3oRN1JSd031V93a55MOy35E8OPrpvAz+kgfm5aAT+nwc+N9fMzFSRna43wlvxZdccC3Wp0dZPR1ThoboH+bg3QXwP16tm6V339yHPGj94b8ToKuht6hEfl3Qh+AvpzqQ1jG9qzRKmz2R7T2WHwqHgMxmm8eN0ivwHrHK2161OoLwUfXAsSzcOIC3lZztsYaGcdeajzqP29dn+77jnv13yRe1uUpm824Gyclp6PFvBITGDPtLRy8EzLR0pwFnENdaA82Q62E+1J1Jn6Re10CDyK3+PgJwoTqU8Ij51wdBGwP6wZpOMlZ8SvKdAx47zeVIHVbbyV+g/fIenK+6ZbmtSLk6Jinm40OrO+4GHQvL1CZzcW6Ix9XLrimBllG4v6uOrjmCk7Porfg9fRpjzbqPs58GjjOmjT+Q2xWZMXqdui+D/a3KsdPUathaoutXU36k5K6o6ILVrpOizPagmYzx3mu9MOP7QBUd+OCJBzSQxq3fPLm4yujhpdjYOGe5kC/BdTnk23fsUBzwOeBzwPeB7w3Js8E+OK11HQzfYIj8qjPyLC51yG19iGwtAnHJ2N9pjOOHeRv4p76P8dfGkn6uf3MHVq18lU3zBopuBL+/eOL41zmuMmr5d9afwucoAv7XCEL+3/rPClrXd0YOfHPIu8E3PmorPI+Q0h6/uJnP8V+Rn4jVH1X/Zxb77eC9/0PAF+AuxF6bs2qDtmvWOl5yXx7JyI92Y0WToOV/HTCT9OUdsEfxurGWQrW+MFz+5Jk+W2chg0685b+F/k37VntmgcoH9XuiL2jdoTzXOeU9x3su6kpO4+8mkd5txGfUX8q75h0Fxc0VeK5kkco6Urxr1ExOFkY9vVTl1R84uifnljB+tOSuoOiCeb5vwogfyJ4UcXY85uqZ+fudFkabxdFT+Me4mI4QiSs8l4jrp90bcZXd1sdDUOmluhv9sC9NdAvXq27lXfgOcBzwOeBzyvlGf60sTrKOhu7BEelce43IAxpRRHsA01nzzq6OxEj+mMfkT5Jvn97pvOW+Q3wL84R51aH6l3ruk3xxdpb815o1/rBOQ5bPIi/UhFcaheHBu/Dag0/QoB86M5zz+ouvkNbc0DRgrk4FznBSVzHc4tqAOluWZwk8kLwuJTlE/P1v3N4FEyd2JOxO+ppIm/bqb+y3dVv7Nv98KaC2NpotYjit61Qd0hsanTK41fYpxuxHvD9a92+An2LzTHE9+fEPU+FvUD2qsoX8ZK9kkF+zKmB76M1V2DeVTn8LbFGZwT3NQjPHZyHlVkw9iGdh2FOjvaYzrjvi3NX7iH4P2YR0XtJ7J7Fk4Z3rhn4Vcxj/ow5lF27sUYBuq8mzEM3txKaWKPiDGwkSz/xrrqVn0Zjd6hkaR4fVE0n6iYRx13dKC0tw+U9iTq/S3a03gLeJTMtCfRmEjzKA8TRe+prvG5rX6msWtNgY6HQfPpinVHu9dZ/UfPHIOuRDuULB+j0jzf7ovWuTX2GRl9VD8Msv0t3d+eP0u6t7Z/GDSfq9D97bhPk0Xd812RvkQ7BDrqMsu3tkS6Fx19XJ3wedl3jrFl3fK3BY1R0xwPE8ifGH50MW43oq+u9IzH28DP7fXzE/VOtuzsc/Nn1T0Hep7R1ZzR1Thongv9PS9Af978Rveqrx95zvixdmsUdId6hEfl3Q5+ouYXRTaMbSjMfcrR2dEe0xnnQJpnCF9k4+jXMQeKOMeHczaN25aPYdB8P+ZA38Ac6LTRL+WhzgPOzC71t/M8LM01bkSe0pwDRc01TxXwSEyg93ykQI5h0Py/bc6BqAO7XsmxkPYk6v2180Brg9kmxAFRmIjzzxT3wZio2UkcbnVMHD6cbxhoF4er/3BeLV0Rh9sxKs3zbze8CIfbZ2T0Uf2QuKjG504TY0j34l/1DYNmvEL3Fq+cMrobg75EOwQ66jLLt7ZEuhcd13ki12+L3rlOxLTacxO9ugPGqBXHtJ4CPxF9lT7XdviJxsNBcrbs7B35s+qeA91pdHXK6GocNHdAf3cG6K+BevVs3au+fuSZcRLE86K7sUd4VN7zwE9Afy61YWxDYe7Tjs6O9pjOvPU94YtsHJ0dXeQ3ag50G+pLk+XresOgOYw50JGct7Fk+RyT6wvUeVScVtH6AuO0rFycu3EOFDEGen1Xdas+zvFHCuQYBs2pEgxF2Rg7Z/ciRb6rRfOd54JHG1MYiX/U/sJeXlxy1HynU5jb6piY+/QKMbf6D+c70lW0rSd2qfG508QB0pn4vwM6exIHVOjszgKdsY9LV3dCZwF+ltI+friDdScldQeMYXNem8pecgwTzf0rbFONbV7Mbxm+tNiE49SIobkTfIrmoRI+6eNiv4rCNEX9iphG47z0NYrfg2NOpzz96/44eFQe11LtuZD0mZ/ogG6LfOZ3gke7ntyJOCbb1lxnkF6O9qjOuM7AthZv3D8REGuw5Cyf4fzZJww/MfqZOrPS+GvajyifY0A/aNKWrK3tuQddrH7U6GocNMExZKW2zfu+SX26mD3IMatMF6cdfqLO8C/SxWmn7hp10ar7jjZ0cYfDTwCWLdXFHU7dNeriQFb389vQxfMdfp7fYV2ovpXyfHMP8LzWpOupe65l4+5qQxd3Ofzc1WFd3OXUXZ8uplv+7Lvb0MXdDj93d1gXqm+lPN/RAzyvNel66p5tYa172tDFPQ4/93RYF6pvpTzf0Yc839UDPK816Xrqnn1RVvcL2tDFCxx+XtBhXbzAqbtGXZzN6n5hG7p4ocPPCzusixc6ddc4rrZw0b1t6OJeh597O6wL1bdSnu/qQ56f34c839yHPJ/uQ57v6EOe+/Ed7IW+sdak66l79kxW931t6OI+h5/7OqwL1fedwPNdfcjzHX3I8+k+5PmFfchzL+iZ3yC4bH0kP1MPjBp+pLPE8JgYHkeR5vrG/Xl6PqlvHYLtcz/qOlO7Phbax/YX3Z8JrXvqTPbcFwXIlD33bP3Pbfn1HsyfpbiAs46uHsrTjZrb6UE8t4F6lD+M9CXrF2lFJ33IHoj3bB3zgTxN3m25+0y5cdA8gHJnTTndq60z3Y3iPY/oW+306ywOQu/yFdDFiTzN753cb/Ii7eX9hm/d3wceZS9pH+4P4qfoG46qj9/RONGjOhtHHtfqR4P4udTwc6mji6i6LzJ1X9TBus83dZ/fwbrXmbrXdbDuy03dl3ew7o2m7o0drHu7qXt7B+veaure2sG6d5m6d3Ww7j2m7j0drHuHqXuHqXsMaX53q/Zv50zd3xrjVYdiouz3nILmEWdW+t2e+8BPxDgdNLa6e7NOGJkYB8nYpahYvfsMP3ZetlKeb+5Dnk/3Ic+d2AM36BtL16b6hee7+pDnfuzPjFUZ6DmO537sz/f0Ic8v6EOeX9iHPPdjf+7HcXCARTvD82BM6QzP/dg37h3w3BGeB5i/Mzz34zvYjxipF/Sc+UHlE/3i+kh+FmIpyI90lhgeE8MjYzDug860Ljuf1BtLobq4Rv9A7fooj3V5ILTuhViKgJiHll/5wfqf2/IrP5Q/S7EUDzq6+u483ai5nRjn0EA9yh9G+l8hlkJ00ofsgXjP1j8U50Debbk7Tblx0LwI5R405XSvts509xt4zyP6Vjv9Ooul0LusWIrB+nr9dQ/W1xeePVhfj697sL6+8OxeXV9fg9/OmLxIDHrG8Kj7O8GjMGhsDOkCP6qrkT/b1j1udNWLOhtHHuMm1gfxUzR+dqLuovGzE3UXjZ+dqLto/OxE3UXjZyfqLho/O1F30fjZibqLxs9O1F00fnai7qLxsxN1F42fA5s6sKl11z2wqQOb2qm6e9mmEu+fA35qnyNN3d86G0R1KOZXdXN+FuDvbsX8aq6gq2HuU6TvBD8Rc5+g+UrLN3ufkWmNkYl7FBnze1+AnI2k2P94H9phJTzf3Ic89+qe6DKee3Xv+bdb33h+H/Lcq2cpfLv157v7kOd+1HM/9ud7+pDnF/Qhz716Nsi3W3/ux3FwgEU7w/NgTOkMz/3YN+4d8NwRngeYvzM89+M72I8YqVfOT5NP9JNjkfzUf36a4gfnk3pjflUXY0lfVLs+ymOyXxRa90LMb0Bsbsuv/FD9z235lRXjqpjfhxxdvThPN2puJ8bjNlCP8oeR/tmxRVrRSR+yB+I9I1U8Lnm35e4z5cZBcxblHjLldM+z5z6E9zyib7XTr73z07L3XO/cMPJUdi3yaE+Vp2dfiDzp5hLkSRdPQ5709F3IU3s+HXnS+RDyXpKnR5D30jx9LvK+J08/A3kvy9MXIO/hPH0e8l6epy9D3ivyNOOXX5mnL0beq/I0Y42/N09vQN6r8zTjgr8vT48h7/vzNGN4fyBPsy0fydOMt31Nnt6EvB/M04yNfW2e3oK8R/M041hfl6c3I++H8vQ25P2TPL0Vea/P0yny3pCnJ5D3xjy9G3mP5WnGlv5wnp5E3pvyNONAfyRP70Tem/P0DuS9JU8fQd6P5uljyHtrnp5B3tvy9JXIe3uebiLvn+bpq5D3jjx9EHnvzNP7kfdjeXoaee/K0/PIe3ee3oe89+Tpk8j78Tx9DfLem6evRd778vT1yPuJPP1M5P1knn4W8t6fp5+NvA/k6ecg74N5+jrkfShP34C8D+fpA8j7qTy9F3k/nadnkfeRPD2FvI/m6ZuQ9zN5+lbkfSxPH0Lex/P07ch7PE/fiLyfzdPPQ97P5enDyJONewB5worEZrLV3KOlce5FyJN9PIs82ccHkSc7/xDyZGu+G3myjy9GntbxX4I8rfG/FHmyZ9+DPI0lL0OebOHDyJPNfDnyZL9fgTyNQ69Enmzwq5AnW/29yNN49Wrkyc5/H/I0hn0/8jRG/ADyNK49gjzZ5dcgT2PdDyJP49VrkSc7/yjyZL9fhzzZ+R9CXpqn/wnyZG9fjzzZ0TcgT3b+jcjTGPEY8mTnfxh5Gg/ehDyNJT+CPNngNyNPtvotyJPt/1Hk7c7Tb0WebP/bkCfb8HbkyT7+U+TJ3r4DebLf70SebMiPIU92+V3I0xjxbuTJdr0HebL9P4482a73Ik/f434f8mSTfgJ5sis/iTyNa+9Hns4X/gDyNNZ9EHka1z6EPMWSfBh5Gtd+CnnzefqnkXciT38EeRqbPoo8nQ34M8jTePUx5J3K0x9Hnsawx5Gn8eVnkadxTTY5s32ZvdL3UGnLbzZ5a1F3mtQ7B7LfIdW96st4tN/eHEOa3+c9bPIyvgO+d9/i+7DhW/f8lrxkOIw8pdWvGihjn8XvFOsb2yMF9Q2D5vp80PG+q702Cfmefesb5Rr7NZcWb88Fj6J5TgmPfJb4vNnIS10+D7IFtPe0J9sthh/KdkuF/p8XwGNkX2f7Zc8+7cgumueNL+rpzjxN23Ub9PiQ87uuhrlPkWZ73xkgc/bcgO+htvxNd0H+FPVQJn4Dsy6ZWLf8TfZ7n8NIPzi+SGu/w6k2FO/Zu6g1ibLvd54y5bzvdzaS5d+w1b3aOtPdPehn6keZ7qK+T31HgSy3QBbRyC5l/ER9w95+s9p+w55j1IihUdlh0Ly8xGZlPwkLSG6Ot8QJAbatdLx9HnhU3s3g0cqc9ZfZfEI3ht85573Z5A3wT/vtUSf+uRE06tdl+Ec0b6oYfwPeyRb+kY/E4p/bwKNofrQC/9yO+zQpxz+3Q7YA+zftyaa2udmR7Z0V+r89gMdI28/2y5592pFdND+Ocel9wDdqt1ugx8ed33WV4R+2d4S9zZ57R/3PXXJ2u/rRHY5M/J59XTKxbuEfiyuGkf448I/FI2pD8Z69i8K/5N2WmzPlxkHzXJSzWEP3nIN8AP3sceCfqHHquQWy3AhZREP8c0sQPxb/iA/OmS3+EY2Hf/5ZBf4RFpDcHG+JEwJsW+l4ezt4VB4xmpU56y9fz53cY/idawOHTF4kjlBderbVM8e5Q8hTmvjHYqK1kDtNOoPbToNHyeDhNuKf0wXPOgUa9euRgvqGQfO/Voy/Ae9kC/9oLUm2XbzdAh5F868q8M+tuE+TxfamfqWDWyHbofplm/ZkU9sccmT7vQr93xrAY5DsU+x7wj+HHdlF828xLn0J+EbtdiP0+DXnd11l+IftHWFvg3ykTc+P+FxHJvpC6pKJdQv/WFxBH+ZfAP9YPKI2FO9cRyDvttxpU44+E/otLNbQPecgf4p+9jXgn6hx6rYCWU5BFtFw/8ThIH7s+GPn2hmN2mnE0HDeIppvVOAfYQHJTWxBnBBg26Yoi56t+1vBo/KI0azMWX95P/CPxmGuf3l+rSjbWoTriHWEZzw/ygnwPWfyMr5vCuLb+mx0fxN49LCc0vyG500FzyL+UfuNFNQ3DJqhPMCiaPwN8BMcJo6TbRdvfN9EM1LCI58lPg8bealLxnwH2Js5TzZrbyjb+gr9B2DyuU7YWuGfo47sorng/EU9XZSns3dT7XYcepx0ftdVhn/Y3hH2NshH2vT8iLc5MtEXUpdMrFv4x+IK+jAnzl+ktXhEbSjeuY5A3m25m0w5+kzot7BYQ/ecgzwN/Uz9qBNzACsL8Y9dE8/4ORrEjx1/xMdR6FHtZPEP1wxEs6vEZhFb0E9isUOkv+F4slRe3Z8Gj8rjWpaVOesvNwH/aByedeSahVxR7Vgkl+rj98+PI+84+NX/wyavl3Ebz4g9VPAs4h+130hSPAcXzXzF+Fv7HCn/9q3iBWXbLf4bBs01FfhnCvdpsrxvU5dTkC2gvQ97snn+H9E8q0L/UwE8RvZ1tl/27BOO7E/icYxLp4Fv9C5cDT3e6/yuqwz/sL0j5jdBc4Smh6NvdmQiFqhLJtYt/OPFgyj9QuAfO/arDenX9tZfbLmjphwxA9f6i3zrautMd7ejn90L/HMc5ebzdHN1l+t/kCzEP6Lh+lft3xnP+Tlh+BEfnFfb9S/RqCzXvx6qwD/CAl68CXFCgG0rHW+nwKONLRl1ZM76y7/LN34wRoX7b06YvEj8Y9tR98Q/VxsZiImI27z26FX8o/GiDP9wjUz7Ccrwj2heVzH+HqhfJ4fK8M8B8CiaN6wQ/9gxtwj/nKhftmlPNrXNCUe2N3ce/0wHyT7Fvif8c7Uju2jejnHpHcA3ardT0OOHnd91DfBPd/HPh0rwj11TaBf/HDLlVoN/3o1+9mHgn6hx6sYCWY5DFg//RMUjXW34ER+cM1v8IxqVJf55vAL/CAvQt6KyxAm9gH+I0azMWX95MfCP7Bb3Ze8zeWshS1qzXKpLz9a96sh43J+n9ZtX7rjRB22HbX+VHQbNpyvGrICxpYUZtB9wjZGfY4toPlOBGU7iPk0WcaCeOQbeT8bKNst3tAwziOZzFfoPmEfNRmKGayBj9uz9juyi+W3Y8t8BJlC7HYAe/9j5XVcZZrgaurw2QObsudfV/9wWZrge8qeohzI9EzqoSybWLcygepQ/jPSXgBlEJ32oDcU7557k3ZbbZ8qNg4Zj3XWmnO7V1pnuvoh+9sfADCdRbj5PN1d3tXR3qkAWYgbRqN6Mn/1B/MwbfsTHfujRzjOPG/6I9f99BWbQ+MkzSux4G+kjOpAslVf3V4NH5fHMFCtz1l8+lh+gwbUXnk8ybfIisZDq0rN1r/roe5iO5ecQsYjs037DzzBo/rZiDLe4RmP4fsgmmfZBtvn6ZZumf8rKNg/ZRPOfO4+hpiOx6UnImD37qCO7aP4rbOv/54zRjPs4b8Py33WVjeEnoMtrAmQOmq+1xnCOQ2my3C9L/FD3GH4tnsuxUvnDSK/bsEhrx1Q7x6RvlrzbcvtMufFkOYbxxkvdq60z3f039DP1o0hbe3WBLPshi2hoa6P8ENb2i4+yuI/9hj/GfVyY67BoDNd4xjHcjn+R84ii+IgT4NHOfUcdmbP+8t0Yw+UraKLMUZOXkR8LkuuokUv3qi/jUWf5sG1tOcl5CDR6hm1/lR0GzWRJ+2fyX1m7/FNzbNc1Rv4rwaNotpXw6PWRaSPvGOQ9HirbAh66ysi235FNNHsq9H9VAI9Bsi+ZYwgzHHFkF83UhkU9zQAT2HWz7PeTzu+6yjDDVdBlxDwvaP7SpA9F/ehqRybOgeuSiXULM9ixmP6bE8AMdgxXG4p3rt2Sd1vOxstwrnwC5ez4rHv6FefQz04CM0TFSpwokIWYQTSySxk/R4L4OWb4ER9HoEe7VrDf8Me1gmdVYAaNn16sBMfWANtWulZwFXj0YiWszC2MCcwwZ2QokiuqHYvkUn3cc8J9ULac5JwFjZ5h258x/qJ5fsWYVT/2XcAMbJc0Wb7eQ1zzggrMYN+JaSMv8dexUNkWMMOVRjYPs4nmgY5jtgXMEB0DLcxwyJFdNN8NW/4SYAIbV5P9/hrnd11lmOFK6HI+QOag+VKTPhv1oxOOTJxz1yUT6xZmsGMx/UWPADPYMdzu48veRdlu8m7L2T2BnJtfhXInTDndz+f/M909jH72GmCGqPngVQWyEDOIRnYpcr+vjUkTH4xbKxozGJMmmje0iRm4h0FlObZGzVuOJEvltfOW8WT5eDDqyNxaw8wP4M767UEjA/epUq7o2HU9e87wm/EoHMC2teUk5wHQ6Bm2/RkvL5p3VYxZ9e9dXMAMajN7JpmHa95bgRlsH5k28hJ/HQmVrXmAviCLGSibaD7YcczWPBAk+5I5jTDDrCO7aD4CW/4zwARqt4PQ4y87v+sqwww8cydiXhk0X2oSA6gfXeXIxDl3XTLxWcIMdiymv+hTwAx2DFcbivfsXZTtJu+23Jwpx7n5lShnx2fd04/5s+hnvwzMEDUfvLJAFmIG0fCMroNB/MwafsTHQeixaMxQWY4Zn2kTM/C8C5Xl2Bo1byk6u+soeLTjwagjc9ZfHgNm2GdkYNwE5Ypqx6K4CdWX8ahvHhwI5WdhDKee0mR5vxoGze9WjOG2j2oMZ3yBZOI+kqhz1Q8VyOZhqD+oGMMjzv6KnGNwrM6ePePILpovwbb+CcZoG+OZ/f6Xzu+6ysZw2sgImxE0f2x6/qNjjkzcT1SXTKxbY7jq4ZqP0v8HxnC7bqc29NZAybstN2vKcU2YPm7r89M9cfSfoZ/9JcbwKFt7pEAWjuGioa2dCeLH2n7xMQM9qp3sGM59Qk/Ge7U5hnMfnx3/IufHRfH3h8Cj3Q8w6sjc2u+NMXy/kYHfE6Jc00Fy2f1zuld9xBmMG2QMhf7PmLygPYQtvmcM3xZnMP5vBnlK81yJAwXP2gsatelIQX3DoBm+YOF/0fhbu43Iz5Ww+MfiMeKftSU8evhnyshLXcbua/axndpmypFtvEL/swE8xsi+0NfZftmz9zmyi+aiCxb1dEme5rxgP/S4xfldVxn+id43HeQPanp+Pm8vOOOo6pKJdQv/qB7l08e4+YJF2qJYLq5BCguXxYAdMOXGQUOfbtWe9Ux334V+pn4UOU7NFciyF7KIRnYp42dfED92/BEf3HundhoxNCo7DJo9JTaL+Id7CSx2iLFtC/LuT5bKa30T48nyWMpRR+asv1wG/LMjz2fcaNPkRdpW1aVn655Yx+p5LFmK1/R/2uRF4u+ivR3EOhbLdRNHBulimnrXVTZ20TYEzNVmiIPb4Yf7myKwcpCcTdqaJ5J6x2hr62eMrmjrg31vS/CXnq37snXQAc/185zxY+0cv5c73SM8Ki/W511ud9mGGo+ajs5Ge0xnPN8kYMxvEpPwrJ4zwLDN+uudaSTLzwbaa9qFZwONXrhI+2DOW5HfZa/Ji8QdqitJfExLbLQXeUqvB48B491MGTZnTIr153jYXDSvrMDm6x0dKE1M6NmpKLxe9M7NgkfJTAwShQ/VJxrJUpxNXUTjlBqfO8Pxc02Bjnne5w9V+NuqxmL6M3ludET/CfLrzNC3IJ2Jf8YCiuZNFTo7XKAz9nEbxzWULD9vN83zrZ/jiTzfPiOjj1xHDYgDmaE/yJ67R/+TaN5ZoXvrW5oxuuPeScYH7a1ftlL7Qv+QxkeOob00do4nyzEBZRvKy+3M7w/E6rVJzDKc+GMpMctHHJ/lOcnS9uAYPGOerTI7kT9jnt3BuMQz5HGNkeOow+PHK3gM6FdnIuOWaBeyZ3t7TUTzSfiDfwHrCuovO6DHf+n8rqth7lOk6buJiO8OislsvUd2r+9xR6Z56KAumVh3wzxb+dxn/JkLlvMgfagN+X0BxUZ4vKvcXlNuHDTHUK5oDz9jVn4J/exfYs4W5R8+ViBLE7KIZhqyWP+sjV+gT30k8TEx1wc+X2FbdtQvv2v/xNsO8CiaL3TJ/gXI7tq/KUd20XwR/fLfwL5ZHJL9/mXnd10D+9dd+/dnJfbP2rF27V/TlFuN/ftD9LMvw/5FnQV3rECWacgimjLfsuhp//Q+jRga7zsof1FhWwLwr2v/xNte8Ciav+qS/YuaUxXhP8oumm+gX/4t7JvatAk9fsv5XdfA/nXX/v3/JfbP2rF27d+0Kbca+/f36Gff6gL+szaK9o9xNYpdoP/Xns8ctNZQGq9B3GrPX6RNVjnNxWm3JdOIoaGvQDTr8nUMzyaOOmWzdv3qyELai2Hg+jp9x92MM5VOPf8/12m8Nbdu+v+9/TpKMz52tuBZjI+1310r84VfXtInQtYh8/hYu4fG7mfmHpqNJTzyWeLT8z1LB9xbEYABZjzZvPUs0Wyp0H+E7z/Sr2q/u9Z0ZBfNTqyr7s7T3P9DO3TE+V1XGU5he0fs6Qzy+TU53tnz9igT9/HUJRPrFk5RPdzD/eRYe+Eird3fqjbkuX4am8m7LWe/3cV9sTwnqehMRsYW70c/Uz+KHKcOF8jC9Q/RcL03Cn/Y8cdb17DzP7sezfnfyRKbxbgg7g/yYhCj9gcVxeFwf5DdQzHqyMxYlKzfTub5O1Bmn8mLnP8X7XviPlgb+8w9Q8Q/Nma21+J6u4nHg3QxvVIfI+OvAsbrA3wv2+GH8+OI2JQgOZu09XXHx1rbOmV01ekYxKI5Es9zGPA84NnjmXtbGJchuk6cY9EOj57PIWo+UzRWsA01hu5zdDbaYzrbD34CcEqTfiTub3wUuDtgH9iBhqkvBR/8dppobrhokfb1OW/EIcRKO01eJFZSXUni+/OI53YiT2nG9AaM0QfK/JJcc1d/K/NLiuZtFfOJ9Y4O7L78IjvVTV+kZCZuisK03OuYJv55DNHYqsbnHuD4uaZAx4wL/8kKH2HVWEzfcSf2gQX4mg/Q/2bPHfB8vz9dobO5Ap2xj9v9I0Ooi+MdY3e5V23IeUZGH6Sj6SC/wwH6fdqJp/5khe6tD2nK6M6Lp470Fwf4Tt3zMMvioD9VobOjBTqrioPeWb9spTZZ9RE7Enf0Et4YT5bjKMqmOOg9+f10rF6bxHnDiY8/lsTqwTdt46DtujCxjY2D3oP8KfPszsVBTy2JA7ff3z3q8PiFCh4DzohpBq2JuHEwex3Zn4wDhN//32D9SP1lEnr8svO7roa5T5Gmj+7bJQ6GMs1DB3XJxLobSRtxgBcu50H6UBuuNA5mpym3qjhA9LMvY57bqThAa58ZB+PtXVE5+63mjEbv00jizyOGQfMXFbZlsnb5ffsn3ibBo2j+qkv2r37Zy+MAKfuTcYDol38L+2ZxSCt+y/ld18D+dTkOsMT+WTvWrv3zvmstmhXHAaKffQv2LyoW9liBLN4+kDJ/vLcPrmgfCNfBn8SfuQ+xyLbUj399+yfeuFfvyT5cwWOU/YuaUxXhP8r+5Le14OM9P097Z1plv290ftc1sH/dtX9XXLScB+nD2rFu7AO5CP1M/agb+0C43tPOPhC79ujhP+ubI/7bWmFb6l/n8e2feOM6j2h2dsn+RZ11WIT/KLto9qFfNmHf7PeNst+vcn7XNbB/3bV/x0vs31PdB3LQlFuN/TuAfnYV7F+n8J93hpW3D2RHnmbsv8p0In6v6LtePDfe7mmjTVY5+SLLzlDaY57DtbJnl9jEUads1q5vxj6QwTnpT43vTpyTvhM0Kzkn/e6KcbIXzkm/t4RHPkt8euuVnTknfWFty8rmxUCI5myF/iPWiyPXlVZyTvpLMH58D3CId076a53fdZXhlME56SuXiXULp5Sdk/6DwCm9eE76K9DPXguc0ulz0rn+652T3qn9AzZOj2OUjdvi/EI0j5XYrKJz0r0Yrah9l0XjLc9J986GtDIzfjHrt7vz/L1Omb2QK2oNoGjNXvVlPO7K016MIPGP3RvS7f0rkoH7sqPm0pOGH6/uAF1Mr3SNhTG7EViF++Hb4Yfz44h4xiA5m7T1de8DsbbG7ufvdNx60RxJ9Q14HvBcxDPPzGBcmuj29QiPns8haj5TNFawDTWG7nR01okzTVeis0nwE4BTmvQjMc7qsxeF1nuA+EjzJcvHMGjedfEi7W/lvI2hDLHSpMmLxEpF/Y1YycN9SnMfSMAYvWS/jeWxbF+5lYNrNb9XMZ9Y7+jArn8U2alu+iKtrYjEtPT/pcnyuUwnsFWNzz3A8XNNgY45J/2zCh9h1VhM33En9jt3au+M+Pd8v1+t0NnBAp2xj9s9h0Ooi+Md93twT/aQ84yMPkhH072yB+cbFbq3PiT7DVtvD06QbDO9snfmmxU6O1ygs6pvEdjvuKd5vh2z7LcIiGM64fextl31EYMSv/QSbhlHHuVReigvt0M8gecInNpIlu7tIM+MeRbNuRcv8qy+o/0kO005YiQ9W2V2IH+/eXbRGlD96wsHluynsetUhx0eRyt4rL9fHWgGra20+ivtS/bsXY7sotmAucKFeZrv127occL5XVfD3KdI09cXsYcme+6x+p/b6keMCUlRD2U6Dh3UJRPrbiRL41aUP4x0infYxreoDcV7NlZofYu823KTptw4aLiGZmNXdM99kJein6kfZbrbg3Lzebq5umvJGp+VhetUT8aUQZai9STup9P7VLaeJJodFbZld+3y+/ZPvO0Gj09+G7hL9q9+2X37t8eRXTRT6JczsG/efrqTzu+6Bvavu/bvRIn9s3asXfu305Rbjf2bQz87Cfu3C+Xm83RzdZdr/7z9dKKhX3+PKeftJ5Y+7X46Yk7RPLPCttTvN/bt3x4j65Jzc7pk/6J85kX4zzur9xb0y9tg37z9dGec33UN7F937d/9JfbP2rF27d8+U2419u8O9LMzsH9RfoUjBbLsgSyiKdtPZ8+A8PDfHvMc4r8XV9iW+veU+fbP208nmpd1yf5F7aez9m/SkV00r0K/fDXsm9qU8VKPOb/rGti/7tq/N5bYP2vH2rV/e0y51di/R9DPHusC/rM2ivaPe0wU6+f5WhkH2K34NfpapTvaZJWTL5J2WzKNGBqVpU/0nSU2cdQp29onif0kFm/32vdZuIbrrT0zRsCL9+jm2rN31rbS3E8yXfCsPaCxscFl67Af6fRcJt9PonUxu+5JPC+aj5fwyGeJT2/d0+4xCVpbOeDJprbZ78j28xX6j1h3jlxXYvtlz/biSETzSxg/fhk4RO3GedpvOr/rKsMpbO+o777P1f/cJjGf3T9NmfiNjbpkYt3CKXafBvHm55y1NulDbSjeuQ5O3m0575th9lscjaR4ryb3dH0a/ew3gVM69R0PycJ5mmgYaxQ1b7Tjj42zy2jUTnb+x31govnfSmwWY1LL9moE2bbSfRcHwKNdAx51ZGYcZNZvt+X5jBudMHlrk0X7U7dcqkvPnkBaPG7N0xPImwC/+r/L5EWuXVgcq/vd4DHN07vAT9Q8IjX8eHUH6GKaetdVNnbtBj8Be/RnRlFHO/xwrhSxxhkk55JzPureT2LnJHbPGb8ZGbxfqdW37RkEuufewQHP8Txn/Fg7x29X7eoRHq1vJOgdLLW7bEONRxOOzjoRF7cSnaXgJ62fnyZ9Mnp+hkmSS0LrnSHW0NzD8jEMml+5ZJF2OE+PJUu/v6b/qcmLxB2qS8/WPXGHh6GU5t6MgPGupefdBTzSn2PP+rJy8Kyv83P9V+3NoA6UJib07FSUf7TondsHHtM8TQwShQ/VJ9SHJhxdROOUGp87w/FzTYGOuXb2jJI+xGeJTzsWc1+7aBm3rd+eSJbOw+vAZmfzi/tnVvLcsxVXTXuTp2xGAj0MIU1fV9XvHu0Uyth5+RPm/tzEP6fuSX9cSb+IGpOD/PIz9IvonbB+Y+5521fxTlgfi94JrkPYs3WCZJsO8m21dGb3eIl/xuA/uT+oQmczBTrz/PaiHQId98dpP0KC37X/g3T63wk/jR0/VB9xLjFSinSSdBcbjSOP8igtfcuHyPlDWj/Prbk292KQZ8boieaZlyzyrL6j/R8TphxxmJ6tMpPI322e3bn4v+YseVxj5JhxeLyhgseAfjUbGf9H+5I9e6sju2huwXzktjzN92sb9HjG+V1Xw9zzd/rmIr4XGbRe1XqP7L7HWUcmrv/UJRPrbuR/qofnFit9P95h0UkfakPuFZR/n7zbcqkpNw4antNpzyi030prxf+hn53BnJxz5fk83Vzd1dLdgQJZJiCLaMriSERP/5rep5HEn/MMg+bFFbZlW/3yu/ZPvG0Dj6J5WZfsX4Dsrv3b4cgumlehX74a9s3ikFbclvO7roH96679e2OJ/Uvz9Ert34Qptxr79wj62WOwf1tRbj5PN1d3ufbP2ijaP+5/22HKWd8E8fCIobGYM7veWmFbAnw4rv3bYWSl/XtHl+xflI+wCP9RdtG8B/3yvbBvatMJ6PHjzu+6Bvavu/bvYyX2z9qxdu3fLlNuNfbv/ehnH49dk3Htn7VRtH/ed0Hp39f7w7iViSC+txq+bYzKeLJ0zMgu2mTl21hCYlt7bpXKct/Kp0ps4qhTNmvXX12zkOZaEfVo106iYiNo//Vs3as+rpN46ztch/PWVLu5vmO/ZTCGNOOf9xU8awdo7LfBytY6Pt9pn3Ye/8xvuqTJ8nMcOZ59ocKP2sR9miy2N/UrHfCclgAMMOPJprbZ7cj2ryv0H+HHjvSr2nNkUkd20fwhxo9/CxyidiNO+arzu64ynBL9nY8gn1+T4536kXcmOWOB65KJdQun2LPQGMP/H4FTbOyv2pDfCdHYXLZH055t58UMN5Lis9PV1pnu/gT97KvAKVHj1FSBLMQpouF6fhrEjx1/bCxLRqN2svuo+F0e0fx1RYyFsAD3SVnsEGTbSuOE+d1N5XFPnJWZsUbcW7UZZbaYvMj5v+rSs3Wv+ojRtiBvC/jV/20mL+N7exDf2wzfut8OHiXDNuQpTfyzveBZKWjUjiMF9XGdLLl04V/R+Fu7LzvHP/bsX/FGf8uTe5tLeOSzxOcWI68Xu78WdGldsuXfPbSypfn9Fke28yr0H/Ft2hjZF/q69ZdNOLKL5vxLF/V0QZ7O3ke12yT16Pyuqwz/sL0jMF/QONrkuGX3EVIm+jnrkol1C/+oHo6HSm+6dJHWzs9sfABjw8rOKNtuynFfEde27Nk+9lysTHeXoJ+pH0WOU7sKZEkhi127ivS/2PFHfExAj2onG2PK9SXR7CixWZlswgKSm74V4oSoszImk6Xy2rMyuN9+K3hMjcxZf7kH/p9Nef4Eymw2eZG2VXXp2bon1rF6HkuW4jX932ryItcui/x/xDoWy3UTRwbpYpp611U2dtE21I7Dms2zxMHt8LMD/ERgZcpZ5z6tIFtzNioGPQirLDlDWZhC9RBTcOyvSybWLUxh9x7xrJIbgSns/F19lrGKnh+4yF/O802uvXTxGdYucd8ybUPUvoOifctc31bedvATNY4W2UmOoxo/Njs6G+0xnW0BPwFjdJMYQs9vYQhgzs3113u2YepLwYfqGwbNW69YpL0v560IJ/SanyTN02V+kqjxssz/Qrtjz1Lw/C+ieWkFll7v6EBpYrheslNF/pYoPJfmz1I6NbooslMeBo6ypUUYmLbUroFH+sSL3rVB3SE2enql8eXR/nTOXdvhJ3he1qTfgHVFvY9F/YD2KsB+TtNWt6P36LiSlca9cZ9PP/lTOa+p+wwQ67vcZXRF32Unzpss8onyvEkvJqzMv5x2gUfry41csy6yB2zDNE9vd3SW9pjOiNutfyvD/R/DnCQAz7v79ey6HNeCbsCc5OcwJ7G+c+I25UX6XItwG32u24x+uZ7LcTwKj28p4JHrJHqHRgrkYOz4r7Tp3/fW2Dn393xL3YyNlMy0J9H4QnMSD19E+PgidWzXI62OuSb4uYo1e+vTU/9h3Kp0xTEzag5Z1F6dWI8oGntYd4B9W/F6BP1nAX3sIMeqdviJPrMqEot26jy6LUZXnT4nrQizlJ3tNuB5wHO/8kw/HuMORbe1R3i0+y36ZW7VCzrj3ErzF8Yb/SfMrQLiCA42oCe7x4LxOqI5H3Orf6iYW20xeZ2ct+jeW0fw5hqcWwVg6ZaedxXwqPrYd0YK5OC6dvK0hX9VcyvqQGmuV3j2JOrczqJ3g3u1rF3+dsXq7cQOfafWHTB+rHiOEj0n4LvXDj97g/kpa5tgX3MzaDxu2d2V7I98eolN5bPEp40/LtofGbU/Zwt4S3HfybqTkrqjznGcqv+5rb7CvW4p+Oe3K0SzraKv2O8r2bNC+K2maegs6ttRRX2lk3UnJXUHtOl00J7SVl+xe0rt+ZLc1zlV0VeKzmPgN7ykK36zJ+q7J0V9RfUNJcv3h6Z5/gGjB52daflPOyRDUiBDUN+Y4V7iGp/b6nP8FlEK/vltVdFcVdHn7Lkk9jvIPAdlFjqL+PZVWZ9TfUPJ8r3TjTzfnqmiPmf5b3RIhqRAhqC+0foOW8C3w1p9zn47TPzznB3R3FDR54rO0NEzx6Ar0XZ6/b6oH9LHZNdFi+bRh4J4LJpHezoT/0PJ8v6o98f6GfX+zBqZ9P4M1s6+bdfOplezdha1hyVq7UzvS91rZ/Zbgp4NEc0h6C/AhpfaC56h1m88r2R9pJs8Kq8T53rVuT7SCzrz1kfka8nwyKNPW+Q3AMtPZ/zynL4UfHCeJ5o/fMYi7etz3sYMb5Jnv8mLjPcr+t41/Vaaa3rfu+b6SMSY00iWx76qbu9s/ZECORh79rYSLErZuBZi10eC9v+UfstyB3j0zgSMwj88CyrFffA+oGaQjlt9yq5temfxiuYnKuYudr+W/QYR4wJFO4S62G5DyfJzaoS57TMy+qh+GLSuPM15VNm6smg+WqF7O6/eb3THNWjOd/YbXWq+o/dKv0v3ouOabNCacOk7x3ludN1JSd0B/nt3j6m3JiOaX1xh39BYy7FNMm0pKWfPluO4OWJoGOssml8t4TNybC/qQ/s6WHdSUndUH+LZKinahH1INP9LRR+yuFl9iLEikmlbSTnRl/WhLeY57EO/1WZMB8/ziDprpahfdbLupKTuKF/MSs4xoS8mYL40s1JfzBz4iVp7DZAz1Bdz2Ohqi9HVOGjo1zgcoD/Pz6J71TfguTM8Z/zYmMBR0G3rER6Vtx/8RPlmiuwu2zDN0zOOztIe09kUeJSPhmf2/A38RwHxB+53Lu3Zy8OgeTf8R3/3FPxHUX7FIv8R98S16z8K8CHMeH5FOz/PaITLRgrk4D7Sf2wTi1EHZX7LYOyy5MxUPVv3xLF27txNDFlkT7yzNKL8cEU+8x3gUXn83m6AvSh91wZ1x/j4R5Ol4152Ncx9ivQM+Il4b0aTpWfxV/ETPB9rnacy49QV9T4W9QPaq6i5H+1nld4594uI81jp3C96TTZIziaxYt1zvyNGV1uMrsZBcxj6OxKgv0ayPP5J90fAjx2zR0G3o0d4tN9ai3oHyuwB21D2e4+js6ke09l+8Ki5AH2Z05ct8ht1Hrz9ttBBoz/6JG/HnGQ25404knMsG7cciS2L1k95nqONveAeOI7jUXh8WwGPXIfQOzRSIMcwaE7k+i+ak8w4OrB4lvN12pOo97dovn4IPEpm2pMofMF4ghT31EW0j7NumTR2rSnQ8TBobizpQ3yW+FT/0TPHoCuOmVF7e4vaa1cH605K6o46330lZ+kRl0dh0ZWsi0T7dyOxqMbsurHoUaOrbUZX46A5Av0dDdBfGWY5Cn7sWERctatHeFQebVE34+6tH7QIi/aCzoiX7b6ObCx5uMew6NOARV8FLGp96oxp7QQWLeoXxGGez1zpbmBRuz/Ew6JWDmLR15XgCA97F9mOqHWiovfgMHj04tmjsATPIkqT5esTnfCv1C2Txqk1BToeBs2PVuBO66uxtpXzBI6PUWuhRe0118G6kx6tO2AsmPH6k92/wP703hX2J+tr4ft/pKScjRGgvbffZTgCPkXzwTbn7OzTAescpX1a9Q0ly+d7jWTpfm/9rpjZOfOMRpdlIAZTm3NNpRN4oOhbylz3VB7jOgL2Bs94GOuI0U+MLqbOrHRtjfPYiP4TtUZGm7i2tucenPb8Md4aumjIQ9SYX7Reftipuz5dzB705tCeLo46/ETNtYp0cdSpu0ZdtOo+1oYujjn8HOuwLo45ddeoiwNZ3Ve2oYsrHX6u7LAuVN9KeT7cAzyvNel66p5r2bjjbejiuMPP8Q7r4rhTd326mG75Q65qQxdXOfxc1WFdqL6V8nysB3hea9L11D17uIFnleli3uFnvsO6UB0r5flYH/J8vAd4XluQbq7qmn1RVveJNnRxwuHnRId1ccKpu0ZdtPaFnWxDFycdfk52WBcnnbprHFdbuOjqNnRxtcPP1R3WhepbKc/H+5DnK/uQ58N9yPPRPuT5WB/y3I/vYC/0jbUmXU/ds2eyuq9pQxfXOPxc02FdqL7vBJ6P9yHPx/qQ56N9yPPJPuS5F/TM2JBrviuSn6kHVhoDJx5Gkeb6xqk8PZ/Uu1dHdZ1CXdfWro+F9rH9RffXhtY9dSZ77vUBMmXPfWb9z2359Z6VP0tr2890dPXsPN2ouZ2ehec2UI/yh5E+8V2LtKKTPmQPxHu2hn5dnibvttw1ptw4aK5DuWeacrpXW2e6m8N7HtG32unX2Vq+3uUroAvuL8mu7N0/ZfIi7eUpw7furwGPspe0D6eC+Claq+9k3UkP1j2GNPfGB6xNt3xi6reyPaqbcX2iuS1/v4riaq41sh1xZLPviyev9yzRbAGNeBwxNNeCd9HcVcJ7N/s542r47g8ly9tCcTV2HE+Twbvarbqj3kuNfXov1af5XormxRXv5XVGDr2X3jt4XUk50Ze9g9ea5/AdfHkJnzw3Q2XXIi9NOtOnVd8QZGH/GgKNftd7ae1Y2mUZeIaG2nzU8JMksfMA1aVnW92x3RnvFrAf9yx1pni364x+orDjaLKob10Nc8/fif0j+k9QmzdpE/Ts1MjEc1MYlxZgS6c8LGFt6Up5PtyHPB/tQ56P9SHP/dg3ruxDno/3Ic/92J+v6kOe+1HP/dif5/uQ5xN9yPPJPuS5H/tzP46DAyzaGZ4HY0pneO7HvnH1gOeO8DzA/J3huR/fwX7ESL2gZ8bJjF0eyc9CnAz5kc4Sw2NieGR8zbXQ2fV5ej6pN05GdV2PugJiP0rjmJ4ZWvdCnMyzA2TKnvuc+p/b8ivfkD9La2LPcXR1Y55u1NxON+C5DdSj/GGkz7t8kVZ00keap8V7tvam+BrybsttM+XGQcMYnueYcrpXW2e6S/CeR/Stdvp1tgaod5lxMlqPGcX/601epL283vCt+23gUfaS9iEi5qyRFK/xqb5x6OW6HtXZOPIoj9JDebmN+f2RWL22bAnXp8kzz2kRzQTeZ/XZc5Kl7cFzYraZZ6vMRuRvM88uiku5tnb5Z5a8n2uMHNc6PG6t4LH+fjVzJkb2hf76TMiYPXvSkV00uy5f1NOePM33axP0eNT5XVc7OOfbaUymTL0wJh8pGZPVhisdk6835VYzJjfRz45ifL4O5ebzdHN115K4XyvLfsgimp2QZacpJ3rGBOl9GjE0KjsMmpMVtmVT7fL79k+8bQKPT845umT/6pfdt3/XObKL5tnolzfAvlkckv1+t/O7roH96679u6vE/lk71q7922/Krcb+nUY/uxv2bxLl5vN0c3WXa/+sjaL92wtZbEyk6Gn/pM8RQ0PMKZozFbZlb+3y+/bvOiMr7d+DXbJ/9ctejv8ou2hein75Mtg3tel+6PFR53ddA/vXXfv32hL7Z+1Yu/Zvpym3Gvv3SvSzR2H/ovwKzyqQ5TrIIpomZGmacqIvw3/XmecQ/z1WYVvq/1axb//Em/eN8Dd3yf7VL7tv/653ZBfN29Ev3wH7pjbdCT1+2Pld18D+ddf+fajE/lk71q79u86UW439ezf62Ye7gP+sjaL9m4Ys1tcpeto/6XPE0KjsMGg+XmFbpmuX37d/1xtZaf8+0SX7V7/s5fiPsovmn6Ff/hLsm9qU+7Q+6/yua2D/umv/fqPE/lk71q79a5pyq7F//xz97LOwfztRbj5PN1d3ufbP2ijavwOQZdKUEz3tn/Q5YmhUlmsrX6iwLQdql9+3f5NGVtq/3+2S/atfdt/+7XRkF83vo1/+obO+0YQe/3yw/tGz9u8/lNg/a8e6sf7xJfSzP+/i+sckZBHNLGSx6x+ip/2TPkcMDdc/RPNXFbZltnb5y9c/ZsGjaP6mS/avftnL1z8ou2j+b/TLv4d9U5ty/aPx9OW/6xrYv+7av+Tpi7R1rX9MmnKrsX//D/qZ+lGmuybKzefp5uou1/5ZG0X7txWybDXlvPUPi/92mucQ/63NZS2yLfX7P337J944RxfN+goeo+xflO/X2j/PPyGaC56+qKeLYN/UppPQ46Tzu66B/euu/ZsosX/WjnVj/eNp6GeTsH+dwn/WRtH+bYcsdv1D9GXrH6Lx1j92VtiW7bXLX77+sR08imZvl+xf/bKX4z/KLppp9MsDsG9qU65/XO38rmtg/7pr/06W2L+nuv6x1ZRbjf07hH52Nexfp9Y/rI2i/dsNWXabct76h8V/TfMc4r9nVdiW+v2fvv0Tb5yji+bGLtm/KN9v0foHZRfNreiXt8O+qU23Qo8POL/rGti/7tq/MyX2z9qxbqx/3Il+9kAX8J+1UbR/+yCLXf8QPe2f9DliaLj+IZqXVNiWfbXLX77+sQ88iubhLtm/+mUvx3+UXTTfi375fbBvalOuf/yw87uugf3rrv17rMT+PdX1j92m3Grs32vQz34Y9m8rys3n6ebqLtf+WRtF+7cDstj455WsfzD+WTRvq7AtO2qXvzz+eQd4FM07u2T/6pfdt39bHdlF8+Pol+9z1jd2Q4+PD9Y/etb+fbzE/lk71o31jw+gnz3exfUPL/55F2Sx6x9e/LP0aeOfuf4hmv+pwrbsql3+8vWPXeBRNJ/qkv2rX/by9Q/KLppPo1/+z7BvalOuf/yO87uugf3rrv37QsD6R53xz7+OfvY7sH+7UW4+TzdXd5XGP3vrH3OQZc6U89Y/LP7bap5D/Pd7Fbalfv+nb//EG+foovmjLtm/KN+vtX+ef0I0f4J++afO+gbjn78+WP/oWfv3VyX276nGP9e5/vEV9LOvdwH/WRtF+3cNZLHrH6IvW/8Qjbf+8XcVtqX+74GVr3/w+4mi+WaX7F/9spfjP8oumv+CfvmPsG9qU65/rHvG8t91Dexfd+3f2mcs0ta1/jFnyq3G/j2BfqZ+1Mn1D2ujaP9OIW8iT4ue3zHUb5G49ZTh+5TDt/LKvmWls7hotyXTiKGh31I0l+Rt5NnEUads1q471yykeYbcLpTZZvLWgr80qVePRefzqb6Mxz15mmffKT0FvudMXsb3oSC+7fxD94fAo2SYQ57SM/n/BsrYZx0Ejc5XHymobxg020r6xFrQpUltOpnJeDySP0s2WLwdBo+i2VXCI58lPrcZealLntMX1d5WtoOGH8rWrNB/wDfFpiJlZ/tlz97jyC6ag89Y1NMccIjeBZ5Tcq3zu64ynML2Phakyyvrf24LpxyH/CnqoUxXQQd1ycS6hVNUj/KHkT4FnCI66UNtKN6zd/FonibvttwWU24cNEdR7kpTTvdq69bZdOhn1wKn1D8HWNDd0QJZDkIW0cguRZ6dscfwIz54rqnFEaJRWeKIG0tsViabsIDk5nhLnBBh28rG2yPgUXk8r9vKnPWXhy9bSBP/7ECZXSYvsl+pLj17l5GB+GcX8pQm/tli8tZCJ2nNfG8xfHtYx8NyShP/zBU8i/hHY81IQX3DoHmgYvwNGCdnOE5aX643Tj5UgX8O4z5NFtub+pUO+O2dqLUqK5vaZpcj28s6jz+nImVn+2XP3uPILppXYVx6teOHIf557Cn6adjeR4N0GYCrmhzb1Y+OOTIRp9QlE+sW/lE9yh9G+o3AP6KTPtSG4j17FzUOkXdbbs6UGwcNz+0+ZsrpXm2d6e4R9LPHOoB/jhTIQvwjGtmlbuMf8VGGf0Tztgr8IyxAf5PKEidE2Lay8fYweFReFf6ZBv6ZccrsN3lrUT6tWa6ib9urvoxH4Zn9yGO/Et+7TF5k7FoRbtsBHstwm76l3UAZ+yziH9uXbX3syx+tGH8DfHlnieNk28XbFvAomscr8I/FhBanU5fB860ZTzZrbyjbL1ToPwCTz0TaWrZf9uwpR3bRfArj0q8A36jdZqDHzzu/6yrDP2zvKCwZMI9t0o+gfnTEkekYdFCXTKxb+MfiimGkfxP4x+IRtaF4z95F4V/ybsvtMOXGQXMI5SzW0D3nIL+GfvZ54J+ocepQgSzEP6KhP2QqiB87/oiPKehR7WTxD+ctovndCvwjLEA/icUOkf6GmWSpvLpnnITy9oBHK3PWX/7maQvpMfy+FWWmTF6kbVVderaHdSTXFPLYr8T3PpMX+T7sM3zrnrhNMuxDntLEP3sKnsX9HjaW2dbHWOY/rxh/A9aEz/KdlG0Xb4y3Ec3XKvCPfb+njLzUZbC9mfZkU9tMObL9dYX+A/w005G2lu2XPXvGkV00f4dx6T8B36jdDkKP+uAcf9dVhn/Y3hHz/aA5QtPD0VscmYgF6pKJdQv/qB76kJX+b8A/duxXG9KvrTM7yLstt8eUI2bg2S5Fc33Gyv0D+pn6UeQ4tb1Alh2QRTSySxk/M0H82PHHzi8yGrXTiKHh/lrRrM11WIR/hAU8bEGcEOWDPpgsldfimvFk+Zx01JE56y+PAv9sNzLQr9UJuYr6On0mZetIKfjebfIi8Y+Nv9U9x2fJsBt5SpfhH9EQ/+zN0yMF9Q2DZmNJX16bhHzP5izfSYt/+D0b0UyW8Oi931uMvNQl7U1Aex/0ZNth+KFsOyr0H3CewMHIvs72y569zZFdNHuvWNTTfuAbvQvbocfjzu+6yvAP2zsiLj8IS7bwzzTkT1GPN2bWjX/4/QjOqfm9AaWvvGKR1s691Yacj2rMIe+2nI1Z4Jyd6zZFc2KecTGDfnYc+CcqTnV/gSzEP6KRXcr4iTo7zsbNig/iSDtnFo3Kct5ybZv4h3HCKkucEHVWStF4uw882jNwRh2ZW/OySxfSY/h9J8psM3mR518UxT+rPmI0L/45Bd/e+ldU/HvR+hexju0zRetfuwuexZh4jTUjBfUNg+buivE3YJw8y3HS7mXyxsl7K/DPXtynyWJ7U7/SwV7IFrX+b2Wzc1LKdrbz+HMqUna2X/bs7Y7sonkJxqXvAb6xmD77/bXO77rK8A/bO2K+H4Srmhzb7XmvlIk4pS6ZWLfwj+qhH0/pHwT+EZ30oTYU7/TFkndbzp7VNQ4anu1mz/a13wTMdPcK9LPXAv9EjVP7CmShL8vzR0fFX1h/lI3F4RhlY0Z5vq5oHqvAP8ICkpvjLXFC1Ldii8bbveBReZ4vh/OujwH/bHHKWAzSSRy7zfCb8Sis4OGfUfzfYfIyvqPOLt1h+LY4kriNMStKr8//N5Ll33LhOyMa25dtfezL768Yf2v35U3df4Y4TrZdvHG9WTQfrsA/FhNaTE5dcr4VgAHOerKl+b03l/pYhf4j1h87sUdB+GezI7toPoFx6eeBb+z3ObLfP+P8rqsM/7C9o7BkwDy2ST+C+tE+RyZ+57gumVi38I/3rWGl/wXwj8UjakOu6wv/ln2jeacpNw6aPShXFFvAOcgvop99BvgnapzaUyBLClnsmljGz+Ygfuz4Iz44r7Yxo6nhj3F7n2/T/0M/ibdOFOVvKFon4n57i3VGk+UyZ/3lHuCfXOxkE8pMmLxMrqgzkFSXnq171TcGGSaQNwF+9X+zyYv0h242fOuea3SSYTP4iXofJg0/Xt0Bupim3nWVjV3cGxEwXs+sdC81Y/ci5o5BcjZp659I6h2jrW21vi7uB9kO/UXNdYvmSJzrDniO5znjx9o5zpc39wiP3vw9am5QZHfZhhqPJhydjfaYzibBT8CY3+SZPHp+hkn+KzDsRP31zjRMfSn4UH3DoPnIxkXab+W8cUwn7tho8iJxh+pKjAzEHZJnI/KUXg8eA8a7GQ+rqm7Vxz45UiDHMGjW5j8WYfP1jg6UJib07FQ3/XqSmRgkCh+qTzSSpTibuojGKTU+d4bj55oCHQ+D5pKSPtTOWEw/LOe3Ef0nyG87Q1+WdCb+PT/qMyp0tqtAZ+zj0pVoh1AXx7uhZPl6whN5vn1GRh+ko+mgOfwMfSjWP+yt4W+r0L31x2wxuuP6uGgz2TbWL1upfVF9xEEcQ3tp7BxPlmMCyjaUl8s/Eb0EXwbotUnMMpz4Yykxy9zGRZ7V5uckS9uDY7Dd16oylyN/i3l252JKZprkcY2RwzvD4GgFj/X3q5lmjOz+vpvUkV0088CrJ/M0368roMfTzu+6GuY+RZq+m4g4t6B4jlY/YuxkinooE+Mj6pKJdTeSpfGd/A6x0jfjHbZxoGpD7o3UmgB5t+U2mnLjoNmLckVnUTD2+1r0M/WjSP/w3gJZJiCLaOj7t/5Z0TM+NM3TI4mPiYdBc0eFbbmidvl9+yfergCPorm7S/avftl9+zfpyC6a+9Avz8C+WRyS/f5K53ddA/vXXfv3ihL7Z+1Yu/ZvwpRbjf17EP3slbB/KcrN5+nm6i7X/lkbRftX5lsWPe2f3qcRQ8P1UdE8UmFb6se/vv0TbxvBo2ge7ZL9i5pTFeE/yi6aN6BfPgb7pjadgB7f7fyua2D/umv/3lVi/6wda9f+bTblVmP/3ox+9u4u4D9ro2j/uBdYsQv0/6Z5mnENE0F8p4Zv3RO3Kk+6o01WOc3Fabcl04ihoa9AND9VYhNHnbJZu44PL6S9GAaur9N3HBV3XRT3wv1B0qnn/+c6jbfm1k3/v2Tw4noZH7u94FkbQaP3YaSgPvrCf6linKx9HTKPj5Vv0vqeiTdE888r/J82ZtjzPXv72AJ8izOebN56lmg+U6H/CN9/pF+V7Zc9e8KRXTSfxfjxm8AhajfaoT9wftdVhlPY3hHxeEE+vybHO3uGAGXiXpm6ZGLdwik27pR73H4fOMXGq6oNvbMgyLstt92U8/bUNJLlax/2nKlMd7+NfvYHwClR49SuAlm4/mHPto/EH3b88dY17PzPrkdz/ve/V6zB2/nlaOLHIEbtRymKw9kJHpXHvT5WZsaiZP12XZ5/BcpsMnmR83/VpWdvQlo8SoZNyGM8r/5PmLxei+vtJh4P0sX0Sn2MjL+KitedXAE/nB9HxKYEydmkrX8iqXeMtrZ10uiq0zGIRXMk1dePPPMbh4wXEN1Ej/DozYWjcHZq+NE921C2fZOjs9Ee01kKftL6+WnFmo6ZurLxfXTTYr2b6q93umHqS8GH6uPa4ls3LdKen6c5PnIMHzN5kWO46kqMDBzDiTn0X2nGmgaMHdMe7lPdZfvArBxcQ7g8F6gq1pQ6UJr4yrNT3fSRSWaO51FYS31C78EmRxfRY36Nz53m+LmmQMeMV95e0ofaGYvp0+zE/qQAH+g0/ULSmfj3fJL7KnS2o0Bn7ON2X8NQsnw/RprnWxugWFP6YkW/1tzP5+nm6q7Sd0X1cUxP8/+9Ng6MJ8vHN8pm4yaJlQL02uT4O5z44wLH35ObFnlW31HcpF1H4pijZ6gM4yYnzbM75mtvTi+JG11j5PDW9q+t4LH+fjXdjJF96dk4NmaWsovm2cBeN+Rpvl/roMe7nd91Ncx9ijTn9BHnCAf5uVv9yMas73Zkot+4LplYdyNZeiYc41+VvgvvsF0zVhvy7Dj5Bcm7LTdmynGteSfK7TbldM+9FqfRz+7G/CNFufk83Vzd1dLdzgJZNkEW0UxAlglTTvSMG9f7NJL4+G4YNGcqbMu62uX37Z94WwceRfNgl+xf/bL79i91ZBfNS9EvXwb7ZnFI69x053ddA/vXXfv32hL7Z+1Yu/Zvkym3Gvv3SvSzR2H/omLndhbIMgFZREPflHcein7nek/U3LkoboR8e/Efdm+T3aNEPG7jhhhPKJq3lNjEUads1q6/f85C2lvb4boD/QDdOg+FvivPl0Ofm+c/7aYvxztrRmnGDW0teNYYaOw+7DK/xvsrxsnafcp53BDPbkyT5XFTHM8+XOFHsLFUnh/BxhJFrQ16snm+SdF8rEL/EX6cSL8C2y979iZHdtF8AuPHzwOH8D3U759xftdVhlPY3hFxCkH4p8kxWP1olyMT8URdMrFu4RTvu29K/wvgFBvHk+ZpnpeuOTt5t+XsOeveWXSNpPgMWcbu/SL62WeAUzp1jh3tkGQRDX33AetW7vjj+fXSPG3XU+x+4uz6fMV6irAAY3JUljghKk43TZbKq/vt4FF5jIG2MnNdMfvt/GQxrTJXmLxI/Ku69Gzd80wYG9vE8wCJf2wsUa/FO0W+D0VnBmyK1cX0SufYKfgJGK8Pjpr6qvjh/DhirhQkZ5O2vu64IWtbU6OrTseTFM2RVN+A5wHP3048c19Ymv+nX2JTj/Do+Umi5mBF4xvbUOP+FY7OOnFuz0p0thH8RJzJk8m7wdSVYb9GulhvwHkIBxumvhR88DwE0RyaXKRdk/NWhO9Sk9fNOOwxyJUiT2nGlEXgnEayfA1Mdau+jMbuwbRycA/mhvzHqpgy6kBpYu/NJi/ynWvnfOs0T9O2R+Fw6U59aIPRRZGd8uYuUXP5orkLz2pQ3gbwsyGIn9Twkw7qfrLuABs9zbFBV8Pcp0hzPSnivaHPoR1+gufTTW99LfJ9TI2cuv8OOxP/ANew2uFncCb+0ivTlfXTevsaRDM4X37Acy/zPDjHfzk/qeFH92xDje0Tjs429JjOUvBofdbZnPC2dJHfgLneAc7b2zlv/x8nFmnvyHljPMYGyJOavMh5h+rSs1OjyzGjP+UpTYwX4I844M07VDfjg+weKCsH90CdyX/05qvevI/r7MHnybfaxMa1eOfo2DiWSJyp9ld/mXB0EYCjmlF4MZNjJTE3D6cL/9uNucnJ3Zgmjo8R/SfIPrd0Zs8AsvaZZwB9X1qus50FOmMft2f3B8k2HRS30tKZjVsR/943Ux9Ny3W2u0BnO6Aze+b+ULI8DqSR59s4Vu0Rs8/I6IN0NMO4nRqf29K9YnltzBDji0XzI+nC/yLd29jh1OhuDPoSbaT/ssgmb+lg3UlJ3Wn9dR/02tSud7FNfyzPbLdN7ToZx9l24sh5HkWap+0eEp41JZr3lfBJnxL7VdSZ1EX96grwIz65RqbfO4FZi2J/Njk6mwA/0espatO9Rj8xupg6s1J/LH2SEf0nyq9Ke7K2tucebMUn21hLb92F45N4iPomRtEayx6n7vp0Mdvqx/va0MU+h5+Is5LLdLHPqbtGXSz5lnaZLvY7/ASc71yqi/1O3TXqooWjmm3oounw0+ywLsq+TV7G854e4HmtSddT91zLxk21oYsph5+pDutiyqm7Pl0s7JudbkMX0w4/0x3WhepbKc/7e4DntSZdT92zh7O6Z9rQxYzDz0yHdaH6Vsrz/j7keaoHeF5r0vXUPfuirO4DbejigMPPgQ7r4oBTd426OJvVfbANXRx0+DnYYV0cdOqucVxt4aLZNnQx6/Az22FdqL6V8jzVhzw3+5DnPX3I874+5Hl/H/Lcj+9gL/SNtSZdT92zrf36c23oYs7hZ67DulB93wk8T/Uhz/v7kOd9fcjzwT7kuRf0nK1nTOTpIxOR/Ew9sNL9wOJhFGmubxzK0/NJvfHdqusQ6jpcuz4W2sf2F90fDq176kz23KMBMmXPPVb/c1t+vSvzZ2ld+Jijq+N5ulFzO12J5zZQj/KHkZ6bWKQVnfQheyDes/XnI3mavNtyc6bcOGiOoNwxU073autMd3vxnkf0rXb6daYHvcs8u0Hrqtzbd8jkRdrLQ4Zv3c+BR9lL2odDQfyorkb+bFs394zt7VGdjSOP8ig9lJez33EM0uuSb5QNG54nkS+aG/E+q8/qbOUJU459354JxbOV58yzi87Dqn+t/WCTPNqzRTc5PN5SwWP9/epgMzK25DBkzJ69zpFdNM+bWNTTnXma79f50ONDzu+6GuY+RXoOuvx2GZMpUy+MyQ+WjMlqw5WOyYdMudWMyfegnz2E8Xkvys3n6ebqrpbujhTIMgFZRMNz4+2eatEzLk7v04ih4bn1onm4wracX7v8vv0Tb+eDR9G8qkv2r37Zffu315FdND+Afvka2DeLQ7Lf3+L8rmtg/7pr/95cYv+sHWvX/k2Ycquxf69DP3sL7F/U+eJHCmThOQei4XfL7T4Q0dP+6X0aMTQ801w076ywLfXjX9/+ibdD4FE07+mS/YuaUxXhP8oump9Ev/wA7JvadAJ6/KTzu66B/euu/ftEif2zdqxd+7fZlFuN/fsp9LNPdgH/WRtF+8c9RetMOdHT/kmfI4aG324QzacqbEv9Zxj79m+dkZX271e7ZP+ivjNdhP8ou2g+g37567BvatPN0OMXnd91Dexfd+3f75bYP2vH2rV/20251di/z6GffRH2bwLl5vN0c3WXa/+sjaL94x5Juz9T9GX4z367ifjvjypsS/37vX37J944RxfNH3fJ/kXtdbf2b8KRXTR/hn75Fdg3tSn3mH/D+V3XwP511/79TYn9s3asXfu3zpRbjf37j+hn3+gC/rM2ivaPZ5Tq3HfR09fDM+GjzrqfMHzrnrhVeWX7ebUWU+a3vNw8h37L/1JiE0edslm7vuechTTPhOH5I6nJi1wDSZOl+tB9u2fC8CybLSYv6KyQtr8tJBm8bwtprbmRFH9biGfOrOTbQusml+qBV9BZIK09nSs552SshEc+S3ymRt6ibwul9cvmnuHC84esbBdV6D/AJh0Ikt39ttCEI7toLptc1NPleZpnGk1Cjzud33U1zH2K9ODbQiuXiXULp5R9W2jH5CKt3beuNuzmt4U2op+pH0WOUzsKZNkIWUTDs0mi5o12/LHnwWU0aqcRQ8NvC4lmqsRm8YxDflvIYodIvDWZLJVX98RbyuM51VZmntfnff+G+IcxnlHtqLr0bN0Ty/L8DOWl4Ff/J01e5Ny1qD34TUjJMIk8pfltxc0Fz+I55fbMPVsfz9y7rmL8rf2sovzbino37Fo+3zfRPLsC/1hMmBp5qUuey5fWLVuO7axs9rsClO10hf4DMPnBSPzD9suefYUju2iei3HpDuAbtRu/O/Gg87uuhrlPkWZ7R9jb7Lk76n9uC//Yc/12ODLtgg7qkol1C/9YXMEzBc8C/1g8ojYU79m7KPxL3m25zabcOGg4/7dYQ/ecg9yNfvYg8E/UOLWtQJYNkEU0jJuNOjvMjj/2+y0ZjdppxNAwtlY0D1fgH/v9Ce8s4Eh/Q9G3hbaCR4sBRx2Z+X2drN9elCyVm99jpB8lKv5FdenZ1q/nff9xLFn6LUj9t9/jWZv01jchI98Hux7u1R2gi+mVfheD35RKg/jZuAJ+UvATMXcMkrNJW/9EUu8YbW2r9XV1+rtqqeFH99zr0G8889xI8cq55xU9wqPyOMalQfwU2bAU/Mi2jzk6G+0xna0DPwHjZ+v7eReburLx/aOTofVOc9wWjrd8DINmcvMi7eM5b2MowzF8ncmLHMOL+hvHcA+PKM3v5wWMHdMe7rN7hNgnRwrk4Pm/n6rAuesdHShNfJWavG77yKytiMRa6hPibczRRVp/3c0gHU9z/FxToGP6in+jwndVNRbTp8m5YkT/CfKBtnS2xehM/Hs+yd+u0FmVP5/+PtEOJcu/MZvm+dYG6Lx90fF96cT8zr4rjG+Tred40EvjwHiy1P5LHqWH8nKKtSBWihj3G9BV2d5R0fwpfFnqO9o3PGbKcczRs1WG+4Y3mmd3zNeen61qv98rObY4PH6lgsf6+9V0M0b2pd+TVfuc78gumq/CT/g1+JvVXy6CHr/p/K6rYe5TpDmnj/rOTICfe8m3CO3+I8pEv3FdMrHuRrL0OzXKH0b67/EO2+/ZqA2fjK1JFv2C5N2Ws7Gj46DZinI2Fsfutch093X0s29i/nExys3n6ebqLve7VdY+j4OGPuHzTTnRT4BG+hwxNNyXKpp/rLAt9WNQ3/6db2Sl/XuiS/YvCn9b+3exI7tozsHcc02epo+b8+aLnd91Dexfd+3fRZsXaavsWLv2b8yUW439W4d+pn6U6e4ilJvP083VXa79szaK9o++KdkA+s9svEXknn87N5x0+FaedEebrHLCorTbksnGTassfVLp5qUy8xp1ymbt+hzETds5P9cdor9FTvuvZ9u1SPpEPF8OfW6pyeu2L4c6U57SjBuaKHjWxaCxMXC2viUxcCV9IsSnnMcNce9imiyPm+J4drCERz5LfHp+hDRPM24voL2nPdkuNvxQtqMV+o/w40T2dbZf9ux1juyimcf4cRI4hO+zfj/t/K6rYe5TpIO/oRr2LXqOwfZ7oN73tevGKTx3g7iF52gofTNwiuikD7Wh921d8m7L2W/+ebHGjaT4m9aM3bsW/ew0cEqUb21LgSwXQxb6ScTPWBA/1tcnPqyfMrtGDA3XtkRzZ4nN4hqvF19MnBAVp5smS+XVPc+XUR6xQdm6YqarS/N8+mw3mLxIHLnByKV7xgrZ2KaxZGmck/7bWKJei3eKfB+sP8SrO2INeaVzbK6lR8UxPVWfZ9T3LQPkXHKeZd1xQ6nRlbeOIppOxJMUzZFUXz/yXLT3mXO8XuDRmwtHYYwiG8Y2lG3f4OhstMd0dj74CRg/W3FDl5m6svH9bZtD653muC0cb/kYBs36LYu078x5G0MZjuHnm7zIMbyov3EM9/CI0owbChg7pj2ca9cH2CdHCuTgGsIHKnDuekcHdk2myE5100dmbUUk1uJ+tjRZ7ovtxJhf43OnOX6uKdAx50o/V+G7SnGfpcvi8VLoLCpueyJIZzbWSvx7fqFfrNDZZIHO2MfTPC1axgel+J/lWxuguCHRcVzoxPzOvitcJ5Ct53jQS+PAOPIoj9I2bohYKWLcb0BXNnaEa6ei+S34stR3FDfk7bey/hGVYdzQOvPsjvna83Vz+jMox6TD4+9U8Fh/v1pYN69f9qVnFql9LnJkF82/hp/w9+BvVn+5FHr8ivO7roa5T5HmnD4iVirIz93qR1z7TVEPZaLfuC6ZWHcjWbo+zXNalP4y3mG7jq025Jk69vxVr9z5ptx4svwczkayfI1a94yb/SP0s69g/nEZys3n6ebqriWxI1YW7mPlHnvJYtef7ffUMhrp0+435fqzaL5WYVvqx6C+/bvIyEr79/Uu2b8o/G3t32WO7KL5v9Av/w72zeKQ7PcnnN91Dexfd+3ft0rsn7Vj7dq/DabcauzfN9HPnoD9uxTl5vN0c3WXa/+sjaL9S5GnNR36z1SG6z1RdtvaX91fBh6VJ93RJqucjdEnHrdxQypLn9R5W5bqgdeoUzZr1wvOWUjTL0SfiPWTRMZOVu0Tp0/E8+XQ5+b5T7vpy/H24CvNuKFNBc+6DDRpnh5Jqv0aTy/pEyE+5TxuSGOV9SOk4FE0m0p45LNU3vMj2FiiyP2lVja1jXd2/9YK/Uf4cSL9CilkzNKeX1Y0u+Aj35OnGRdEf/tR53ddZTiF7R0RpxCEf5ocg9WPtjgyEU/UJRPrFk6x8Tg8M+vIlkVaG8ejNuQ5spqzk3dbzp4/653R00iKz7Jl7F4T/Uz9qJPn+0gWjveioe9+QxA/1tcnPujXs+sp3tqWaK4usVlc4/XOMiROCLBtpePtBHj09oWXrStmfAsfXYAyl5q8yH1DFg/aOCauL16KvEvBr/5fZPIi+18R/iWelAyc0ytN/LOh4Fn0d6j9RgrqGwbNnRXjb+2+7Bz/nJc/y/py+b6J5p4K/HMe7tNksb2pX+ngPMgWME+b9mRT21zqyHamQv/nBfAYOUdl+2XPvsyRXTQPYVx6MfCNdHE59PiI87uuMvzD9u6nWC/Odez6LGVKoYO6ZGLdwj+qh3MopX8A+Ed00ofa0DtbjbzbchtMOe9snrKxTm2d6e5l6GePAP9EjVPrCmTh/la7h7uT/hfxwTmz2snum6X/WzSvr8A/wgL0N1nsEGTbpiiLnq3788Cj8hgDbWXO+suvDy2kx1B+CGXONXmZXCNBcqkuPVv3qo/v1rnIOxf86r+31t4p/G3XbcYgQ1nMlYd/bMxzRnMB9OLVNwya91WMvxfUrZMc/1yYP8vinwvAo2g+UIF/LsR9miy2N/UrHVwI2c6tW7b8vGkrm9rmXEe2j1To/8IAHoNkn2Lfs/vGKLtoHse49HMOviGO/LWniH/Y3hHjXfbcS+p/bpPzPfWjSxyZngYd1CUT6xb+UT3EsUp/GvhHdNKH2lC8cy5C3m25DabcOGi4t/oSU073autMd7+AfvZrwD9R41TRejvxj2gYL92pWC8bg885W9m5IaL5bAX+ERYg/rHYIci2TVEWPVv3F4JHyisercytNc7cuHjnKY4mi/iBa8dRuE516dm6V30Zf+vBm/JGIY9+GzF5Gd9DQXyPGL51PwQebXsQE+VLkK1+OlTwrHNBY/0/tj7Owb/Uef/PWeI42Xbx5u0l+NMK/GMx4aiRl7rkORm1t3eO7axsdo5A2f5Dhf5rx+T/g8fIvm79P+sd2UXzNYxLfwl8w/dZv/+D87uuMvzD9o6wt0HnxCw5J9DGe1GmS6CDumRi3cI/FlcMI/2fgX8sHrFz6uxe+Je823LnmXLjoLkA5Yp865yD/DX62T8A/4yi3Hyebq7uWjIHsLKcC1k4RxU/UbFz6w0/9A1IjyPghzQqOwyab1XgH2EByc3xljghyt9QNN4yTpS4R/+tzFl/+SDwz7ngXWXWmbxI/FMU/0N7afVMnxDxj8VEayF3mnQGt60Hj+wrylOa+Gd9wbOGQGPPkrL18Sypi/JF/I7F8ub4Zzx/lmw7dSEeRfO0Eh75LPFpzzinLschW1T8j5VNbbPOke2KCv2PB/DYiTMihH9GHNlFM7l1UU9b8nTWTmq3c6HHGed3XWX4h+0dYW9DfKTNBfxj/YgXODLRF1KXTKxb+MfiCvowp7cu0lo8ojYU7/TFlp2Rt96U83wmHtaway+Z7nagn6kfRY5T5xfIMgRZvPWHKJ+sxQPig3Nm8TFiaFR2GDRHS2zWeLKIBeiLoJz6H2DbSsfbcfy3vpNRR+bWuYkO/hl2ygxDrijban0fdlwh/uHcfwjyiO/zTF7kfKDIH0es42E5pYl/RguetRY06ncjBfUNg+Z0xfhbOybM8Q/n9mlSjtFur8A/Y7hPk6Xrs0myVJeMv4vygVjZ1DZDjmx3dRp/5mN2lOxsv+zZnu9RNPdiXLof+EbtRvzzCud3XWX4h+0dsd89CFc1ObbbNWLKRJxSl0ysW/hH9XB9U+mXA/+0sxatcYi823L2zJ/xZOn6hcpVnSWX6e4s+tkrgH+ixqnxAlnWgn/R0H5HrcfZ8Ud8jECPjCUhjcoOg+aRCvxDfKD/FjtE+ruK4mS4/qg8rmVZmbP+MpobFxtrk13W7tCu1nk+W/aMc8CTLtrUcwx/a8FfjbxMUd5zkuU6uMDRz4j5T96TAnnsM5geSpb6e+zvXt6oU88FTp59N/hb0X12Teb5lofJZOm63TnJ0v0RpKd8k8lyGRsm7T2nXTn/O1kYsO1S9BQA","debug_symbols":"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MaPdUcwfv6PY9vhYUA/p+4J2tAUltAVltAUVtAVVtAU1tAV1sAV9+o5i2fb9vqCyle37ggLagj68U5e6P46OUmv8vqAdbUEJbUH50wvqzwW1vX9fUEFbUEVbUENbUAdb0KfvKJ4vKKAt6NM7dXs84Hf7v/sPC9rRFpTQFvThnbpuId8XVLe2f1/Qh3fqGrbwWFAo+fuCKtqCGtqCPrxT11r7Y0Etl3+/oPLpO4rnC/rwTl1bf/5X1nv4vqCItqAdbUEf3qnb3h7Py7a2//Zf2c8b+3MbfRrw++LzyosvKy++rrz4tvLiO/TiX74eXT59V9N28WHlxceVF7+vvHjsE/Zk8dgn7MnisU/Yk8Vjn7Ani8c+YU8Wv/IJG1c+YePKJ2xc+YSNK5+wn74TbLv4lU/YuPIJG1c+YePKJ2xc+YTdVz5h95VP2H3lE3Zf+YT99F1u28WvfMLuK5+w+8on7L7yCbuvfMKmlU/YtPIJm1Y+YdPKJ+yn7+DbLn7lEzatfMKmlU/YtPIJm1Y+YfPKJ2xe+YTNK5+weeUT9tOzE2wXv/IJm1c+YfPKJ2xe+YTNK5+wZeUTtqx8wpaVT9iy8gn76ZkXtotf+YQtK5+wZeUTtqx8wpaVT9i68glbVz5h68onbF35hP30rBLbxa98wtaVT9i68glbVz5h68onbFv5hG0rn7Bt5RO2rXzCfnrGjO3iVz5h28onbFv5hG0rn7Bt5RO2r3zC9pVP2L7yCdtXPmE/PRvIdvErn7B95RO2r3zC9pVP2L7wCVu3hU/Yui18wtZt4RO2bgufsHVb+ISt4DOdTha/8AlbwWc6nSx+4RO2rjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806miz3Sqz2eF2/fFg5+wrxf/1yds6D3eFx/L/nrxMfR4/+rb/53a18X/24IS2oIy2oIK2oIq2oIa2oI62IL+fj6R9YIC2oIi2oLQdupPjw/JZbt/dcgthm8L+vRIkPMFBbQFRbQF7WgLSmgLymgLKmgLqmgLalgLahvYxtg2sI2xbWAbY9vANsa2gW2MbQP7z75tcP/Zgxm0FtD2oYC2DwW0/8oCmP1oAcx+tIC2DwW0fSig7UMRbR+KaPtQRPNDEc0PRbR9KKLtQxFtH4po+9COtg/9/BPk+z+znSxmb4+O4d5y+f7t/cpv//lHvGbfHi799njpt++Xfnu69Nvzpd9eLv32euW3F7TNo6CZmIJmYgqaifn0T9TOF4QWNwuazStoNq+g2byCZfNiSJ/+Y3up4f7p0Fr8vqCAtqCItqAdbUEJbUEZbUEFbUEVbUENbUEdbEHl47+xye3x6S3+tqAfvvvVTzlvi08rLz6vvPiy8uLryotvKy++L7z4uq28+LDy4uPKi8f6FettQQltQVj3DW4LwrpvcFsQ1n2D24Kw7hvcFoTWAmlYzerbgrCa1bcFYTWrbwvCalbfFpTQFoTVrL4tCKtZfVsQVrP6n9CPtiC0nRrsEs1tQWg7NdglmtuC0HZqsEs0/yQYtAWh7dRgl2huC0LbqTvYTh3BbvXcFgS2U0ewWz23BYHt1HED26njBrZTxw1sp45g955uCwLbqSPYvacYwe493RaEtlMHtJ06oO3UYDfDbgtC26nBbobdFoS2U8cLf95/+/Z+5bfv26XfHi799njpt++XfjvavrOj7Ts72r6zo+07O5pD3MEcYopgvzdNf/+IqPWCwH5vmiLY701TBPu9aYpgvzdNaeEfGaa08I8MU1r4R4YpLfwjw5QW/pFhygv/yDBlgx8ZbneTcfsj335mMtrjw7k/vzr2+Gs9EWw9O9h60of/x7aXh4W8rei7KcwftzxhfyyolPD6f/17egbH9OW7Q4o/fLrWe621Pd1yeJRaeEqtPKU2nlI7Tall4yk18JQaeUrdeUpNPKViu6Vc7p/ey1ZPS62/PtzCcx2x/JhCSu2PFPIlstxaIH8AEduHLQIR2+EtAhHbOy4CEduVrgGxYvvdRSBiO+lFIGJ79EUgYrv/RSAmQfx7iKyJpeZHJ/72J5TfIP4bGNYUcgqGNVmcgmFNC6dgWBPAGZjG6upPwbA69VMwrO77FAyroz4FkwTmZzCszrdtj18MtVh+AMPqfE/BsDrfUzCszvcUDKvzPQPTWZ3vKRhW53sKhtX5noJhdb6nYJLA/AwG2/mW1B5gSj4Bs6cnxfAbmH8rFdvLmpaK7U5NS8X2m6alYjtIw1Lzhu0JTUvFdnmmpWL7NtNSsZ2YaamJp1SgS98/fHxvodw/vrf8bQ533oDuiP/R+oGulP/R+oFuoP/R+oEeSPpx/fW5/h7zt/UHoJfv/mj9QA/l/dH6gd7V+6P1A41F+aP1p8XXj37+nq0f/Pzt+721FNMWvu//Afz8PV0/+Pl7un7w8/ds/RH8/D1dP/j5e7p+8PP3dP3Y52/a9vJcf63f1499/p6vH/v8PV8/9vmb4vb48hTr9n392Odviu0xrijtOX5fP/b5e75+7PP3dP079vl7vn7s8/f2J8bH/nNri+7f1499/p6vH/v8vfXXHl9+yyrf/cPfDw+evH7s8/d8/WBPd+Yd7OnOvH98tmN//DHl5j5O/pjydflbeH441Pvysac7lvYckLg9P/xr8Ql7uuPJ4rGfkD5ZPPYT0ieL31defIJefH0EutsW074tHnx+8uvFg89Pfr148PnJrxcPPj/59eLB5ye/XDz6/OTXi8c+YU8Wj33Cniwe+4Q9WfzKJ2xe+YTNK5+weeUTNq98wuaVT9iy8glbVj5hy8onbFn5hP34UGHTxa98wpaVT9iy8glbVj5hy8onbF35hK0rn7B15RO2rnzCfny8puniVz5h68onbF35hK0rn7B15RO2rXzCtpVP2LbyCdtWPmE/PprPdPErn7Bt5RO2rXzCtpVP2LbyCdtXPmH7yidsX/mE7SufsB8fAWa6+JVP2L7yCdtXPmH7yidsX/iELdvCJ2zZFj5hy7bwCVu2hU/Ysi18wpZt4RO2bAufsGVb+IQt28InbNlWPmHDyidsWPmEDSufsGHlE/bj85tMF7/yCfv3k5viHu+P0PwTiV8vPuRbgrgv5/Znmd/uZf7bgiraghragjrYgv5++pH1ggLagiLagna0BSW0BWW0BaHt1BFtp45oO3VE26l3tJ16R9upd7SdekfbqXe0nXpH26l3tJ16R9upd7SdekfbqRPaTp3QduqEtlMntJ06oe3UCW2nTmg7dULbqRPaTp3QduqMtlNntJ06o+3UGW2nzmg7dUbbqTPaTp3RduqMtlNntJ26oO3UBW2nLmg7dUHbqQvaTl3QduqCtlMXtJ26oO3UBW2nrmg7dUXbqSvaTl3RduqKtlNXtJ26ou3UFW2nrmg7dUXbqRvaTt3QduqGtlM3tJ26oe3UDW2nbmg7dUPbqRvaTt3QduqOtlN3tJ26o+3UHW2n7mg7dUfbqTvaTt3RduqOtlN3sJ26bmA7dd3Aduq6ge3UdQPbqesGtlPXDWynrhvYTl03sJ26bmA7dd3QduqAtlMHtJ06oO3UAW2nDmg7dUDbqdHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWD9+R7Ht8bGgHtL3Be1oC0poC8poCypoC6poC2poC+pYC2qfvqNYtn2/L6hsZfu+oIC2oA/v1KXuj6Oj3Hov3xe0oy0ooS0of3pB/bmgtvfvCypoC6poC2poC+pgC/r0HcXzBQW0BX16p26PB/xu/3f/YUE72oIS2oI+vFPXLeT7gurW9u8L+vBOXcMWHgsKJX9fUEVbUENb0Id36tufDvpjQS2Xbwv69B3F8wV9eKe+NaSe/5X1Hr4vKKItaEdb0Id36ra3x/Oyre2//Vf288b+3EafBvy++Lzy4svKi68rL76tvPgOvfiXr0e3T9/VtF18WHnxceXF7ysvHvuEPVk89gl7snjsE/Zk8dgn7MnisU/Yk8WvfMKmlU/YtPIJm1Y+YdPKJ+yn7wTbLn7lEzatfMKmlU/YtPIJm1Y+YfPKJ2xe+YTNK5+weeUT9tN3uW0Xv/IJm1c+YfPKJ2xe+YTNK5+wZeUTtqx8wpaVT9iy8gn76Tv4totf+YQtK5+wZeUTtqx8wpaVT9i68glbVz5h68onbF35hP307ATbxa98wtaVT9i68glbVz5h68onbFv5hG0rn7Bt5RO2rXzCfnrmhe3iVz5h28onbFv5hG0rn7Bt5RO2r3zC9pVP2L7yCdtXPmE/PavEdvErn7B95RO2r3zC9pVP2L7wCdu3hU/Yvi18wvZt4RO2bwufsH1b+ITt28InbN8WPmH7tvAJ27eFT9i+rXzChpVP2LDyCRtWPmHDyifsp2cD2S5+5RM2rHzChpVP2LDyCRtWPmHjyidsXPmEjSufsHHlExZ8ptPJ4lc+YcFnOp0sfuUTFnym08niVz5hV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUF57ptG8Lz3S6LX7dE/a2+HVP2Nvi1z1hb4tf94S9LX7dE/a2+HVP2Nvi1z1hb4tf94S9LX7lE3bhmU63xa98wi480+m2+JVP2IVnOt0Wv/IJu/BMp9viVz5hF57pdFv8yifswjOdbotf+YRdeKbTbfErn7ALz3S6Lf6vT9hw+wPFffGx7K8XH0OP96++/d+pfV38vy2ooC2ooi2ooS2ogy3o7+ceWS8ooC0ooi1oR1tQQlsQ2k796fEhuWz3rw65xfB9QRFtQTvaghLagjLaggragiraghragjrYgj49suJ8QWgbY0bbGDPaxpjRNsaMtjFmtP/sC9p/9gXNoBW0faig7UMF7b+ygmY/Cpr9KGj7UEXbhyraPlTR9qGKtg99+vbu+YLQ/FBF24cq2j7U0PahhrYPNbB9KPz8E+T7P7OdLGZvj47h3nL5/u3h0m+Pl377fum3p0u/PV/67eXSb6+Xfnu79Nv7ld8e0DaPAGZiwqd/+na+IDATEwJY3AwBLG6GAGbzQgCzeSGC2bwQwWxe2sD+cps2sN/YpA3sNzZpA/uNTdrAfmOTAthvbFJA+88ezaAlNIOW0AxaQjNoCc2gJTSDltAMWkIzaAnNoCU4gxbRduqItlNHtJ06ou3UEW2njmg7dUTbqSPaTr2j7dQ72k69o+3UO9pOvaPt1DvaTr2j7dQ72k69o+3UO9pOndB2arTLGAntMkZCu4yR0C5jJLTLGAntMkZCu4yR0C5jJLTLGKlc+ZOWVMKl3x4v/fb90m9Pl357vvTb0fYdtF9hJ7RfYSe0X2EntF9hJ7RfYef/4+eGUKgh3/+5vtXHPxZSvP9z/c/+uZ/bKwP/XPjDfy7+wT8X4vZ/xJ//ytK2/dc/2Ht6/nN7ff5z7Q//uf5n/9zPf1oY+OfCH/5z8Q//uf0P/7kfD7GwbeGu4HZT7es/+dOfucv+0Ls9/6uJ4af/xkq4T2sp+/ObY8nPNWXANRXANVXANbVr1/T49/TP/HsOdlT7f0/40L8nfujfs3/o35M+9O/JH/r3lA/9e+qH/j0G+0Hc0t1PxK1vJ3tUCI9Ph1Cf7iP2p/vYO+Kq0vbpVdXWf324hd/38x8+W+vjs/uPe38Ki68/Lr7+ffH1p8XXnxdff1l8/XXx9bfF19/XXn9e/PzNi5+/efHzNy9+/ubFz9+8+PmbFz9/8+Lnb178/M2Ln79l8fO3LH7+lsXP37L4+VsWP38L9P6f0/0uZk4H64fe/8/XX6H3n5zbff2l/rx+6P1nYP3Q+8/A+qH3n4H1Q/v/gfVD+/+B9UPv/+d/u67Q+//A+qH9//n6G7T/H1g/9Pk7sH7o83dg/dDn78D6oc/fgfVDn78D64c+fwfWv/j52xY/f9vi52///Pl72FP4/tkQyv3DIdQvvzb68guaHpavIC5fwb58BWn5CvLyFZTlK6g4FTzW1ADXZHFqhnA/CGMo6WRNIcSnel/m7MX4UG/fNshVhU+vyvQvBPsWF1//vvj60+Lrz4uvvyy+/rr4+tvi6+9rrz9si69/8fM3LH7+hsXP37D4+RsWP3/D4udvWPz8DYufv2Hx8zcufv7Gxc/fuPj5Gxc/fy2mXUxd/+Lnb1z8/I2Ln79x8fM3Ln7+7tD7/+kvjPcdev8fWD/0/nP6C8t9h95/BtYPvf8MrB96/zlff4L2/wPrh/b/A+uH3v9PfyG0J+j9f2D9afH1Q/v/gfVDn78D64c+fwfWD33+Dqwf+vw9X3+GPn8H1g99/g6sf/HzNy9+/ppMGJm5/s+fv+/8KnFrz1+QbV9+mfflF2S5LF9BXb6CtnwFffUKyrZ8BWH5CiJ2BY84f6sg/FbBT998fzigfpmEG/rz7Cg7VbWJqlpsX/DbL8sP/lvE9gUjFWD7gpEKsH3BSAXYvmCggortC0YqwPYFIxVg+4KBezoV+6wfqQD7/B6pAOhMfqwJ6JR9rMnk3Oz3lyBizPFkTSE/no3I6ec1NcA19U+vyfa3JybTdWauPyy+/rj4+vfF158WX39efP1l8fXXxdffFl//4udvX/z87Yufv33x87cvfv6aTNWZuf7Fz9+++PnbFz9/++Lnb1/7/E3b2udv2tY+f9O29vmbtrXP37Stff6mbe3zN21rn79pW/v8Tdva52/aFj9/A/T+f3p3MAXo/X9g/dD7z+ndqRSg95+B9UPvPwPrh95/ztcfof3/wPqh/f/A+qH3/9Pf/qcIvf8PrD8tvn5o/z+wfujzd2D90OfvwPqhz9+B9UOfv+fr36HP34H1Q5+/A+tf/PzdFz9/98XP333x83df/PzdFz9/98XP333x8zd9/vx94xfdrdT7Olrpz1/ghpr+qNuYAlW1karanaratGq1jwry8hWU5Suoy1fQlq+gr15BXtZDPCpY1hc8Klj2rH9UsOz5/agA+0yuebt/uA44kJPpBiljn9/W1WKf9e9Va/oLjoztIWaSwfYmM8lge56JZAq2l5pJBtujzSSD7f1mksH2lDPJJJE5IOPJ19qSkQc+IiMPfERGHviIjDzwAZkqD3xERh74iIw88BEZeeAjMklkDsjIAx+RkQc+IiMPfERGHviIjDzwAZkmD3xERh74iIw88BEZeeAjMklkDsjIAx+RkQc+IiMPfERGHviIjDzwAZkuD3xERh74iIw88BEZeeAjMklkDsjIAx+RkQc+IkPqZ05nreWN1M8MkCE9m07nY+WN9GwaIEN6Ng2QIT2bBsiQ9mcGyJD2ZwbIkPqZ09khOZD6mQEypP2ZATKk/ZkBMqQeeIBMEpkDMqQeeIAMqQceIEPqgQfIkHrgATLywAdkojzwERlPHviNbw4p3z8cUtu+rLn9GUdPjnkmR0/+eibHJI4mHF3NT7Lh+GDjyb1bs/Hk363ZeHLw1mw8eXhjNrsnF2/NRj7+mI28+TEbVr+d833NIZfyG5sfPn2jcP902NOPTnHCGyFeSbJ67rdIxvgoMOWfObL6c2uOrF7emiOr77fmyJoRjDmCv6qzDkfW7GHNkTWnvMcx53uBNfzMUZnGhmMi5Xj7Y8C9wvL1v9U/TjTgryitRJI107xFcuCsYc001hxZM401R9ZMY8wR/JWvdTiyZhprjqyZxpoja6Z5j+NppvH1+ttEjqyJpm73q4ihxmCQaFy9WTeXJGumeYvkwFnDmmmsObJmGmOOrl7bm8mRNdNYc2TNNNYcWTONNcckjgMcTzONqzcFZ3Kk/RtN7U+O8YTj6Wvm2dV7hTM50v6NxpgjbZ7Jj95D/Tp/6o87Fa7eTpxLkjbTvEPy3EO6eplxJkfaTGPMMYmjCUfaTGPMkfavNMYcaf9GY8yR9m80b3E87VW4ettyIkdXL2H+Kcf6++8qHmyUUY7ZKHccs2HNEm27bzeh/bMf/cvfdglcvZ85lyRrnniL5Ll/c/U650yOrHnCmiNrnrDmyJonjDm6elV0JkfW7GHNkTWnvMfxtE/g6n3TmRyTOJpwVJ6x4ag8Y8NRecaGo/KMDUflGQuOxdWrwn/KMf4+k+jBRhnlmI1yxzEbiizxqDZRVYvty1t4PMLUvrwc8sfVYrtn62qxPe5b1Z52jgr4m83W1WL7ReNqwd9Wtq4W26dZV4vtvKyrxfZS71V7msbA3yq2rtaRlxqo1pGXGqjWk5c6r9aTlzqvFtxLlUfia3X/61QA/kavdbXgXuqdas/dBfjruNbVgnsp42oTVbXgXsq4WnAvZVwtuJd6q9pTdwH+Cqt1tY681Hm14C+lWlfryUudV+vJS51Xi+2l+uNQaX0vf50KwN8Qta4W20u9Ve25uwB/jdO6WmwvZV0ttpeyrhbbSxlXC/5KpHW12F7qvWpP3QX4i4vW1TryUgPVJqpqPXmp82o9eanzatfxUun3xPeoYB1/dFTBOp7noALwl+F6DY8K2t//fhT8/TbrasF9zDvVnntU8LfQrKtNVNWC+xjjasF9jHG14D7GuFpwz/NWtaceFfytK+NqwV+ksq7WkZcaqNaTlzqv1pOXOq82UVW7kJfqP2ZW8JeERiqA9jx9i/d19K20k//FtXh/Qrilr6voz2qhPY95tdCe571qa3v8dD3Ek28+70dgv28zlQy0l5pKBtp3TSUD7dGmkkkic0AG2vtNJQPtKaeSceRVjck48rXGZOSBD8hgv4gylYw88BEZeeAjMvLAR2SSyByQkQc+IiMPfERGHviIjDzwERl54AMy2K94TCUjD3xERh74iIw88BGZJDIHZOSBj8jIAx+RkQf+mUzFnuJ/HZmc7r+FyOmADKmfGSBDejbl3O5kvr4v/pUM6dk0QIb0bBogQ3o2DZAh7c8MkCHtz5yTwZ5ffx2ZEsqvz5Y9/kyG1M8MkCHtzwyQIe3PDJBJInNAhtQDD5Ah9cADZEg98AAZUg88QIbUA5+TwX53YCoZeeAjMvLAR2Q8eeA3vrnW+23c2r6+FtyfZJLIHJDx5IFtyXjywLZkPHlgWzKePLAtGU8e2JQM9nsRHyHTy89kPHlgWzKePLAtGVIP/GVixp5/JpNE5oAMqQceIEPqgQfIkHrgATKkHniADKkHPieD/c7HR8j8POeqYr8JMpUMqQceIEPhgR/VJqpqsb1q2O4f7v/8L/J1tWErz1XX+uXT7VkvtgO1rxfbV9rXi+0W7evF9oDm9WK/fHJBvdh+zb5ebBdmXy+2t7KvN5HVS+avsF9BuaBeMn+F/RLKBfWS+Svs11AuqJfMX2G/iHJBvWT+CvtVlAvqJfNX2K+oXFAvmb8Cf3XFvl4yfwX+mop9vWT+CvzlE/t6yfwV+Csl9vWS+SvwF0Xs6yXzV+Cvf9jXS+avwF/qsK+XzF+Bv6phX6+j87fX+y/Nev3510jgbxlYV+tob+7tPp+s95/nk4HPj7eu1tG+PFCto115oFpHmXeg2kRVrafz9rxaT+ftebWOsu5AtY6S7kC1TF6qgc+ut652WS/1qGBZf/SoANvzxMd45L7X7e9zd9sSWb3Yvse+XmznY18vtvexrxfb/djXi+1/zOsFn3ZvXy+2B7KvF9sx2ddL5q/Ap8jb10vmr8AnvtvXS+avwKez29dL5q/AJ6nb10vmr8CnntvXS+avwCeU29dL5q/Ap4nb10vmr8Anf9vXS+avwKd029dL5q/AJ2rb10vmr8CnX9vXS+avwCdV29dL5q/Ap0rb10vmr8AnQNvXS+avwKf0vlXv6U2RBj6l17paR3vz+a8bwSe4GlcLPr/VulpHu/JAtY4y70C1jhLvQLWeztvzaj2dt+fVOsq6A9U6SroD1VJ5KfBprcbVgs9qfVHto4Jl/dGjAmzPk2K6V5Dr2WsxId+XEXL6+X9x2J7HutpEVS2257GuFtvzWFeL7Xmsq8X2PNbVYnse42rB56daV4vtj6yrpfJS4JNTratNVNVSeSnwmanW1VJ5KfB5qdbVUnkp8Fmp1tVSeSnwOanW1VJ5qZaoqqXyUuATcK2rpfJSjcpLgU83Nq4WfLqxdbVUXgp8urF1tVReCny6sXW1VF4KfLqxdbVUXgp8urF1tUxeqoNPN7aulslLdfBJyNbVMnmpviWqapm8VAefl2xdLZOX6uCzkq2rpfJS4HOSraul8lLgM5Ktq3V0Ap3ege7g82SNqwWfNvpetWf3djr4rFHrah3tUgPVOkp8A9UmqmodJb6Baj2dt+fVejpvz6t1lPgGqnWU+M6rBZ8sal0tlZcCnyr6otpHBcv6o0cFCbqCsuV7BaWfvb0ZtvqI3Vv7+unwrBfb9djXi+177OvFdj729WJ7H/t6sd2Peb3gkz/t68V2QPb1Ynsg+3qxHZN9vYmsXjJ/lcj8VSLzV+DTe+3rJfNX4BN87esl81fgU3zt6yXzV+CTfO3rJfNX4NN87esl81fgE33t6yXzV+BTfe3rJfNX4BOD7esl81fgU4Pt6yXzV+CTg+3rJfNX4NOD7esl81fgE4Tt6yXzV+BThO3rdXT+nt8UAZ81a12to735/NeN4PNIrat1tC8PVOtoVx6o1lHmHag2UVXr6bw9r9bTeXteraOsO1Cto6Q7UC2VlwKfR2pd7bJe6lHBsv7oUQG256nxUUGL21nuTrHcV532/Px0K896E1m92L7Hvl5s52NfL7b3sa8X2/3Y14vtf6zrvRWGbYEuKBjbBV1QMLZpuqBgLo91KyyxFczlsm6FcdmsW2FcPutWGJfRuhXG5rTAh4xeUDCb0wIfNXpBwWxOKyS2gtmcFvgA3QsKZnNagc1pBTanBT4o+YKC2ZwW+LjkCwpmc1rgQ5MvKJjNaYGPTr6gYDanBT5A+YKC2ZwW+BjlCwpmc1rgw5QvKJjNaYGPar6gYDanBT7M962CT6+D3cp1dAoPlAs+6vW9cs9+xHyrxdH+PFKuo915pFxHe/NIuY4y8Ei5jhLwSLmezt2Bcj2du+flgo94NS/XUfIdKZfLVYHPdzUvN61a7rOEZZ3SswRs99NyffzvqOWzIH72NPOtXGz3Y14utvsxLxfb/ViXCz6A1bxcbPdjXi62+zEvF9v9mJebuMrFdkrm5XK5KvDJq+blcrkq8Lmr1uWCj101L5fLVYEPXTUvl8tV1cRVLperAh+pa14ul6uqXK4KfGKydbngI5PNy+VyVeBDk83L5XJV4GOTzcvlclXgg5PNy+VyVeCjk83L5XJV4MOTzcvlclXgo5bNy+VyVeBjmc3L5XJV4EOZzcvlclXgI5nNy6VyVQF8HrN5uVSuKoDPYjYvl8pV3YrhKpfKVQXwGczm5VK5qgA+f9m8XC5XBT572bxcLlcFPnfZvFwuVwU+c9m8XC5XBT5v2bxcLlcFPmvZvFwuVwU+Z9m8XC5XBT5j2bxcLlcFPl/ZvFwuVwU+W9m8XC5XBT5X2bxcLlcFPlPZvFwuVwU+T9m8XC5XBT5L2bxcLle1c7mqnctVgU/JNi+Xy1UlLleVuFwV+Ax083K5XBX4DHTzcrlcFfgMdPNyuVwV+Ax083K5XBX4DHTzcrlcFfgMdPNyuVwV+Ax083K5XBXXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1SPXbPXINVs9cs1Wj1yz1eOWuMqlclWRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtvnPNVt+5ZqvvXLPVd67Z6vuWuMqlclU712z1nWu2+s41W33nmq2+c81W37lmq+9cs9V3rtnqO9ds9Z1rtvrONVt955qtvnPNVt89Td/uNd4/XPeDch2duyPlOtqZe2uPD9eDch3tzCPlOtqZR8p1tDOPlOso7w6U62k+80i5ns7dgXI9nbsD5TrKuyPlJq5yuVyVp/nMI+Uu66qeJSzrlJ4lQLuf2zpifixka+Xkf3bH3/0oGHuS8hUFQzugKwqG9kBXFAztgq4oOLEVDO2ErigY2gtdUTC0G7qiYGjvdEXBbE4Le7ryFQWzOS3sCctXFMzmtLCnLF9RMJvTwp60fEXBbE4Le9ryFQWzOS3sictXFMzmtLCnLl9RMJvTwp68fEXBbE4Le/ryFQWzOS3sCcxXFMzmtLAH175bcE73X7bmdFSwq2NppGBXm1bO999h5HLwOwzsAadXFOxq0xooGHvI6RUFu4qHIwW7iocjBbs6h0sovz5d9nhQsKtzeKRgV/FwpGBX8XCkYFdOa6RgV05rpGBXTmugYOzBp1cU7MppjRTsymmNFMzmtLAHoF5R8MJO61nEwu7pWQS4Iwr7cyEhpZP/6Q20U7EHll5RMLgjeq/gGB8LSfnHghP20NIrCgZ3RPYFgzsi+4LBHZF9wYmtYHBH9GbB+W49Yg0HBYO7J/uCXTmtkYJdOa2Rgn05rfOCsQeZXlGwL6c1ULAvpzVQMLrTqo+5f1us/aTgfyZ83D++f11J7F9KTnwlo7utC0pG91sXlIzuuC4oGd1zXVAyuuuyLzmi+64LSkZ3XheUjO69LiiZz33FxFcyn/vCHl98Tcl87gt7jPE1JfO5L+xxxteUzOe+sMcaX1Myn/vCHm98Tcl87gt7zPE1JfO5L+zRyNeUzOe+0IcpX1Eyn/tCH6h8Rcl87gt9qPIVJfO5L/TByleUzOe+0IcrX1Eyn/tCH7B8Rcl87gt9yPIVJfO5L/RBy1eUzOe+0IctX1Eyn/tCH7h8QcnoA3nfK/n8xeeEPpDXvmBXu/X5+4QJfVyrfcGuduqRgl3t0yMFu8rIAwVXVwl5pGBf5/BAwb7O4YGCXWXjkYITW8FsTquyOS30GdOvCn4WsbB7ehYB7oj2uD0Wsu/7yf/0zgcQJfRZ0PYFgzsi+4LBHdF7BQ9Ma0GfBW1fcGIrGNwR2RcM7ojsCwZ3RPYFg7sn+4JdOa2B4SXos6DtC3bltEYK9uW0Bgr25bQGCk5sBftyWgMFr+S00vZzFwN9bvRYESs5osMi0F1O7c8ievzrbkNGn+9sXzC6y3mr4HPjntHnO9sXjO5yzAtObAWjuxzzgtFdjnnB6I7ovYJPfWxGn+9sX7ArpzVQMPp8Z/uCfTmtgYJ9Oa2Bgn05rYGC00oF//ybiYw+r3msiKUc0VER4C4npedCcjr74VRr6f7LqdZK+rKS/UvJ4D7nipLBnc4FJaPPVL6iZHC3c0XJ4H7nipLBHc8VJSe+ksEd0hUlg/upK0rmc1/oM5WvKJnPfaHPVL6iZD73hT5T+YqS+dwX+kzlK0rmc1/oM5WvKJnPfaHPVL6iZD73hT5T+YqS+dwX+kzlK0rmc1/oM5WvKJnPfaHPVL6iZD73hT5T+YqS+dwX+kzlK0rmc1/oM5WvKJnPfaHPVL6iZD73hT5T+YqS+dwX+kzlK0rmc1+Fz32hT86+omQ+91X43Bf6/Oz3Sj6fkJ7R52ebF4w+XfnNgk/ndmb06cr2BbvaqUcKdrVPjxSc2Ap2lZBHCvZ1Dg8U7OscHijYVTYeKdhVMh4oGH1qs33BbE4LfWrzq4KfRSzsnp5FJOwicns8x7aVfvY/vVTLfd2p1u3nqI4+X/mKksFd0RUlg/uiK0oGd0ZXlAzujS4oGX3S8hUlg/ujK0oGd0hXlAzup64oOfGVzOe+0KcuX1Eyn/tCn+h8Rcl07qugT4C+omQ691XQp0BfUTKd+ypb4iuZzn0V9GnQV5RM574K+kToK0rmc1/oU6GvKJnPfaFPhr6iZD73hT4d+oqS+dwX+uTpK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dwX+pzqK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dwX+pzqK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dwX+pzqK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dwX+pzqK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dwX+pzqK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dxXSXwl87kv9GnkV5TM574Kn/sqfO4LfSr5eyWfD9ov6FPJ7Qt2tVufj38t6DOr7Qt2tVOPFOxqnx4oGH1mtX3BrhLySMG+zuGBgn2dwwMFJ7aCXSXjkYLZnJavKdgjBS/stJ5FLOyeHkWgz6mue3sspO355H96Ye/b/eP7l5J/i+roc6qvKBncFV1RMrgvuqLkxFcyuDe6omRwd3RFyeD+6IqSwR3SFSWD+yn7kiv6nOorSqZzXxV9TvUVJdO5r7olvpLp3FdFn1N9Rcl07quiz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/oE4/dKPh8cWNHnF9sX7Gq3Ph9nU9Gn2toX7GqnHinY1T49UHB1lZFHCnaVkEcK9nUODxTs6xweKDixFewqGY8UzOa00GdS2xe8sNN6FrGwe3oUgT47upVnEX2rJ//Ty+0e43Jrz++u9UvB4I7IvmBwR/RewbX1x3fHk+8+XscTDrh7mgsnCc4xHHBXNhcOuIObCwfc7c2FA+4M58IBd5xT4aDP/J4Lx5XrtYYjh/wCjhzyCzhJcI7hyCG/gCOH/AKOHPILOHLIL+DIIR/Caehz2efCkUN+AUcO+QUcOeQXcJLgHMORQ34BRw75BRw55Bdw5JBfwJFDPoaDPjt/Lhw55Bdw5JBfwKE9ynN6/D4nHcGhPcoH4KCP074QTr5/cy71AA7thjwCh3ZDHoFD27IYgZME5xgObctiBA6tzymh/Pps2eMBHFqfMwKHtmUxAoe2ZTEAB33k+Vw4tA55BA6tQx6BQ+uQR+AkwTmGQ+uQR+DIIb+AI4f8Ao4c8gs4csjHcNDH0s+FI4f8Ao4c8gs4csgv4CRXcN757vL86lK+TEtM4QseXx7ZHI8vl2yOx5dPNsfjyymb4/Hlld/57rrdD65/phf9hueHv3edjpZp6E8OrITSlw+fitKXa5+K0pfHn4oyCaUVSt70YI6SN2mYo+RNJeYoeROMOUqlHSuURWnHDKXSjhlKpR0zlEo7ZiiTUFqhVNoxQ6m0Y4ZSaccMpdKOGUqlHSuU6E9lrYRSvnIMZb7/BifXcIAyCaUVSp3gZv+B6wQ3Q6kT3Aqlr6ed5qJUv9IMpfqVP6B84pFXfIknCc8rPMS9wv746rYf4SHu/43gIU4EI3iIXf4IHmLnPoDH2fNU5nh4HXZ7mObQU/sNzx85bGfPWU1FyevGzVEmobRCyevyzVHyJgJzlLzpwRwlb9IwR8mbSoxRdmfPh01FqbRjhlJpxwyl0o4ZyiSUViiVdsxQKu2YoVTaMUOptGOGUmnHCqWzp+CmolTaMUOptGOGUmnHDGUSSiuUSjtmKJV2zFAq7ZihVNoxQ6m0Y4XS2TurU1EmoRxCeXpFsTt7bHIqSh07Zv+B69ixQuns8cKpKNVkM0OpJpsZSjXZfkD5xJOE5xUe+b+XeHgbXL3cPxxv5R7g4W1aDeHhTQRDeHhd/ggeZ48qmuPhdeNDeGgddtz28MDT0294fnDYabs77LJ9qfCLw3b2DONUlEkorVDSOnd7lLQu3x4lbSKwR0mbHuxR0iYNc5S8D1Lao6RNMPYolXbMUCrtmKFMQmmFUmnHDKXSjhlKpR0zlEo7ZiiVdqxQ8j5IaY9SaccMpdKOGUqlHTOUSSitUCrtmKFU2jFDqbRjhlJpxwyl0o4VSt4HKe1RKu2YoVTaMUOptGOGMgmlFUqlHTOUSjtmKJV2zFAq7ZihVNqxQsn7eK89SqUdM5RKO2YolXbMUCahtEKptGOGUmnHDKXSjhVK3ndW30R5PlKN951Ve5Q6dsZQnk9c4n3R0h6ljh0zlGqymaFUk80GZdx4X7R8hfKJR17xJR75v5d4eBtcITxWHdIRniQ8r/DwJoIhPLwufwgPr3MfwsPrxofw8Drs0PJj1an/hucP2o1x431F0R4lrxs3R8nr3M1RErt8a5RJKK1QEqcHa5TEScMaJXEqsUZJnGCsUSrtWKHkfUXRHqXSjhlKpR0zlEo7ZiiTUFqhVNoxQ6m0Y4ZSaccMpdKOGUqlHSuUvI/32qNU2jFDqbRjhlJpxwxlEkorlEo7ZiiVdsxQKu2YoVTaMUOptGOFkvfBY3uUSjtmKJV2zFAq7ZihTEJphVJpxwyl0o4ZSqUdM5RKO2YolXasUBI/pGyOUmnHDKXSjhlKpR0zlEkorVDKDI2hPBupdkMpM2SFkvhFy/dQnk9cIn7R0hyljh0zlGqymaFUk80MpZpsP6B84pFXfIlH/u8VHuLXJOPjq+O+bQd4eJtWQ3h4E8EQHl6XP4QnCc8rPLxufAgPr8Pe4xNPKgd4eF3zEB5e1zyEh9c1j+AhfpVwCA+vax7Cw+ua935v98SU2m94vn869fs6cvjyJ4mvfygjfj3QHGUSSiuUvM7dHCWxy7dGSZwIrFESpwdrlMRJ4x2UX341lPefUXbiVGKNkjjBWKNU2jFDqbRjhjIJpRVKpR0zlEo776I8+gk18aO15iiVdsxQ8qad9PilX8z72c8Ca7ujrP3LN9/+uTvKQPxorTlK3rRjjpI37Zij5E075iiTUFqh5E07b6Fs8V5i28sBSt60Y46SN+2Yo+RNO+YolXasUBI/IGyOUmlnDGV+fHPdDlAq7ZihVNoxQ5mE0gql0o4ZSqUdM5RKO2YolXbGUD7+ENS3fIBSaccKJfEDwuYolXbMUCrtmKFU2jFDmYTSCiVv2snl/pevWLZwgvKWZe5fffs/v/wsJocvMHnzzgUweRPPBTB5M88FMHlTz3swY0j3hcRWf4P5/dPnY/EC8bPDk8HzJqrJ4Hnz12TwvGltMvgk8HPAKwlOAq/UOAm8EuYk8Eqjk8Aruc4BT/yE9GTwSq6TwCu5TgKv5DoJfBL4OeCVXCeBV3KdBF7JdRJ4JddJ4JVc54Anfg58Mnj5+CvAn775GogfdZ4MXq5m0lYjVzMJvFzNHPBFrmYSePXjJ4FXP/6vwT9hypsbwkyCaQdTvfAxmPtW7gvZ0xFM9bcNYSrdGcJUYjOEqRRmB7MqWRnCVFoahFnv3cWQ8vYbzB8+XdMDfUtfVnL7v5/olZemoVe6moY+Cf0s9Epu09Ar501Dr1Q4Db0y5DT0Spyz0Dfl02nolWanoVeanYZeaXYa+iT0s9ArzU5DrzQ7Db3S7DT0SrPT0CvNzkLflWanoVeanYZeaXYaeqXZaeiT0M9CrzQ7Db3S7DT0SrPT0CvNTkOvNDsJfdyUZqehV5qdhl5pdhp6pdlp6JPQz0KvNDsNvdLsNPRKs9PQK83OQh9kLi9Afz7MLAZZy0ngdcReAf50wlAMOmAngdfxOgm8WsVzwEc1iieBV5v4r8E/YcqbG8KU3x6DmcO9xpBrO9kSUr+vOocv3xy+bglJ4OeAVxt3EnglzEnglTAngVfCnAReCXMO+F0J8wLwOd2/Ouf9ALwS5iTwSqOTwCu5TgKfBH4OeCXXSeCVXCeBV3K9FnzZDsAruU4Cr+Q6B3xSch0DX55ESg4n4ENOj8d3cq5fvvvLj+2Ssus09Eqv09Arv05Dn4R+Fnpl2GnolWIvQf/4bfXNiMYD9Mqx09AryU5Dryw7C31Wmp2GXml2Gnql2SvQp7490LffzeUftdqyku8SMiXJtIJMStRXyFTq89MtHZw3StTT0CtRT0OvRD0NvRL1LPRFiXoaeiXqaeiVqC9B3x4jiErvB+iVkqehT0I/C73S7DT0SrPT0CvNTkOvNDsNvdLsJejDfSGhht99/R81mKuS7xIyKSUvIZMS9RUyte3xV7XfVvL1vKlK1NPQJ6GfhV6Jehp6Jepp6JWop6FXop6GXon6EvQhP9DH9jP6ppQ8Db2S7zT0SrPT0CvNTkOfhH4WeqXZaeiVZq9A/+I5sj9qMDcl3yVkUkpeQibeRF32x6pvf80/kyn35x/8Q/+yjh+J5PtxE7++R3dbxwN8583Tk8HzpunJ4Hmz9GTwvEnaDPwTZhJMO5i8afcCmLz59QKYvCnzApi8WfACmEpsZjD3TSnMEKaS1RjMUh6znkqLv8H8YR35vurav/w+d//CXcFqDnflqgu4x/j46pR/DLT7lgR+DnjltUngle0mgVcOnARemXESeOXLK8Cftun3oCw6Cbxy6xj4uj1+RVVD++v8FJRb53BXbr2A+8DRGpLAzwGv3DoJvHLrJPDKrZPAK7dOAq/cegX48/gUlVsngVduHQT//NF8zWc/qDzPT1G5dQ535dYLuA8crTEJ/Bzwyq2TwCu3TgKv3DoJvHLrJPDKrVeAP49Pu3LrJPDKrYPg2+PV+9rrX+enXbl1Dnfl1gu4DxytexL4OeCVWyeBV26dBF65dRJ45dZJ4JVbrwB/Hp+Scusk8Mqtb4NvW/oN/BOmwqghTCVMQ5hJMIdgtvwg0kr6X3/bJkkKjXO4KzNewH3AQSdlxknglRkngVdmnAM+KzNOAq/MOAm88uUV4M+7JFlZdBL4JPBj4GN7gs8n4Pt+HzbQy5d33nv4o6yVlXHxNVIextdI0RlfI6VsfI0UyOE1Ksru+Bop5uNrpI4AvkZqHuBrlKQRvEbqM4xp1MNjlmTfz2ZJDnBX72AOd/UDLuA+8GeWopA/CbyS+xzwVXF8Enhl7EngFZwngVcavgL8+Z/SaxL4OeCVWyeBV3CdBF7JdRB8rg/wp7f5Xn36iV7ZdRp6pdcL0NfWH+uIJ+s4XvNDpKaku4BISsULiKQEvYBIStsLiJQkEr5ISvELiKTEv4BI6g4sIJL6CAuIpI4DvkhdHYcFRFLHYQGR1HFYQCR1HBYQKUkkfJHUcVhAJHUcFhBJHYcFRFLHYQGR1HGAFylt6jgsIJI6DguIpI7DAiKp47CASEki4YukjsMCIqnjsIBI6jjgixSUkyaLlFP89dmcjkRSTlpApCSRJov0GCeTSz0QSe5uAZHk7hYQSe5uAZH096QFRNLfk/BFispJk0Uqofz6bNnjgUjKSQuIpL8nLSCS/p60gEhJIuGLpI7DAiKp47CASOo4LCCSOg4LiKSOA75IuzoOC4ikjsMCIqnjsIBI6jhcIdIb6+iP3zj0nL98b/wiUpJI+CKp47CASOo4LCCSOg4LiKSOwwIiqeOAL1JSx2G2SI8v7nU7EEkdhwVEUsdhAZHUcVhApCSR8EVSx2EBkdRxWEAkdRw+KtITvLoIk8CrMzAHfFbanwReCX4SeKXySeCVtCeBTxzgnwWTJNFnwSSp7lkwSUJ6FkySTJ4FkySCR8GFxIk/CwZ3wP1xaN/+75pPCg758emcDgoGd572BYM7vvcKNp65VpLgHMMBd3Bz4YC7vblwwJ3hXDjgLnIuHHDHORVOBXenc+G4crLWcFy5Xms4csgv4CTBOYYjh/wCjhzyCzhyyC/gyCG/gCOHfAynySG/gCOH/AKOHPILOHLIL+AkwTmGI4f8Ao4c8gs4csgv4Mghv4Ajh3wMp8shv4Ajh/wCjhzyCzhyyC/gJME5hiOH/AKOHPILOHLIL+DIIb+AI4d8CCdvcsgv4Mghv4Ajh/wCjhzyCzhJcI7hyCG/gCOH/AKOHPILOHLIL+DIIR/DCXLIL+DIIb+AI4f8Ao4c8gs4SXCO4cghv4Ajh/wCjhzyCzhyyC/gyCEfw0F/Wfs6OPkx3D6nIzi0PmcEDu1plfN9tkku9QAO7Wk1Aof2tBqBQ3taDcBBf990Lhzafs4IHFqfc/6OZkZ/R3MunCQ4x3Bo+zkjcGgd8ggcWoc8AofWIY/AoXXIA3DQ3+ObC4fWIY/AkUN+AUcO+QWcJDjHcOSQX8CRQ34BRw75BRw55Bdw5JCP4aC/YfUmnHe+O+f7X/VC/vLNMf306Rupe4k1HKD05aenovTlvqei9OXVp6JMQvkd5ROPL29vjseXuzfH48vfm+Px5fDN8fjy+NZ40N/Hmo1Hzv0lHl43XuI9bYfypcafLeRA3Hb2qtdUlEkoR1DG+Cgx5QOUvM7dHCWvyzdHyZsIzFHypgdzlLxJwxqls3fRpqLkTTDvoTzv8jp7c20qSuK0U/IDZW1/n3acvec2FSVx2nkH5cixQ5x2rFESpx1rlMRpxxolcdoxRunsjbupKInTjjVK4rTzFsrztOPstb2pKJNQWqFU2jFDyZt26naP1aHm7QRlyI915HSAkjftmKPkTTtvoTQeFefstcJVsDt7B3EZ7LyJayp23nQ2FTtvkpuKPQn7DOy8CXEqdqXJKdiVPKdgV0qdgl0pdQL24uwt0mWwK6VOwa6UOgW7UuoU7EnYZ2BXSp2CXSl1Cnal1CnYlVKnYFdKnYHd2XvAy2BXSp2CXSl1Cnal1CnYk7DPwK6UOgW7UuoU7EqpU7ArpU7BrpQ6A3tUSp2CXSl1Cnal1CnYlVKnYE/CPgO7UuoU7EqpU7ArpU7BrpQ6BbtS6gzsu1LqFOxKqVOwK6VOwa6UOgV7EvYZ2JVSp2BXSp2CXb7dHHtO98etcjrAnuTbp2CXk7HHntsde6kH2JOwz8AuJzMFu5zMFOzqt0/Brn77FOzy7ebYzx9xKVm+fQp29dunYFe/fQp2pdQp2JOwz8CulDoFu1LqFOxKqVOwK6VOwa6UOgN7UUqdgl0pdQp2pdQp2JVSp2BPwj4Du1LqFOxKqVOwK6WOYX/jm2PctyePL5/ewlvf/BRJmXYBkZSA8UWqyssLiKR0/VGRnuCVryeBV8KeBD4J/BzwStmTwCtnTwKvpD0JvNLzJPBKxHPAN6XcSeCVXC8A3x7g91B+A//DOvKW7uvI+fnpUPoXmZRzl5BJqXiyTMYjCFqSoL4EVYp3Jqi6A84EVdfBmaDqZjgTVF0SX4J2dV+cCaqujjNB1f9xJqg6Rc4ETRLUl6DqFDkTVJ0iZ4KqU+RMUHWKnAmqTpErQeumTpEzQdUpciaoOkXOBFWnyJmgSYL6ElSdImeCqlPkTFB1ipwJqk6RM0HVKfIlaFCnyJmg6hQ5EzRJ0HUEPX9BsgblUGeCyuWuJOjpy2g1yOX6EjTK5ToTVC7XmaD6e6gzQfX3UGeCJgm6jqDnE9prVA51Jqj+HupMUP091Jmg6hQ5E1SdIl+C7uoUORNUnSJngqpT5ExQdYqcCZokqC9B1SlyJqg6Rc4EVadotqDvrDmHB44cfx5SXnf1itxJqm6RN0mT+kXuJFXHyJ2k6hm5k1RdI3eSJkm6qKT7fiCpOkfuJFXvyJ2k6h4tJemeH5KmdiCpukfuJFX3yJukWd0jd5Kqe+ROUnWP3Emq7pE7SZMkXVTSnA8kVffInaTqHrmTVN0jWEmfIqkftIBI6vDYi7SH9hAppxORQt7Sc8M7+DtlUddmCZnUiZksk/EkzKI+jDNB1YVxJmiSoL4EVQfGmaDqvzgTVN0XZ4KqU+NMUHV1fAla1f9xJqg6Rc4EVafImaDqFDkTNElQX4KqU+RMUHWKnAmqTpEzQdUpciaoOkW+BG3qFDkTVJ0iZ4KqU+RMUHWKnAmaJKgvQdUpciaoOkXOBFWnyJmg6hQ5E1SdIl+CduXQhQTNKf76bE5HgiqHOhNULnclQc8fNO9yuc4Elct1JqhcritB26a/hzoTVH8PdSaocuhCgp6/DNg25VBngiYJ6ktQ/T3UmaDqFDkTVJ0iZ4KqU+RMUHWKfAka1ClyJqg6Rc4EVafImaDqFDkTNElQX4KqUzRb0HfWPPDmdQvqFbmTVN0id5KqX+ROUnWMvEka1TNyJ6m6Ru4kVd9oVUn3/UBSdY7cSZokqTdJ1T1aStLzN69bVPfInaTqHrmTVN0jd5Kqe+RN0l3dI3eSqnvkTlJ1j1aVNOcDSdU9cidpkqTeJFX3CFbSp0jqBy0gkjo8F4iUy0OkXk5E6vH+s8xew5f64heR1LNZQCR1YSaLZDsFsyX1YJwJqg6MM0HVf3EmqLovzgRNEtSXoOq8OBNUXRpngqqj40xQdX+cCapOkS9BszpFzgRVp8iZoOoUORNUnSJngiYJ6ktQdYqcCapOkTNB1SlyJqg6Rc4EVafIl6BFnSJngqpT5ExQdYqcCapOkTNBkwT1Jag6Rc4EVafImaDqFPkStCqHLiRoTvHXZ3M6ElQ51JmgSYIuJOj5Y+ZVLteZoHK5zgSVy3UmqP4e6kxQ/T3Ul6BNOXQhQQdeBWzKoc4E1d9DnQmqv4c6EzRJUF+CqlPkTFB1ipwJqk6RM0HVKXImqDpFvgTt6hQ5E1SdImeCqlM0W9A3vrk/foLSv76y8HWidVenyJmgSYL6ElSdImeCqlPkTFB1ipwJqk6RM0HVKVpJ0Hz/bK/bj4L2TZ0iZ4KqU+RMUHWKnAmqTpEzQZME9SWoOkXOBFWnCFbQp0jq/iwgkjo6F4jUH+9UpxBORIqx7M9Px98+/ZRJfZoVZArqvkyX6alS/nnLC+qoLCCSuiQLiKTOxwIiJYmEL5I6FAuIpK7DbJFyvn+4hgOR1HVYQCR1HRYQST0HfJGiOg4LiKSOwwIiqeOwgEjqOCwgUpJI+CKp47CASOo4LCCSOg4LiKSOw1+K9ESpvoAVyl3p3QylMrYZSiVhM5TKq2Yok1BaoVT2M0OphGaGUjnKDKXSjhlKpR0rlElp5weUTzzECabGB55WT/6XFm4c7p8Oezr43xpxhrGHSZxi7GEmwbSDSZxk7GESZxl7mMRpxh4mcZ6xh0mcaMxhZuJMYw9TCcgQphKQIUwlIEOYSTDtYCoBGcJUAjKEqQRkCFMJyBCmEpAdzKIEZAhTCcgQphKQIUwlIEOYSTDtYCoBGcJUAjKEqQRkCFMJyBCmEpAdzKoEZAhTCcgQphKQIUwlIEOYSTDtYCoBGcJUAjKEqQRkCFMJyBCmEpAdzKYEZAhTCcgQphKQIUwlIEOYSTDtYCoBGcJUAjKEqQRkCFMJyBCmEpAdzK4EZAhTCcgQphKQIUwlIEOYSTDtYCoBGcJUAjKEqQRkCFMJyBCmEpAVzH3blIAMYSoBGcJUAjKEqQRkCDMJph1MJSBDmEpAhjCVgAxhKgEZwlQCsoMZlIAMYSoBGcJUAjKEqQRkCDMJph1MJSBDmEpAhjCVgAxhKgEZwlQCsoMZlYAMYSoBGcJUAjKEqQRkCDMJph1MJSBDmEpAhjCVgAxhKgEZwlQCsoO5KwEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAczKQEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAczKwEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAezKAEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAezKgEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAezKQEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAezKwEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMEkS0LNgkpTyLJgkSTwLJnH794JvlbEVTOKanwWTONtnwSTu81lwYiuYxMU9CyZzWoHlffhnwQs7rWcRC7unRxErv1n+LGJhl/MsYmHn8ixiYTfyLCJ5KGJh1/AsYmEn8Cxi4dP9WYSHE3vlt34fRaz8xu6zCA8n9spvyj6L8HBir/yG6rMIDyf2ym+GPovwcGKv/EbmswgPJ/bKb0I+i0A/sfv907eeRoi/FfFnf/EN8C8mXlAyuhu4oOTEVzK607igZHRfckHJ6C7mgpLRPc8FJaM7JPuS4V+Yu6BkPvcF/1rbBSXzuS/4l88uKJnPfcG/InZByXzuC/5FrgtK5nNf8K9bXVAyn/uCfynqgpL53Bf8q0sXlMznvuBfMLqgZD73Bf8a0AUl87kv+Jd1LiiZz33Bv1JzQcl87gv+xZcLSuZzX/Cvp1xQMp/7gn+J5IKS+dwX/KseF5TM577gX8i4oGQ+9wX/2sQFJfO5L/iXGy4omc99wb+CcEHJfO4L/kWBC0rmc1/w0/kvKJnPfcFPur+gZD73BT81/oKS+dwX/AT2C0rmc1/w08wvKJnPfcFPBr+gZD73BT9l+4KS+dwX/MTqC0rmc1/wU6svKJnOfUX4ydUXlEznviL89OoLSqZzX3FLfCXTua8IP8X6gpLp3FeEn2R9Qcl87gt+SvYFJfO5L/gJ3BeUzOe+4Kd7X1Ayn/uCnxx+Qcl87gt+KvkFJfO5L/iJ5xeUzOe+4KepX1Ayn/uCn9R+Qcl87gt+CvwFJfO5L/gJ8xeUzOe+4KfXX1Ayn/vim3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z9xFp1v1zUUD+6LkoIAfzXBSQx3guCsgFPBaFNBX9uSigk/S5KKCz7rkooNPouSig8+K5KMQdHWnC9XNRiDs60pTo56IQd3SkScvPRSHu6EjTip+LQtzRkSb+PheFuKMjTc19LgpxR0eaPPtcFOCOviNNb30uCnBH35EmoD4XBbij7xvgjr4jzfl8LgpwR9+RZmU+FwW4o+9Xz5t8/IuunvL4/BeFT/2L4qf+Rfun/kXpU/+i/Kl/UfnUv6h+6l/UPvUv+tTOED+1M8RP7QzxUztD/NTOED+1M8RP7QzxUztD/NTOED+1M8RP7Qz7p3aG/VM7w/6pnWH/1M6wf2pn2D+1M+yf2hn2T+0M+6d2hv1TO0P61M6QPrUzpE/tDOlTO0P61M6QPrUzpE/tDOlTO0P61M6QPrUz5E/tDPlTO0P+1M6QP7UzmNwWjTU9/kWt//Yv+rNfte0mNzovWFbBXFbFXFbDXFaHXJbJLcALlhUwlxUxl7VjLgtzly+Yu3zB3OUL5i5fMHf5grnLV8xdvmLu8hVzl6+Yu3zF3OUr5i5fMXf5irnLV8xdvmLu8g1zl2+Yu3zD3OUb5i7fMHf5hrnLN8xdvmHu8g1zl2+Yu3zH3OU75i7fMXf5jrnLd8xdvmPu8h1zl++Yu3zH3OU75C6fNshdPm2Qu3zaIHf5tEHu8mmD3OXTBrnLpw1yl08b5C6fNshdPm2Yu3zA3OUD5i4fMHf5gLnLB8xdPmDu8gFzlw+Yu3zA3OUD5i4fMXf5iLnLR8xdPmLu8hFzl4+Yu3zE3OUj5i4fMXf5iLnL75i7/I65y++Yu/yOucvvmLv8jrnL75i7/I65y++Yu/yOucsnzF0+Ye7yCXOXT5i7fMLc5RPmLp8wd/mEucsnzF0+Ye7yGXOXz5i7fMbc5TPmLo959zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd13L1EOnvn37zhfB9fyyk1/xcyY8vhL/13XUr96+ueXt+OuW//Oa45/s3x72X56e38NM3t/745njyzTnFX5/NaT8QFOghNQlqISjQI3QS1ELQJEF9CQr0+KEEtRAU6OFICWohKNCjmxLUQlCgB0slqIWgQM93S1ADQa9+7EaCflpQdYqcCapO0UqCtu0uaM8HgqpT5EzQJEF9CapOkTNB1SlaSdD6FLQcCKpOkTNB1SlyJqg6Rb4ELeoUORNUnSJngqpTtJKgud0FLfVAUHWKnAmaJKgvQdUpciaoOkXOBFWnyJmg6hQ5E1SdIl+CVnWKnAmqTpEzQdUpciaoOkXOBE0S1Jeg6hQ5E1SdImeCqlPkTFB1ipwJqk6RL0GbOkXOBFWnyJmg6hQ5E1SdImeCJgnqS1B1ipwJqk6RM0HVKXImqDpFzgRVp8iXoF2dImeCqlPkTFB1ipwJqk6RM0GTBPUlqDpFzgRVp8iZoOoUORNUnSJngqpT5ErQuqlT5ExQ5dALBA3tIWhOloKeTrSuW5KgvgRVDnUmqHKoM0GVQ50JqhzqTFDlUF+CBuVQZ4LqFwvOBNUvFpwJqk6RM0GTBF1I0NOHeGpQp8iZoOoUORNUnSJngqpTtJKgp8981KBOkS9BozpFzgRVp8iZoOoUORNUnSJngiYJupCg57/6i+oUORNUnSJngqpT5ExQdYqcCapOkS9Bd3WKnAmqTpEzQdUpciaoOkXOBE0S1Jeg6hQ5E1SdImeCqlPkTFB1ipwJqk6RL0GTOkXOBFWnyJmg6hQ5E1SdImeCJgnqS1B1ipwJqk6RM0HVKXImqDpFzgRVp8iXoFmdImeCqlPkTFB1ipwJqk6RM0GTBPUlqDpFzgRVp8iZoOoUORNUnSJngqpT5EvQok6RM0HVKXImqDpFzgRVDrUXND6GZt60NX3M7nyidVEOdSaocqgzQZVDnQmqHOpL0Koc6kxQ5VBngiqHOhNUv1hwJmiSoL4EVafImaDqFK0k6PlDPFWdImeCqlPkTFB1inwJ2tQpWknQ82c+mjpFzgRVp8iZoOoUORM0SVBfgqpT5ExQdYpWEvT8V39NnSJngqpT5ExQdYp8CdrVKXImqDpFzgRVp8iZoOoUORM0SVBfgqpT5ExQdYqcCapOkTNB1SlyJqg6Ra4EbZs6Rc4EVafImaDqFDkTVJ0iZ4ImCepLUHWKnAmqTpEzQdUpciaoOkXOBFWnyJegQZ0iZ4KqU+RMUHWKnAmqTpEzQZME9SWoOkXOBFWnyJmg6hQ5E1SdImeCqlPkS9CoTpEzQdUpciaoOkXOBFWnyJmgSYL6ElQ5dExQ07nTLSotTsGuTDcD+67kNQW78tEU7EoxU7Ara0zBnoR9Bnb9hXcKdv0ddgp2pdQp2JVS7bGfPqjRdqXUGdiTUuoU7EqpU7ArpdpjPx0j35JS6hTsSdhnYFdKnYJdKXUKdqXUKdiVUu2xn/9yICmlzsCelVKnYFdKnYJdKXUKdqXUKdiTsM/ArpQ6BbtS6hTsSqlTsCulTsGulDoDe1FKnYJdKXUKdqXUKdiVUqdgT8I+A7tS6hTsSqlTsCulTsGulDoFu1LqDOxVKXUKdqXUKdiVUqdgV0qdgj0J+wzsSqlTsCulTsGulDoFu1LqFOxKqTOwN6XUKdiVUqdgV0qdgl0pdQr2JOwzsCulTsGulDoFuy/fbjvjqPty18ZwfHlgYzi+nKoxHF9+0hhOEpxjOL68mTEcXw7KGI6vbrwxHF89c2M4csiHcPrG65BPx+j1jdchD8DhdcgDcHgd8gCcRAvndOBV33gd8gAcXoc8AIfXIQ/A4XXIA3B4HfI5nMDrkE//+tADr0MegMPrkAfg8DrkAThJcI7h8DrkATi8DnkADq9DHoDD65AH4PA65HM4UQ75BRw55Bdw5JBfwJFDfgEnCc4xHDnkF3DkkF/AkUN+AUcO+QUcOeRjOLsc8gs4csgv4Mghv4Ajh/wCThKcYzhyyC/gyCG/gCOH/AKOHPILOHLIx3Ccvc9uDEcO+QUcOeQXcOSQX8BJgnMMRw75BRw55Bdw5JBfwJFDPoaD/g5vK+0JZ6tncN747lge3GNpX36JnMJPK+n5/tWh96/rqH8r0vmNQfRXeyXSPyKB+z6J9I9ISSLhiwTugyXSPyKB+3GJ9I9I4LlAIv0jEng+kUj/iAT+lwSJdBMJ/ZVkifSPSOo4LCCSOg6zRTof6oL+XrNE+kekJJHwRVLHYQGR1HGYLdL56Bb0d6Yl0j8iqeOwgEjqOOCLhP7itUT6RyR1HBYQSR2H2SKd/1oI/e1tifSPSEki4YukjsMCIqnjsIBI6jgsIJI6DguIpI4Dvkjor5dLpH9EUsdhAZHUcVhAJHUcFhApSSR8kdRxWEAkdRwWEEkdhwVEUsdhAZHUccAXqavjsIBI6jgsIJI6DguIpI7DAiIliYQvkjoOC4ikjsMCIqnjsIBI6jgsIJI6DugipW1Tx2EBkdRxWEAkdRwWEEkdhwVEShIJXyR1HBYQSR2HBURSx2EBkdRxWEAkdRzwRQrqOCwgEm9OymV7iLSFM5H2euceUt6en87hR/D3D+f65Ztvgj7BJ4GfA543z0wGz5tRJoPnzR2TwfNmiSvB9/zrw2XLB+B588Fc8JHX808Gz/uXw8ngef8aeCn48ABfDsAruU4CnwR+Dngl10nglVwngVdynQReyfUK8O3xSFBrB+CVXOeA35VcJ4FXcp0EXsl1Engl10ngk8DPAa/kOgm8kusk8Equk8AruU4Cr+Q6B3xScp0EXsl1Engl10nglVwngU8CPwe8kusk8Equk8AruU4Cr+Q6CbyS6xzwWcl1Engl10nglVwngVdynQQ+Cfwc8Equk8AruU4Cr+Q6CbyS6yTwSq5zwBcl10nglVwngVdynQReyXUS+CTwc8AruU4Cr+Q6Cbx8/Bj4GNJ9IbHVM/DnE5qqfPwk8PLxk8DLx08CLx8/CXwS+AvAnw+RqPLxk8DLx08Cr79ATQKvv0BNAq/kOgd8U3K9Avx5r6YpuU4Cr+Q6CbyS6yTwSeDngFdynQReyXUSeCXXSeCVXCeBV3KdA74ruU4Cr+Q6CbyS6yTwSq6TwCeBnwNeyXUSeCXXSeCVXCeBV3KdBF7JdQr4G2GBnwNeyXUSeCXXSeCVXCeBTwI/B7yS6yTwSq6TwCu5TgKv5DoJvJLrHPBByXUSeCXXSeCVXCeBV3KdBD4J/BzwSq6TwCu5TgKv5DoJvJLrHPCR18eHlh+rTv0E/Pk8jhB5nbk5Sl6vbY4yCaUVSl4/bI6S1+G+h7LfP1y2fICS17Oao+R1oeYoef8iYo1y5/0bx5soz4bLhF1pxwyl0o4ZSqUdM5RJKK1QKu2YoVTaGUN53q/clXbMUCrtmKFU2rFCmZR2zFAq7ZihVNoxQ6m0Y4YyCaUVSqUdM5RKO2YolXbMUCrtmKFU2rFCmZV2zFAq7ZihVNoxQ6m0Y4YyCaUVSqUdM5RKO2YolXbMUCrtmKFU2rFCWZR2zFAq7ZihVNoxQ6m0Y4YyCaUVSqUdM5RKO2YolXbMUCrtmKFU2rFCWZV2zFAq7ZihVNoxQ6m0Y4YyCaUVSl5fue33GuPW0xnK8ykFlddXmqPk9ZXWKBuvrzRHyesrzVHy+sr3UJ4PfGi8vtIcZRJKK5S8XXRzlLxd9DdRnl6tb0o7ZiiVdsxQKu1YoexKO2YolXbMUCrtjKE871d2pR0zlEkorVAq7ZihVNoxQ6m0Y4ZSaccMpdKOEcq4Ke2YoVTaMUOptGOGUmnHDGUSSiuUSjtmKJV2zFAq7ZihVNoxQ6m0Y4WS+PV2c5RKO2YolXbMUCrtmKFMQmmFUmnHDKXSjhlKpR0zlEo7ZiiVdqxQRqUdM5RKO2YolXbMUCrtmKFMQmmFUmnHDKXSjhlKpR0zlEo7ZiiVdqxQEr9ab46S1leG9qATempnKE+nFETe98HtUdL6SnuUtL7SHiWtr7RHSesr30R5OvAh8r4Pbo6S931we5S0XXR7lLRd9HdRnl2tj7zvg9ujTEJphVJpxwyl0o4ZSqUdM5RKO2Moz/uVvO+Dm6PkfR/cHqXSjhlKpR0zlEo7ZiiTUFqhVNoxQ6m0Y4ZSaccMpdKOGUqlHSuUvO+D26NU2jFDqbRjhlJpxwxlEkorlEo7ZiiVdsxQKu2YoVTaMUOptGOFkvd9cHuUSjtmKJV2zFAq7ZihTEJphVJpxwyl0o4ZSqUdM5RKO2YolXasUPK+Wm+PUmnHDKXSjhlKpR0zlEkorVAq7ZihVNoxQ8nrK+tW7l9daz9DeT6lgPd9cHuUvL7SHCWvrzRHyesrzVEmoRxCeX5dlPd9cHuUvL7SHCVvF90cJW8X3Ryl0o4Ryp33ffA3UZ5m8J33fXB7lEo7ZiiVdsxQJqG0Qqm0Y4ZSaccMpdKOGUqlHTOUSjtWKHnfB7dHqbRjhlJpxwyl0o4ZyiSUViiVdsxQKu2YoVTaMUOptGOGUmnHCiXv++D2KJV2zFAq7ZihVNoxQ5mE0gql0o4ZSqUdM5RKO2YolXbMUCrtWKHkfR/cHqXSjhlKpR0zlEo7ZiiTUFqhVNoxQ6m0Y4ZSaccMpdKOFUpn74O3/vjuePLdOT3gpN/X8YTjyykaw/Hl/YzhJME5huPLnxnD8eW4jOH48lDGcHy5ImM4vrq6tnCcvUBtDEcO+QUcXofctjucng/g8DrkAThJcI7h8DrkATi8Drk+4ZQDOLwOeQAOr0MegMPrkM/hOHu12BgOr0MegMPrkPP9m3OpB3B4HfIAnCQ4x3B4HfIAHF6HPACH1yEPwOF1yANweB3yORxnL90aw+F1yANw5JBfwJFDfgEnCc4xHDnkF3DkkF/AkUN+AUcO+QUcOeRjOM5eRzWGI4f8Ao4c8gs4csgv4CTBOYYjh/wCjhzyCzhyyC/gyCG/gCOHfAzH2TuvxnDkkF/AkUN+AUcO+QWcJDjHcOSQX8CRQ34BRw75BRw55Bdw5JAP4SRnb4MawwH3OXV/wml7PoHT6/32Xa/7QcGJrWBwP2JfMLjHsC8Y3DfYFwzuBd4r+Lbu7fHx2E++vbf7d/d+tKeDu4HJeNBfz5uNB7xnNhsPeNdsNh5XftIeTxKeV3hcedX38LwT7I5X/UTpygXPRenKX89FSezcrVESu3xjlOgvzK2Ekjg9WKMkThrWKIlTiTXKJJRWKJV2zFAq7ZihVNoxQ6m0Y4ZSaccKJfoLcyuhVNr5VyuUSjtmKJV2zFAmobRCqbRjhlJpxwyl0o4ZSqUdM5RKO1Yok9KOGUqlHTOUSjtmKJV2zFAmobRCqbRjhlJpxwyl0o4VSvQn7lBQnj+Il9AfxFsJpY6dMZTnN2PRn0xbCaWOHTOUarKZoVSTzQol+lNvK6GUrxxCWUL59dmyxwOU8pVmKNVkM0OZhNIKpdKOGUqlHTOUSjtmKJV2zFAq7VihRH+2byWUSjtmKJV2zFAq7ZihTMQo31nJHh/fvH/95ts/+YTJnHfMYTInHnOYzJnHHCZz6jGHyZx7rGGiP8e4Fkzm7PMWzBwfMEs4gMmcfsxhMucfc5hJMO1gKgEZwlQCMoSpBGQIUwnoD2C2A5hKQHYw0Z/bXAumEtAgzP6Mk/0gTqI/57kWTCUgQ5hJMO1gKgEZwlQCMoSpBGQIUwnoX1/cvkV/8HQunoz+5OlsPModL/EoSbzEo2zwEk8Snld4fD3He/qmW3b2HO9Awb6e4x0o2JVXHSnYlfscKNjXk7kjBbtyiCMFu/J8IwW7cnEjBSe2gtmclq8nX0cKZnNavp5PHSmYzWn5eop0pGA2p+XrWc+Rgtmclq8nMkcKZnNavp6bHCmYzWn5erpxpGA2p+XrGcSRgtmclq8nBUcKZnNavp7nGymYzWn5eupupGA2p+Xr2biRgtmclq8n2EYKZnNavp4zGymYzWn5ehpspGA2p+Xrma2RgtmcVmJzWonNaWU2p+XrFbaRgtmcVmZzWjmxFczmtHy9LDdSMJvT8vVK20jBbE7L14tnIwWzOS1fr4eNFMzmtHy9xDVSMJvT8vWq1UjBbE7L1wtRIwWzOS1fry2NFMzmtHy9XDRSMJvT8vUK0EjBbE7L12s6IwWzOS1fr9KMFMzmtHy97jJSMJvT8vVKykjBbE7L12sjIwWzOS1fr3aMFMzmtHy9fjFSMJvT8vWKxEjBbE7L12sMIwWzOS1frxqMFMzmtHy9DjBSMJvT8jVlf6RgMqdVfE3CHymYzGkVX9PqRwomc1plS2wFkzmtwjYjvrDNiC9sM+IL24z4wjYjvrDNiC9sM+IL24z4wjYjvrDNiC9sM+KLrwnibz5H1fpjJfHksznd3+vO6eenq4qv2eRzUTK/QGiMkvm1QmOUzC8bGqNMQmmFkvnFc2OUzO+dG6Nkfu3cGCXzW+fGKJV2rFD6eh/gQpTt/sW55wOUSjtmKJV2zFAq7ZihTEI5hLI+UZYDlEo7ZiiVdsxQKu2YoVTaMUOptGOF0tcbHReizPd15HLwF0dfr3/MRam0Y4ZSaccMZRJKK5RKO2YolXbMUCrtmKFU2jFDqbRjhdLXOzlzUSrtmKFU2jFDqbRjhjIJpRVKpR0zlEo7ZiiVdsxQKu2YoVTasULp662quSiVdsxQKu2YoVTaMUOZhNIKpdKOGUqlHTOUSjtmKJV2zFAq7Vih9PVe3FyUSjtmKJV2zFAq7ZihTEJphVJpxwyl0o4ZSqUdM5RKO1Yo0d/dy608FlJ6P0HZ632WQK8HswTQ392zLxjco9kXnNgKBvc79gWDu5L3Cn5v/x+Ys4n+St9sPODuYTYe8P7nZDzo7wXOxuPKT9rjceU+7fG48qrXBbvjVT9RJqG0QunKX89FSezcrVESu3xrlMSJwBolcXqwRVnR38tcCSVxKrFGSZxgrFEq7ZihTEJphVJpxwyl0o4ZSqUdM5RKO2YolXasUKK/WbsSSqUdM5RKO2YolXbMUCahtEKptGOGUmnHDKXSjhlKpR0zlEo7VijR3+9eCaXSjhlKpR0zlEo7ZiiTUFqhVNoxQ6m0Y4ZSaccMpdKOGUqlHSuU6M/7oqA8fwq9oj/vuxJKHTtjKE+nCFT0h1RXQqljxwol+kOqK6FUk80MpZpsZijlK4dQlnBfR9njAcoklFYo1WQzQ6kmmxlKpR0zlEo7ZiiVdqxQoj+kuhJKpR0zlEo7ZiiVdsxQJqG0Qqm0Y4aSOe28sZJ/npz99eF/nrb6UuP+BSZz3jGHyZx4zGEyZx5rmOgPqq4Fkzn3mMNkTj7mMJmzz1swH0NW/5kQeAAzCaYdTOb8Yw5TCcgQphKQIUwlIEOYSkB2MNEfWUWEWbd0AFMJyBCmEpAhTCWgMZg1PuJk3Q/iJPpjq2vBVAIyhKkEZAhTCcgQphKQIUwlIDuYTQloEGYJD5h1O4CpBGQIUwnIEKYSkCHMJJh2MJWADGEqARnCVAL61xeDSZifgh7Bo5TyCg/zU9AjeJQkXuJRNniJR27/JZ7kCc/50+DV1yPMIwW78sEjBbvyqiMFu3KfIwW78pPnBTdfT/iOFOzK840U7MrFjRTsypeNFJzYCiZzWs3XM60jBZM5rebrydORgtmclq/nQ0cKZnNavp7iHCmYzWn5etZypGA2p+XriciRgtmclq/nFkcKZnNavp4uHCmYzWn5egZwpGA2p+XrSb2Rgtmclq/n6UYKZnNavp56GymYzWntbE5rZ3NaO5vT8vUS4EjBia1gNqe1szktX+8mjhTM5rR8vUE4ULCvlwJHCmZzWr5e3RspmM1p+XrBbqRgNqfl6zW4kYLZnJavl9VGCmZzWr5eKRspmM1p+Xrxa6RgNqfl6/WskYLZnJavl6hGCmZzWr5edBopmM1p+XoZaaRgNqfl64WhkYLZnJavl3pGCmZzWr5evBkpmM1p+Xo5ZqRgNqfl6wWWkYLZnJavl0xGCmZzWr5eBBkpmM1p+XpZY6RgNqfl64WKkYLZnJavlx5GCmZzWr5eTBgpmM1p+Xp5YKRgNqfla4L/SMFsTsvX3PyRgtmclq/Z9iMFszktX/PnRwpmc1psM+Ib24z4xjYjvrHNiG9sM+Ib24z4zjYjvrPNiO9sM+I724z4viW2gsmcVmebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd99TRC/rXt7fDz2k2+vrT9WEk8+m1P89dmc9gOUrk74uShdeYe5KJNQWqF05XfmonTlpOaidOXR5qJ05f7monTVwZuK0tes/bkolXbMUCrtjKFs9y/OPR+gVNoxQ5mE0gql0o4ZSqWdMZT1ibIcoFTaMUOptGOGUmnHCqWv9y7molTaMUOptDOGMt//4pjLwV8cfb3+MRdlEkorlEo7ZiiVdsxQKu2YoVTaMUOptGOF0tebM3NRKu2YoVTaMUOptGOGMgmlFUqlHTOUSjtmKJV2zFAq7ZihVNqxQunr3ae5KJV2zFAq7ZihVNoxQ5mE0gql0o4ZSqUdM5RKO2YolXbMUCrtWKH09fbaXJRKO2YolXbMUCrtmKFMQmmFUmnHDKXSjhlKpR0zlEo7ZiiVdmxQ5s3X+4dzUYL7ypSeC8npdAhdvc8S6HU/KDixFQzu0ewLBndS9gWD+x37gsFdyXsFv7f/n87ZvOEBdxqT8aC/6TcbD3j/czYe8J7mbDyu/KQ9niQ8r/C48qrXBbvjVT9RunLBc1G68tdzURI7d2uUxC7fGCX625MroSROD9YoiZOGNUriVGKNMgmlFUqlHTOUSjtmKJV2zFAq7ZihVNqxQon+/utKKJV2zFAq7ZihVNoxQ5mE0gql0o4ZSqUdM5RKO2YolXbMUCrtWKFMSjtmKJV2zFAq7ZihVNoxQ5mE0gql0o4ZSqUdM5RKO2YolXbMUCrtWKFEf797JZRKO2YoZYaGUJ4+hX5DKTNkhlLHzhjK8ykC6A+proRSx44ZSjXZzFCqyWaGMgmlFUr5yiGUJdznEZU9HqCUrzRDqSabGUo12cxQKu1YoUR/SHUllEo7ZiiVdsxQKu2YoUxCaYVSaccMpdKOGUqlHTOUzGnnjZW0ut9Ztprylxr3LzCZ8441TPTHVNeCyZx5zGEypx5zmMy5xxxmEkw7mMzZ5y2YpT1g1noAkzn9mMNkzj/mMJWADGEqAdnBRH9gdS2YSkCGMJWA3ofZ0gFMJSBDmEkw7WAqAY3BbNsjTrZwECfRH1tdC6YSkCFMJSBDmEpAZjAD+qOra8FUAjKEqQQ0CDM9fGbL9QCmEpAhzCSYdjCVgAxhKgEZwlQCMoSpBGQIUwnofZjl5xZcYH442h6mEpAhTCWgH1byxKNM8xJPEp5XeJQ7XuJRkniJR9ngJR65/Zd4XPn33u5WpvefR7oEX08xjxTsygePFOzKq44U7Mp9jhSc2Ap25RBHCnbl+UYKduXiRgp25ctGCmZzWr6egR0pmM1p+XpSdaRgNqfl63nSkYLZnJavpz5HCmZzWr6ezRwpmM1p+XqCcqRgNqfl6znHkYLZnJavpxFHCmZzWr6eGRwpmM1p+Xqyb6RgNqfl6/m7kYLZnFZmc1qZzWnlxFYwm9Py9YbhSMFsTiuzOS1fb0kOFOzrxceRgtmclq/XE0cKZnNavl4iHCmYzWn5etVvpGA2p+XrhbyRgtmclq/X5kYKZnNavl5uGymYzWn5egVtpGA2p+XrRbGRgtmclq/XuUYKZnNavl65GimYzWn5ei1qpGA2p+Xr1aWRgtmclq/Xi0YKZnNavl4BGimYzWn5ek1npGA2p+XrVZqRgtmclq/XXUYKZnNavl5JGSmYzWn5em1kpGAypxV9vdoxUjCZ04q+Xr8YKZjMacUtsRVM5rSir9cYRgomc1rR16sGIwWzOS1frwOMFMzmtHxN2R8pmM1p+ZqEP1Iwm9PyNa1+pGA2p+VrovxIwWxOi21GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnx0dcE8du6t8fHYz/59tr6YyXx5LM5xV+fzWk/QOnqhJ+L0pV3mIvSlSuZitLXpPa5KF05qbkoXXm0uShdub+5KJNQWqF01Ruci1Jpxwyl0s4Yynb/4tzzAUqlHTOUSjtWKH29ljAXpdLOGMr6RFkOUCrtmKFU2jFDmYTSCqXSjhlKpR0zlEo7Yyjz/S+OuRz8xdHX6x9zUSrtWKH09WLJXJRKO2YolXbMUCrtmKFMQmmFUmnHDKXSjhlKpR0zlEo7ZiiVdoxQ7r5eDZqLUmnHDKXSjhlKpR0zlEkorVAq7ZihVNoxQ6m0Y4ZSaccMpdKOFUpfL3fNRam0Y4ZSaccMpdKOGcoklFYolXbMUCrtmKFU2jFDqbRjhlJpxwqlr9fz5qJU2jFDqbRjhlJpxwxlEkorlEo7ZijBfWWo+5NNPR1CV++zBHrdDwoGd3/mBaO/u2dfMLiTsi8Y3O/YFwzuSt4r+L39/3zO5o7+St9sPODuYTYe8P7nbDzgPc3ZeFz5SXs8rtynOR70lwuvxPNOsDte9ROlKxc8F6Urfz0XJbFzt0aZhNIKJXEisEZJnB6sURInDWuUxKnEGiVxgjFGif566EoolXbMUCrtmKFU2jFDmYTSCqXSjhlKpR0zlEo7ZiiVdsxQKu1YoUR/wXcllEo7ZiiVdsxQKu2YoUxCaYVSaccMpdKOGUqlHTOUSjtmKJV2rFCiv9+9EkqlHTOUSjtmKGWGhlCeP++7oz/vuxBK9IdUYVCe34xFf0h1JZQ6dsxQqslmhjIJpRVKNdnMUMpXDqEsofz6bNnjAUr5SjOUarKZoVSTzQol+kOqK6FU2jFDqbRjhlJpxwxlEkorlEo7ZiiVdsxQKu2YoVTaMUPJnHbeWUmsDyKxbc9P3/4td5gJ/SnVtWAyJx5zmMyZxxwmc+oxh5kE0w4mc/Ixh8mcfd6CmdoTZvgN5vdP9/3uX3v5sooeflrF489xtafnZ/cvGjGHqlU0Yk5rq2ikGAivEfrTtdLoppFCK75GysL4Gili42uUpBG8RmoI4GukPgO+RuozjK1k39L9m/evn/7aWEN/K3ktmErudjDR30teC6aysCFMhVZDmEqXhjCTYI7B3MsDZsoHMJXXDGEqWBnCVAIyhKkEZAhTCcgOpq/XyGfDVAJ6H+bXGn+DqQRkCFMJyBBmEszjSWyJ+T33ETxKKS/xKHe8xKMk8RKPssErPNTvuQ/gceXfe7v/lbv3elCwK489UrArHzxScGIr2JX7HCnYlZ8cKdiVQxwp2JXnGynYlYsbKNjXy9MjBbM5LV+vOI8UzOa0fL2IPFIwm9Py9brwSMFsTsvXS70jBbM5LV+v3o4UzOa0fL0gO1Iwm9Py9RrrSMFsTsvXy6YjBbM5LV+vhI4UzOa0fL24OVIwm9Py9XrlSMFsTqsmtoLZnJavZ1NHCmZzWpXNaVU2p+XrkdmRgtmclq8HW0cKZnNavh4/HSmYzWn5ekh0pGA2p+XrUc6Rgtmclq8HLkcKZnNavh6LHCmYzWn5enhxpGA2p+XrEcORgtmclq8HAUcKJnNa2dfTeiMFkzmt7OuJupGCyZxW3hJbwWROK/t6Mm2kYDKnlX095jVSMJvT8vXM1EjBbE7L1wNIIwWzOS1fT/OMFMzmtHw9GjNSMJvT8vVKykjBbE7L12sjIwWzOS1fr3aMFMzmtHy9fjFSMJvT8vWKxEjBbE7L12sMIwWzOS1frxqMFMzmtHy9DjBSMJvT8jVlf6RgNqflaxL+SMFsTsvXtPqRgtmclq+J8iMFszktthnxmW1GfGabEZ/ZZsRnthnxmW1GfGabEZ/ZZsRnthnxmW1GfGabEZ99TRB/8zmq1h8riSefvXnwX5+9mdMDlMyvChqjZH6B0Bgl82uFxiiZXza0RelrBvxclMwvnhujZH7v3Bgl82vnxiiTUFqhVNoxQ6m0M4ay3b8493yAUmnHDKXSjhlKpR0rlL7eYbgQZX2iLAcolXbMUCrtmKFU2jFDmYTSCqXSjhlKpZ0xlPn+F8dbqjlAqbRjhlJpxwyl0o4VSl9vocxFqbRjhlJpxwyl0o4ZyiSUViiVdsxQKu2YoVTaMUOptGOGUmnHCqWv94jmolTaMUOptGOGUmnHDGUSSiuUSjtmKJV2zFAq7ZihVNoxQ6m0Y4Sy+HoTbC5KpR0zlEo7ZiiVdsxQJqG0Qqm0Y4ZSaccMpdKOGUqlHTOUSjtWKH29yzcXpdKOGUqlHTOUSjtmKJNQWqEE95VbzI+FbK2coDyfJVDQ392zLxjco5kXjP7unn3B4H7HvmBwV2JfMLh3sC8Y/IS3Lxi862hfMHhv0L5gNqeF/u7emwWfjl4p6O/umReM/u6efcG+nNZAwb6c1unwhYL+7p59wYmtYF9Oa6BgX05roGBfTmugYF9O67xrif7unnnB6O/u2Rfsy2kNFOzLaQ0U7MtpDRSc2Ar25bQGCvbltAYK9uW0Bgpmc1ro7+6ZF4z+7p59wWxOC/3dPfuC2ZxWTmwFszkt9PcP7Qtmc1robwnaF8zmtNDf5bMvmM1pob9xZ18wm9NCfy/OvmA2p4X+9pp9wWxOC/0dM/uC2ZwW+ptg9gWzOS3097XsC2ZzWuhvVdkXzOa00N99si8Y+hzuLd8/3G//90m5vd5/D9/rwe/hsd+qsS8X+gy2Lxf6BLYvF/r8tS8X+vR9r9zw1n3z3trjqw/2cezXUGbDgT7VZ8OB7rXMhgPdl5kNx5F3NIeD/U7IbDiOfGm4bHTM8ZqfIB053rkgHXnpuSCTQNqApHX01iBp3b81SNqkYA2SNlVYg6RNILYgK/Y7HyuBVLIxAqlkYwRSycYIZBJIG5BKNkYglWyMQCrZGIFUsjECqWRjAxL7TY+VQCrZGIFUsjECqWRjBDIJpA1IJRsjkEo2RiCVbIxAKtkYgVSysQGJ/cbOSiCVbIxAyv4MgDx/tqNiP8yyEkgdNiMgT+8JVuxnRlYCqcPGCKTaaEYg1UYzApkE0gakfOQAyBLKr8+WPR6AlI80Aqk2mhFItdGMQCrZ2IDEftZnJZBKNkYglWyMQCrZGIFMAmkDUsnGCKSSjRFIJRsjkEo2RiCVbGxAYj+jtRJIJRsjkEo2RiB5k80b64g9p3uFX8dKhn8e8f4j7EnYZ2DnTU1TsfNmrKnYeROZEfYnSt5MZo6SN5VZo8R+dG8tlLzJzBwlbzYzR6l0ZoYyCaUVSqUoM5RKRmYolXYG1rFv+/3hp31r228o/yhkYj846Re7UpQ5duNLjNgPdUqifyRS6oOXSGkSXiKlVHiJkiRCl0ipGl4ipXV4idQFgJdIHQN4idRdQJfI0wPkXiVSdwFeInUX4CVSdwFeoiSJ0CVSdwFeInUX4CVSdwFeInUX4CVSdwFdoq7uArxE6i7AS6TuArxE6i7AS6RcNFWigen4XbkIXKK2ydHNleh0WnXb5OjgJZKjg5dIjg5eoiSJ0CXS34vgJVIumirR+S29tikXwUukvxfBS6S/F6FLFNRdgJdI3QV4idRdgJdI3QV4iZIkQpdI3QV4idRdgJdI3QV4idRdgJdI3QV7id745hDK/cMh1PL8dI9PkaL6CwuIpA7DAiKpx7CASOoyLCBSkkj4IqnTsIBI6jV8UKQndvUPpmBXT2AEe9juv4Daw5cK/3RidovK+TOw70ru5thtL1i1XbkdXiKldniJlNnhJUqSCF0i5XV4iZTW4SVSsoeXSF0AeInUMUCXKKm7AC+RugvwEqm7AC+RugvwEiVJhC6RugvwEqm7AC+RugvwEqm7AC+RugvoEmV1F+AlUncBXiJ1F+AlUncBXqIkidAlUncBXiJ1F+AlUncBXiJ1F+AlUncBXaKi7gK8ROouwEuk7gK8ROouwEuUJBG6ROouwEuk7gK8ROouwEuk7gK8ROouoEtU1V2Al0i5aKpEA6+m1iSJ0CWSo5sr0flLdVWODl4iOTp0iZocHbxE+nsRvET6exG8RMpFUyUamOrYkiRCl0h/L4KXSH8vgpdI3QV4idRdgJdI3QV0ibq6C/ASqbsAL5G6C/ASqbsAL1GSROgSqbsAL5G6C/YSvfHNIT0qDOnLw1ExtD8UVL0IZ4Kqc+FMUPU5XAnaN3VFYAV9iqS+yAIiqTOygEjqjSwgUpJI+CKpP7KASOqQLCCSuh4LiKROxlyRcr6zC7mU30T64dM3Ne6fDns6iL7qZXiTNKibsZCkMT5Ap3wgqDofzgRVl8SZoOqoOBM0SVBfgqpT40xQdXWcCaoO0EqC5nwHXcOBoOoWORNUvaK5gpb9PicplK/b6J/3iqJ6Re4kVbdoIUkHjFFUt8iZoOoWORM0SVBfgqpb5ExQdYucCapukTNB1S1aSdDzblFUt8iXoLt6RXMFrY9vDjWG/2XQK9rVK3InqbpFC0k6YIx2dYucCZokqC9B1S1yJqi6Rc4EVbfImaDqFjkTVN2ilQQ97xYldYucCape0eR+bu1PQeOJoLXeW0W1lS+r+CqoOkXOBFWnyJmgSYLOPUPzo+Fev75j9uft+aRekTtJ1S1aSNKBLJrULXImqLpFzgRVt8iXoFndImeCqlvkTFB1i5wJqm7RSoKeN+hzkqC+BFWvCEfQmn8T9CmSuj8LiKSOzgIiqUszV6S23Y+k0P45s/7lr1vjWX0ab5IWdWoWknQgBxZ1apwJqk6NM0HVqXEmaJKgvgRVp8aZoOrqOBNUHaCVBD1vjhd1i5wJql6RL0GrOkXOBFWnyJmg6hQ5E1SdImeCJgnqS1B1inAEjb8/ivMUSd2fBURSR2cBkdSl+aBIT+zqpczA3tTxGMLe7jz2GMsJ9gFP1dSXmIJd3QNz7LX1xzfHP17FUyL1A+AlSpIIXSJldniJlNjhJVJeh5dIaR1eIiV7dIm6ugDwEqljAC+RugvwEqm7AC9RkkToEqm7AC+RugvwEqm7AC+RugvwEqm7gC1RuRUlidAlUncBXiJ1F+AlUncBXqIkidAlUncBXiJ1F+AlUncBXiJ1F+AlUncBXaKg7gK8RMpFUyXKKf76bE5HEiVJhC6RHN1cifL96l3++lTGbxLJ0cFLJEeHLlGUo4OXSH8vgpdIfy+Cl0i5aKpEJZRfny17PJAoSSJ0ifT3IniJ9PcieInUXYCXSN0FeInUXUCXaFd3AV4idRfgJVJ3AV4idRfgJUqSCF0idRfsJXrjm8PW7h8Ot/U/Px3jF5HUX1hAJHUYFhBJPYYFRFKXAV+kpD7DAiKp07CASOo1TBbp8VOGm0jhN5F++ub068O1fV3Fl0yV1JlwJmiSoL4EVddjrqAhPs/FdHQuquuxgEjqeiwgkroeC4ikrge+SFldjwVEUtdjAZHU9QASqR2IpE7GAiIliYQvkjoOHxTpiV09hCnY1RUYwR7zE3tJJ9gHfsyVlfOnYFdyN8ce4wNHyj9jL8riU7ArXU/Brrw8BbsS8BTsSdhnYFdKtcee8x1HDQfYlVKnYFdKnYJdKXUKdqXUGdirUuoU7EqpQ9j7fS7vvm/571thVSl1CnalVHPsA3GpJmGfgV0pdQp2pdQp2JVSp2BXSp2CXSnVHvt5XGpKqVOwK6VOwa6UOgW7UuoU7EnYZ2BXSp2CXSl1BPu+5wf2Fk6wh3zHEXI6wK6UOgW7Uqo5duPXQZsSLbpEXekXXiIlZXiJlKrhJVICh5coSSJ0iZTs4SVSFwBeInUM4CVSdwFeInUXwCW6VSWJ0CVSdwFeInUX4CVSdwFeoiSJ0CVSdwFeInUX4CVSdwFeInUX4CVSdwFdoqDuArxE6i7AS6TuArxE6i7AS5QkEbpE6i7AS6TuArxE6i7AS6TuArxE6i6gSxTVXYCXSLloqkQ53S+w5nQkUZJE6BLJ0c2V6PHCdy71QCI5OniJ5OjQJdrl6OAl0t+L4CXS34vgJVIumirR+djqsCdJhC6R/l4EL5H+XgQvkboL8BKpuwAvkboL6BIldRfgJVJ3AV4idRfgJVJ3AV6iJInQJVJ3AV4idRfgJVJ3AV4idRfgJVJ3AV2irO4CvETqLthL9MY3h/b4cGj/fNuDXfhDQdWLcCaoOhfOBE0S1Jeg6orACvoUSX2RBURSZ2QBkdQbWUAkdUfwRSrqjywgkjokC4ikrscCIqmTsYBISSLhi6SOw1yRerrfZwu977+J9APp01fQQ1F3wpmg6mQsJKjxiJ+iDgmx+Oq88Ipf1dEhFl+dImLx1YEiFl+dLWLxk8TnFV+dOGLx1bUjFl8dPmLx1eEjFl8dPl7xmzp8xOKrw0csvjp8xOKrw0csfpL4vOKrw0csvjp8xOKrw0csvjp8xOKrw8crfleHj1h8dfiIxU8S36f4Ay/KduV8YvHl9r2Kf/7yYJfbpxU/bnL7xOLL7ROLr7/nE4uvv+cTi58kvk/xz6f1xk05n1h8/T2fWHz9PZ9YfHX4iMVXh49X/KAOH7H46vARi68OH7H46vARi58kPq/46vARi68OH7H46vCtJP473xzK/cMh1C/PIvT4RX71+KjlV5ePWf6oPh+1/Or0UcuvXh+1/Or2UcufJL8H+Z+CqofnTFD15aYKGrd4/3DcajwR9PyFuxjVa3MmqLpnCwlqO/ogRvXOeMXf1TkjFl99M2Lx1TUjFl89M2Lxk8TnFV/dNWLx1YkjFl9dO2Lx1eEjFl8dPl7xkzp8xOKrw0csvjp8xOKrw0csfpL4vOKrw0csvjp8xOKrw0csvjp8xOKrw8crflaHj1h8dfiIxVeHj1h85Xyn4p+/Whezcj6x+HL7XsU/f8GmyO0Tiy+3Tyy+3D6x+Pp7PrH4SeLziq+c71T8gbHGRTmfWHz9PZ9YfP09n1h8dfh4xa/q8BGLrw4fsfjq8BGLrw4fsfhJ4vOKrw4fsfjq8BGLrw7fSuK/8c1Db1dU9fio5VeXj1n+pj4ftfzq9FHLr14ftfzq9lHLnyS/B/mfgqqH50xQ9eUmC9rv7bObhulE0HBT47Hp7ulAUnXb3EmqDtpCkqZw756nfTv55q+fbQfiq3/GK35X98yp+DE+REn5QHz1zojFV+eMWHz1zYjFTxKfV3x12IjFVzfOq/j5vuRYw4H46tsRi68OH7H46vDRir9v6vARi68OH7H46vARi68O36LitwNBkwT1Jag6cc4EVXfNmaDqmDkTVF0wZ4Kqs+VL0KBulTNB1YFyJqi6Ss4EVadorqDheecqpLM7VyP3OfaQJKk3SdUtciep+kXuJFXHyJ2k6hm5k1RdI2+SRvWN3EmqzpE7SdU7ciepukfuJE2S1Juk6h65k1TdI3eSqnvkTlJ1j9xJqu6RN0l3dY/cSarukTtJ1T1yJ6m6R+4kTZLUm6TqHrmTVN0jd5Kqe+ROUnWP3Emq7pE3SZO6R+4kVffInaTqHrmTVN0jd5ImSepNUnWP3Emq7pE7SdU9ciepukfuJFX3yJukWd0jd5Kqe+ROUnWP3Emq7pE7SZMk9SapukfuJFX3yJ2k6h65k1TdI3eSqnvkTdKi7pE7SdU9ciepukfuJFX3yJ2kSZJ6k1TdI3eSqnvkTlJ1j9xJqu6RO0nVPfImaVX3yJ2k6h65k1TdI3eSqnvkTtIkSb1Jqu6RO0nVPXInqbpH7iRV98idpOoeeZO0qXvkTlJ1j9xJqu6RO0nVPXInaZKk3iRV98idpOoeuZNU3SN3kqp75E5SdY+8SdrVPXInqbpH7iRV98idpOoeuZM0SVJvkqp75E5SdY/cSarukTtJ1T1yJ6m6R84kTZu6R+4kVffInaTqHrmTVN0jd5ImSepNUnWP3Emq7pE7SdU9ciepukfuJFX3yJukQd0jd5Kqe+ROUnWP3Emq7pE7SZMk9SapukfuJFX3yJ2k6h65k1TdI3eSqnvkTdKo7pE7SdU9ciepukfuJFX3yJ2kSZJ6k1TdI3eSqnvkTlJ1j9xJqu6RO0nVPfIm6a7ukTtJ1T1yJ6m6R+4kVffInaRJknqTVN0jd5Kqe+ROUnWP3Emq7pE7SdU98iZpUvfInaTqHrmTVN0jd5Kqe+RO0iRJvUmq7pE7SdU9ciepukfuJFX3yJ2k6h55kzSre+ROUnWP3Emq7pE7SdU9cidpkqTeJFX3yJ2k6h65k1TdI3eSqnvkTlJ1j7xJWtQ9ciepukfuJFX3yJ2k6h65kzRJUm+SqnvkTlJ1j9xJqu6RO0nVPfqgpE/s6vDMwF7VhZmCXZ2SKdjVzZiCXR2HKdiTsM/AruQ+gj3FeMee9n6Cfci5V+XrSeCVgs3B3z5y/3BOJ99cQvn12bLHA4mUauElUgJGl6gpLU+VKMYHupQPJFKyhpdIKRxeIiV2eImSJEKXSJ0AeInUM4CXSN2FuRLle3801nAgkboL8BKpu4AuUVd3AV4idRfgJVJ3AV4idReulKgcYU/CPgO7ugBTsCvZT8GutD4FuxL4EPbaHth7PsE+9NuXrlw9BXzelJbNwdv+XCJvSsvwEiktT5Xo/O8feVNahpcoSSJ0iZTC4SVSYoeXSOkeXiJ1AuZKdPr3j7ypZ4AuUVB3AV4idRfgJVJ3AV4idRfgJUqSCF0idReulKgcYVfHYAp2dQGmYFeyn4JdaX0G9qgEPgW7UvUU7ErKU7Ar/U7BnoR9Bnal1BHs+fGzqT3vZwMBh36rGJVTJ4FXUp0EXll1Enil1Tngd+XVSeCVWCeBV2adBF6pdRL4JPBzwCu5TgKv5DoJvJLrJPBKrpPAK7nOAZ+UXCeBV3KdBF7JdRJ4JddJ4JPAzwGv5DoJvJLrJPBKrpPAK7lOAq/kOgd8VnKdBF7JdRJ4JddJ4JVcJ4FPAj8HvJLrJPBKrpPAK7lOAq/kOgm8kusc8EXJdRJ4JddJ4JVcJ4FXcp0EPgn8HPBKrpPAK7lOAq/kOgm8kusk8Equc8BXJddJ4JVcJ4FXcp0EXsl1Evgk8HPAK7lOAq/kOgm8kusk8Equk8Aruc4B35RcJ4FXcp0EXsl1Engl10ngk8DPAa/kOgm8kusk8Equk8AruU4Cr+Q6B3xXcp0EXsl1Engl10nglVwngU8CPwe8kusk8Equk8AruU4Cr+Q6CbyS6xTwZVNynQReyXUSeCXXSeCVXCeBTwI/B7yS6yTwSq6TwCu5TgKv5DoJvJLrHPBByXUSeCXXSeCVXCeBV3KdBD4J/BzwSq6TwCu5TgKv5DoJvJLrJPBKrnPARyXXSeCVXCeBV3KdBF7JdRL4JPBzwCu5TgKv5DoJvJLrJPBKrpPAK7nOAb8ruU4Cr+Q6CbyS6yTwSq6TwCeBnwNeyXUSeCXXSeCVXCeBV3KdBF7JdQ74pOQ6CbyS6yTwSq6TwCu5TgKfBH4OeCXXSeCVXCeBV3KdBF7JdRJ4Jdc54LOS6yTwSq6TwCu5TgKv5DoJfBL4OeCVXCeBV3KdBF7JdRJ4JddJ4JVc54AvSq6TwCu5TgKv5DoJvJLrJPBJ4OeAV3KdBF7JdRJ4JddJ4JVcJ4FXcv22jgecqnT5Ao4S4As4Smkv4ChJvYCTBOcYjhLJCzhKDS/gyNm/gCP3/QKOHPIxnCaH/AKOI4fcW3t8uB6U68jzjpTryMWOlJu4ynXkNEfKdeQdR8p15AZHynXk70bKdeTYBsrtjjzYSLlcrqpzuarO5ap64iqXy1V1LlfVuVxV53JVncpV1Y3KVdWNylXVjcpV1Y3KVdUtcZVL5arqRuWq6kblqupG5arqxuWqAper8vSO/Ui5XK7K05vtI+UmrnK5XJWnV8FHyuVyVZ5ewB4pl8tVeXrteaRcLlfl6WXjkXK5XJWnV3xHyuVyVZ5erB0pl8tVeXqddaRcLlfl6SXSkXK5XJWnVzdHyuVyVZ5emBwpl8tVeXpNcaRcLlfl6eXAkXK5XJWnV/JGyuVyVZ5ehBspl8tVeXr9bKRcLlfl6aWvkXK5XJWnV61GyuVyVZ5ecBopl8tVeXqtaKRcLlfl6WWekXK5XJWnV2hGyuVyVZ5eXBkpl8tVeXpdZKRcLlfl6SWNkXK5XJWnVyNGyuVyVZ5eSBgpl8tVeXoNYKRcLlflaar+SLlcrsrT5PuRcrlclafp9CPlcrkqTxPkR8rlclWepryPlMvlqjxNYh8pl8tVcc1Wr1yz1SvXbPXKNVu9cs1Wr1yz1SvXbPXKNVu9cs1Wr1yz1SvXbPXKNVu9cs1Wr1yz1SvXbPXKNVu9cs1Wr1yz1RvXbPXGNVu9cc1Wb1yz1duWuMqlclWNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rlmq3eu2eqda7Z655qt3rfEVS6Vq+pcs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U71Wz1ulHNVr+Vy+SqbuUyuapbuUyu6lZu4iqXyVXdymVyVbdymVzVrVwmV3Url8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL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rmW5XK9UlXzPslyuV6pKvmNZLtcrVSXfryyX65Wqku9Wlsv1SlXJ9yrL5XqlquQ7leVyvVJV8n3KcrleqSr5LmW5XK9UdfdKVXevVJV8S7Zcrleqal6pqnmlquQ70OVyvVJV8h3ocrleqSr5DnS5XK9UlXwHulyuV6pKvgNdLtcrVSXfgS6X65Wqku9Al8v1SlVeu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uy1W3322q0+e+1Wn712q8+35iXXKlXNXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtfvfarX732q1+99qtfvfarX6/NS+5Vqnq7rVb/e61W/3utVv97rVb/e61W/3utVv97rVb/e61W/3utVv97rVb/e61W/3utVv97rVb/V5p+/axzY8Xb/cTuYWeuxG5hT6Zj31/vng7kVvokzkit9Anc0RuoU/miNxCfTcgt9J+5ojcSs/dgNxKz92A3EJ9NyK3ecn1SlWV9jNH5A6bql4Shk1KLwmp08/X+5iX5xu57evF/+zOf/ZTcO5Nyp8QnDoBfUJw6gz0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qqp0sz0it3nJ9UpVla6CR+R6papKF7Ajcr1SVaVrzxG5Xqmq0mXjiFyvVFXpim9ErleqqnSxNiLXK1VVus4akeuVqipdIo3I9UpVla5uRuR6papKFyYjcr1SVaVrihG5Xqmq0uXAiFyvVFXpSl5ErleqqnQRLiLXK1VVun4WkeuVqipd+orI9UpVla5aReR6papKF5wicr1SVaVrRRG5Xqmq0mWeiFyvVFXpCk1ErleqqnRxJSLXK1VVui4SkeuVqipd0ojI9UpVla5GROR6papKFxIicr1SVaVrABG5Xqmq0lb9iFyvVFVp831ErleqqrSdPiLXK1VV2iAfkeuVqipteY/I9UpVlTaxR+R6pSqv3eqb1271zWu3+ua1W33z2q2+ee1W37x2q29eu9U3r93qm9du9c1rt/rmtVt989qtvnntVt+8dqtvXrvVN6/d6pvXbvXda7f67rVbfffarb577Vbfb81LrlWq2r12q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W/3w2q1+eO1WP7x2qx9eu9WPW/OSa5WqDq/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfljtVt9uVrvVv+Q6paovuU6p6kuuU6r6ktu85Dqlqi+5TqnqS65TqvqS65SqvuR6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXKlVNXrvVJ6/d6pPXbvXJa7f6lxgvuVapavLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvV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cgtl3oDcuVCKjcgtlEsjcgslzYjcQtkxIrd5yS2U7yJyCyW2iNxCGSwi1ytVzV6p6u6Vqu5eqerularuXqnq3rzkeqWqu1equnulqrtXqrp7parmlaqaV6pqXqmqeaWq1rzkeqWq5pWqmleqqnTHPiLXK1VVutkekeuVqirdJ4/I9UpVlW5xR+R6papKd6cjcr1SVaUbyxG5Xqmq0j3hiFyvVFXpdm5ErleqqnQnNiLXK1VVuokakeuVqird/4zI9UpVlW5dRuR6papKdx0jcr1SVaUbhhG5Xqmq0r2+iFyvVFXpNl1ErleqqnSHLSLXK1VVujkWkeuVqird14rI9UpVlW5JReR6papKd5Micr1SVaUbQRG5Xqmq0j2ciFyvVFXp9ktErleqqnTnJCLXK1VVuukRkWuVqtZK9ysicq1S1VrpVkNErlWqWm/NS65Vqlor7eCPyLVKVWulPfkRuV6pqtIu+4hcr1RVad98RK5Xqqq0Ez4i1ytVVdrbHpHrlaq8dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbfa20ffvrXd+e73o+Ln72T97H1NbnT16+vXrap9/95P14/uT54icvbf712qXdTywqlBVqWrRV2nJe1aJCmayqRYVyZFWLCmXfqhY1LMpuUaGOUdWiQtPmqhYVmpBXtYjpQnqLmC70tWh//ODlWH5vUaVrH1UtYrqQ3iKmC+ktYrrQ16LtZdF6YlHDouwWMV1IbxHThfQWMV1IbxHThfQWMV3oa9Hy+AugZf39XwBtla5eVbWI6UJ6i5gupLeI6UJ6ixoWZbeI6UJ6i5gupLeI6UJ6i5gu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38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97bvY/vZdbH/7Lra/fRfb376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97bvY/vZdbH/7Lra/fRfb376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3th9j+9kNsf/shtr/9ENvfftyqmF6tfHWI7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDa3/7dtPa337XK5Wv7nql8tVdr1S+uuutYnql8tVdr1S+uuuVyld3vVL56q5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8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b5/E9rdPYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vn8T2t09i+9snsf3tk9j+9klsf/sktr99EtvfPontb5/E9rdPYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vL2L724vY/vYitr+9iO1vL7cqplcrXxWx/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH/7LLa/fRbb3z6L7W+fxfa3z7cqplcrX81i+9tnsf3ts9j+9llsf/sstr99FtvfPovtb5/F9rfPYvvbZ7H97bPY/vZZbH/7LLa/fc603/vYyuPF23ymN9Hz16Q30efzse/PF29nehN9Ppv0Jvp8NulN9Pls0puo/1r0Ztr/bNKb6flr0Zvp+WvRm6j/mvRWMb1i+SrT/meT3mHz1ZuGYTPTm4bQOej+PsryfCO3ff3wX975z34pjr2puYni0FmoieLQaaiJ4tB5qIniKqc4dCZqojh0KmqiOHQuaqI4dIpqolguc8Xe3txEsVzmir3BuYliucwVe4tzE8VymSv2JucmiuUyV+xtzk0Uy2Wu2BudmyiWy1yxtzo3USyXuWJvdm6iWC5zxd7u3ESxXOaKveG5iWK5zBV7K+63ipf6+DvYpZ4qTvV0MilO9cm1LI+/1VjWs7/ViL07tYniVJ9cFsWx96c2UZyqLZoUp2qLJsWpnsd3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N6LRfLLfIwznU8pZXsCnlA+9gE8p13pdyjv/1C8sGyxlLEs57WCWxh5eztLY78tZGmcDOUvjHCFmuWW/xzkUS+N8ImdpnGXkLMk9OpYNljKW5B4dS3KPjiW5R8eS3KNjSe6Rscx+E3coluQeHUtyj44luUfHssFSxpLco2NJ7tGxJPfoWJJ7dCzJPTKW2S+ED8WS3KNjSe7RsST36Fg2WMpYknt0LMk9OpbkHh1Lco+OJblHxjL79eAsLDuurW/ZrwcPxZJnTx/Lz5sHtuxXWodiybNHxjL7ldahWNK56VjSuelY4i+7WH7R+vXa9T6fsWywlLGkc9OxpHPTsST36FiSe3QsyT0yltmvtA7FktyjY0nu0bEk9+hYNljKWJJ7dCydc88PPsm/7tn+evG/zmW9zHh/pemcfPQ0nbOPnqZz+pHTzH6tdTCazglIT9M5A+lpOqegH9F8rmn913rBM5oNmkKazklIT5MspKRJFlLSJAspaZKFhDSzX3DNSHO7tTOaZCElTbKQkiZZqI/mNj+T5XY/S5bZL7kORpMspKRJFlLSJAspaZKFlDTJQkKaO1mok+Y6PWlutzOaZCElTbKQkiZZSEmzQVNIkyykpEkWUtIkC/2Xd9tMnC9Nd/Ehr7zl43xpuosPmeI9H1LCez74/vd8WiU+HbfHt1o3nrsmLuWIuyYu5Vq7Ji7lQ7smLuUsOybea10I7pq4lPvrmriUn+uauJRD65q42U3s5rn2WldguyZ281x7rYuqXRPbea5a10m7JrbzXLUufXZNbOe5al3N7JrYznPVukDZNbGd56p1zbFrYjvPVesyYtfEdp6r1pXBrontPFeti31dE9t5rlrX77omtvNctS7JdU1s57nudp7rbue57naeq9atwa6Jm93Edp7rbue5at1m7JrYznPVunPYM3Gta4RdE9t5rlqX/bomtvNcta7kdU1s57lqXZzrmtjOc9W63tY1sZ3nqnUJrWtiO89V66pY18R2nqvWha6uie08V61rV10T23muWlejuia281y1ri91TWznuWpdMeqa2M5z1boG1DWxneeqdVWna2I7z1XrOk3XxHaeq9aVl66J7TxXrWspXRPbea5aV0e6JrbzXLWud3RNbOe5al3B6JrYznPVuibRNbGd56p1laFrYjvPVeu6QdfEdp6r1pWArontPFet3fxdE9t5rlr787smtvNctXbcd01s57ns9tDvdnvod7s99LvdHvrdbg/9breH/rDbQ3/Y7aE/7PbQH3Z76I9bs5vYzXMddnvoD7s99IfdHvrDbg/9YbeH/rDbQ3/Y7aE/7PbQH3Z76A+7PfSH3R76w24P/WG3h/6w20N/2O2hP+z20B92e+gPuz30h90e+sNuD/1ht4f+sNtDf9jtoT/s9tAfdnvoD7s99IfdHvrDbg/9YbeH/rDbQ3/Y7aE/7PbQH3Z76I9aO8q/Pvft+fL5+PDu2348P8n84bVLm3+9dmn3M5alnvTBLEt5iGCWDZYylqV8TzDLUo4qmGUprxbMspQLDGZZqtOLZVlrm38wS3KPjiW5p4/l/njj5VjOWJJ7dCwbLGUsyT06luSePpbbN8v1jCW5R8eS3KNjSe6Rsax1USOYJblHx5Lc08dyefwOuaxnv0PWui8SzLLBUsaS3KNjSe7RsST36FiSe3QsyT0ylrWu2gSzJPfoWJJ7dCzJPTqWDZYyluQeHUtyj44luUfHktyjY0nukbGsdVkqmCW5R8eS3KNjSe7RsWywlLEk9+hYknt0LMk9OpbkHh1Lco+MZa3rbsEsyT06luQeHUtyj45lg6WMJblHx5Lco2NJ7tGxJPfoWJJ7RCyXW60Li8Esk/vL1r4/yNI+brDbHtsHju1+NnGzmzi5V7tg4uSO6oKJk/uepp84uTv52cQ/ewp83tT5xSe544jmk/1mYDif5I1oOJ/kLWc4n1LO8gI+DT5v+ZRyrdelvPNP/cKylB8OZlnKaQezNPbwcpbGfl/NMvtty6FYGucIOUvjzCFnaZxP5CwbLGUsyT06luQeHUtyj44luUfHktwjY5n9vuxQLMk9OpbkHh1Lco+OZYOljCW5R8eS3KNjSe7RsST36FiSe2QsG7lHx5Lco2NJ7tGxJPfoWDZYyliSe3QsyT06luQeHUtyj44luUfGMvuF8KFYknt0LPFEXSw/X1v/Yokn0rHk2dPHsmPzQPYrrUOx5NmjY0nnpmNJ56Zj2WApY4m/7GL5RevXa9f7fMYSf6ljSeemY0nnpmNJ7pGxzH6ldSiW5B4dS3KPjiW5R8eywVLGktyjY0nu0bEk9+hYOueeH3ySfbs/YO5bW15mvL/SdE4+cprZL7UORtM5/ehpOucfPU3nBKSn2aAppOmcgn5Ec92fNLftjKZzDtLTdE5CeppkISVNspCQZvbrrYPRJAspaZKFfk5zb2c0yUJKmg2aQppkoT6a++2ZLPfpLFlmv+Q6GE2ykJImWUhJkyykozllv+g6GE2ykJImWaiTZnv6zX3ZzmiShZQ0GzSFNMlCSppkISVNspCSJllISZMs9HOa60kjNznfpb6AJllISZMs9Def5IUP6eY9nwaft3xIIO/5kCne8yElvOeD73/Pp5STP/aHpTmOk00wU61Lz10Tl3LEXROXcq1dE5fyoV0TN7uJS3nFrolLub+uiUv5ua6JSzm0rontPFetK7NdE9t5rloXW7smtvNcta6fdk1s57lqXRLtmtjOc9W6ytk1sZ3nqnXhsmtiO89V61pk18R2nqvW5cWuie08V60rhl0T23muWhcBuya281y1rut1TWznuRY7z7XYea6l2U1s57lqXUnsmtjOcy12nqvWvcqeiWtdleya2M5z1brQ2DWxneeqde2wa2I7z1XrcmDXxHaeq9YVvq6J7TxXrYt2XRPbea5a1+G6JrbzXLUurXVNbOe5al0t65rYznPVugDWNbGd56p1SatrYjvPVesiVdfEdp6r1mWnrontPFetC0ldE9t5rlqXhromtvNctS72dE1s57lqXb7pmtjOc9W6INM1sZ3nqnWJpWtiO89V66JJ18RunmuudRmka2I3zzXXurDRNbGb55pvzW5iN88117r40DWxm+eaa11O6JrYznPVukDQNbGd56q1yb9rYjvPVWvbftfEdp6r1kb8rontPFetrfVdE9t5Lrs99LPdHvrZbg/9bLeHfrbbQz/b7aGf7fbQz3Z76Ge7PfSz3R762W4P/Wy3h36220M/2+2hn+320M92e+hnuz30s90e+tluD/1st4d+tttDP9vtoZ/t9tDPdnvoZ7s99LPdHvrZbg/9bLeHfrbbQz/b7aGf7fbQz3Z76Ge7PfSz3R762W4P/Wy3h36220M/2+2hn+320M92e+hnuz30s90e+tluD/1st4d+rrWj/Otz354vn48P777tx/OTzB9eu7T512uXdj9jWepJH8yylIcIZlnKncSyrLULPphlKUcVzLKUVwtmWcoFBrNssJSxLNUWBrMk9+hYknv6WO6PN16O5YwluUfHktwjY1nrHkMwS3JPH8vtm+V6xpLco2NJ7tGxbLCUsST36FiSe3QsyT19LJfH75DL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mvmrSpcpuuY181eVrjB0zWvmrypdHOia18xfVdrc3zWvmb+qtF2/a14zf1VpA37XvGb+qtKW+q55zfxVpU3yXfOa+atK29675jXzV2b72zez/e2b2f72zWx/+2a2v30z29++me1v38z2t29m+9s3s/3tm9n+9s1sf/tmtr99M9vfvpntb9/M9rdvZvvbN7P97bvZ/vbdbH/7bra/fTfb377fmtm8Xv5qN9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9sNsf/thtr/9MNvffpjtbz9uzWxeL391mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2t/+3bz2t/+Na+Vv/qa18pffc1r5a++5m1m81r5q695rfzV17xW/uprXit/9TWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvl7+azPa3T2b72yez/e2T2f72r2nM5vXyV5PZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v32qtN/761Pfnp96Pj68908+x/1+X369+H7fp+/Pcaz/5jvPt/nx4vm2vbKb/u6d9+P5zvOHd17a/Ou1S7ufqV/IjaD+j9Uv5M1Q/8fqN9Q3Vr+Qb0f9H6tfKMWg/o/VL5TpUP/H6hdKuKj/Y/UL/Z6C+j9Uf650XQX1f6w+XZ+z+nR9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"}],"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"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_parameters"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_abi"}]}},"file_map":{"123":{"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 traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\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 = (n as Field).to_be_bytes(4);\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 = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\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 pedersen_hash(\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<N>(&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<N>(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] = pedersen_hash(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] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(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 == 0x11e40f2a780822f7971803048c9a2100579de352e7dadd99981760964da65b57);\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"},"137":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\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; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\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) -> PrivateCallStackItem {\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 PrivateCallStackItem::deserialize(fields)\n}\n"},"142":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector, public_call_stack_item::PublicCallStackItem,\n function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_context::CallContext, read_request::ReadRequest, note_hash::NoteHash, nullifier::Nullifier,\n log_hash::LogHash, global_variables::GlobalVariables, gas::Gas\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n messaging::l2_to_l1_message::L2ToL1Message, header::Header, address::AztecAddress,\n utils::reader::Reader,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n}\n};\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\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) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\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\npub fn parse_public_call_stack_item_from_oracle(fields: [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH]) -> PublicCallStackItem {\n let mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n // WARNING: if updating, see comment in public_call_stack_item.ts's PublicCallStackItem.hash()\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData { selector: FunctionSelector::from_field(reader.read()), is_private: false },\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n args_hash: reader.read(),\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0\n },\n is_execution_request: true\n };\n reader.finish();\n\n item\n}\n"},"169":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{GAS_LENGTH, FIXED_DA_GAS, FIXED_L2_GAS}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader,\n abis::gas_fees::GasFees\n};\nuse std::ops::{Add, Sub};\n\nstruct Gas {\n da_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l2_gas }\n }\n\n pub fn tx_overhead() -> Self {\n Self { da_gas: FIXED_DA_GAS, l2_gas: FIXED_L2_GAS }\n }\n\n pub fn compute_fee(self, fees: GasFees) -> Field {\n (self.da_gas as Field) * fees.fee_per_da_gas + (self.l2_gas as Field) * fees.fee_per_l2_gas\n }\n\n pub fn is_empty(self) -> bool {\n (self.da_gas == 0) & (self.l2_gas == 0)\n }\n\n pub fn within(self, limits: Gas) -> bool {\n (self.da_gas <= limits.da_gas) & (self.l2_gas <= limits.l2_gas)\n }\n}\n\nimpl Add for Gas {\n fn add(self, other: Gas) -> Self {\n Gas::new(self.da_gas + other.da_gas, self.l2_gas + other.l2_gas)\n }\n}\n\nimpl Sub for Gas {\n fn sub(self, other: Gas) -> Self {\n Gas::new(self.da_gas - other.da_gas, self.l2_gas - other.l2_gas)\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Gas::empty();\n let serialized = item.serialize();\n let deserialized = Gas::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n"},"171":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/note_hash.nr","source":"use crate::{\n abis::read_request::ScopedReadRequest, address::AztecAddress,\n abis::side_effect::{Ordered, OrderedValue, Readable, Scoped},\n constants::{NOTE_HASH_LENGTH, SCOPED_NOTE_HASH_LENGTH}, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct NoteHash {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for NoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHash {\n fn eq(self, other: NoteHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n }\n}\n\nimpl Empty for NoteHash {\n fn empty() -> Self {\n NoteHash {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_LENGTH> for NoteHash {\n fn serialize(self) -> [Field; NOTE_HASH_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_LENGTH> for NoteHash {\n fn deserialize(values: [Field; NOTE_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl NoteHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNoteHash {\n ScopedNoteHash { note_hash: self, contract_address }\n }\n}\n\nstruct ScopedNoteHash {\n note_hash: NoteHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<NoteHash> for ScopedNoteHash {\n fn inner(self) -> NoteHash {\n self.note_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNoteHash {\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNoteHash {\n fn value(self) -> Field {\n self.note_hash.value\n }\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl Eq for ScopedNoteHash {\n fn eq(self, other: ScopedNoteHash) -> bool {\n (self.note_hash == other.note_hash)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedNoteHash {\n fn empty() -> Self {\n ScopedNoteHash {\n note_hash: NoteHash::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn serialize(self) -> [Field; SCOPED_NOTE_HASH_LENGTH] {\n array_concat(self.note_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn deserialize(values: [Field; SCOPED_NOTE_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n note_hash: reader.read_struct(NoteHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNoteHash {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.note_hash.value, read_request.value(), \"Value of the note hash does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the note hash does not match read request\");\n assert(\n read_request.counter() > self.note_hash.counter, \"Read request counter must be greater than the counter of the note hash\"\n );\n }\n}\n\nimpl ScopedNoteHash {\n pub fn expose_to_public(self) -> NoteHash {\n // Hide the actual counter when exposing it to the public kernel.\n NoteHash { value: self.note_hash.value, counter: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = NoteHash::empty();\n let serialized = item.serialize();\n let deserialized = NoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNoteHash::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"172":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n pub fn new(fee_per_da_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l2_gas }\n }\n\n pub fn default() -> Self {\n GasFees::new(1, 1)\n }\n\n pub fn is_empty(self) -> bool {\n (self.fee_per_da_gas == 0) & (self.fee_per_l2_gas == 0)\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasFees::empty();\n let serialized = item.serialize();\n let deserialized = GasFees::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"174":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr","source":"use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber, gas_settings::GasSettings,\n validation_requests::KeyValidationRequestAndGenerator, note_hash::NoteHash, nullifier::Nullifier,\n private_call_request::PrivateCallRequest, read_request::ReadRequest,\n log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NOTE_HASHES_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_L2_TO_L1_MSGS_PER_CALL, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS, MAX_ENCRYPTED_LOGS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n transaction::tx_context::TxContext, utils::arrays::validate_array\n};\n\nstruct PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: u32,\n nullifier_read_requests: u32,\n key_validation_requests_and_generators: u32,\n note_hashes: u32,\n nullifiers: u32,\n l2_to_l1_msgs: u32,\n private_call_requests: u32,\n public_call_stack_hashes: u32,\n note_encrypted_logs_hashes: u32,\n encrypted_logs_hashes: u32,\n unencrypted_logs_hashes: u32,\n}\n\nimpl PrivateCircuitPublicInputsArrayLengths {\n pub fn new(public_inputs: PrivateCircuitPublicInputs) -> Self {\n PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: validate_array(public_inputs.note_hash_read_requests),\n nullifier_read_requests: validate_array(public_inputs.nullifier_read_requests),\n key_validation_requests_and_generators: validate_array(public_inputs.key_validation_requests_and_generators),\n note_hashes: validate_array(public_inputs.note_hashes),\n nullifiers: validate_array(public_inputs.nullifiers),\n l2_to_l1_msgs: validate_array(public_inputs.l2_to_l1_msgs),\n private_call_requests: validate_array(public_inputs.private_call_requests),\n public_call_stack_hashes: validate_array(public_inputs.public_call_stack_hashes),\n note_encrypted_logs_hashes: validate_array(public_inputs.note_encrypted_logs_hashes),\n encrypted_logs_hashes: validate_array(public_inputs.encrypted_logs_hashes),\n unencrypted_logs_hashes: validate_array(public_inputs.unencrypted_logs_hashes)\n }\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator; MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n note_hashes: [NoteHash; MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier; MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: Field,\n l2_to_l1_msgs: [L2ToL1Message; MAX_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n note_encrypted_logs_hashes: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash; MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\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: The chain_id and version here are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n tx_context: TxContext,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.min_revertible_side_effect_counter == other.min_revertible_side_effect_counter) &\n (self.is_fee_payer == other.is_fee_payer) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.key_validation_requests_and_generators == other.key_validation_requests_and_generators) &\n (self.note_hashes == other.note_hashes) &\n (self.nullifiers == other.nullifiers) &\n (self.private_call_requests == other.private_call_requests) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.l2_to_l1_msgs == other.l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.note_encrypted_logs_hashes == other.note_encrypted_logs_hashes) &\n (self.encrypted_logs_hashes == other.encrypted_logs_hashes) &\n (self.unencrypted_logs_hashes == other.unencrypted_logs_hashes) &\n self.historical_header.eq(other.historical_header) &\n self.tx_context.eq(other.tx_context)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n fields.push(if self.is_fee_payer { 1 } else { 0 } as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..self.note_hash_read_requests.len() {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_read_requests.len() {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..self.key_validation_requests_and_generators.len() {\n fields.extend_from_array(self.key_validation_requests_and_generators[i].serialize());\n }\n for i in 0..self.note_hashes.len() {\n fields.extend_from_array(self.note_hashes[i].serialize());\n }\n for i in 0..self.nullifiers.len() {\n fields.extend_from_array(self.nullifiers[i].serialize());\n }\n for i in 0..self.private_call_requests.len() {\n fields.extend_from_array(self.private_call_requests[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.push(self.public_teardown_function_hash);\n for i in 0..self.l2_to_l1_msgs.len() {\n fields.extend_from_array(self.l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n for i in 0..self.note_encrypted_logs_hashes.len() {\n fields.extend_from_array(self.note_encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.encrypted_logs_hashes.len() {\n fields.extend_from_array(self.encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.unencrypted_logs_hashes.len() {\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.tx_context.serialize());\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n is_fee_payer: reader.read() == 1,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n key_validation_requests_and_generators: reader.read_struct_array(KeyValidationRequestAndGenerator::deserialize, [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL]),\n note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL]),\n nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL]),\n private_call_requests: reader.read_struct_array(PrivateCallRequest::deserialize, [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n public_teardown_function_hash: reader.read(),\n l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n note_encrypted_logs_hashes: reader.read_struct_array(NoteLogHash::deserialize, [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL]),\n encrypted_logs_hashes: reader.read_struct_array(EncryptedLogHash::deserialize, [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL]),\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n tx_context: reader.read_struct(TxContext::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n note_encrypted_logs_hashes: [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n tx_context: TxContext::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x15c9b0a92b9b541598e24c9f0b0b4b04b7f2408599751c45aa12de671fd9b363;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"175":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item_compressed.nr","source":"use crate::abis::{call_context::CallContext, function_data::FunctionData, gas::Gas};\nuse crate::address::AztecAddress;\nuse crate::constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH};\nuse crate::traits::{Hash, Empty, Serialize, Deserialize};\nuse crate::utils::reader::Reader;\n\n/**\n * A compressed version of the PublicCallStackItem struct used to compute the \"hash\"\n * of a PublicCallStackItem.\n * \n * Historically, we have been zeroing most values in the PublicCallStackItem struct\n * to compute the hash involved when adding a PublicCallStackItem to the PublicCallStack.\n * \n * This struct is used to store the values that we did not zero out, and allow us to hash\n * only these, thereby skipping a lot of computation and saving us a lot of constraints\n * \n * Essentially this struct exists such that we don't have a `hash` function in the \n * PublicCallStackItem struct that practically throws away some values of the struct\n * without clearly indicating that it does so.\n */\nstruct PublicCallStackItemCompressed {\n contract_address: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n revert_code: u8,\n start_gas_left: Gas,\n end_gas_left: Gas,\n}\n\nimpl Eq for PublicCallStackItemCompressed {\n fn eq(self, other: PublicCallStackItemCompressed) -> bool {\n (self.contract_address == other.contract_address)\n & (self.call_context == other.call_context)\n & (self.function_data == other.function_data)\n & (self.args_hash == other.args_hash)\n & (self.returns_hash == other.returns_hash)\n & (self.revert_code == other.revert_code)\n & (self.start_gas_left == other.start_gas_left)\n & (self.end_gas_left == other.end_gas_left)\n }\n}\n\nimpl Hash for PublicCallStackItemCompressed {\n fn hash(self) -> Field {\n std::hash::pedersen_hash_with_separator(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PublicCallStackItemCompressed {\n fn empty() -> Self {\n PublicCallStackItemCompressed {\n contract_address: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n }\n }\n}\n\nimpl Serialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn serialize(self) -> [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.start_gas_left.serialize());\n fields.extend_from_array(self.end_gas_left.serialize());\n\n assert_eq(fields.len(), PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn deserialize(fields: [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH]) -> PublicCallStackItemCompressed {\n let mut reader = Reader::new(fields);\n\n let item = PublicCallStackItemCompressed {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n revert_code: reader.read() as u8,\n start_gas_left: reader.read_struct(Gas::deserialize),\n end_gas_left: reader.read_struct(Gas::deserialize),\n };\n reader.finish();\n item\n }\n}\n"},"177":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr","source":"use crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl GlobalVariables {\n fn is_empty(self) -> bool {\n (self.chain_id == 0)\n & (self.version == 0)\n & (self.block_number == 0)\n & (self.timestamp == 0)\n & (self.coinbase.is_zero())\n & (self.fee_recipient.is_zero())\n & (self.gas_fees.is_empty())\n }\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n"},"178":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr","source":"use crate::{\n abis::side_effect::{Ordered, Scoped}, traits::{Empty, Serialize, Deserialize},\n address::AztecAddress, constants::{READ_REQUEST_LENGTH, SCOPED_READ_REQUEST_LEN},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for ReadRequest {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedReadRequest {\n ScopedReadRequest { read_request: self, contract_address }\n }\n}\n\nstruct ScopedReadRequest {\n read_request: ReadRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<ReadRequest> for ScopedReadRequest {\n fn inner(self) -> ReadRequest {\n self.read_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Eq for ScopedReadRequest {\n fn eq(self, other: ScopedReadRequest) -> bool {\n (self.read_request == other.read_request)\n & (self.contract_address.eq(other.contract_address))\n }\n}\n\nimpl Empty for ScopedReadRequest {\n fn empty() -> Self {\n ScopedReadRequest {\n read_request: ReadRequest::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn serialize(self) -> [Field; SCOPED_READ_REQUEST_LEN] {\n array_concat(self.read_request.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn deserialize(values: [Field; SCOPED_READ_REQUEST_LEN]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n read_request: reader.read_struct(ReadRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedReadRequest {\n pub fn value(self) -> Field {\n self.read_request.value\n }\n pub fn counter(self) -> u32 {\n self.read_request.counter\n }\n}\n\n#[test]\nfn serialization_of_empty_read() {\n let item = ReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"181":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr","source":"use crate::{\n address::AztecAddress,\n abis::validation_requests::{\n key_validation_request::KeyValidationRequest,\n scoped_key_validation_request_and_generator::ScopedKeyValidationRequestAndGenerator\n},\n constants::KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct KeyValidationRequestAndGenerator {\n request: KeyValidationRequest,\n sk_app_generator: Field,\n}\n\nimpl Eq for KeyValidationRequestAndGenerator {\n fn eq(self, other: KeyValidationRequestAndGenerator) -> bool {\n (self.request == other.request) & (self.sk_app_generator == other.sk_app_generator)\n }\n}\n\nimpl Empty for KeyValidationRequestAndGenerator {\n fn empty() -> Self {\n KeyValidationRequestAndGenerator {\n request: KeyValidationRequest::empty(),\n sk_app_generator: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH] {\n array_concat(self.request.serialize(), [self.sk_app_generator])\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH]) -> Self {\n let mut reader = Reader::new(fields);\n let res = Self {\n request: reader.read_struct(KeyValidationRequest::deserialize),\n sk_app_generator: reader.read(),\n };\n reader.finish();\n res\n }\n}\n\nimpl KeyValidationRequestAndGenerator {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedKeyValidationRequestAndGenerator {\n ScopedKeyValidationRequestAndGenerator { request: self, contract_address }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = KeyValidationRequestAndGenerator::empty();\n let serialized = item.serialize();\n let deserialized = KeyValidationRequestAndGenerator::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"182":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr","source":"use crate::{constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize}, point::Point};\n\nstruct KeyValidationRequest {\n pk_m: Point,\n sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m))\n & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest {\n pk_m: Point::empty(),\n sk_app: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.pk_m.x,\n self.pk_m.y,\n self.pk_m.is_infinite as Field,\n self.sk_app,\n ]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: Point { x:fields[0], y: fields[1], is_infinite: fields[2] as bool},\n sk_app: fields[3],\n }\n }\n}\n\n"},"186":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier.nr","source":"use crate::{\n abis::{side_effect::{Ordered, OrderedValue, Readable, Scoped}, read_request::ScopedReadRequest},\n address::AztecAddress, constants::{NULLIFIER_LENGTH, SCOPED_NULLIFIER_LENGTH},\n hash::compute_siloed_nullifier, traits::{Empty, Hash, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct Nullifier {\n value: Field,\n counter: u32,\n note_hash: Field,\n}\n\nimpl Ordered for Nullifier {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for Nullifier {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for Nullifier {\n fn eq(self, other: Nullifier) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.note_hash == other.note_hash) \n }\n}\n\nimpl Empty for Nullifier {\n fn empty() -> Self {\n Nullifier {\n value: 0,\n counter: 0,\n note_hash: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_LENGTH> for Nullifier {\n fn serialize(self) -> [Field; NULLIFIER_LENGTH] {\n [self.value, self.counter as Field, self.note_hash]\n }\n}\n\nimpl Deserialize<NULLIFIER_LENGTH> for Nullifier {\n fn deserialize(values: [Field; NULLIFIER_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n note_hash: values[2],\n }\n }\n}\n\nimpl Readable for Nullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n // Public kernels output Nullifier instead of ScopedNullifier.\n // The nullifier value has been siloed.\n let siloed_request_value = compute_siloed_nullifier(read_request.contract_address, read_request.value());\n assert_eq(self.value, siloed_request_value, \"Value of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl Nullifier {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNullifier {\n ScopedNullifier { nullifier: self, contract_address }\n }\n}\n\nstruct ScopedNullifier {\n nullifier: Nullifier,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<Nullifier> for ScopedNullifier {\n fn inner(self) -> Nullifier {\n self.nullifier\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNullifier {\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNullifier {\n fn value(self) -> Field {\n self.nullifier.value\n }\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl Eq for ScopedNullifier {\n fn eq(self, other: ScopedNullifier) -> bool {\n (self.nullifier == other.nullifier)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedNullifier {\n fn empty() -> Self {\n ScopedNullifier {\n nullifier: Nullifier::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn serialize(self) -> [Field; SCOPED_NULLIFIER_LENGTH] {\n array_concat(self.nullifier.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn deserialize(values: [Field; SCOPED_NULLIFIER_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n nullifier: reader.read_struct(Nullifier::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.nullifier.value, read_request.value(), \"Value of the nullifier does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.nullifier.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl ScopedNullifier {\n pub fn nullified_note_hash(self) -> Field {\n self.nullifier.note_hash\n }\n\n pub fn expose_to_public(self) -> Nullifier {\n // Hide the actual counter and note hash when exposing it to the public kernel.\n Nullifier { value: self.nullifier.value, counter: 0, note_hash: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Nullifier::empty();\n let serialized = item.serialize();\n let deserialized = Nullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNullifier::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"195":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr","source":"use crate::utils::field::field_from_bytes;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n"},"196":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_request.nr","source":"use crate::{\n abis::{\n private_call_stack_item::PrivateCallStackItem, call_context::CallContext,\n function_data::FunctionData, caller_context::CallerContext,\n side_effect::{Ordered, RangeOrdered, Scoped}\n},\n address::AztecAddress, constants::{PRIVATE_CALL_REQUEST_LENGTH, SCOPED_PRIVATE_CALL_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, utils::reader::Reader\n};\n\nstruct PrivateCallRequest {\n target: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n caller_context: CallerContext,\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n}\n\nimpl Ordered for PrivateCallRequest {\n fn counter(self) -> u32 {\n self.start_side_effect_counter\n }\n}\n\nimpl RangeOrdered for PrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.start_side_effect_counter\n }\n fn counter_end(self) -> u32 {\n self.end_side_effect_counter\n }\n}\n\nimpl Eq for PrivateCallRequest {\n fn eq(self, other: PrivateCallRequest) -> bool {\n (self.target == other.target) \n & (self.call_context == other.call_context) \n & (self.function_data == other.function_data) \n & (self.args_hash == other.args_hash) \n & (self.returns_hash == other.returns_hash)\n & (self.caller_context == other.caller_context)\n & (self.start_side_effect_counter == other.start_side_effect_counter)\n & (self.end_side_effect_counter == other.end_side_effect_counter)\n }\n}\n\nimpl Empty for PrivateCallRequest {\n fn empty() -> Self {\n PrivateCallRequest {\n target: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n caller_context: CallerContext::empty(),\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n }\n }\n}\n\nimpl Serialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn serialize(self) -> [Field; PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.push(self.target.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.extend_from_array(self.caller_context.serialize());\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n assert_eq(fields.len(), PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn deserialize(fields: [Field; PRIVATE_CALL_REQUEST_LENGTH]) -> PrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = PrivateCallRequest {\n target: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n caller_context: reader.read_struct(CallerContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n end_side_effect_counter: reader.read_u32(),\n };\n reader.finish();\n item\n }\n}\n\nimpl PrivateCallRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedPrivateCallRequest {\n ScopedPrivateCallRequest { call_request: self, contract_address }\n }\n\n pub fn matches_stack_item(self, stack_item: PrivateCallStackItem) -> bool {\n (self.target == stack_item.contract_address)\n & (self.call_context == stack_item.public_inputs.call_context)\n & (self.function_data == stack_item.function_data)\n & (self.args_hash == stack_item.public_inputs.args_hash)\n & (self.returns_hash == stack_item.public_inputs.returns_hash)\n & (self.start_side_effect_counter\n == stack_item.public_inputs.start_side_effect_counter)\n & (self.end_side_effect_counter\n == stack_item.public_inputs.end_side_effect_counter)\n }\n}\n\nstruct ScopedPrivateCallRequest {\n call_request: PrivateCallRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<PrivateCallRequest> for ScopedPrivateCallRequest {\n fn inner(self) -> PrivateCallRequest {\n self.call_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedPrivateCallRequest {\n fn counter(self) -> u32 {\n self.call_request.counter_start()\n }\n}\n\nimpl RangeOrdered for ScopedPrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.call_request.counter_start()\n }\n fn counter_end(self) -> u32 {\n self.call_request.counter_end()\n }\n}\n\nimpl Eq for ScopedPrivateCallRequest {\n fn eq(self, other: ScopedPrivateCallRequest) -> bool {\n (self.call_request == other.call_request)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedPrivateCallRequest {\n fn empty() -> Self {\n ScopedPrivateCallRequest {\n call_request: PrivateCallRequest::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn serialize(self) -> [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, SCOPED_PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.call_request.serialize());\n fields.extend_from_array(self.contract_address.serialize());\n\n assert_eq(fields.len(), SCOPED_PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn deserialize(fields: [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH]) -> ScopedPrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = ScopedPrivateCallRequest {\n call_request: reader.read_struct(PrivateCallRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = ScopedPrivateCallRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedPrivateCallRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"201":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n abis::gas_fees::GasFees,\n constants::{\n GAS_SETTINGS_LENGTH, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_MAX_FEE_PER_GAS,\n DEFAULT_INCLUSION_FEE\n},\n hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n utils::reader::Reader\n};\n\nstruct GasSettings {\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n pub fn new(\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field\n ) -> Self {\n Self { gas_limits, teardown_gas_limits, max_fees_per_gas, inclusion_fee }\n }\n\n pub fn default() -> Self {\n GasSettings::new(\n Gas::new(DEFAULT_GAS_LIMIT, DEFAULT_GAS_LIMIT),\n Gas::new(DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT),\n GasFees::new(DEFAULT_MAX_FEE_PER_GAS, DEFAULT_MAX_FEE_PER_GAS),\n DEFAULT_INCLUSION_FEE\n )\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limits == other.gas_limits) & (self.teardown_gas_limits == other.teardown_gas_limits) & (self.max_fees_per_gas == other.max_fees_per_gas) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n Gas::empty(), Gas::empty(), GasFees::empty(), 0\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.gas_limits.serialize());\n serialized.extend_from_array(self.teardown_gas_limits.serialize());\n serialized.extend_from_array(self.max_fees_per_gas.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings::new(reader.read_struct(Gas::deserialize), reader.read_struct(Gas::deserialize), reader.read_struct(GasFees::deserialize), reader.read())\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasSettings::empty();\n let serialized = item.serialize();\n let deserialized = GasSettings::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"210":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr","source":"use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x065f2831db9ac0db5e710bd3a865b5facd8cf83f1585e1af8fd1d6ce9c47f685;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"211":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/caller_context.nr","source":"use crate::address::AztecAddress;\nuse crate::traits::{Empty, Serialize, Deserialize};\nuse crate::constants::CALLER_CONTEXT_LENGTH;\nuse crate::utils::reader::Reader;\n\nstruct CallerContext {\n msg_sender: AztecAddress,\n storage_contract_address: AztecAddress,\n is_static_call: bool,\n}\n\nimpl Eq for CallerContext {\n fn eq(self, other: CallerContext) -> bool {\n other.msg_sender.eq(self.msg_sender)\n & other.storage_contract_address.eq(self.storage_contract_address)\n & other.is_static_call == self.is_static_call\n }\n}\n\nimpl Empty for CallerContext {\n fn empty() -> Self {\n CallerContext {\n msg_sender: AztecAddress::zero(),\n storage_contract_address: AztecAddress::zero(),\n is_static_call: false,\n }\n }\n}\n\nimpl CallerContext {\n pub fn is_empty(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero() & !self.is_static_call\n }\n\n // Different to an empty context, a hidden context won't reveal the caller's msg_sender and storage_contract_address,\n // but will still propagate the is_static_call flag.\n pub fn is_hidden(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero()\n }\n}\n\nimpl Serialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn serialize(self) -> [Field; CALLER_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, CALLER_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.msg_sender.serialize());\n fields.extend_from_array(self.storage_contract_address.serialize());\n fields.push(self.is_static_call as Field);\n\n assert_eq(fields.len(), CALLER_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn deserialize(fields: [Field; CALLER_CONTEXT_LENGTH]) -> CallerContext {\n let mut reader = Reader::new(fields);\n\n let item = CallerContext {\n msg_sender: reader.read_struct(AztecAddress::deserialize),\n storage_contract_address: reader.read_struct(AztecAddress::deserialize),\n is_static_call: reader.read_bool(),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = CallerContext::empty();\n let serialized = item.serialize();\n let deserialized = CallerContext::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"213":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr","source":"use crate::{\n abis::side_effect::{Ordered, OrderedValue, Scoped}, address::AztecAddress,\n constants::{\n LOG_HASH_LENGTH, NOTE_LOG_HASH_LENGTH, ENCRYPTED_LOG_HASH_LENGTH, SCOPED_LOG_HASH_LENGTH,\n SCOPED_ENCRYPTED_LOG_HASH_LENGTH\n},\n traits::{Empty, Serialize, Deserialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct LogHash {\n value: Field,\n counter: u32,\n length: Field,\n}\n\nimpl Ordered for LogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for LogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for LogHash {\n fn eq(self, other: LogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n }\n}\n\nimpl Empty for LogHash {\n fn empty() -> Self {\n LogHash {\n value: 0,\n counter: 0,\n length: 0,\n }\n }\n}\n\nimpl Serialize<LOG_HASH_LENGTH> for LogHash {\n fn serialize(self) -> [Field; LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length]\n }\n}\n\nimpl Deserialize<LOG_HASH_LENGTH> for LogHash {\n fn deserialize(values: [Field; LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n }\n }\n}\n\nimpl LogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedLogHash {\n ScopedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedLogHash {\n log_hash: LogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<LogHash> for ScopedLogHash {\n fn inner(self) -> LogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedLogHash {\n fn eq(self, other: ScopedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedLogHash {\n fn empty() -> Self {\n ScopedLogHash {\n log_hash: LogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn serialize(self) -> [Field; SCOPED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn deserialize(values: [Field; SCOPED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(LogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedLogHash {\n pub fn expose_to_public(self) -> Self {\n // Hide the counter when exposing to public.\n Self {\n log_hash: LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length },\n contract_address: self.contract_address\n }\n }\n}\n\nstruct EncryptedLogHash {\n value: Field,\n counter: u32,\n length: Field,\n randomness: Field,\n}\n\nimpl Ordered for EncryptedLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for EncryptedLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for EncryptedLogHash {\n fn eq(self, other: EncryptedLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.randomness == other.randomness) \n }\n}\n\nimpl Empty for EncryptedLogHash {\n fn empty() -> Self {\n EncryptedLogHash {\n value: 0,\n counter: 0,\n length: 0,\n randomness: 0,\n }\n }\n}\n\nimpl Serialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn serialize(self) -> [Field; ENCRYPTED_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.randomness]\n }\n}\n\nimpl Deserialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn deserialize(values: [Field; ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n randomness: values[3],\n }\n }\n}\n\nimpl EncryptedLogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedEncryptedLogHash {\n ScopedEncryptedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<EncryptedLogHash> for ScopedEncryptedLogHash {\n fn inner(self) -> EncryptedLogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl ScopedEncryptedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the secret randomness and counter when exposing to public\n // Expose as a LogHash rather than EncryptedLogHash to avoid bringing an unnec. 0 value around\n // The log hash will already be silo'd when we call this\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nimpl Ordered for ScopedEncryptedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedEncryptedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedEncryptedLogHash {\n fn eq(self, other: ScopedEncryptedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedEncryptedLogHash {\n fn empty() -> Self {\n ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn serialize(self) -> [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn deserialize(values: [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(EncryptedLogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct NoteLogHash {\n value: Field,\n counter: u32,\n length: Field,\n note_hash_counter: u32,\n}\n\nimpl NoteLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the actual counter and note hash counter when exposing it to the public kernel.\n // The counter is usually note_hash.counter + 1, so it can be revealing.\n // Expose as a LogHash rather than NoteLogHash to avoid bringing an unnec. 0 value around\n LogHash { value: self.value, counter: 0, length: self.length }\n }\n}\n\nimpl Ordered for NoteLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteLogHash {\n fn eq(self, other: NoteLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.note_hash_counter == other.note_hash_counter) \n }\n}\n\nimpl Empty for NoteLogHash {\n fn empty() -> Self {\n NoteLogHash {\n value: 0,\n counter: 0,\n length: 0,\n note_hash_counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn serialize(self) -> [Field; NOTE_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.note_hash_counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn deserialize(values: [Field; NOTE_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n note_hash_counter: values[3] as u32,\n }\n }\n}\n"},"217":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr","source":"struct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u32 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n"},"218":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n}\n// docs:end:call-context\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n function_selector: FunctionSelector::empty(),\n is_delegate_call: false,\n is_static_call: false,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n"},"219":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/max_block_number.nr","source":"use crate::{constants::MAX_BLOCK_NUMBER_LENGTH, traits::{Deserialize, Serialize, Empty}};\n\nstruct MaxBlockNumber {\n _opt: Option<u32>\n}\n\nimpl Empty for MaxBlockNumber {\n fn empty() -> Self {\n Self { _opt: Option::none() }\n }\n}\n\nimpl Eq for MaxBlockNumber {\n fn eq(self, other: Self) -> bool {\n self._opt == other._opt\n }\n}\n\nimpl Serialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn serialize(self) -> [Field; MAX_BLOCK_NUMBER_LENGTH] {\n [self._opt._is_some as Field, self._opt._value as Field]\n }\n}\n\nimpl Deserialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn deserialize(serialized: [Field; MAX_BLOCK_NUMBER_LENGTH]) -> MaxBlockNumber {\n MaxBlockNumber {\n _opt: Option {\n _is_some: serialized[0] as bool,\n _value: serialized[1] as u32,\n }\n }\n }\n}\n\nimpl MaxBlockNumber {\n pub fn new(max_block_number: u32) -> Self {\n Self { _opt: Option::some(max_block_number) }\n }\n\n pub fn is_none(self) -> bool {\n self._opt.is_none()\n }\n\n pub fn is_some(self) -> bool {\n self._opt.is_some()\n }\n\n pub fn unwrap(self) -> u32 {\n self._opt.unwrap()\n }\n\n pub fn unwrap_unchecked(self) -> u32 {\n self._opt.unwrap_unchecked()\n }\n\n pub fn min(lhs: MaxBlockNumber, rhs: MaxBlockNumber) -> MaxBlockNumber {\n if rhs.is_none() {\n lhs // lhs might also be none, but in that case both would be\n } else {\n MaxBlockNumber::min_with_u32(lhs, rhs.unwrap_unchecked())\n }\n }\n\n pub fn min_with_u32(lhs: MaxBlockNumber, rhs: u32) -> MaxBlockNumber {\n if lhs._opt.is_none() {\n MaxBlockNumber::new(rhs)\n } else {\n let lhs_value = lhs._opt.unwrap_unchecked();\n\n MaxBlockNumber::new(if lhs_value < rhs { lhs_value } else { rhs })\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = MaxBlockNumber::empty();\n let serialized = item.serialize();\n let deserialized = MaxBlockNumber::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn zeroed_is_none() {\n // Large parts of the kernel rely on zeroed to initialize structs. This conveniently matches what `default` does,\n // and though we should eventually move everything to use `default`, it's good to check for now that both are\n // equivalent.\n let a = MaxBlockNumber::empty();\n assert(a.is_none());\n}\n\n#[test]\nfn serde_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert(b.is_none());\n}\n\n#[test]\nfn serde_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert_eq(b.unwrap(), 13);\n}\n\n#[test(should_fail)]\nfn default_unwrap_panics() {\n let a = MaxBlockNumber::empty();\n let _ = a.unwrap();\n}\n\n#[test]\nfn min_default_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::empty();\n\n assert(MaxBlockNumber::min(a, b).is_none());\n}\n\n#[test]\nfn min_default_some() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::new(13);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_some_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::new(42);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_with_u32_default() {\n let a = MaxBlockNumber::empty();\n let b = 42;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 42);\n}\n\n#[test]\nfn min_with_u32_some() {\n let a = MaxBlockNumber::new(13);\n let b = 42;\n let c = 8;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min_with_u32(a, c).unwrap(), 8);\n}\n"},"222":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr","source":"use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n (self.is_private == other.is_private)\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false\n }\n }\n\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty function data hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"229":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr","source":"use crate::{\n address::{AztecAddress, EthAddress},\n constants::{L2_TO_L1_MESSAGE_LENGTH, SCOPED_L2_TO_L1_MESSAGE_LENGTH},\n abis::side_effect::{Ordered, Scoped}, traits::{Deserialize, Empty, Serialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n counter: u32,\n}\n\nimpl Ordered for L2ToL1Message {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n counter: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content) & (self.counter == other.counter)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content, self.counter as Field]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\nimpl L2ToL1Message {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedL2ToL1Message {\n ScopedL2ToL1Message { message: self, contract_address }\n }\n}\n\nstruct ScopedL2ToL1Message {\n message: L2ToL1Message,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<L2ToL1Message> for ScopedL2ToL1Message {\n fn inner(self) -> L2ToL1Message {\n self.message\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedL2ToL1Message {\n fn counter(self) -> u32 {\n self.message.counter\n }\n}\n\nimpl Eq for ScopedL2ToL1Message {\n fn eq(self, other: ScopedL2ToL1Message) -> bool {\n (self.message == other.message)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedL2ToL1Message {\n fn empty() -> Self {\n ScopedL2ToL1Message {\n message: L2ToL1Message::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn serialize(self) -> [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH] {\n array_concat(self.message.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn deserialize(values: [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n message: reader.read_struct(L2ToL1Message::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\n#[test]\nfn serialization_of_empty_l2() {\n let item = L2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = L2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped_l2() {\n let item = ScopedL2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = ScopedL2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"23":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\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 pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\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 = exponent.to_le_bits(32);\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 fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\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 num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 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\n"},"239":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr","source":"use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n num_txs: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.num_txs);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let num_txs = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n num_txs,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n num_txs: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.num_txs == other.num_txs)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n"},"241":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr","source":"use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n total_fees: Field\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables) &\n self.total_fees.eq(other.total_fees)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.total_fees);\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n offset = offset + GLOBAL_VARIABLES_LENGTH;\n\n let total_fees = serialized[offset];\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n total_fees\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n total_fees: 0\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x124e8c40a6eca2e3ad10c04050b01a3fad00df3cea47b13592c7571b6914c7a7;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"242":{"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, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = 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 pedersen_hash(\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, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\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 pedersen_hash(\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 compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\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 pedersen_hash([left, right], 0)\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 = inputs[i].to_be_bytes(32);\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 = input[offset].to_be_bytes(32);\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 = logs[offset].value.to_be_bytes(32);\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 = logs[offset].value.to_be_bytes(32);\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<N>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\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 = 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"},"243":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n"},"245":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/transaction/tx_context.nr","source":"use crate::{\n constants::{GENERATOR_INDEX__TX_CONTEXT, TX_CONTEXT_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n abis::gas_settings::GasSettings\n};\n\n// docs:start:tx-context\nstruct TxContext {\n chain_id : Field,\n version : Field,\n gas_settings: GasSettings,\n}\n// docs:end:tx-context\n\nimpl TxContext {\n pub fn new(chain_id: Field, version: Field, gas_settings: GasSettings) -> Self {\n TxContext { chain_id, version, gas_settings }\n }\n}\n\nimpl Eq for TxContext {\n fn eq(self, other: Self) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.gas_settings.eq(other.gas_settings))\n }\n}\n\nimpl Empty for TxContext {\n fn empty() -> Self {\n TxContext {\n chain_id: 0,\n version: 0,\n gas_settings: GasSettings::empty(),\n }\n }\n}\n\nimpl Serialize<TX_CONTEXT_LENGTH> for TxContext {\n fn serialize(self) -> [Field; TX_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, TX_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.extend_from_array(self.gas_settings.serialize());\n\n assert_eq(fields.len(), TX_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<TX_CONTEXT_LENGTH> for TxContext {\n fn deserialize(serialized: [Field; TX_CONTEXT_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let context = Self {\n chain_id: reader.read(),\n version: reader.read(),\n gas_settings: reader.read_struct(GasSettings::deserialize),\n };\n\n reader.finish();\n context\n }\n}\n\nimpl Hash for TxContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__TX_CONTEXT)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context = TxContext::empty();\n let serialized = context.serialize();\n let deserialized = TxContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let context = TxContext::empty();\n let hash = context.hash();\n\n // Value from tx_context.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17e4357684c5a4349b4587c95b0b6161dcb4a3c5b02d4eb2ecc3b02c80193261;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"251":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n"},"265":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<N> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<N> 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<K>(&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, K>(&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, K, C>(&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"},"277":{"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, N, M>(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"},"291":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr","source":"use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\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"},"292":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","source":"use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash,\n traits::{Empty, FromField, ToField, Serialize, Deserialize}, 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([pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1])\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 = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\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"},"400":{"path":"/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr","source":"// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n"},"5":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\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 pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Get an element from the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\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 /// Get an element from the vector at the given index.\n /// Responds with undefined data for `index` where `self.len < index < self.max_len()`.\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Write an element to the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\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 /// Write an element to the vector at the given index.\n /// Does not check whether the passed `index` is a valid index within the vector.\n ///\n /// Silently writes past the end of the vector for `index` where `self.len < index < self.max_len()`\n /// Panics if the given index points beyond the maximum length of the vector (`self.max_len()`).\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\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 pub fn len(self) -> u32 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\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 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 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 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 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::unsafe::zeroed();\n elem\n }\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 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"},"57":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\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 pedersen_hash(\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_slice(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"},"95":{"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, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n 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_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\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_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\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 // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_nullifier(&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_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\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 }\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, 0)\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<M>(&mut self, randomness: Field, log: [u8; M], log_hash: Field) {\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<M>(&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<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_COUNT>(\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<RETURNS_COUNT>(\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<RETURNS_COUNT>(\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<ARGS_COUNT>(\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<RETURNS_COUNT>(\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 item = 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 assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\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 assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest {\n target: item.contract_address,\n call_context: item.public_inputs.call_context,\n function_data: item.function_data,\n args_hash: item.public_inputs.args_hash,\n returns_hash: item.public_inputs.returns_hash,\n caller_context,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_COUNT>(\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 mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.get_compressed().hash());\n }\n\n pub fn set_public_teardown_function<ARGS_COUNT>(\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<ARGS_COUNT>(\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 mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.get_compressed().hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.start_side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\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_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\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"}}}
|