@aztec/protocol-contracts 0.40.0 → 0.41.0
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/dest/artifacts/ContractClassRegisterer.json +1 -1
- package/dest/artifacts/ContractInstanceDeployer.json +1 -1
- package/dest/artifacts/GasToken.json +1 -1
- package/dest/artifacts/KeyRegistry.json +1 -1
- package/dest/artifacts/MultiCallEntrypoint.json +1 -1
- package/package.json +4 -4
- package/src/artifacts/ContractClassRegisterer.json +1 -1
- package/src/artifacts/ContractInstanceDeployer.json +1 -1
- package/src/artifacts/GasToken.json +1 -1
- package/src/artifacts/KeyRegistry.json +1 -1
- package/src/artifacts/MultiCallEntrypoint.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"transpiled":true,"noir_version":"0.29.0+5b9b1fab51e35c2112c0136785b5b69cd8529a92","name":"KeyRegistry","functions":[{"name":"rotate_npk_m","is_unconstrained":true,"custom_attributes":["aztec(public)"],"abi":{"error_types":{},"param_witnesses":{"address":[{"end":41,"start":40}],"inputs":[{"end":40,"start":0}],"new_npk_m":[{"end":43,"start":41}],"nonce":[{"end":44,"start":43}]},"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"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"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":"tx_tree_height","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"public_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":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"transaction_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::context::inputs::public_context_inputs::PublicContextInputs"},"visibility":"private"},{"name":"address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"new_npk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"nullifier_read_requests","type":{"kind":"array","length":2,"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_non_existent_read_requests","type":{"kind":"array","length":2,"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":"contract_storage_update_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"new_value","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest"}}},{"name":"contract_storage_reads","type":{"kind":"array","length":16,"type":{"fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"current_value","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_read::StorageRead"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"new_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":"new_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":"new_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":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::side_effect::SideEffect"}}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"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":"tx_tree_height","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"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":"prover_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"transaction_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs"},"visibility":"public"},"return_witnesses":[44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273]},"bytecode":"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","debug_symbols":"7P3driTbspyJvcu5JoQc7j5+vF9FEISWulsg0CAFkboi+O6KItbMWhusfXJ67jl9moXpipsHmRnuFRHmY1m5ffXf/u1/+9//H//f/9f//T/+p//jP/+Xf/tf/q//7d/+z//8//xf/+t//M//6fr//bd/e/xfzNf/+D//l//3//qffv1f/st//V//P//13/6Xx3/4t//9P/1v1//73//Dv/0f//H//N//7X/xx/jv/7f/8D++scvfOOVvZPUb8Sh/Y5S/YeVvePkb8flv/If/6XPjMdZfHx0PH89PX3+gH78/v/n31zf//v7m3z/f/Pv5vb8/H9/8++Obf9+++ff9m3//m9/f+c3v7/zm93d+8/u7/qXn388+f330+p/5/HSuj58f3/vz/9LT4/l4/nzG4w8/P7/359f3/vz+3p8/3/vz+a0/vx/f+/Pje3/evvfn/Xt//nvf2v2vvbV7jY+f3+cPmrPX9/78/t6fP9/78/mtP38e3/vz43t/3r735/17fz6+9+e/9609+a0HkfzeY1R+ryDn9wpyfu8xKr/3GJXfe4zK7z1G5bceo/zx+N6fH9/78/a9P+/f+/P/0ltrT8mxvylOfPz2/MbfXt/42996evLH+d6f/9bTk4/H9/78+N6ft+/9ef/en4/v/fn5vT+/vvfnv/etHd/71o7vfWvte99a+9631r73rbXvfWvte99a+9631r73rbXvfWvte99a+9631r/3rfXvfWv9e99a/9631r/3rfXvfWv9e99a/9631r/3rfXvfWvje9/a+N63Nr73rY3vfWv/tU0On2d+/Px67L///P/84RiPj9+NMeYfaplAtZzGWubHXxeH/bGWxKnlX9vc+OJaBlAtBlSLA9XSqC82x7OWaX+oZQLVsoBq2UC1HKBaEqeW9QCqZQDVYkC1OFAtQLq7gHR3AenuAtLdBaS7C0h3N5DubiDd3UC6u4F0dwPp7gbS3Q2kuxtIdzeQ7m4g3T1AunuAdPcA6e4B0t0DpLsHSHcPkO4eIN09QLp7gHQ3gXQ3gXQ3gXQ3gXQ3gXQ3gXQ3gXQ3gXQ3gXQ3cXQ3Hji6Gw8c3Y0Hju7GA0d344Gju/HA0d144OhuPHB0Nx44uhsPIN0dQLo7gHR3AOnuANLdAaS7A0h3B5DuDiDdHUC6O4B014B014B014B014B014B014B014B014B0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Uff6ou71Rd3ri7rXF3WvL+peX9S9vqh7fVH3+qLu9UXd64u61xd1ry/qXl/Uvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etb/9q/93Fy//XJHOP52THyD5+1/fFZf/ztd+ezkglTyYKpZMNUcmAqSZBK9r/2r3t8aSUDphKDqcRhKkHR2P1A0dj9QNHY/UDR2P1A0dj9gNHYAaOxA0ZjB4zGDhiNHTAaO2A0dsBo7IDR2AGjsQNGYw1GYw1GYw1GYw1GYw1GYw1GYw1GYw1GYw1GYw1GYx1GYx1GYx1GYx1GYx1GYx1GYx1GYx1GYx1GYx1GYwNGYwNGYwNGYwNGYwNGYwNGYwNGYwNGYwNGYwNGYyeMxk4YjZ0wGjthNHbCaOyE0dgJ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da/P6l6f1b0+q3t9Vvf6vO71ed3r87rX53Wvz+ten9e9Pq97fV73+rzu9Xnd6/O61+d1r8/rXp/XvT6ve31e9/q87vV53evzutfnda/P616f170+r3t9Xvf6vO71ed3r87rX53Wvz+ten9e9Pq97fV73+rzu9Xnd6/O61+d1r8/rXp/XvT6ve31e9/q87vV53evzutfnda/P616f170+r3t9Xvf6vO71ed3r87rX53Wvz+ten9e9Pq97fV73+rzu9Xnd6/O61+d1r8/rXp/XvT6ve31e9/q87vV53evzutfnda/P616f170+r3t9Xvf6vO71ed3r87rX53Wvz+ten9e9Pq97fV73+rzu9Xnd6/O61+d1r8/rXp/XvT6ve31e9/q87vV53evzutfnda/P616f170+r3t9Xvf6vO71ed3r87rX53WvL+peX9S9vqh7fVH3+qLu9UXd64u61xd1ry/qXl/Uvb6oe31R9/qi7vVF3euLutcXda8v6l5f1L2+qHt9Uff6ou71Rd3ri7rXF3WvL+peX9S9vqh7fVH3+qLu9UXd64u61xd1ry/qXl/Uvb6oe31R9/qi7vVF3euLutcXda8v6l5f1L2+qHt9Uff6ou71Rd3ri7rXF3WvL+peX9S9vqh7fVH3+qLu9UXd64u61xd1ry/qXl/Uvb6oe31R9/qi7vVF3euLutcXda8v6l5f1L2+qHt9Uff6ou71Rd3ri7rXF3WvL+peX9S9vqh7fVH3+qLu9UXd64u61xd1ry/qXl/Uvb6oe31R9/qi7vVF3euLutcXda8v6l5f1L2+qHt9Uff6ou71Rd3ri7rXF3WvL+peX9S9vqh7fVH3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pm3eubda9v1r2+Wff6Zt3rm3Wvb9a9vln3+mbd65t1r2/Wvb5Z9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6Vt3rW3Wvb9W9vlX3+lbd61t1r2/Vvb5V9/pW3etbda9v1b2+Vff6dt3r23Wvb9e9vl33+nbd69t1r2/Xvb5d9/p23evbda9v172+Xff6dt3r23Wvb9e9vl33+nbd69t1r2/Xvb5d9/p23evbda9v172+Xff6dt3r23Wvb9e9vl33+nbd69t1r2/Xvb5d9/p23evbda9v172+Xff6dt3r23Wvb9e9vl33+nbd69t1r2/Xvb5d9/p23evbda9v172+Xff6dt3r23Wvb9e9vl33+nbd69t1r2/Xvb5d9/p23evbda9v172+Xff6dt3r23Wvb9e9vl33+nbd69t1r2/Xvb5d9/p23evbda9v172+Xff6dt3r23Wvb9e9vl33+nbd69t1r2/Xvb5d9/p23evbda9v172+Xff6dt3r23Wvb9e9vl33+nbd69t1r2/Xvb5d9/p23evbda9v172+Xff6dt3r23Wvb9e9vl33+k7d6zt1r+/Uvb5T9/pO3es7da/v1L2+U/f6Tt3rO3Wv79S9vlP3+k7d6zt1r+/Uvb5T9/pO3es7da/v1L2+U/f6Tt3rO3Wv79S9vlP3+k7d6zt1r+/Uvb5T9/pO3es7da/v1L2+U/f6Tt3rO3Wv79S9vlP3+k7d6zt1r+/Uvb5T9/pO3es7da/v1L2+U/f6Tt3rO3Wv79S9vlP3+k7d6zt1r+/Uvb5T9/pO3es7da/v1L2+U/f6Tt3rO3Wv79S9vlP3+k7d6zt1r+/Uvb5T9/pO3es7da/v1L2+U/f6Tt3rO3Wv79S9vlP3+k7d6zt1r+/Uvb5T9/pO3es7da/v1L2+U/f6Tt3rO3Wv79S9vlP3+k7d6zt1r+/Uvb5T9/pO3es7da/v1L2+U/f6Tt3rO3Wv79S9vlP3+k7d6zt1r+/Uvb5T9/qy7vVl3evLuteXda8v615f1r2+rHt9Wff6su71Zd3ry7rXl3WvL+teX9a9vqx7fVn3+rLu9WXd68u615d1ry/rXl/Wvb6se31Z9/qy7vVl3evLuteXda8v615f1r2+rHt9Wff6su71Zd3ry7rXl3WvL+teX9a9vqx7fVn3+rLu9WXd68u615d1ry/rXl/Wvb6se31Z9/qy7vVl3evLuteXda8v615f1r2+rHt9Wff6su71Zd3ry7rXl3WvL+teX9a9vqx7fVn3+rLu9WXd68u615d1ry/rXl/Wvb6se31Z9/qy7vVl3evLuteXda8v615f1r2+rHt9Wff6su71Zd3ry7rXl3WvL+teX9a9vqx7fVn3+rLu9WXd68u615d1ry/rXl/Wvb6se31Z9/qy7vVl3evLuteXZa/PH2Wv7/rKqH/F6l/x+lei/pVZ/8qqf2XXv3LqX6nf/VG/+6N+90f97o/63R/1uz/qd3/U7/6o3/1Rv/ujfvetfvetfvetfvetfvetfvetfvetfvetfvetfvetfve9fve9fve9fve9fve9fve9fve9fve9fve9fve9fvejfvejfvejfvejfvejfvejfvejfvejfvejfvejfvdn/e7P+t2f9bs/63d/1u/+rN/9Wb/7s373Z/3uz/rdX/W7v+p3f9Xv/qrf/VW/+6t+91f97q/63V/1u7/qd3/X7/6u3/1dv/u7fvd3/e7v+t3f9bu/63d/1+/+rt/9U7/7p373T/3un/rdP/W7f+p3/9Tv/qnf/VO/+6d+97N+97N+97N+97N+97N+97N+97N+97N+97N+9+te36h7faPu9Y261zfqXt+oe32j7vWNutc36l7fqHt9o+71jbrXN+pe36h7faPu9Y261zfqXt+oe32j7vWNutc36l7fqHt9o+71jbrXN+pe36h7faPu9Y261zfqXt+oe32j7vWNutc36l7fqHt9o+71jbrXN+pe36h7faPu9Y261zfqXt+oe32j7vWNutc36l7fqHt9o+71jbrXN+pe36h7faPu9Y261zfqXt+oe32j7vWNutc36l7fqHt9o+71jbrXN+pe36h7faPu9Y261zfqXt+oe32j7vWNutc36l7fqHt9o+71jbrXN+pe36h7faPu9Y261zfqXt+oe32j7vWNutc36l7fqHt9o+71jbrXN+pe36h7faPu9Y261zfqXt+oe32j7vWNutc36l7fqHt9o+71jbrXN+pe36h7faPu9Y261zfqXp/VvT6re31W9/qs7vVZ3euzutdnda/P6l6f1b0+q3t9Vvf6rO71Wd3rs7rXZ3Wvz+pen9W9Pqt7fVb3+qzu9Vnd67O612d1r8/qXp/VvT6re31W9/qs7vVZ3euzutdnda/P6l6f1b0+q3t9Vvf6rO71Wd3rs7rXZ3Wvz+pen9W9Pqt7fVb3+qzu9Vnd67O612d1r8/qXp/VvT6re31W9/qs7vVZ3euzutdnda/P6l6f1b0+q3t9Vvf6rO71Wd3rs7rXZ3Wvz+pen9W9Pqt7fVb3+qzu9Vnd67O612d1r8/qXp/VvT6re31W9/qs7vVZ3euzutdnda/P6l6f1b0+q3t9Vvf6rO71Wd3rs7rXZ3Wvz+pen9W9Pqt7fVb3+qzu9Vnd67O612d1r8/qXp/VvT6re31W9/qs7vV53evzutfnda/P616f170+r3t9Xvf6vO71ed3r87rX53Wvz+ten9e9Pq97fV73+rzu9Xnd6/O61+d1r8/rXp/XvT6ve31e9/q87vV53evzutfnda/P616f170+r3t9Xvf6vO71ed3r87rX53Wvz+ten9e9Pq97fV73+rzu9Xnd6/O61+d1r8/rXp/XvT6ve31e9/q87vV53evzutfnda/P616f170+r3t9Xvf6vO71ed3r87rX53Wvz+ten9e9Pq97fV73+rzu9Xnd6/O61+d1r8/rXp/XvT6ve31e9/q87vV53evzutfnda/P616f170+r3t9Xvf6vO71ed3r87rX53Wvz+ten9e9Pq97fV73+rzu9Xnd6/O61+d1r8/rXp/XvT6ve31e9/q87vV53evzutfnda/P615f1L2+qHt9Uff6ou71Rd3ri7rXF3WvL+peX9S9vqh7fVH3+qLu9UXd64u61xd1ry/qXl/Uvb6oe31R9/qi7vVF3euLutcXda8v6l5f1L2+qHt9Uff6ou71Rd3ri7rXF3WvL+peX9S9vqh7fVH3+qLu9UXd64u61xd1ry/qXl/Uvb6oe31R9/qi7vVF3euLutcXda8v6l5f1L2+qHt9Uff6ou71Rd3ri7rXF3WvL+peX9S9vqh7fVH3+qLu9UXd64u61xd1ry/qXl/Uvb6oe31R9/qi7vVF3euLutcXda8v6l5f1L2+qHt9Uff6ou71Rd3ri7rXF3WvL+peX9S9vqh7fVH3+qLu9UXd64u61xd1ry/qXl/Uvb6oe31R9/qi7vVF3euLutcXda8v6l5f1L2+qHt9Uff6ou71zbrXN+te36x7fbPu9c261zfrXt+se32z7vXNutc3617frHt9s+71zbrXN+te36x7fbPu9c261zfrXt+se32z7vXNutc3617frHt9s+71zbrXN+te36x7fbPu9c261zfrXt+se32z7vXNutc3617frHt9s+71zbrXN+te36x7fbPu9c261zfrXt+se32z7vXNutc3617frHt9s+71zbrXN+te36x7fbPu9c261zfrXt+se32z7vXNutc3617frHt9s+71zbrXN+te36x7fbPu9c261zfrXt+se32z7vXNutc3617frHt9s+71zbrXN+te36x7fbPu9c261zfrXt+se32z7vXNutc3617frHt9s+71zbrXN+te36x7fbPu9c261zfrXt+se32z7vXNutc3617frHt9s+71zbrXN+te36x7fbPu9a2617fqXt+qe32r7vWtute36l7fqnt9q+71rbrXt+pe36p7favu9a2617fqXt+qe32r7vWtute36l7fqnt9q+71rbrXt+pe36p7favu9a2617fqXt+qe32r7vWtute36l7fqnt9q+71rbrXt+pe36p7favu9a2617fqXt+qe32r7vWtute36l7fqnt9q+71rbrXt+pe36p7favu9a2617fqXt+qe32r7vWtute36l7fqnt9q+71rbrXt+pe36p7favu9a2617fqXt+qe32r7vWtute36l7fqnt9q+71rbrXt+pe36p7favu9a2617fqXt+qe32r7vWtute36l7fqnt9q+71rbrXt+pe36p7favu9a2617fqXt+qe32r7vWtute36l7fqnt9q+71rbrXt+pe36p7favu9a2617fqXt+qe32r7vXtute3617frnt9u+717brXt+te3657fbvu9e2617frXt+ue3277vXtute3617frnt9u+717brXt+te3657fbvu9e2617frXt+ue3277vXtute3617frnt9u+717brXt+te3657fbvu9e2617frXt+ue3277vXtute3617frnt9u+717brXt+te3657fbvu9e2617frXt+ue3277vXtute3617frnt9u+717brXt+te3657fbvu9e2617frXt+ue3277vXtute3617frnt9u+717T97fSPO+utbY47zD1/8D//Tp+dj//XhGfb8rHk+LzKrF/n44nr3i3+8q+P6G6qPL15/XfGnL/7ZyfvMF8e7X7R3v+jvfjHe/eJ894vr3S/ud7943v3iu0/OeffJOe8+OefdJ+e8++Scd5+c8+6Tc959cs67T85598k57z45+e6Tk+8+Ofnuk5PvPjn57pOT7z45+e6Tk+8+Ofnuk5NvPjnn8Xj3i+PdL9q7X/R3vxjvfnG++8X17hf3u188737x3SdnvPvkjHefnPHukzPefXLGu0/OePfJGe8+OePdJ2e8++SMd58ce/fJsXefHHv3ybF3nxx798mxd58ce/fJsXefHHv3ybF3nxx/98nxd58cf/fJ8XefHH/3yfF3nxx/98nxd58cf/fJ8XefnHj3yYl3n5x498mJd5+cePfJiXefnHj3yYl3n5x498mJd5+c+e6TM999cua7T85898mZ7z45890nZ7775Mx3n5z57pMz331y1rtPznr3yVnvPjn/xMSdHk+bNPd/f2Hi5sy/Pr0e5s9P28Ofl5k9l1k9l9k9lzk9l8mWy/wTe/zLLzN6LmM9l/Gey/SowO5Rgd2jArtHBXaPCuweFTg9KnB6VOD0qMDpUYHTowKnRwVOjwqcHhU4PSpwelQge1Qge1Qge1Qge1Qge1Qge1Qge1Qge1Qge1QgW1QgH4+ey4yey1jPZbznMtFzmdlzmdVzmd1zmdNzmR4VGD0qMHpUYPSowOhRgdGjAqNHBUaPCoweFRg9KjB6VMB6VMB6VMB6VMB6VMB6VMB6VMB6VMB6VMB6VMB6VMB7VMB7VMB7VMB7VMB7VMB7VMB7VMB7VMB7VMB7VCB6VCB6VCB6VCB6VCB6VCB6VCB6VCB6VCB6VCB6VGD2qMDsUYHZowKzRwVmjwrMHhWYPSowe1Rg9qjA7FGB1aMCq0cFVo8KrB4V6NkdzJ7dwezZHcye3cHs2R3Mnt3B7NkdzJ7dwezZHcye3cHs2R3Mnt3B7NkdzJ7dwezZHcye3cHs2R3Mnt3B7NkdzJ7dwezZHcye3cHs2R3Mnt3B7NkdzJ7dwezZHcye3cHs2R3Mnt3B7NkdzJ7dwezZHcye3cHs2R3Mlt3BeLTsDl6XGT2XsZ7LeM9loucys+cyq+cyu+cyp+cyPSowelRg9KjA6FGB0aMCo0cFRo8KjB4VGD0qMHpUYPSogPWogPWogPWogPWogPWogPWogPWogPWogPWogPWogPeogPeogPeogPeogPeogPeogPeogPeogPeogPeoQPSoQPSoQPSoQPSoQPSoQPSoQPSoQPSoQPSoQPSowOxRgdmjArNHBWaPCsweFZg9KjB7VGD2qMDsUYHZowKrRwVWjwqsHhVYPSqwelRg9ajA6lGB1aMCq0cFVo8K7B4V2D0qsHtUYPeowO5Rgd2jArtHBXaPCuweFdg9KnB6VOD0qMDpUYHTowKnRwVOjwqcHhU4PSpwelTg9KhA9qhA9qhA9qhA9qhA9qhA9qhA9qhA9qhA9qhAz+7g6NkdHD27g6Nnd3D07A6OR/RcZvZcZvVcZvdc5vRcpkcFenYHR8/u4OjZHRw9u4OjZ3dw9OwOjp7dwdGzOzh6dgdHz+7g6NkdHD27g6Nnd3D07A6Ont3B0bM7OHp2B0fP7uDo2R0cPbuDo2d3cPTsDo6e3cHRszs4enYHR8/u4OjZHRw9u4OjZ3dw9OwOjp7dwdGzOzh6dgdHz+7g6NkdHD27g6Nnd3D07A6Ont3B0bM7OHp2B0fP7uDo2R0cPbuDo2d3cPTsDo6e3cHRszs4enYHR8/u4OjZHRw9u4OjZ3dw9OwOjp7dwdGzOzh6dgdHz+7g6NkdHD27g6Nnd3D07A6Ont3B0bM7OHp2B0fP7uDo2R0cPbuDo2d3cPTsDo6e3cHRszs4enYHR8/u4OjZHRw9u4OjZ3dw9OwOjp7dwdGzOzh6dgdHz+7g6NkdHD27g6Nnd3D07A6Ont3B0bM7OHp2B0fP7qD17A5az+6g9ewOWs/uoD2i5zKz5zKr5zK75zKn5zI9KtCzO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g9azO2g9u4PWsztoPbuD1rM7aD27g96zO+g9u4PeszvoPbuD/oiey8yey6yey+yey5yey/SoQM/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wOes/uoPfsDnrP7qD37A56z+6g9+wORs/uYPTsDkbP7mD07A7GI3ouM3sus3ous3suc3ou06MCPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9GzOxg9u4PRszsYPbuD0bM7GD27g9Gz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ztia7Iytyc7YmuyMrcnO2JrsjK3Jztia7Iytyc7YmuyMrcnO2JrsjK3Jztia7Iytyc7YmuyMrcnO2JrsjK3Jztia7Iytyc7YmuyMrcnO2JrsjK3Jztia7Iytyc7YmuyMrcnO2JrsjK3Jztia7Iytyc7YmuyMrcnO2JrsjK3Jztia7Iytyc7YmuyMrcnO2JrsjK3Jztia7Iytyc7YmuyMrcnO2JrsjK3Jztia7Iytyc7YmuyMrcnO2JrsjK3Jztia7Iytyc7YmuyMrcnO2JrsjK3Jztia7Iytyc7YmuyMrcnO2JrsjK3Jztia7Iytyc7YmuyMrcXO2FrsjK3Fztha7Iyt9SCfxIudsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdgZW4udsbXYGVuLnbG12Blbi52xtdkZW5udsbXZGVubnbG1H+STeLMztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Njtja7MztjY7Y2uzM7Y2O2NrszO2Djtj67Aztg47Y+uwM7bOg3wSH3bG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsbWYWdsHXbG1mFnbB12xtZhZ2wddsZWsjO2kp2xleyMrWRnbOWDfBInO2Mr2Rlbyc7YSnbGVrIztpKdsZXsjK1kZ2wlO2Mr2Rlbyc7YSnbGVrIztpKdsZXsjK1kZ2wlO2Mr2Rlbyc7YSnbGVrIztpKdsZXsjK1kZ2wlO2Mr2Rlbyc7YSnbGVrIztpKdsZXsjK1kZ2wlO2Mr2Rlbyc7YSnbGVrIztpKdsZXsjK1kZ2wlO2Mr2Rlbyc7YSnbGVrIztpKdsZXsjK1kZ2wlO2Mr2Rlbyc7YSnbGVrIztpKdsZXsjK1kZ2wlO2Mr2Rlbyc7YSnbGVrIztpKdsZXsjK1kZ2wlO2Mr2Rlbyc7YSnbGVrIztpKdsZXsjK1kZ2wlO2Mr2Rlbyc7YSnbGVrIztpKdsZXsjK1kZ2wlO2Mr2Rlbyc7YSnbGVrIztpKdsZXsjK1kZ2wlO2Mr2Rlbyc7YSnbGVrIztpKdsZXkjC1/kDO2rga4J/HVAPckvhrgnsRXA9yT+GqAexJfDXBP4qsB7kl8NcA9ia8G2CcxOWPrKoh9EpMztq6C2CcxOWPrKoh9EpMztq6C2CcxOWPrKoh9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB9EpMztq4G2CcxOWPraoB8Eg92xtZgZ2wNdsbWYGdsjQf5JB7sjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMrcHO2BrsjK3Bztga7Iytwc7YGuyMLWNnbBk7Y8vYGVvGztiyB/kkNnbGlrEztoydsWXsjC1jZ2wZO2PL2Blbxs7YMnbGlrEztoydsWXsjC1jZ2wZO2PL2Blbxs7YMnbGlrEztoydsWXsjC1jZ2wZO2PL2Blbxs7YMnbGlrEztoydsWXsjC1jZ2wZO2PL2Blbxs7YMnbGlrEztoydsWXsjC1jZ2wZO2PL2Blbxs7YMnbGlrEztoydsWXsjC3DYmx9VIUFznpWBTUzn1VBDcJnVVDT7VkV1Mh6VgU1h55VQQ2XZ1VQE+NZFdQYeFYFqe1YKKZnVZDajgVNelYFqe1YeKNnVZDajgUielYFqe1YyKBnVZDajgX3eVYFqe1YGJ5nVZDajgXMeVYFqe1YaJtnVZDajgWheVYFqe1YuJhnVZDajgV2eVYFqe1YCJZnVZDajgVLeVb1zdr+vM5puk72XOe7sR/P64ym61jTdbzpOtF0ndl0ndV0nSY9yCY9yB498Mej6Tqj6TrWdB1vuk40XWc2XWc1XWc3Xec0XadJD0aTHowmPRhNejCa9GA06cFo0oPRpAejSQ9Gkx6MJj2wJj2wJj2wJj2wJj2wJj34Z1m+4x/XSY8X19nT9/O/6/08P73P78usnsvsnsucnstky2X+WRLsqy8zei5jPZfxnstEz2V6VMB7VMB7VMB7VMB7VCB6VCB6VCB6VCB6VCB6VCB6VCB6VCB6VCB6VCB6VGD2qMDsUYHZowKzRwVmjwrMHhWYPSowe1Rg9qjA7FGB1aMCq0cFVo8KrC9QAbv+vvjjv9gva+sf/ov9D5+ONT4+HX9zA0bO31UFZFUTsqoFWdWGrOpAVpWIVe0HZFUDsiqDrApS2zektm9Ibd+Q2r4htX1DavuG1PYDqe3nm7X9eR1ruo43XSearjObrrOarrObrnOarpM918lH03Wa9CCb9CCb9CCb9CCb9CCb9CCb9CCb9CC/Qg8uc/15nR0vpvye58Nvyt+ftWdJ8XjglTTwSjK8khyvpMAraeKVtPBK2nglHbyS8NR74Kn3wFPvgafeA0+9B556Dzz1HnjqPfDUe+Cp98BTb8NTb8NTb8NTb8NTb8NTb8NTb8NTb8NTb8NTb8NTb8dTb8dTb8dTb8dTb8dTb8dTb8dTb+9Xb4v4qMnO42UDL1k54ecGPSR/D/G4QQ/jBj3YDXrwG/QQN+hh3qCHdYMebjCn4wZzOm4wp+cN5vS8wZyeN5jT8wZz+isChT/eww3m9LzBnJ43mNPzBnN63mBOrxvM6XWDOb1uMKfXDeb0l2R4f7qHG8zpdYM5vW4wp9cN5vS6wZzeN5jT+wZzet9gTu8bzOkvyWP/dA/gc/qM59/snpHnxadnzo9sz3rY76ysPfx3x+BT/Rs6Bj8DfEPH4CeGb+gY/Hzx9R0f8NPIN3QMfnb5ho7BTzrf0DH4uegbOg65juXOXEfuzHXkzlxH7sx15M5cKXfmSrkzVxKfuZ49EJ+inj3EDXogPuk8eyA+uzx7ID6NPHsgPl88eyA+MfzVw3wQnwGePRBP9WcP/HN6Pvjn9Hzwz+n54J/T88E/p+eDf07PB/+cno8bzOlxgzk9bjCnxw3m9LjBnP4BbNbX93CDOT1uMKfHDeb0uMGcHjeY03aDOW03mNN2gzltN5jTPwBI+/oebjCn7QZz2m4wp+0Gc9puMKd/ACNn5r97GC8+bY/z/Onfv7z+VIZv++ujMf72Dwo99u9mh1KzptSsKzUbSs1OpWaXUrNbqdmj1GwKNRtKJ6hQOkGF0gkqlE5QP8F2/LlmlU5QoXSCCqUTVCidoELpBDWVTlBT6QQ1lU5QU+kE9RPUzZ9rVukENZVOUFPpBDWVTlBT6QS1lE5QS+kEtZROUEvpBPUTPNSfa1bpBLWUTlBL6QS1lE5QS+kEtZVOUFvpBLWVTlBb6QT1E6Tan2tW6QS1lU5QW+kEtZVOUFvpBHWUTlBH6QR1lE5QR+kE9ROU2p9rVukEdZROUEfpBHWUTlBH6QSVSieoVDpBpdIJKpVOUD/Bs/25ZpVOUKl0gkqlE1QqnaBS6AS1HkInqPUQOkGth9AJaj2ETlDrEUrNCp2g1kPoBLUeQieo9RA6Qa2H0glqKJ2ghtIJaiidoIbSCeonGNA/16zSCWoonaCG0glqKJ2ghtIJypROUKZ0gjKlE5QpnaB+gs79c80qnaBM6QRlSicoUzpBmdIJSolJvpSY5EuJSb6UmORLiUm+lJjkS4lJvpSY5EuJSb6UmORLiUm+lJjkS4lJvpSY5EuJSb6UmORLiUm+lJjkS4lJvpSY5EuJSb6UmORLiUm+lJjkS4lJvpSY5EuJSb6UmORLiUm+lJjkS4lJvpSY5EuJSb6UmORLiUm+lJjkS4lJvpSY5EuJSb6UmORLiUm+lJjkS4lJvpSY5EuJSb6UmORLiUm+lJjkS4lJvpSY5EuJSb6UmORLiUm+lJjkS4lJvpSY5EuJSb6UmORLiUm+lJjkS4lJvpSY5EuJSb6UmORLiUm+lJjkS4lJvpSY5EuJSb6UmORbiUm+lZjkW4lJvpWY5PsRSs0KnaC2EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxybcSk3wrMcm3EpN8KzHJtxKTfCsxyY8Sk/woMcmPEpP8KDHJzyOUmhU6QR0lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSHyUm+VFikh8lJvlRYpIfJSb5UWKSpxKTPJWY5KnEJE8lJnk+QqlZoRNUKjHJU4lJnkpM8lRikqcSkzyVmOSpxCRPJSZ5KjHJU4lJnkpM8lRikqcSkzyVmOSpxCRPJSZ5KjHJU4lJnkpM8lRikqcSkzyVmOSpxCRPJSZ5KjHJU4lJnkpM8lRikqcSkzyVmOSpxCRPJSZ5KjHJU4lJnkpM8lRikqcSkzyVmOSpxCRPJSZ5KjHJU4lJnkpM8lRikqcSkzyVmOSpxCRPJSZ5KjHJU4lJnkpM8lRikqcSkzyVmOSpxCRPJSZ5KjHJU4lJnkpM8lRikqcSkzyVmOSpxCRPJSZ5KjHJU4lJnkpM8lRikqcSkzyVmOSpxCRPJSZ5KjHJU4lJnkpM8lRikqcSkzyVmOSpxCRPJSZ5KjHJU4lJnkpM8lRikqcSkzyVmOSpxCRPJSZ5KjHJU4lJnkpM8lRikqcSkzyFmOTxEGKSX83qnKCuZnVOUFezOieoq9lQalbnBHU1q3OCuprVOUFdzeqcoK5mlU5QQkzyq1mlE5QQk/xqVukEJcQkv5pVOkEJMcmvZpVOUEJM8qtZpROUEJP8albpBCXEJL+aVTpBCTHJr2aVTlBCTPKrWaUTlBCT/GpW6QQlxCS/mlU6QQkxya9mlU5QQkzyq1mlE5QQk/xqVukEJcQkv5pVOkEJMcmvZpVOUEJM8qtZpROUEJP8albpBCXEJL+aVTpBCTHJr2aVTlBCTPKrWaUTlBCT/GpW6QQlxCS/mlU6QQkxya9mlU5QQkzyq1mlE5QQk/xqVukEJcQkv5pVOkEJMcmvZpVOUEJM8qtZpROUEJP8albpBCXEJL+aVTpBCTHJr2aVTlBCTPKrWaUTlBCT/GpW6QQlxCS/mlU6QQkxya9mlU5QQkzyq1mlE5QQk/xqVukEJcQkv5pVOkEJMcmvZpVOUEJM8qtZpROUEJP8albpBCXEJL+aVTpBCTHJr2aVTlBCTPKrWaET1FBikg8lJvlQYpIPJSb5eIRSs0InqKHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkzyocQkH0pM8qHEJB9KTPKhxCQfSkxyU2KSmxKT3JSY5KbEJLdHKDUrdIIyJSa5KTHJTYlJbkpMclNikpsSk9yUmOSmxCQ3JSa5KTHJTYlJbkpMclNikpsSk9yUmOSmxCQ3JSa5KTHJTYlJbkpMclNikpsSk9yUmOSmxCQ3JSa5KTHJTYlJbkpMclNikpsSk9yUmOSmxCQ3JSa5KTHJTYlJbkpMclNikpsSk9yUmOSmxCQ3JSa5KTHJTYlJbkpMclNikpsSk9yUmOSmxCQ3JSa5KTHJTYlJbkpMclNikpsSk9yUmOSmxCQ3JSa5KTHJTYlJbkpMclNikpsSk9yUmOSmxCQ3JSa5KTHJTYlJbkpMclNikpsSk9yUmOSmxCQ3JSa5KTHJTYlJbkpMclNikpsSk9yUmOSmxCQ3JSa5KTHJTYlJbkpMclNikpsSk9yUmOSmxCQ3JSa5KTHJTYlJbkpMclNikpsSk9yVmOSuxCR3JSa5KzHJ/RFKzQqdoFyJSe5KTHJXYpK7EpPclZjkrsQkdyUmuSsxyV2JSe5KTHJXYpK7EpPclZjkrsQkdyUmuSsxyV2JSe5KTHJXYpK7EpPclZjkrsQkdyUmuSsxyV2JSe5KTHJXYpK7EpPclZjkrsQkdyUmuSsxyV2JSe5KTHJXYpK7EpPclZjkrsQkdyUmuSsxyV2JSe5KTHJXYpK7EpPclZjkrsQkdyUmuSsxyV2JSe5KTHJXYpK7EpPclZjkrsQkdyUmuSsxyV2JSe5KTHJXYpK7EpPclZjkrsQkdyUmuSsxyV2JSe5KTHJXYpK7EpPclZjkrsQkdyUmuSsxyV2JSe5KTHJXYpK7EpPclZjkrsQkdyUmuSsxyV2JSe5KTHJXYpK7EpPclZjkrsQkdyUmuSsxyV2JSe5KTHJXYpK7EpPclZjkrsQkDyUmeSgxyUOJSR5KTPJ4hFKzQieoUGKShxKTPJSY5KHEJA8lJnkoMclDiUkeSkzyUGKShxKTPJSY5KHEJA8lJnkoMclDiUkeSkzyUGKShxKTPJSY5KHEJA8lJnkoMclDiUkeSkzyUGKShxKTPJSY5KHEJA8lJnkoMclDiUkeSkzyUGKShxKTPJSY5KHEJA8lJnkoMclDiUkeSkzyUGKShxKTPJSY5KHEJA8lJnkoMclDiUkeSkzyUGKShxKTPJSY5KHEJA8lJnkoMclDiUkeSkzyUGKShxKTPJSY5KHEJA8lJnkoMclDiUkeSkzyUGKShxKTPJSY5KHEJA8lJnkoMclDiUkeSkzyUGKShxKTPJSY5KHEJA8lJnkoMclDiUkeSkzyUGKShxKTPJSY5KHEJA8lJnkoMclDiUkeSkzyUGKShxKTPJSY5KHEJA8lJnkoMcmnEpN8KjHJpxKTfCoxyecjlJoVOkFNJSb5VGKSTyUm+VRikk8lJvlUYpJPJSb5VGKSTyUm+VRikk8lJvlUYpJPJSb5VGKSTyUm+VRikk8lJvlUYpJPJSb5VGKSTyUm+VRikk8lJvlUYpJPJSb5VGKSTyUm+VRikk8lJvlUYpJPJSb5VGKSTyUm+VRikk8lJvlUYpJPJSb5VGKSTyUm+VRikk8lJvlUYpJPJSb5VGKSTyUm+VRikk8lJvlUYpJPJSb5VGKSTyUm+VRikk8lJvlEZ5Jfl3/+9Pz3mz0rPv5gzprrbz88nu2iU8m/ul3wU9RXtwt+jvrqdsFPUl/dbmi1C36a+up2wc9TpXZzfrS7H/7ndsFPVF/dLviZ6qvbvdOp6nW76KTyr273TqeqT7R7p1PVJ9q90alqT3+2u8af2w2tdm90qvpMuzc6VX2m3Rudqj7T7o1OVZ9p90anqk+0i04vL7Xr43e79g/t/qHoWB+ftth/m9I5f//h3OgM9vV/ODc6sX39Hw7U+e5ZVUBWBXVaelYFdah5VgV19nhWBXVEeFYFNck/qsKCXT+rgpp0z6qgRsyzKkhtxwIyP6uC1HYsxPGzKkhtx4IGP6tC1PaFheF9VoWo7QsLbPusClHb1wNR2xcW0/VZFaK2LyxK6rMqRG1fWNzRj6qwAKHPqiC1HQu5+awKUtuxIJbPqiC1HQsL+awKUtuxQIvPqiC1HQtd+Kzqm7X9eR1ruo43XSearjObrrOarrObrnOarpM91/lubNfzOk164E168CWcqHg8/5YvbL9QXXPbz6r+/hfilr+rCsiqJmRVC7KqDVnVgawqEav6EozP11c1IKsyyKogtT0gtT0gtT0gtT0gtT0gtT0gtX1CavuE1PYJqe0TUtsnpLZPSG2fkNo+IbV9Qmr7hNT2BantC1LbF6S2L0htX5DaviC1fUFq+4LU9gWp7QtS2zektu92bd+eH872DlsvP73y96f/8befPdgNevAb9BA36GHeoId1gx72DXo4N+gh+Xs4jxv0cIM5fW4wp88N5vSXpFh/uocbzOlzgzl9bjCnzw3m9LnBnM4bzOm8wZzOG8zpvMGc/pJE8k/38P9r7+52HEmS7AC/Utifm/njrARdLCCsBGklQG8vH6gzqgfDWkZz0iPtxNFdNZrM8MNi2PHMpH/1gJ6eD+jp+YCeng/o6Ynf03ng93Qe+D2dB35P54Hf03ng93Qe+D2dB35P54Hf03ng93QezXu6dJxYvx315tEx4yvxOPSXuKeHnYmleatvSNx8D7AhcfMdw4bEzfcXGxI7XeLme5cNiZvvdDYkbr4v2pC4+S5qQ2K6PZfS7bmUbs+ldHsupdtzfYuYgpWYbs+lwHuuMwPwLurMALwvOjMA73S+Mhjw3uXMALwbOTMA7y/ODMA7hjMD8B7gzADc6meGB/S0PaCn7QE9bQ/oaX9AT/sDetof0NP+gJ6+37DakOEBPe0P6Gl/QE/7A3raH9DT8YCejgf0dDygp+MBPX2/R7YhwwN6Oh7Q0/GAno4H9HQ8oKfHA3p6PKCnxwN6ejygp++35TZkeEBPjwf09HhAT48H9PR4QE/nA3q6u853KcMDerq7zncpwwN6urvOdynDA3q6u853KcMDerq7znclQ3ed71KGB/R0d53vUoYH9HR3ne9Shgf0dHed71KGB/R0d53vUoYH9HR3ne9Shgf0dHed71KGB/R0d53vUoYH9HR3ne9Shgf0dHed71IG/J6u7jrfpQz4PV3ddb5LGfB7ug78nq7uOt+lDPg9Xd11vksZ8Hu6kHW+rwzI3t6Z4QE9jWzinRke0NPIbt2Z4QE9jWzLnRke0NPI/tuZ4QE9jWy0nRke0NPIjtqZ4QE9jWydnRke0NMP8MjqAR5ZPcAjqwd4ZPUAj6we4JHVAzyyeoBHVg/wyOoBHlk9wCOrB3hk9QCPrB7gkdUDPLJ6gEdWD/DI6gEeWT3AI6sHeGT1AI+sHuCR1QM8snqAR1YP8MjqAR5ZPcAjqwd4ZPUAj6we4JHVAzyyeoBHVg/wyOonPLLf/9uzL7728RVB/7SO8WoZlvrHQ11+/QM2cuQZ9ifgsp8LK0xhlSmsMYV1prDBFHYwhU2msMUUlmkHlUw7qGTaQSXTDiqZdlA/wd79XFimHVQy7aCSaQeVTDuoZNpBFdMOqph2UMW0gyqmHdRPgIQ/F5ZpB1VMO6hi2kEV0w6qmHZQk2kHNZl2UJNpBzWZdlA/QUX+XFimHdRk2kFNph3UZNpBTaId1DyIdlDzINpBzYNoBzUPoh3UPJwpLNEOah5EO6h5EO2g5kG0g5oH0w5KmHZQwrSDEqYdlDDtoH6CV/25sEw7KGHaQQnTDkqYdlDCtINSph2UMu2glGkHpUw7qJ+Ab38uLNMOSpl2UMq0g1KmHZQy7aCMaQdlTDsoY9pBGdMO6idI4p8Ly7SDMqYdlDHtoIxpB2VMOyhn2kE50w7KmXZQzrSD+gks+ufCMu2gnGkH5Uw7KGfaQTnTDiqYdlDBtIMKph1UMO2gfoLx/rmwTDuoYNpBBdMOKph2UEwm+WQyySeTST6ZTPLJZJJPJpN8Mpnkk8kkn0wm+WQyySeTST6ZTPLJZJJPJpN8Mpnkk8kkn0wm+WQyySeTST6ZTPLJZJJPJpN8Mpnkk8kkn0wm+WQyySeTST6ZTPLJZJJPJpN8Mpnkk8kkn0wm+WQyySeTST6ZTPLJZJJPJpN8Mpnkk8kkn0QmeRxEJvkKy7ODWmF5dlArLM8OaoV1prA8O6gVlmcHtcLy7KBWWJ4d1ArLtIMiMslXWKYdFJFJvsIy7aCITPIVlmkHRWSSr7BMOygik3yFZdpBEZnkKyzTDorIJF9hmXZQRCb5Csu0gyIyyVdYph0UkUm+wjLtoIhM8hWWaQdFZJKvsEw7KCKTfIVl2kERmeQrLNMOisgkX2GZdlBEJvkKy7SDIjLJV1imHRSRSb7CMu2giEzyFZZpB0Vkkq+wTDsoIpN8hWXaQRGZ5Css0w6KyCRfYZl2UEQm+QrLtIMiMslXWKYdFJFJvsIy7aCITPIVlmkHRWSSr7BMOygik3yFZdpBEZnkKyzTDorIJF9hmXZQRCb5Csu0gyIyyVdYph0UkUm+wjLtoIhM8hWWaQdFZJKvsEw7KCKTfIVl2kERmeQrLNMOisgkX2GZdlBEJvkKy7SDIjLJV1imHRSRSb7CMu2giEzyFZZpB0Vkkq+wTDsoIpN8hSXaQQmTSS5MJrkwmeTCZJLL4UxhiXZQwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0muTCa5MpnkymSSK5NJroczhSXaQSmTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTGZ5MZkkhuTSW5MJrkdzhSWaAdlTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTOZJI7k0nuTCa5M5nkfjhTWKIdlDOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nk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WysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB6E4MbWysAehODG1srAHoTgxtbKwB4Ewu6sSXoxpagG1uCbmzJAd7Egm5sCbqxJejGlqAbW4JubAm6sSXoxpagG1uCbmwJurEl6MaWoBtbgm5sCbqxJejGlqAbW4JubAm6sSXoxpagG1uCbmwJurEl6MaWoBtbgm5sCbqxJejGlqAbW4JubAm6sSXoxpagG1uCbmwJurEl6MaWoBtbgm5sCbqxJejGlqAbW4JubAm6sSXoxpagG1uCbmwJurEl6MaWoBtbgm5sCbqxJejGlqAbW4JubAm6sSXoxpagG1uCbmwJurEl6MaWoBtbgm5sCbqxJejGlqAbW4JubAm6sSXoxpagG1uCbmwJurEl6MaWoBtbgm5sCbqxJejGlqAbW4JubAm6sSXoxpagG1uCbmwJurEl6MaWoBtbgm5sCbqxJejGlqAbW4JubAm6sSXoxpagG1uCbmwJurEl6MaWohtbim5sKbqxpejGlh7gTazoxpaiG1uKbmwpurGl6MaWohtbim5sKbqxpejGlqIbW4pubCm6saXoxpaiG1uKbmwpurGl6MaWohtbim5sKbqxpejGlqIbW4pubCm6saXoxpaiG1uKbmwpurGl6MaWohtbim5sKbqxpejGlqIbW4pubCm6saXoxpaiG1uKbmwpurGl6MaWohtbim5sKbqxpejGlqIbW4pubCm6saXoxpaiG1uKbmwpurGl6MaWohtbim5sKbqxpejGlqIbW4pubCm6saXoxpaiG1uKbmwpurGl6MaWohtbim5sKbqxpejGlqIbW4pubCm6saXoxpaiG1uKbmwp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"},{"name":"compute_note_hash_and_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"param_witnesses":{"contract_address":[{"end":1,"start":0}],"nonce":[{"end":2,"start":1}],"note_type_id":[{"end":4,"start":3}],"serialized_note":[],"storage_slot":[{"end":3,"start":2}]},"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":"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"},"return_witnesses":[4,5,6,7]},"bytecode":"H4sIAAAAAAAA/+2byW7bMBCGJa9yVC+SZXlf4uTSm+w6tnPzy7Rv3XuBvkPRjMKpx8QkoNARIQImYGhMUfy/+blECRjfey/tt4+v4qZ2pQXbXNQ1+7+yE+wrK5PTd4Sz5ghnXZDTZzjh2lAxXGEut7zbef6vXAQnCRWlUDAwdVL3EdzNQ1BaKgg04IsE9CE7twgNhYYSKnB6MySJ+KQOn62ROtxB6o1rDi35HA4BMU+s37cBDb2r7y3iCcZ4D7RnpK5RUo5N+RzL8i5flehPU/XbJt/Rq46KBXfYHdX21adDND01RhhPSVtsh37UyBhD6XrX8e988lxDe65H2rSY/C+ebP5tjaetMTcVE5QIeLU9oKSxyaDfB/l+b8a8oY3JA8mpK+73/gx7QujdFv2nzIXEXcLzRZwn25WT5/vY9Qi7TL8vB/Cqr3kVal71SBvK0C/BP5/oYt/4vc9oy3lxPIP2wMCLAcMzsOzFgNEW9OIVtCMDLyKGJ7LsRcRoy3lx+gbasYEXMcMTW/YiZrTlvNjn7xZDAy+GDM/QshdDRltwjeTzIjHwImF4EsteJIy2oBc/QHtk4MWI4RlZ9mLEaAt68R20UwMvUoYntexFymgL7p35+8XYwIsxwzO27MWY0Rb0Yg/aEwMvJgzPxLIXE0ZbcI3k2lMDL6YMz9SyF/R31CLMQweZUweZ4wowB1oso33M98+ZgRczhmdm2QvUK8qcVIA50GIZ7eMLaM8NvJgzPHPLXqBeUebIQebYQeaRg8yJg8ypg8xVmM+BFston/I9dGHgxYLhWVj2AvWKMkcOMs8cZI4rwBxosYz2Kf/b3NLAiyXDs7TsBeoVZR47yDyoAHOgxTLapyNorwy8WDE8K8teoF5R5omDzKmDzDMHmWMHmUcOMicOMt/XoB3mqALM9EzT71J59q+hxoOeeRqjpzGGJKbnYNbijFlGx2dNtDbyWjtuvuD3Tana+zP0u5XPKX+Xf1J94Rm+LZPTs4qlz3M9kX59ooP1DRL/Im2xHfqB6xbZYd49qvj5k+dW2nM90uaRyf/iyea/1Xi2GjOMyU/CsRHn2J9N5vXAu67lr4SnhH3wQM/kYjHZd0raY3Yl5ZnRM3x/PNk1vdG8CjSveqQN3aM3JfhnMr/uzHfmj5jp+0RA6vD+mtTVtFzo/zJgezgz/BdsuDj5FjUAAA==","debug_symbols":"ndpBattQGIXRvWgciu8v6ekpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/Xl7ftse7y/Ol+37ZXgcKw/D7vhyf2qfD8Pr/rC7PW/y+e3hPlpk1GW0wmjcyCgyKhmNMppkNMtIihiliFGKGKWISYqYpIhJipikiEmKmKSISYqYpIhJipikiFmKmKWIWYqYpYhZipiliFmKmKWIWYqYpYgmRTQpokkRTYpoUkSTIpoU0aSIJkU0KWKRIhYpYpEiFilikSIWKWKRIhYpYpEiFimiSxFdiuhSRJciuhTRpYguRXQpoksRXYpYpYhVililiFWKWKWIVYpYpYhVililiFWKyGZDq9CqaDXSaqLVTKtGq4VWnVbURqiNUBuhNkJthNoItRFqI9RGqI1QG0VtFLVR1EZRG0VtFLVBnBnyzBBohkQzRJoh0wyhZkg1Q6wZcs0QbIZkM0SbIdsM4WZIN0O8GfLNEHCGhDNEnCHjDCFnSDlDzBlyzhB0hqQzRJ0h6wxhZ0g7Q9wZ8s4QeIbEM0SeIfMMoWdIPUPsGXLPEHyG5DNEnyH7DOFnSD9D/BnyzxCAhgQ0RKAhAw0haEhBQwwactAQhIYkNEShIQsNYWhIQ0McGvLQEIiGRDREoiETDaFoSEVDLBpy0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRsmueds/TLnqSixa5aJGLFrlokYvWf7vo7fRz+77fPh1295u9948fx+d/F31vx8uvt79fbv/+Bg=="},{"name":"register","is_unconstrained":true,"custom_attributes":["aztec(public)"],"abi":{"error_types":{},"param_witnesses":{"address":[{"end":41,"start":40}],"inputs":[{"end":40,"start":0}],"keys":[{"end":50,"start":42}],"partial_address":[{"end":42,"start":41}]},"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"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"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":"tx_tree_height","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"public_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":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"transaction_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::context::inputs::public_context_inputs::PublicContextInputs"},"visibility":"private"},{"name":"address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"partial_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::partial_address::PartialAddress"},"visibility":"private"},{"name":"keys","type":{"fields":[{"name":"npk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"ivpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"ovpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"tpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}}],"kind":"struct","path":"aztec::keys::public_keys::PublicKeys"},"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"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"nullifier_read_requests","type":{"kind":"array","length":2,"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_non_existent_read_requests","type":{"kind":"array","length":2,"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":"contract_storage_update_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"new_value","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest"}}},{"name":"contract_storage_reads","type":{"kind":"array","length":16,"type":{"fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"current_value","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_read::StorageRead"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"new_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":"new_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":"new_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":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::side_effect::SideEffect"}}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"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":"tx_tree_height","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"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":"prover_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"transaction_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs"},"visibility":"public"},"return_witnesses":[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279]},"bytecode":"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","debug_symbols":"7P3fjmvLsh52vsu5PmiMjD+ZEXqVRqOhbsuGAEMyLPlKOO/uMe1JzrV9WJuMsVij4uM3rrR1UCxmJsmI4Ldm/up//Mv/9J/+f//H//L//c//5X/+r//tX/7D//t//Mv/+l/////xv//n//pf9v/f//iX7f8lJv/X//m//W//8b/8+r/8t//+H//3//4v/2H713/5T//lf9r/33/713/5n//z//qf/uU/6Db+7f/zr//XI7T8CCs/wsuPmOVHrPIjovyIrD7Ct9cf8a//7ufGNubvHx2bjvtPi+bt949v/v3yzb9fv/n32zf/fv/m3z+/+fevb/798c2/P7/3989v/vzOb/78zm/+/M5v/vzOv/X+11jx+0f3/5n3n855+/XrW3/9+lvvHs3t/uvTtge/fnzvr5fv/fX6vb/evvfX+/f++vm9v35976+P7/31+a2/Pr73UxvfXPLjm0t+fHPJj28e2eKbR7b45pEtvnlki28e2eKbR7b85pEtv/nzm/6tM0l+70SV31qbddu+99eP7/318r2/Xr/319v3/nr/3l8/v/fXr+/99fG9v/57P7Xjb31q5V5y5C8Vx26/e3zj75Zv/N36jb/bvvF3+zf+7vmNv3t94++Ob/zd+X2/W77xcyn2nXOGin/vr//eeivfW2/1e6ck/d4pSb93StLvnZL0e6ck/d4pSb93StLvnZL0ez+1+r2fWvveT61976fWvvdTa9/7qbXv/dTa935q7Xs/tfa9n9ryf4dX+3sfRA+/LWhu668L+vc/bGO7/V4bw//96v/ef+F/81r0xLX4LccyebgWa7QWb7SW2Wgtq9FaotFaTqwv4uO+Fpd/v5a5NVrLaLQWabQWbbQWa7QWb7SW2Wgtq9FaotFaGtXd1ajurkZ1dzWqu6tR3V2N6u5qVHdXo7q7GtXd1ajurkZ1NxrV3WhUd6NR3Y1GdTca1d1oVHejUd2NRnU3GtXdaFR3s1HdzUZ1NxvV3WxUd7NR3c1GdTcb1d1sVHezUd3NPnXXtj5117Y+dde2PnXXtj5117Y+dde2PnXXtj5117Y+dde2PnXXtkZ1dzSqu6NR3R2N6u5oVHdHo7o7GtXd0ajujkZ1dzSqu6NR3ZVGdVca1V1pVHelUd2VRnVXGtVdaVR3pVHdlUZ1VxrVXW1Ud7VR3dVGdVcb1V1tVHe1Ud3VRnVXG9VdbVR3tVHdtUZ11xrVXWtUd61R3bVGddca1V1rVHetUd21RnXXGtVdb1R3vVHd9UZ11xvVXW9Ud71R3fVGddcb1V1vVHcb3VezRvfVrNF9NWt0X80a3VezRvfVrNF9NWt0X80a3VezRvfVrNF9NWt0X80a3VezRvfVrNF9NWt0X80a3VezRvfVrNF9NWt0X80a3VezRvfVrNF9NWt0X80a3VezRvfVrNF9NWt0X80a3VezRvfVrNF9NWt0X80a3VezRvfVrNF9NWt0X80a3VezRvfVrNF9NWt0X80a3VfzRvfVvNF9NW90X80b3VfzrU/d9Ub31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF/NG91X80b31bzRfTVvdF9tNrqvNhvdV5uN7qvNRvfV5tan7s5G99Vmo/tqs9F9tdnovtpsdF9tNrqvNhvdV5uN7qvNRvfVZqP7arPRfbXZ6L7abHRfbTa6rzYb3Vebje6rzUb31Waj+2qz0X212ei+2mx0X202uq82G91Xm43uq80z76vpiNtadOS/X8uZ99WermU0Wos0Wos2Wos1Wos3WststJbVaC3RaC2N6q41qrvWqO5ao7prjequNaq71qjuWqO6a43qrjWqu9ao7nqjuuuN6q43qrveqO56o7rrjequN6q73qjueqO6643q7mxUd2ejujsb1d3ZqO7ORnV3Nqq7s1HdnY3q7mxUd2ejursa1d3VqO6uRnV3Naq7q1HdXY3q7mpUd1ejursa1d3VqO5Go7objepuNKq70aju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/qi/+qP+6o/6qz/qr/6ov/qj/uqP+qs/6q/+qL/6o/7qS/3Vl/qrL/VXX+qvvtRffam/+lJ/9aX+6kv91Zf6q6/1V1/rr77WX32tv/paf/W1/upr/dXX+quv9Vdf66++1V99q7/6Vn/1rf7qW/3Vt/qrb/VX3+qvvtVffau/+l5/9b3+6nv91ff6q+/1V9/rr77XX32vv/pef/W9/urP+qs/66/+rL/6s/7qz/qrP+uvfj3rs3rWZ/Wsz+pZn9WzPqtnfVbP+qye9Vk967N61mf1rM/qWZ/Vsz6rZ31Wz/qsnvVZPeuzetZn9azP6lmf1bM+q2d9Vs/6rJ71WT3rs3rWZ/Wsz+pZn9WzPqtnfVbP+qye9Vk967N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nf/Ht/7yNy/f7JHOP+s2Pkg5+VdftZ3f7ye/33Stbf+2Mfb13JaLMSabMSbbMSa7MSb7OS2WYlq81Kos1K2tTY0abGjjY1drSpsaNNjR1tauxoU2NHmxo72tTY0abGjjY1VtrUWGlTY6VNjZU2NVba1FhpU2OlTY2VNjVW2tRYaVNjtU2N1TY1VtvUWG1TY7VNjdU2NVbb1FhtU2O1TY3VNjXW2tRYa1NjrU2NtTY11trUWGtTY61NjbU2Ndba1FhrU2O9TY31NjXW29RYb1NjvU2N9TY11tvUWG9TY71NjfU2NXa2qbGzTY2dbWrsbFNjZ5saO9vU2Nmmxs42NXa2qbGzTY1dbWrsalNjV5sau9rU2NWmxq42NXa1qbGrTY1dbWrsalNjo02NjTY1NtrU2GhTY6NNjY02NTba1NhoU2OjTY2NNjU229TYbFNjs02NzTY1NtvU2GxTY7NNjc02NTbb1Ng297yizT2vaHPPK9rc84o297xi61Jjo809r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3POKNve8os09r2hzzyva3PPKNve8ss09r2xzzyvb3PPKrUuNzTb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa9sc88r29zzyjb3vLLNPa/scs9Lti73vPaVNKmx+0qa1Nh9JU1q7L6SJjV2X0mTGruvpEmN3VfSpMbuK2lSY/eVtKmxXe557StpU2O73PPaV9Kmxna557WvpE2N7XLPa19Jmxrb5Z7XvpI2NbbLPa99JW1qbJd7XvtK2tTYLve89pW0qbFd7nntK2lTY7vc89pX0qbGdrnnta+kTY3tcs9rX0mbGtvlnte+kjY1tss9r30lbWpsl3te+0ra1Ngu97z2lbSpsV3uee0raVNju9zz2lfSpsZ2uee1r6RNje1yz2tfSZsa2+We176SNjW2yz2vfSVtamyXe177StrU2C73vPaVtKmxXe557StpU2O73PPaV9Kmxna557WvpE2N7XLPa19Jmxrb5Z7XvpI2NbbLPa99JW1qbJd7XvtK/laNzRG3laj83ZVIm5Vom5VYm5V4m5XMNitZbVYSbVZSqLG/H1K5kHV7yKg/ROoP0fpDrP4Qrz9k1h+y6g+J+kPqr37WX/2sv/pZf/Wz/upn/dXP+quf9Vc/669+1l/9LL/6Y9vqDxn1h0j9IVp/iNUf4vWHzPpDVv0hUX9I/dUf9Vd/1F/9UX/1R/3VH/VXf9Rf/VF/9Uf91R/1V3/UX32pv/pSf/Wl/upL/dWX+qsv9Vdf6q++1F99qb/6Un/1tf7qa/3V1/qrr/VXX+uvvtZffa2/+lp/9bX+6mv91bf6q2/1V9/qr77VX32rv/pWf/Wt/upb/dW3+qtv9Vff66++1199r7/6Xn/1vf7qe/3V9/qr7/VX3+uvvtdf/Vl/9Wf91Z/1V3/WX/1Zf/Vn/dWf9Vd/1l/9WX/1Z/3VX/VXf9Vf/VV/9Vf91V/1V3/VX/1Vf/VX/dVf9Ve/nvWNetY36lnfqGd9o571jXrWN+pZ36hnfaOe9Y161jfqWd+oZ32jnvWNetY36lnfqGd9o571jXrWN+pZ36hnfaOe9Uk965N61if1rE/qWZ/Usz6pZ31Sz/qknvVJPeuTetYn9axP6lmf1LM+qWd9Us/6pJ71ST3rk3rWJ/WsT+pZn9SzPqlnfVLP+qSe9Uk965N61if1rE/qWZ/Usz6pZ31Sz/qknvVJPeuTetYn9axP6lmf1LM+qWd9Us/6pJ71ST3rk3rWJ/WsT+pZn9SzPqlnfVLP+qSe9Uk965N61if1rE/qWZ/Usz6pZ31Sz/qknvVJPeuTetYn9axP6lmf1LM+qWd9Us/6pJ71ST3rk3rWJ/WsT+pZn9SzPqlnfVLP+qSe9Uk965N61if1rE/qWZ/Usz6pZ31Sz/qknvVJPeuTetYn9axP6lmf1LM+qWd9Us/6pJ71ST3rk3rWJ/WsT+pZn9SzPqlnfVLP+qSe9Uk965N61if1rE/qWZ/Wsz6tZ31az/q0nvVpPevTetan9axP61mf1rM+rWd9Ws/6tJ71aT3r03rWp/WsT+tZn9azPq1nfVrP+rSe9Wk969N61qf1rE/rWZ/Wsz6tZ31az/q0nvVpPevTetan9axP61mf1rM+rWd9Ws/6tJ71aT3r03rWp/WsT+tZn9azPq1nfVrP+rSe9Wk969N61qf1rE/rWZ/Wsz6tZ31az/q0nvVpPevTetan9axP61mf1rM+rWd9Ws/6tJ71aT3r03rWp/WsT+tZn9azPq1nfVrP+rSe9Wk969N61qf1rE/rWZ/Wsz6tZ31az/q0nvVpPevTetan9axP61mf1rM+rWd9Ws/6tJ71aT3r03rWp/WsT+tZn9azPq1nfVrP+rSe9Wk969N61qf1rE/rWZ/Wsz6tZ31az/q0nvVZPeuzetZn9azP6lmf1bM+q2d9Vs/6rJ71WT3rs3rWZ/Wsz+pZn9WzPqtnfVbP+qye9Vk967N61mf1rM/qWZ/Vsz6rZ31Wz/qsnvVZPeuzetZn9azP6lmf1bM+q2d9Vs/6rJ71WT3rs3rWZ/Wsz+pZn9WzPqtnfVbP+qye9Vk967N61mf1rM/qWZ/Vsz6rZ31Wz/qsnvVZPeuzetZn9azP6lmf1bM+q2d9Vs/6rJ71WT3rs3rWZ/Wsz+pZn9WzPqtnfVbP+qye9Vk967N61mf1rM/qWZ/Vsz6rZ31Wz/qsnvVZPeuzetZn9azP6lmf1bM+q2d9Vs/6rJ71WT3rs3rWZ/Wsz+pZn9WzPqtnfVbP+qye9Vk967N61mf1rM/qWZ/Vsz6rZ31Wz/qsnvVZPeuzetZn9azP6lmf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvVFPeuLetYX9awv6llf1LO+qGd9Uc/6op71RT3ri3rWF/WsL+pZX9SzvqhnfVHP+qKe9UU964t61hf1rC/qWV/Us76oZ31Rz/qinvVFPeuLetYX9awv6llf1LO+qGd9Uc/6op71RT3ri3rWF/WsL+pZX9SzvqhnfVHP+qKe9UU964t61hf1rC/qWV/Us76oZ31Rz/qinvVFPeuLetYX9awv6llf1LO+qGd9Uc/6op71RT3ri3rWF/WsL+pZX9SzvqhnfVHP+qKe9UU964t61hf1rC/qWV/Us76oZ31Rz/qinvVFPeuLetYX9awv6llf1LO+qGd9Uc/6op71RT3ri3rWF/WsL+pZX9SzvqhnfVHP+qKe9UU964t61hf1rC/qWV/Us76oZ31Rz/qinvVFPeuLetYX9awv6llf1rO+rGd9Wc/6sp71ZT3ry3rWl/WsL+tZX9azvqxnfVnP+rKe9WU968t61pf1rC/rWV/Ws76sZ31Zz/qynvVlPevLetaX9awv61lf1rO+rGd9Wc/6sp71ZT3ry3rWl/WsL+tZX9azvqxnfVnP+rKe9WU968t61pf1rC/rWV/Ws76sZ31Zz/qynvVlPevLetaX9awv61lf1rO+rGd9Wc/6sp71ZT3ry3rWl/WsL+tZX9azvqxnfVnP+rKe9WU968t61pf1rC/rWV/Ws76sZ31Zz/qynvVlPevLetaX9awv61lf1rO+rGd9Wc/6sp71ZT3ry3rWl/WsL+tZX9azvqxnfVnP+rKe9WU968t61pf1rC/rWV/Ws76sZ31Zz/qynvVlPevLetaX9awv61lf1rO+rGd9Wc/6spz16VbO+vaHjPpDpP4QrT/E6g/x+kNm/SGr/pCoP6T+6o/6qz/qr/6ov/qj/uqP+qs/6q/+qL/6o/7qj/qrP+qvvtRffam/+lJ/9aX+6kv91Zf6qy/1V1/qr77UX32pv/paf/W1/upr/dXX+quv9Vdf66++1l99rb/6Wn/1tf7qW/3Vt/qrb/VX3+qvvtVffau/+lZ/9a3+6lv91bf6q+/1V9/rr77XX32vv/pef/W9/up7/dX3+qvv9Vff66/+rL/6s/7qz/qrP+uv/qy/+rP+6s/6qz/rr/6sv/qz/uqv+qu/6q/+qr/6q/7qr/qrv+qv/qq/+qv+6q/6q7/qr37UX/2ov/pRf/Wj/upH/dWP+qsf9Vc/6q9+1F/9qL/6WX/1s/7qZ/3Vz/qrn/VXP+uvftZf/ay/+ll/9etZ36hnfaOe9Y161jfqWd+oZ32jnvWNetY36lnfqGd9o571jXrWN+pZ36hnfaOe9Y161jfqWd+oZ32jnvWNetY36lnfqGd9o571jXrWN+pZ36hnfaOe9Y161jfqWd+oZ32jnvWNetY36lnfqGd9o571jXrWN+pZ36hnfaOe9Y161jfqWd+oZ32jnvWNetY36lnfqGd9o571jXrWN+pZ36hnfaOe9Y161jfqWd+oZ32jnvWNetY36lnfqGd9o571jXrWN+pZ36hnfaOe9Y161jfqWd+oZ32jnvWNetY36lnfqGd9o571jXrWN+pZ36hnfaOe9Y161jfqWd+oZ32jnvWNetY36lnfqGd9o571jXrWN+pZ36hnfaOe9Y161jfqWd+oZ32jnvWNetY36lnfqGd9o571jXrWN+pZ36hnfaOe9Y161jfqWZ/Usz6pZ31Sz/qknvVJPeuTetYn9axP6lmf1LM+qWd9Us/6pJ71ST3rk3rWJ/WsT+pZn9SzPqlnfVLP+qSe9Uk965N61if1rE/qWZ/Usz6pZ31Sz/qknvVJPeuTetYn9axP6lmf1LM+qWd9Us/6pJ71ST3rk3rWJ/WsT+pZn9SzPqlnfVLP+qSe9Uk965N61if1rE/qWZ/Usz6pZ31Sz/qknvVJPeuTetYn9axP6lmf1LM+qWd9Us/6pJ71ST3rk3rWJ/WsT+pZn9SzPqlnfVLP+qSe9Uk965N61if1rE/qWZ/Usz6pZ31Sz/qknvVJPeuTetYn9axP6lmf1LM+qWd9Us/6pJ71ST3rk3rWJ/WsT+pZn9SzPqlnfVLP+qSe9Uk965N61if1rE/qWZ/Usz6pZ31Sz/qknvVpPevTetan9axP61mf1rM+rWd9Ws/6tJ71aT3r03rWp/WsT+tZn9azPq1nfVrP+rSe9Wk969N61qf1rE/rWZ/Wsz6tZ31az/q0nvVpPevTetan9axP61mf1rM+rWd9Ws/6tJ71aT3r03rWp/WsT+tZn9azPq1nfVrP+rSe9Wk969N61qf1rE/rWZ/Wsz6tZ31az/q0nvVpPevTetan9axP61mf1rM+rWd9Ws/6tJ71aT3r03rWp/WsT+tZn9azPq1nfVrP+rSe9Wk969N61qf1rE/rWZ/Wsz6tZ31az/q0nvVpPevTetan9axP61mf1rM+rWd9Ws/6tJ71aT3r03rWp/WsT+tZn9azPq1nfVrP+rSe9Wk969N61qf1rE/rWZ/Wsz6tZ31az/q0nvVpPevTetan9axP61mf1bM+q2d9Vs/6rJ71WT3rs3rWZ/Wsz+pZn9WzPqtnfVbP+qye9Vk967N61mf1rM/qWZ/Vsz6rZ31Wz/qsnvVZPeuzetZn9azP6lmf1bM+q2d9Vs/6rJ71WT3rs3rWZ/Wsz+pZn9WzPqtnfVbP+qye9Vk967N61mf1rM/qWZ/Vsz6rZ31Wz/qsnvVZPeuzetZn9azP6lmf1bM+q2d9Vs/6rJ71WT3rs3rWZ/Wsz+pZn9WzPqtnfVbP+qye9Vk967N61mf1rM/qWZ/Vsz6rZ31Wz/qsnvVZPeuzetZn9azP6lmf1bM+q2d9Vs/6rJ71WT3rs3rWZ/Wsz+pZn9WzPqtnfVbP+qye9Vk967N61mf1rM/qWZ/Vsz6rZ31Wz/qsnvVZPeuzetZn9azP6lmf1bM+q2d9Vs/6rJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZn9ezPq9nfV7P+rye9Xk96/N61uf1rM/rWZ/Xsz6vZ31ez/q8nvV5Pevzetbn9azP61mf17M+r2d9Xs/6vJ71eT3r83rW5/Wsz+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+sZ32znvXNetY361nfrGd9s571zXrWN+tZ36xnfbOe9c161jfrWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfaue9a161rfqWd+qZ32rnvWteta36lnfqmd9q571rXrWt+pZ36pnfetx1idjW78fJWPEPzzwX//dT6eO3z88xOb9h+f24GfnFrffvP/H9T9Lkk0f/LTa7Yc1/qxC4tGP7pn97Wf3oPCf//Dc9LaIzf76o79P5XGcSX8q4zqVB6ci16k8OBW9TuXBqdh1Kg9Oxa9TeXAq8zqVB6eyrlN5cCpxncqDU7lm2wenEtds++hUOGdbvS/C/dGpcM62z06Fc7Z9dip2ncqDU+GcbZ+dCuds++xUOGfbZ6fCOds+OxXO2fbJqSTnbPvsVK7Z9tGpXLPto1O5ZttHp2LXqTw4lWu2fXQq12z76FSu2fbRqVyz7aNTuWbbf38qsV2z7aNTuWbbR6dyzbaPTuWabR+dil2n8uBUrtn20alcs+2jU7lm20encs22j07lmm0fnMq4ZttHp3LNto9O5ZptH53KNds+OhW7TuXBqVyz7aNTuWbbR6dyzbaPTuWabR+dyjXbPjgVuWbbR6dyzbaPTuWabR+dyjXbPjoVu07lwalcs+2jU7lm20encs22j07lmm0fnco12z44Fb1m20encs22j06FYLa9bZVgYL1t1Xi2SjBa3rZKMC/etkowBN62SjDZ3bZKMK793qoRzGC3rRIMVret8kxLxjMtGc+0ZDzTkvFMS8YzLRnPtGQ805LzTEvOMy05z7TkPNOS80xLzjMtOc+05DzTkvNMS84zLU2eaWnyTEuTZ1qaPNPS5JmWJs+0NHmmpckzLU2eaYnhD8z83irDX425bZVnWmL4+y63rfJMSwx/ieW2VZ5pieFvpty2yjMtMfx1k9tWeaYlhr9Dctsqz7TE8BdDblvlmZYY/rbHbas80xLDX+G4bZVnWmL4exm3rfJMSwx/2eK2VZ5pieFvUNy2yjMtfdBfAMj7Vtf26FLnB7H+T7aaH+Ov21j5+2dtpB/+4du5fEq5fve5fEptf/e5fEojePe52HUuD8/lU76Qv/tcPmXKePe5fMpI8u5z+ZRc4N3n8ikhwpvP5WNM9nefyzXvPj6Xa959fC7XvPv4XOw6l4fncs27j8/lmncfn8s17z4+l2vefXwu17z78Fw+xml/97lc8+7jc7nm3cfncs27j8/FrnN5eC7XvPv4XCjnXRHX2/5k6aNzoZx3XzgXynlXROXPudiDc/kYjbt2Lpa3HxbftkfnQjm/vHAulPPLC+di17k8PBfK+eWFc+GcX56fC+f88vxcOOeX5+dCmdc9P5ePcc/ffS7XvPv4XK559/G5XPPu43Ox61wenss11z0+l2uue3wu11z38Fw+hueunUvYPceMaf/8h1XXfRW2PQr3Pgb+/tFD5JwA3nyIdh3i3z9EziztzYfIOaC9+RA5p7k3HyLn6PfmQ+TM/957iB8D2f/oIV7fWN5wiNc3ljcc4vWN5Q2HaNch/v1DvEacZ4e4Yv7+2ZWPgrCPEeJ/7gg/hnj+viPM+7+f3L/bPTrC61vz3z7C64P89AjX7V+rZjz6R98fgyL/4BFe31L+9hFe31H+9hFe31D+9hHadYR/9wivufBvH+E1F/7tI7z+W8rfPsIrZvjbR3h9O/m7R/gxCPkPHuH17eTZEY5N/ba/LR6Frh/Dpv/oIV7fUN5wiHYd4t8/xOtbyhsO8fqe8oZDvL6pvOEQr+8qbzjE69vK3z1E2zj/ZMe7D/H6xvKGQ7y+sbzhEK9vLG84RLsO8e8f4vWN5Q2HeH1jecMhXt9Y3nCI1zeWNxzi9Y3l7x8i5x9defchXt9Y3nCI1zeWp4c44n6II+ajQ7y+sbzhEO06xL9/iNc3ljcc4vWN5Q2HeH1jecMhXt9Y3nCI1zeWv3+InH82592HeH1jecMhXt9Y3nCI1zeWNxyiXYf49w/x+sbyhkO8vrG84RCvbyxvOMTrG8sbDvH6xvL3D1GvbyxvOMTrG8sbDvH6xvKGQ7y+sbzhEO06xL9/iNc3ljcc4vWN5Q2HeH1j+fuHSPqHlEqHKON+iDLy0SFeI84bDvFqLM8PUe3P/vTRIV6N5Q2HeDWWNxziFYW94RCvKOzvH6JfUdgbDvGaE99wiNec+IZDvKKwNxyiXYf49w/x+sbyhkO8vrG84RCvbyxvOMTrG8sbDvH6xvL3D/H6Q17vOMTrG8sbDvH6xvKGQ7y+sbzhEO06xEdXmOf1JeTxuVzfKx6fy/VV4fG5XNP/43O5BvqH57KuGf3xuVxj9+NzuSbpx+dyDcePz8Wuc3l4Lte8+/hcrnn38blc8+7jc7nm3cfncs27D8+F9G89psRtf6ny6Fw4+/Tzc+Gsu+njfi6PP0ecdff5uXDW3afnQvrn6J6fC2fO8PxcOHOG5+dCOr88PRe7zuXhuXDmDM/PhTNneH4u17z7+Fwo5139Q4/v//PRdUfOv3329FwG558ze+FcKOfdF86Fct594Vwo590XzsWuc3l4LpTz7gvnQjnvvnAulPPuC+dyzbuPz+Wadx+eC+cfw3rhXK657vG5XHPd43Ox61wenss11z0+l2uue3wunHPdHyhPR8ajc+Gc656fC+dc9/RcOP9k0AvnwpljPj8Xznn3+blwzrvPz4WzT4tst18sYo/OhbNPPz0Xzr9loBJ/ziXXo3PhrLvPz4Wz7j4/F7vO5eG5cOYMz8+FM2d4fi6k88vTcyGdX56eC2fO8PRcjDNneH4u17z7+FyueffxuXDOu3/5xTofnotd5/LwXDjn3efnwjnvPj8Xznn3+blwzrt239/+Px/lu5x/+kN1/eVcHuWYnH/N44Vz4Zx3n58L57z7/FxI592n52LXuTw8F9J59+m5kM67T8+FdN59ei6c8+7zc7nm3Yfnwvm3IF44l2vefXwu17z7+Fyueffxudh1Lg/P5Zp3H5/LNe8+Ppdr3n18Lte8+/hcrnn34blw/l2FF87lmncfn8s17z4+l2vefXwudp3Lw3O55t3H53LNu4/P5Zp3H5/LNe8+Ppdr3n14LnHNu4/P5Zp3H5/LNe8+Ppdr3n18Lnady8Nzuebdx+dyzbuPz+Wadx+fyzXvPj6Xa959eC6cf8/mhXO55t3H53LNu4/P5Zp3H5+LXefy8Fwez7vb3RmSofPJuQyzeTsY9788yy9J8LyT0el2+9m55J//8Nxuf9hyPj6XeZ3Lw3NZ17k8PJe4zuXhueR1Lg/ORb74ezbXuYzrXB6ei1zn8vBc9DqXh+di17k8PJdr3n18Lte8+/hcWOddvS/C/dG5sM67z86Fdd59ci6Ddd59di6s8+6zc2Gdd5+dC+u8++xc7DqXh+fCOu8+OxfWeffZuVzz7uNzuebdx+dyzbsPz0WueffxuVzz7uNzuebdx+dyzbuPz8Wuc3l4Lte8+/hcrnn38blc8+7jc7nm3cfncs27D89Fr3n38blc8+7jc7nm3cfncs27j8/FrnN5eC7XvPv4XK559/G5XPPu43O55t3H53LNuw/Pxa559/G5XPPu43O55t3H53LNu4/Pxa5zeXgu17z7+FyueffxuVzz7uNzuebdx+dyzbsPz8WveffxuVzz7uNzuebdx+dyzbuPz8Wuc3l4Lte8+/hcrnn38blc8+7jc7nm3cfncs27D89lUsy7t81SDLG3zVJMprfNUoybt80a02YpBsPbZimmvdtmKUa422Yp5rLbZimGrd+bXUwT1GKaoBbTBLWYJqjFNEEtpglqMU1Qi2mCWkwT1GKaoIJpggqmCSqYJqhgmqCCaYIKpgkqmCaoYJqggmmCCqYJKpkmqGSaoJJpgkqmCSqZJiiOP79z2yzTBMXxh3Jum2WaoDj+pM3/vVnl+Ds1t80STVDK8RdlbpslmqB0M6bNEk1QyvFXWm6bJZqglOPvqdw2yzRBcfzlk9tmmSYojr9Rctss0wTF8ddEbptlmqA4/u7HbbNMExTHX+i4bZZpguL4Wxq3zTJNUB+l9ed9s2vzR5v9pNbzdLOfU6BsrPz9szbSD//w75P5ICn93SfzOaXv3SfzOd80330yn/O19N0nY9fJfHEynzN1vPtkPmdEeffJfM5X6XefzOd87373yVwz8Bcn80F6+rtP5pqBvzqZawb+6mSuGfirk7HrZL44mWsG/upkrhn4q5O5ZuCvTuaagb86mWsG/uJkPkhUf/fJXDPwVydzzcBfncw1A391MnadzBcnQzoDi7jedihLH50M6Qz8wsmQzsAiKn9Oxh6czAeJ2bWTsbz9sPi2PToZ0nnmhZMhnWdeOBnSeeaFk7HrZL44GdZ55vnJsM4zz0+GdZ55fjKkmd4LJ0Oa6T0/mQ8yz999MtcM/NXJXDPwVydzzcBfncw16X11Mtek99XJXJPeFyfzQc527WTC7mlnTPvnP6z7G+i2CtseBYAfJHj/6DGyzgNvPkbW4eHNx2jXMb7jGFkHtjcfI+t09+ZjZB0F33yMrAnhm4+RNU587zF+kHX/o8d4fYt5yzFe32LecozXt5i3HOM18Dw/xhW3/a18FJN9EPL+Y4e4vz2vQ3x6iHn/V5jp69EhXt+m33CI18f5hUNct3/1muGPDvH67vL3D/GDhOQfPMTre8sbDvH61vKGQ7y+s7zhEO06xL9/iNec+IZDvP6byxsO8Qog3nCI1zeWNxzi9Y3l7x/iB4nk33eIY9PbcYwt7NExXt9Z3nKM17eWtxzj9b3lLcdo1zG+4xiv7y5vOcbr28tbjvH6/vKWY7y+wbzlGK/vMO84Rta/RPLuY7y+xbzlGK9vMW85xutbzFuO0a5jfMcxXt9i3nKM17eYtxzj9S3mLcd4fYt5yzFe32LecYysf0vm3cd4fYt54RjH/Tj2/zkfHeP1LeYtx3h9i3nLMdp1jO84xutbzFuO8foW85ZjvL7FvOUYr28xbznG61vMO46R9a8BvfsYr28xbznG61vMW47x+hbzlmO06xjfcYzXt5i3HOP1LeYtx3h9i3nLMV7fYt5yjNe3mHccI+3fAHvzMV7fYt5yjNe3mLcc4/Ut5i3HaNcxvuMYr28xbznG61vMO46R9g8+lY5Rxv0YZeSjY7wGnrcc49ViXjlGtfsxmj46xqvFvOUYrxbzlmO8grK3HOMVlL3lGK+g7B3HeP3Jsfcc4zU3vuUYr6DsLcd4BWVvOUa7jvEdx3h9i3nLMV7fYt5yjNe3mLcc4/Ut5i3HeH2LeccxXn9y7D3HeH2LecsxXt9i3nKM17eY/+cx3k7GrpP54mSu7xpfncz19eGrk7m+EXx1MteQ/9XJXHP745Px7RrFvzqZa7r+6mSugfmrk7lm4K9Oxq6T+eJkrhn4q5O5ZuCvTuaagb86mWsG/uJkaP9GZUrcdpgqj06GtWs/PxnWCpw+7ifz+NPEWoGfnwxrBX5+MqwpxNOTof27eM9PhjWFeH4ytPPM05OhnWeenoxdJ/PFybCmEM9P5pqBvzoZ0hlY/6Do+//MRydDOgO/cDKkM/Dzk2H9q2ovnAzpDPzCyZDOwC+cDOkM/MLJ2HUyX5wM6Qz8wsmQzsAvnMw1A391MtcM/NXJXDPwFyfD+sekXjiZa9L76mSuSe+rk7HrZL44mWvS++pkWCe9P2SfjoxHJ8M66T0/GdZJ7/nJsE56T0+G9e8WvXAyrDPw85NhnYGfnwxr1xbZbr9Y5NF/o2T9cyHPT4b1by6oxJ+TyfXoZFgr8POTYa3Az0+GNYV4fjJ2ncwXJ8OaQjw/Gdp55unJ0M4zT0+GNYV4fjKsKcTTk2H9MxwvnMw1A391Mqwz8F9+sc6HJ8M6Az8/GbtO5ouTYZ2Bn58M6wz8/GRYZ2Db7r/Ytkc5MOsfK1FdfzmZR2kn698feX4yrH9S5IWTYZ2Bn58M7Qz89GRoZ+CnJ2PXyXxxMrQz8NOToZ2Bn54M6wz8/GSuGfirk7lm4C9OhvUPUrxwMtcM/NXJXDPwVydzzcBfnYxdJ/PFyVwz8Fcnc83AX53MNQN/dTLXDPzVyVwz8OOTmax/CeKFk7lm4K9O5pqBvzqZawb+6mTsOpkvTuaagb86mWsG/upkrhn4q5O5ZuCvTuaagb84mXHNwF+dzDUDf3Uy1wz81clcM/BXJ2PXyXxxMtcM/NXJXDPwVydzzcBfncw1A391MtcM/MXJsP4tnhdO5pqBvzqZawb+6mSuGfirk7GHJzPc7icT8g8nc3ugH33gPPrAdfSBcfSBefCBX/wViRceOI4+UI4+UI8+8Og7R4++c/ToO0ePvnP06DtHj75z7Og7x46+c+zoO8eOvnPs6DvHjr5z7Og7x46+c+zoO8eOvnP86DvHj75z/Og7x4++c/zoO8ePvnP86DvHj75z/Og7x4++c+bRd848+s6ZR9858+g7Zx5958yj75x59J0zj75z5tF3zjz6zllH3znr6DtnHX3nrKPvnHX0nbOOvnPW0XfOOvrOWUffOevoOyeOvnPi6Dsnjr5z4ug7J46+c+LoOyeOvnPi6Dsnjr5z4ug7J4++c/LoOyePvnPy6Dsnj75z8ug7J4++c/LoOyePvnPy4DtnbdvRB46jD5SjD9SjD7SjD/SjD5xHH7iOPjCOPvDoO2ccfeeMo++ccfSdM46+c8bRd844+s4ZR9854+g7Zxx954yj7xw5+s6Ro+8cOfrOkaPvnKMZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miGvoxnyOpohr6MZ8jqaIa+jGfI6miHH0Qw5jmbIcTRDjqMZchzNkONohhxHM+Q4miHH0Qw5jmbIcTRDjqMZchzNkONohhxHM+Q4miHH0Qw5jmbIcTRDjqMZchzNkONohhxHM+Q4miHH0Qw5jmbIcTRDjqMZchzNkONohhxHM+Q4miHH0Qw5jmbIcTRDjqMZchzNkONohhxHM+Q4miHH0Qw5jmbIcTRDjqMZchzNkONohhxHM+Q4miHH0Qw5jmbIcTRDjqMZchzNkONohhxHM+Q4miHH0Qw5jmbIcTRDjqMZchzNkONohhxHM+Q4miHHFxmyzNulLtHN/+GB//5W1x59//7hPR/887N+fw4/4TnmCc+xTniOOOE58vuf44sU/b3PMU54DjnhOfSE5zjhc75O+JyvEz7n64TP+Trhc75O+JzHCZ/zOOFzHid8zuOEz3mc8DmPEz7nccLnPE74nMcJn/M44XOeJ3zO84TPeZ7wOc8TPud5wuc8T/ic5wmf8zzhc54nfM7z+z/nuW0nPMc44TnkhOfQE57DTngOP+E55gnPsU54jjjhOU74nI8TPufjhM/5OOFzPk74nI8TPufjhM/5OOFzPk74nI8TPufjhM+5nPA5lxM+53LC51xO+JzLCZ9zOeFzLid8zuWEz7mc8DmXEz7nesLnXE/4nOsJn3M94XOuJ3zO9YTPuZ7wOdcTPud6wudcT/ic2wmfczvhc24nfM7thM+5nfA5txM+53bC59xO+JzbCZ9zO+Fz7id8zv2Ez7mf8Dn3Ez7nfsLn3E/4nPsJn3M/4XPuJ3zO/YTP+Tzhcz5P+JzPEz7n84TP+Qn/Hi5P+PdwecK/h8sT/j1cnvDv4fKEfw+XJ/x7uDzh38PlCf8eLk/493B5wr+HyxP+PVye8O/h8oR/D5cn/Hu4POHfw+UJ/x4uT/j3cHnCv4fLE/49XJ7w7+HyhH8Plyf8e7g84d/D5Qn/Hi5P+PdwecK/h8sT/j1cnvDv4fKEfw+XJ/x7uDzh38PlCf8eLt/x7+Fy6O8f3r+W3X92yKOfHSK3BQ1Z25Of9v179++fnpv8+d2//lLVbQOBvoGE3oBv7/hngj+7gYG+AUHfgKJvwNA34OgbmOgbwO7E+wawO/G+AfROPNA78UDvxAO9Ew/0TvyOfzw9No3bora//B3bx4vafv/o9g+/9bYc77Wc2Ws5q9dyotdystVy3vHPx9+5nNFrOdJrOdprOb2qsvSqytKrKkuvqiy9qrL0qsraqyprr6qsvaqy9qrK2qsqa6+qrL2qsvaqytqrKmuvqmy9qrL1qsrWqypbr6psvaqy9arK1qsqW6+qbL2qsvWqyt6rKnuvquxNqnJ12U2qd3XZTap8ddlNukF12U26RnXZTbpLddlNulB12U26VXHZs0lXqy67SferLhuzS07MLvmOK3g/sWzMLjkxu+TE7JITs0tOzC65MLvkwuySC7NLLswu+Y4LrD+xbMwuuTC75MLskguzSy7MLhmYXTIwu2RgdsnA7JLvuP79E8vG7JKB2SUDs0sGZpcMzC6Zbbuk7D3ltoYt889vVbkvvm2vfGXxbTvmK4tv2zdfWXzb7vnK4tv20FcW37aTvrL4tv30lcW37aqvLL5tb32++LEBd9ixAXfYsQF32LEBd9ixAXfYsQF32LEBd9ixAXfYsQF32LEhd9iB3GEHcocdyB12IHfYLjbEscUjd9gu7sSxxSN32C6mxbHFI3fYLl7GscUjd9guFsexxSN32C7Ox7HFI3fYLobIscUjd9guPsmxxSN32C72ybHFI3fYLq7KscUjd9guZsuxxSN32C4ezLHFI3fYLtbMscUjd9gujs2xxSN32C5GzrHFI3fYLv7OscUjd9guts+xxSN32C5u0LHFI3fYLibRscUjd9i+3tEri0fusH3to1cWj9xh+zpIryweucP2NZFeWTxyh+3rI72yeOQO29dKemXxyB22r5v0yuKRO2xfQ+mVxSN32L6e0iuLR+6wfW2lVxaP3GH7OkuvLB65w/Y1l15ZPHKH7esvvbJ45A7b12J6ZfHIHbavy/TK4pE7bF+j6ZXFI3fYvl7TK4tH7rB97aZXFo/cYfs6Tq8sHrnDIptOA9l0Gsim00A2nQay6TSQTaeBbDoNZNNpIJtOA9l0EmTTSZBNJ0E2nQTZdJINuMMKsukkyKaTIJtOgmw6CbLpJMimkyCbToJsOgmy6STIppMgm06CbDoJsukkyKaTIJtOgmw6CbLpJMimkyCbToJsOgmy6STIppMgm06CbDoJsukkyKaTIJtOgmw6CbLpJMimkyCbToJsOgmy6STIppMgm06CbDoJsukkyKaTIJtOgmw6CbLpJMimkyCbToJsOgmy6STIppMgm06CbDoJsukkyKaTIJtOgmw6CbLpJMimkyCbToJsOgmy6STIppMgm06CbDoJsukkyKaTIJtOgmw6CbLpJMimkyCbToJsOgmy6STIppMgm06CbDoJsukkyKaTIJtOgmw6CbLpJMimkyCbToJsOgmy6STIppMgm06CbDoJsukkyKaTIJtOgmw6CbLpJMimkyCbToJsOgmy6STIppMgm06KbDopsumkyKaTIptOugF3WEU2nRTZdFJk00mRTSdFNp0U2XRSZNNJkU0nRTadFNl0UmTTSZFNJ0U2nRTZdFJk00mRTSdFNp0U2XRSZNNJkU0nRTadFNl0UmTTSZFNJ0U2nRTZdFJk00mRTSdFNp0U2XRSZNNJkU0nRTadFNl0UmTTSZFNJ0U2nRTZdFJk00mRTSdFNp0U2XRSZNNJkU0nRTadFNl0UmTTSZFNJ0U2nRTZdFJk00mRTSdFNp0U2XRSZNNJkU0nRTadFNl0UmTTSZFNJ0U2nRTZdFJk00mRTSdFNp0U2XRSZNNJkU0nRTadFNl0UmTTSZFNJ0U2nRTZdFJk00mRTSdFNp0U2XRSZNNJkU0nRTadFNl0UmTTSZFNJ0U2nRTZdFJk00mRTSdFNp0U2XRSZNNJkU0nRTadFNl0UmTTyZBNJ0M2nQzZdDJk08k24A5ryKaTIZtOhmw6WRfT6bacJj3z93K6uEu35TTpa7flNOlUt+U06T235TTpJrflNOkPt+U0qfi35TSp4bfl9KrKXWSf38vpYvXcltOrKnfxdG7L6VWVu5g3t+X0qspdXJrbcnpV5S52zG05vapyF9/ltpxeVbmLwXJbTq+q3MVJuS2nV1XuYpncltOrKnfxRm7L6VWVu5ggt+X0qspd3I7bcnpV5S62xm05varyd/sXt6dZ5zxNnPM0ecrTfLfTcHuacc7TyDlPo+c8jZ3zNH7O05xTBfycKuDnVAE/pwrMc6rAPKcKzHOqwDynCsxzqsA8pwrMc6rAPKcKzHOqwDynCqxzqsA6pwqsc6rAOqcKrHOqwDqnCqxzqsA6pwqsc6rAOqcKxDlVIM6pAnFOFYhzqkD97tjtgX70gfPoA9fRB8bRB+bBB9bvyNweOI4+UI4+UI8+8Og7J4++c/LoOyePvnPy6DsnD75zfNuOPnAcfaAcfaAefaAdfaAffeA8+sB19IFx9IFH3znj6DtnHH3njKPvnHH0nTOOvnPG0XfOOPrOGUffOePoO2ccfefI0XeOHH3nfPHvpPQ+roguezLcrHn799Vr/eVJ/P4cesJz2AnP4Sc8xzzhOdYJzxEnPEd+/3N88e953vsc44TnOOFzrid8zvWEz7me8DnXEz7nesLnXE/4nOsJn3M74XNuJ3zO7YTPuZ3wObcTPud2wufcTvic2wmfczvhc24nfM79hM+5n/A59xM+537C59xP+Jz7CZ9zP+Fz7id8zv2Ez7mf8Dmfb/ic59DfP5xT/+2vkf2DgF/ktqAha3vy055++2I+N/nzu2XT+wYG+gYEfQOKvgFD34Cjb2Cib2ChbyDQN5DgG1jonXihd+KF3okXeide6J14oXfi9YZO/L5rM75Wr+VEr+Vkq+XE1ms5o9dypNdytNdyrNdyvNdyelXl6FWVo1dVjl5VOXtV5exVlbNXVc5eVTl7VeXsVZWzV1XOXlU5e1XlbFWV59aqKs+tVVWeW6uqPLdWVXlurary3FpV5bm1qspza1WV59aqKs+tV1Uevary6FWVR6+qPHpV5dGkKleX3aR6V5fdpMpXl92kG1SX3aRrVJfdpLsUly1NulB12U26VXXZTbpaddlNul912ZhdUjC7pGB2ScHskoLZJQWzSypml1TMLqmYXVIxu+Q7bm/+xLIxu6RidknF7JKK2SUVs0saZpc0zC5pmF3SMLvkO+4+/8SyMbukYXZJw+yShtklDbNLOmaXdMwu6W275PM/gTy9ba98ZfFtO+Yri2/bN19ZfNvu+cri2/bQVxbftpO+svi2/fSFxc+2XfWVxbftra8sHrnDTuQO+w5L4ucWj9xhJ3KHncgddiJ32IncYRdyh13IHXYhd9iF3GHfYUT83OKRO2wXG+LY4pE7bBd34tjikTtsF9Pi2OKRO2wXL+PY4pE7bBeL49jikTtsF+fj2OKRO2wXQ+TY4pE7bBef5NjikTtsF/vk2OKRO2wXV+XY4pE7bBez5djikTtsFw/m2OKBO+zqYs0cWzxwh11dHJtjiwfusGsD7rCri6hzbPHAHXZ10XqOLR64w64uEtChxXdxg44tHrnDdjGJji0eucP29Y5eWTxyh+1rH72yeOQO29dBemXxyB22r4n0yuKRO2xfH+mVxSN32L5W0iuLR+6wfd2kVxaP3GH7GkqvLB65w/b1lF5ZPHKH7WsrvbJ45A7b11l6ZfHIHbavufTK4pE7bF9/6ZXFI3fYvhbTK4tH7rB9XaZXFo/cYfsaTa8sHrnD9vWaXlk8coftaze9snjkDtvXcXpl8cgdFtl0Wsim00I2nRay6bSQTaeFbDotZNNpIZtOC9l0Wsim00I2nRay6bSQTaeFbDotZNNpIZtOC9l0Wsim00I2nRay6bSQTaeFbDotZNNpIZtOC9l0Wsim00I2nRay6bSQTaeFbDotZNNpIZtOC9l0Wsim00I2nRay6bSQTaeFbDotZNNpIZtOC9l0Wsim00I2nRay6bSQTaeFbDotZNNpIZtOgWw6BbLpFMimUyCbTrEBd9hANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymRTadENp0S2XRKZNMpN+AOm8imUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTIptOiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTIptOiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTIptOiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTIptOiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTdjGdbstp0jNvy2nSBW/LadLXbstp0qluy2nSe27LadJNbstp0h9+L6eLMXRbTpMafltOr6rcRfa5LadXVe6i79yW06sqdxFybsvpVZW7KDa/l9PFpbktp1dV7mLH3JbTqyp38V1uy+lVlbsYLLfl9KrKXZyU23J6VeUulsltOb2qchdv5LacXlW5iwlyW06vqtzF7bgtp1dV7mJr3JbTqSrP7bv9i9vTjHOeRs55Gj3naeycp/Fznmae8zTrnKeJc54mT3macU4VGOdUgXFOFRjnVIFxThUY51SBcU4VGOdUgXFOFRjnVAE5pwrIOVVAzqkCck4VkHOqgJxTBeScKiDnVAE5pwrIOVVAz6kCek4V0HOqgJ5TBfScKqDnVAE9pwroOVWgfnfs9sA8+MD6nanbA8fRB8rRB+rRB9rRB/rRB86jD1xHH3j0nWNH3zl+9J3jR985fvSd40ffOX70neNH3zl+9J3jR985fvSd40ffOfPoO2cefefMo++cefSdM4++c+bRd848+s6ZR9858+g7Zx5956yj75x19J2zjr5z1tF3zjr6zllH3zlf/Dsp2+4PNPMnw82at39fvdZfftbvz7FOeI444Tny+5/ji3979N7nGCc8h5zwHHrCc9gJz+EnPMcJn/M44XMeJ3zO44TPeZ7wOc8TPud5wuc8T/ic5wmf8zzhc54nfM7zhM95nvA5z+//nI9tO+E5xgnPISc8h57wHHbCc/gJzzFPeI51wnPECc9xwud8nPA5Hyd8zscJn/Nxwud8vOFznkN//3BO/be/RvYPAn6R24KGrO3JT/+6qP77p3/9F+D7T8um9w04+gYm+gYW+gYCfQMJvgHZ0Dcw0Dcg6BtQ9A2gd2JB78SC3okFvRMLeicW9E6sb+jE77s2M3T0Wo70Wo72Wo71Wo73Ws7stZzVaznRaznZajnWqypbr6psvaqy9arK1qsqW6+qbL2qsvWqytarKluvquy9qrL3qsreqyp7r6rsvaqy96rK3qsqe6+q7L2qsveqyrNXVZ69qvLsVZVnr6o8e1Xl2asqz15VefaqyrNJVa4uu0n1Li57Nany1WU36QbVZTfpGtVlN+ku1WU36ULVZTfpVtVlN+lq1WU36X7VZWN2yYXZJQOzSwZmlwzMLhmYXfIdNw5/YtmYXTIwu2RgdsnA7JKB2SUTs0smZpdMzC6ZmF3yHfd1f2LZmF0yMbtkYnbJxOySCdklZYPskrJBdknZILukbJBdUjbILikbZJeUrW2XfPonkPfFt+2Vryy+bcd8ZfFt++YLix9tu+cri2/bQ19ZfNtO+sri2/bTVxbftqu+svi2vfWVxSN32IHcYQdyhx3IHVaQO6wgd1hB7rCC3GHfYUb83OKRO6wgd1hB7rCC3GEFucN2sSGOLR65w3ZxJ44tHrnDdjEtji0eucN28TKOLR65w3axOI4tHrnDdnE+ji0eucN2MUSOLR65w3bxSY4tHrnDdrFPji0eucN2cVWOLR65w3YxW44tHrnDdvFgji0eucN2sWaOLR65w3ZxbI4tHrnDdjFyji0eucN28XeOLR65w3axfY4tHrnDdnGDji0eucN2MYmOLR65w/b1jl5ZPHKH7WsfvbJ45A7b10F6ZfHIHbavifTK4pE7bF8f6ZXFI3fYvlbSK4tH7rB93aRXFo/cYfsaSq8sHrnD9vWUXlk8coftayu9snjkDtvXWXpl8cgdtq+59MrikTtsX3/plcUjd9i+FtMri0fusH1dplcWj9xh+xpNryweuMNqX6/plcUDd1jtaze9snjgDqsbcIfVvprTK4sH7rCKbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKb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dApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nRLZdEpk0ymRTadENp1yA+6wiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTIptOiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTIptOiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTIptOiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTIptOiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTIptOiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTIptOiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUyKZTIptOiWw6JbLplMimUyKbTolsOiWy6ZTIplMim06JbDolsumUwKbT2oBNp33xuB12Xzxuh90Xj9th98Xjdth98bgddl88bofdF4/bYffF43bYffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHRbYdNoXj9xhgU2nffHIHbaL6XRbTpOeeVtOky54W06TvnZbTpNOdVtOk95zW06TbnJbTpP+cFtOk4p/W06TGv57OV0coNtyelXlLlbPbTm9qnIXT+e2nF5VuYt5c1tOr6rcxaW5LadXVe5ix9yW06sqd/FdbsvpVZW7GCy35fSqyl2clNtyelXlLpbJbTmtqvLo4o3cltOqKo8uJshtOa2q8thaVeXRReK4LadVVR5dtIzbcr65Kt+eJk95mu82JW5PM855GjnnafScp7FznsbPeZp5ztOsc57mnCowzqkCck4VkHOqgJxTBeScKiDnVAE5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SeSFTyIvfG5GtFeeuWkSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EXkhS8iL3wReeGLyAtfmxHtlWduWkRe+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi88iLzwIPLCg8gLDyIvPDYj2ivP3BREXngQeeFB5IUHkRceRF54EHnhQeSFB5EXHkReeBB54UHkhQeRFx5EXngQeeFB5IUHkRceRF54EHnhQeSFB5EXHkReeBB54UHkhQeRFx5EXngQeeFB5IUHkRceRF54EHnhQeSFB5EXHkReeBB54UHkhQeRFx5EXngQeeFB5IUHkRceRF54EHnhQeSFB5EXHkReeBB54UHkhQeRFx5EXngQeeFB5IUHkRceRF54EHnhQeSFB5EXHkReeBB54UHkhQeRFx5EXngQeeFB5IUHkRceRF54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cd9t88npvbvtboa/ebfNp6c377b5/PTm3TafoN68W6PabfMpqrTb9Ntu16YPd9t8jnrzbptPUm/e7SfNUs93+0mz1NPddnfE37zbT5qlnu/2g2ap5Xrf7RwPd/tBs9QLuzWq3X7QLPXCbj9olnphtx80S72w2w+apV7Y7QfNUkvHn93KP+z2waJt3n5abP2lO6ffzqa7RP6jZ/NBc9rbz6bVVHdbVKvh67Yo67ioVqPMbVGtJo7boloNBrdFterft0W1arP/96JWLzH6tqhWjeW2qIYVffXCkm+LaljRVy9++LaohhV99QJ9b4tqWNFXLyL396J6Wba3RXWs6L102NuiOlb0Xt7qbVEdK3ovwfS2qI4VvZcJeltUx4reS9m8LapjRe/lVt4W1bGi95Igb4vqWNF72Yq3RXWs6L20wtuiOlb07/b/bk8zznkaOedp9JynsXOexs95mnnO06xznibOeZo85WnsnCpg51SBtxhOtt3/k53JelJoRWXdF/XX/7QteV+UdlyUdVyUd1zU7Lio1XFR0XFR2XBRb7Fw3r6o0XFRHSu6d6zo3rGie8eK7h0runes6N6xonvHij47VvTZsaLPjhV9dqzos2NFnx0r+uxY0WfHij47VvTZsaKvjhV9dazoq2NFXx0r+upY0VfHir46VvTVsaKvjhV9dazocXpF31P8W2S9Z9Pz6U/P/PPT//i7b1sY+FsQ/C0o/hYMfwuOv4WJv4WFv4XA30LCbyHxu3Pid+fE786J353fch/1h7eA350TvzsnfndO/O6c8N05NvjuHBt8d44NvjvHBt+dY4PvzrHBd+fY4LtzbPDdOTb47hwbfnce+N154Hfngd+dB353fss98R/eAn53HvjdeeB359G8O4fMO46vWzz5aU+/rXtu8oe8k03vG27ey9++YWne+d+/4eZzwvs33HyqeP+Gm88g79+wsW24+Xzz/g03n4bev+Hms9P7N8w2aQnbpKVsk5ayTVrKNmkp26T1FlcFasPAk9ZtC8Cz020LwNPQbQvA881tC8ATy+8tGPAMctsC8FRx2wLwnHDbAnDnv20BuJfftoDfnQ2/Oxt+dzb87mz43dnxu7Pjd2fH786O353P16jevwX87uz43dnxu7Pjd2fH784TvztP/O488bvzxO/O58ti798Cfnee+N154nfnid+dJ353XvjdeeF3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2Ap0YyvQja1AN7YC3dgKdGMr0I2tQDe2At3YCnRjK9CNrUA3tgLd2Ap0YyvQja1AN7YC3dgKdGMr0I2tQDe2At3YCnRjK9CNrUA3tgLd2Ap0YyvQja1AN7YC3dgKdGMr0I2tQDe2At3YCnRjK9CNrUA3tgLd2Ap0YyvQja1AN7YC3dgKdGMr0I2tRDe2Et3YSnRjK9GNrdzAO3GiG1uJbmwlurGV6MZWohtbiW5sJbqxlejGVqIbW4lubCW6sZXoxlaiG1uJbmwlurGV6MZWohtbiW5sJbqxlejGVqIbW4lubCW6sZXoxlaiG1uJbmwlurGV6MZWohtbiW5sJbqxlejGVqIbW4lubCW6sZXoxlaiG1uJbmwlurGV6MZWohtbiW5sJbqxlejGVqIbW4lubCW6sZXoxlaiG1uJbmwlurGV6MZWohtbiW5sJbqxlejGVqIbW4lubCW6sZXoxlaiG1uJbmwlurGV6MZWohtbiW5sJbqxlejGVqIbW4lubCW6sZXoxlaiG1uJbmwlurGV6MZWohtbiW5sJbqxlejGVqIbW4lubCW6sZXoxlaiG1uJbmwlurGV6MZWohtbiW5sJbqxlejGVqIbW4lubCW4sTU2cGNr3wB2J943gN2J9w1gd+J9A9ideN8AdifeN4DdifcNYHfifQPYnXjfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY2vfAHonBje29g2gd2JwY+vXnwZF3wB6JwY3tn75/egbQO/E4MbWL2QLewMD3dga6MbWQDe2BrqxNTbwTjzQja2BbmwNdGNroBtbA93YGujG1kA3tga6sTXQja2BbmwN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ja2JbmxNdGNrohtbE93YmujG1kQ3tia6sTXRja2JbmxNdGNrohtbE93YmujG1kQ3tia6sTXRja2JbmxNdGNrohtbE93YmujG1kQ3tia6sTXRja2JbmxNdGNrohtbE93YmujG1kQ3tia6sTXRja2JbmxNdGNrohtbE93YmujG1kI3tha6sbXQja2FbmytDbwTL3Rja6EbWwvd2FroxtZCN7YWurG10I2thW5sLXRja6EbWwvd2FroxtZCN7YWurG10I2thW5sLXRja6EbWwvd2FroxtZCN7YWurG10I2thW5sLXRja6EbWwvd2FroxtZCN7YWurG10I2thW5sLXRja6EbWwvd2FroxtZCN7YWurG10I2thW5sLXRja6EbWwvd2FroxtZCN7YWurG10I2thW5sLXRja6EbWwvd2FroxtZCN7YWurG10I2thW5sLXRja6EbWwvd2FroxtZCN7YWurG10I2thW5sLXRja6EbWwvd2FroxtZCN7YWurG10I2thW5sLXRja6EbWwvd2FroxtZCN7YWurG10I2thW5sLXRja6EbWwvd2FroxtZCN7YWurG10I2thW5sLXRja6EbWwvd2FroxtZCN7YWurG10I2tQDe2At3YCnRjK9CNrdjAO3GgG1uBbmwFurEV6MZWoBtbgW5sBbqxFejGVqAbW4FubAW6sRXoxlagG1uBbmwFurEV6MZWoBtbgW5sBbqxFejGVqAbW4FubAW6sRXoxlagG1uBbmwFurEV6MZWoBtbgW5sBbqxFejGVqAbW4FubAW6sRXoxlagG1uBbmwFurEV6MZWoBtbgW5sBbqxFejGVqAbW4FubAW6sRXoxlagG1uBbmwFurEV6MZWoBtbgW5sBbqxFejGVqAbW4FubAW6sRXoxlagG1uBbmwFurEV6MZWoBtbgW5sBbqxFejGVqAbW4FubAW6sRXoxlagG1uBbmwFurEV6MZWoBtbgW5sBbqxFejGVqAbW4FubAW6sRXoxlagG1uBbmwFurEV6MZWoBtbgW5sBbqxFejGVqAbW4FubAW6sZXoxlaiG1uJbmwlurGVG3gnTnRjK9GNrUQ3thLd2Ep0YyvRja1EN7YS3dhKdGMr0Y2tRDe2Et3YSnRjK9GNrUQ3thLd2Ep0YyvRja1EN7YS3dhKdGMr0Y2tRDe2Et3YSnRjK9GNrUQ3thLd2Ep0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Sa5MJrkxmeTGZJIbk0luTCa5bca0WaIJyphMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJnckkdyaT3JlMcmcyyX0zps0STVDOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTST6ZTPLJZJJPJpN8MpnkczOmzRJNUJPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlk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JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnkjWSSN5JJ3kgmeSOZ5O0w0rCgBtVIJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5J1kkneSSd5JJnknmeT9MNKwoAbVSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnkHmeTtAJnk57CcBnUOy2lQ57CcBnUOa6RhOQ3qHJbToM5hOQ3qHJbToM5hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HJbUoEAm+TksqUGBTPJzWFKDApnk57CkBgUyyc9hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HJbUoEAm+TksqUGBTPJzWFKDApnk57CkBgUyyc9hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HJbUoEAm+TksqUGBTPJzWFKDApnk57CkBgUyyc9hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HJbUoEAm+TksqUGBTPJzWFKDApnk57CkBgUyyc9hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HJbUoEAm+TksqUGBTPJzWFKDApnk57CkBgUyyc9hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HJbUoEAm+TksqEElkkmeSCZ5IpnkiWSSp8NIw4IaVCKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSZ5JJnkkmeSaZ5JlkkufDSMOCGlQmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkheSSV5IJnkhmeSFZJKXw0jDghpUIZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJKX2U3y1K8HKf5/D9vCPoJp4fHHN06f407eoUaPO3mLGj3u5D1q8Liz2+Sjx528S40ed/I2NXrcyfvUfxq3+8e49SivxzXWuJN3qtHjrtSq3hh3pVb1xrgrtao3xl2pVX097uxe+X8Zt3q5xo30etyFWtU74y7Uqt4Zd6FW9c64xhp3oVb1zrgLtap3xl2oVdWSPsfN/zPui4e2+PjqbPWPLd39M5yFOtj4cBZqbMPDmUtTv55qqhp2PdVUbel6qqlKzfVUNuVTTVURrqeaapNfTzXVwr2eaqpNdz3VVCvm46nmcp6vp5rybJ9LTr6easqzfS6L+HqqKc/2uXTf66mmPNvn8nKvp5rybJ9LoL2easqzfS7T9XqqKc/2uZTU66mmPNvnckevp5rybJ9L8ryeasqzfS4b83qqKc/2ubTJ66mmPNvn8huvp5rybJ9LRLyeasqz/aeNwet1+jOv89Oy3vU66aHXyQ+9Tnnodeyh1/GHXiceep360Os8dB60h86DIU6UHddXW65fnLq55Ho91Z//IJ7751OlKZ8qT/lUZcqnsimfyqd8qpjyqeqUT9WmfKo+4VPZMePZbseMZ7sdM57tdsx4ttsx49lux4xnux0znu12zHi22zHj2W7HlGd7mvJsT1Oe7WnKsz1NebanKc/2NOXZnqY829OUZ3ua8mxPU57tecqzPU95tucpz/Y85dmepzzb85Rne57ybM9Tnu358bO9nj+3/ver6/l/1ZdfHf3zq//3e18zdP0ZyrHADGmBGfICM5QFZrAFZvAFZogFZqgLzLDAni4L7GlbYE/bAnvaFtjTtsCeHvJ+2t+eYYE9bQvsaVtgT9sCe9oW2NO+wJ72Bfa0L7CnfYE9PeS90b89wwJ72hfY077AnvYF9rQvsKdjgT0dC+zpWGBPxwJ7esj73H97hgX2dEy+p1uOC+svR/viq737x8Rx5E9xLx/lc+LJt/oPTDx5B/iBiSdvDOMnrpP3ix+YePI28gMTT95dfmDiyZvOD0xsuIknb1E/MDGuc1Vc56q4zlVxnavhOlfDda6G61xNuHNdM9gCMwj3omsG4aZzzSDcXa4ZhNvINYNwv/iYoQs3hmsG4Q5wzSC81a8ZFtjTzwtMPzDDAnu6L7Cn+wJ7ui+wp7v+nvZDf0/7ob+n/dDf037o72k/9Pe0H/p72g/9Pe2H/p72Q39P+7HAnk4L7Om0wJ5OC+zptMCefl5G+4EZFtjTaYE9nRbY02mBPZ0W2NN5gT2dF9jTeYE9nRfY088rdz8wwwJ7Oi+wp/MCe3p2ne+tGRbY07PrfG/NsMCenl3ne2uGBfb07DrfWzMssKdn1/nemmGBPT27zvfWDAvs6dl1vrdmWGBPz67zvTXDAnt6dp3vrRkW2NOz63xvzbDAnp5d53trhgX29Ow631szLLCnZ9f53pphgT09u8731gwL7OnZdb63ZlhgT8+u8701wwJ7enad760ZFtjTs+t8b82wwJ6eXed7a4YF9rSyznfNsMCeVhb0rhkW2NPKyt01wwJ7Wlmiu2ZYYE8ra3HXDAvsaWXR7ZphgT2trK5dMyywp5VltGuGBfa0sl52zbDAnl7AI/MFPDJfwCPzBTwyX8Aj8wU8Ml/AI/MFPDJfwCPzBTwyX8Aj8wU8Ml/AI/MFPDJfwCPzBTyyWMAjiwU8sljAI4sFPLI49Pd0LOCRxQIeWSzgkcUCHlks4JHFAh5ZLOCRxQIeWSzgkcUCHlks4JHFb3hk9589++J7Hx8j5GLX18arxyg1//ullj4/wCYd9XPYShq2kYbtoGF/w0z7vWETadhMGraQhjXSsE4altSgMqlBZVKDyqQGVUgNqpAaVCE1qEJqUL8h7v3esKQGVUgNqpAaVCE1qEJqUEZqUEZqUEZqUEZqUL9hIf7esKQGZaQGZaQGZaQGZaQG5aQG5aQG5aQG5aQG9RtK5e8NS2pQTmpQTmpQTmpQTmpQQWpQQWpQQWpQQWpQv+GH/t6wpAYVpAYVpAYVpAYVpAZVSQ2qkhpUJTWoSmpQvyG7/t6wpAZVSQ2qkhpUJTWoSmpQjdSgGqlBNVKDaqQG9Rvm7u8NS2pQjdSgGqlBNVKDaqQG1UkNqpMaVCc1qE5qUL+hIf/esKQG1UkNqpMaVCc1qA5qUPUANah6gBpUPUANqh6gBlUPIw0LalD1ADWoeoAaVD1ADaoepAaVSA0qkRpUIjWoRGpQvyGI/96wpAZFMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJGMskbySRvJJO8kUzydhhpWFCDaiSTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyTjLJO8kk7ySTvJNM8n4YaVhQg+okk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvINM8n6ATPJzWE6DOoflNKhzWE6DOoc10rCcBnUOy2lQ57CcBnUOy2lQ57CkBgUyyc9hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HJbUoEAm+TksqUGBTPJzWFKDApnk57CkBgUyyc9hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HJbUoEAm+TksqUGBTPJzWFKDApnk57CkBgUyyc9hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HJbUoEAm+TksqUGBTPJzWFKDApnk57CkBgUyyc9hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HJbUoEAm+TksqUGBTPJzWFKDApnk57CkBgUyyc9hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HJbUoEAm+TksqUGBTPJzWFKDApnk57CkBgUyyc9hSQ0KZJKfw5IaFMgkP4clNSiQSX4OS2pQIJP8HBbUoBLJJE8kkzyRTPJEMsnTYaRhQQ0qkUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskzySTPJJM8k0zyTDLJ82GkYUENKpNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJC8kkLySTvJBM8kIyycthpGFBDaqQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyY1kkhvJJDeSSW4kk9wOIw0LalBGMsmNZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkN5JJbiST3EgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmRTHIjmeRGMsmNZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkN5JJbiST3EgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmRTHIjmeRGMsmNZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkN5JJbiST3EgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmRTHIjmeRGMsmNZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkN5JJbiST3EgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmTTHInmeROMsmdZJL7YaRhQQ3KSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySQPkkkeJJM8SCZ5kEzyOIw0LKhBBckkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSR4kkzxIJnmQTPIgmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnkQTLJg2SSB8kkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSR4kkzxIJnmQTPIgmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnkQTLJg2SSB8kkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSR4kkzxIJnmQTPIgmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnkQTLJg2SSB8kkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSR4kkzxIJnmQTPIgmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnklWSSV5JJXkkmeSWZ5PUw0rCgBlVJJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5I1kkjeSSd5IJnkjmeTtMNKwoAbVSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSdZJJ3kkneSSZ5J5nk/TDSsKAG1UkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5n90kT/361sX/72F7Lh9f27Olz2+c++e4k3eo0eNO3qJGjzt5jxo97uRNavC4s+vko8edvE2NHnfyPvWfxk32OW7+n3Ff7OiS0r9fXUr5fAwrr57ZP3Z/7Z+7P+fPGCdvaiox2o5xRIwrtctfjHGl1vqLMa7Uhv9bjB5XjGF/xnhls1J1Hp3NSj17cDazg/c/mM31nc//2V9ms1KD/4/ZfPzcqdjRXmbDrftfZ7NQhy/1Yyn38sdW/vPmN7u/P3rchTrxO+Mu1F1LrR/j2lFfj7tQx3xn3IVqY6lxjZvi9bgLNcE3xp3d4h897kJ9za6H7lbL63EXqmDvjLtQqzLL17jt9c/TZzf5/8u4nq7/d91u/t9dqFV5uv7fdffX4y7Uqt4Zd6FW5dePNLvH6848u83/n8a9rrs9cn497kKt6o1xZ/f5/9u41x/mKMfrcRdqVRHXT3ri5r47u9E/etyFWlXEVTPq8frv7lyS1vVUU63H66mm2mLXU021bD6eai7t6XqqqY7u66mmOmGvp5rqILyeyqZ8qqkua9dTTXm2z4XxXE815dk+F2/z8VRzOTTXU015ts8lu1xPNeXZPpeVcj3VlGf7XPrI9VRTnu1zeR7XU813tufjmEvIuJ5qvrP9n6ea72z/56nmO9v/ear5zvZ/nmq+s/2fp5rvbP/nqeY72/95qvnO9n+easqzfa737l9PNeXZPte74a+nmvJsn+v95ddTTXm2z/V+7euppjzb53r38/VUU57tc72X+HqqKc/2ud6Zez3VlGf7XO8bvZ5qyrN9rnc1Xk815dk+19vzrqea8myf6y1p11NNebbP9Tas66mmPNvnep/S9VRTnu1zvevneqopz/a53kNzPdWUZ/tc70i5nmrKs32u93dcTzXl2T7XuyWup5rybJ/rvQfXU015ts/1m/zXU015ts/1e/HXU015ts/1W+bXU015tvuUZ7tPebb7lGe7T3m2+5Rnu095tseUZ3tMebbHlGd7THm2x5Rne0x5tseUZ3tMebbHlGd7THm21ynP9jrl2V6nPNvrlGd7nfJsr1Oe7RO+L/Wfp5rybJ/wfan/PNWUZ/uE70v956mmPNsnfF/qP0815dk+4ftS/3mqKc/2Cd+X+s9TTXm2T/i+1H+easqzfcL3pf7zVFOe7RO+L/Wfp5rybJ/wfan/PNWUZ/uE70v956mmPNsnfF/qP08149mepnxfapryfalpyvelpinfl5qOGc/2NOX7UtOU70tNU74vNU35vtT00+9L/XidMe809Xq9TovXr5Meep380OuMOCM9fcDg2d2++FOT83F9dbbPT325jMDzqYb8nnj060N+a349/ZDf/H7ndeKh16kPvc6Is+Y8Pj6+uuX0xZ+alvyDSW2p5z+++tX3Tj19/MlP3f/3qz9mGPKbocNmuJ4qpnyqOuVTjfhT2Eq+nir6V2fX//HV11P1GZ9qyG+Gjn+qNOVT5Smfqkz5VDblU/mUTxVTPlWd8qmmPNt9yrM9pjzbY8qzPaY822PKsz2mPNtjyrM9pjzbY8qzPaY822PKs71OebbXKc/2OuXZXqc82+uUZ3ud8myvU57tdcqzvU55ttcpz/Y25dnepjzb25Rne5vybG9Tnu1tyrO9PX62Vy8f/75SvdqXX33921r1djNDXWCGtsAMXX+GfiwwQ1pghrzADGWBGWyBGXyBGRbY032BPd0X2NNdf0/nQ39P50N/T+dDf0/nQ39P50N/T+dDf0/nQ39P50N/T+dDf0/nY4E9nRbY02mBPZ0W2NNpgT095JObfnuGBfZ0WmBPpwX2dFpgT6cF9nReYE/nBfZ0XmBP5wX29JBP4frBGVryj69u5w8lv/hq7/7xTtU4crm++vzRx+fEk2/1H5h48g7wAxNP3hh+YOLJ+8UPTDx5Gxk/cZm8u/zAxJM3nR+YePJe9AMTT96ifmBiw02M61wF17kKrnMVXOcquM5luM5lwp3rmkG4RV0zCPeiawZbYAbh7nLNINxGrhmE+8U1g3BjuGYQ7gAfM7jwVr9mWGBP+wJ72hfY08/rTj8wwwJ72hfY077AnvYF9rQvsKdjgT0dC+zpWGBPxwJ7+nmp6wdmWGBPxwJ7OhbY07HAno4F9nRdYE/XBfZ0XWBP1wX29PPq2g/MsMCergvs6brAnq4L7On6C3v6/ve3/9+vLub/fnGJfH1tvHqMZnZ96ILV/Mc3fvXVKT4/ZCPK8fnV3a9w2jF5ONcIJcqf4VwDJPUBsvoARX0AUx/A1QcI9QGq+gBNfYDZt/xXA3T1TdzVN3FX38RdfRP/BuY3dgD1TdzVN3FX38RdfRN38U1cDvFNXA7xTVwO8U1cDvFNXA7xTVwO8U1cDvFNXA7xTVwO8U1cDvVNnNQ3cVLfxEl9Eyf1TfwbIN/YAdQ3cVLfxEl9Eyf1TZzUN3FW38RZfRNn9U2c1Tfxb5B7YwdQ38RZfRNn9U2c1TdxVt/ERX0TF/VNXNQ3cVHfxL8BsY0dQH0TF/VNXNQ3cVHfxEV9E5v6Jjb1TWzqm9jUN/FvQGFjB1DfxKa+iU19E5v6Jjb1Tezqm9jVN7Grb2JX38S/QYGNHUB9E7v6Jnb1Tezqm9jVN3Gob+JQ38ShvolDfRP/BvY1dgD1TRzqmzjUN3Gob+JQ38RVfRNX9U1c1TdxVd/Ev8F5jR1AfRNX9U1c1TdxVd/E0/tdXw2gbmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YMnVjy9SNLVM3tkzd2LJDfBOburFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1uubmy5urHl6saWqxtbfohvYlc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjK9SNrVA3tkLd2Ap1YysO8U0c6sZWqBtboW5shbqxFerGVqgbW6FubIW6sRXqxlaoG1uhbmyFurEV6sZWqBtboW5shbqxFerGVqgbW6FubIW6sRXqxlaoG1uhbmyFurEV6sZWqBtboW5shbqxFerGVqgbW6FubIW6sRXqxlaoG1uhbmyFurEV6sZWqBtboW5shbqxFerGVqgbW6FubIW6sRXqxlaoG1uhbmyFurEV6sZWqBtboW5shbqxFerGVqgbW6FubIW6sRXqxlaoG1uhbmyFurEV6sZWqBtboW5shbqxFerGVqgbW6FubIW6sRXqxlaoG1uhbmyFurEV6sZWqBtboW5shbqxFerGVqgbW6FubIW6sRXqxlaoG1uhbmyFurEV6sZWqBtboW5shbqxFerGVqgbW6FubIW6sRXqxlaoG1uhbmxVdWOrqhtbVd3YqurGVj3EN3FVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2KrqxlZVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2KrqxlZVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2KrqxlZVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2KrqxlZVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2KrqxlZVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2KrqxlZVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2KrqxlZVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2KrqxlZVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2KrqxlZVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2KrqxlZVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2KrqxlZVN7aqurFV1Y2tqm5sVXVjq6obW1Xd2GrqxlZTN7aaurHV1I2tdohv4qZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dSNraZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dSNraZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dSNraZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dSNraZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dSNraZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dSNraZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dSNraZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dSNraZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dSNraZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dSNraZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dSNraZubDV1Y6upG1tN3dhq6sZWUze2mrqx1dWNra5ubHV1Y6urG1v9EN/EXd3Y6urGVlc3trq6sdXVja2ubmx1dWOrqxtbXd3Y6urGVlc3trq6sdXVja2ubmx1dWOrqxtbXd3Y6urGVlc3trq6sdXVja2ubmx1dWOrqxtbXd3Y6urGVlc3trq6sdXVja2ubmx1dWOrqxtbXd3Y6urGVlc3trq6sdXVja2ubmx1dWOrqxtbXd3Y6urGVlc3trq6sdXVja2ubmx1dWOrqxtbXd3Y6urGVlc3trq6sdXVja2ubmx1dWOrqxtbXd3Y6urGVlc3trq6sdXVja2ubmx1dWOrqxtbXd3Y6urGVlc3trq6sdXVja2ubmx1dWOrqxtbXd3Y6urGVlc3trq6sdXVja2ubmx1dWOrqxtbXd3Y6urGVlc3trq6sdXVja2ubmx1dWOrqxtbXd3Y6urGVlc3trq6sdXVja2ubmx1cWMrHeLG1jmA9iY+B9DexOcA2pv4HEB7E58DaG/icwDtTXwOoL2JzwG0N/E5gPomFje2zgHUN7G4sXUOoL6JxY2tcwD1TSxubJ0DqG9icWPrHEB9E4sbW+cA6ptY3Ng6B1DfxOLG1jmA+iYWN7bOAdQ3sbixdQ6gvonFja1zAPVNLG5snQOob2JxY+scQH0Tixtb5wDqm1jc2DoHUN/E4sbWOYD6JhY3ts4B1DexuLF1DqC+icWNrXMA9U0sbmydA6hvYnFj6xxAfROLG1vnAOqbWNzYOgdQ38TixtY5gPomFje2zgHUN7G4sXUOoL6JxY2tcwD1TSxubJ0DqG9icWPrHEB9E4sbW+cA6ptY3Ng6B1DfxOLG1jmA+iYWN7bOAdQ3sbixdQ6gvonFja1zAPVNLG5snQOob2JxY+scQH0Tixtb5wDqm1jc2DoHUN/E4sbWOYD6JhY3ts4B1DexuLF1DqC+icWNrXMA9U0sbmydA6hvYnFj6xxAfBMndWMrqRtbSd3YSurGVjrEN3FSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2MrqxlZWN7ayurGV1Y2tfIhv4qxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxVdSNraJubBV1Y6uoG1vlEN/ERd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWPL1I0tUze2TN3YMnVjyw7xTWzqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubLm6seXqxparG1uubmz5Ib6JXd3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS1XN7Zc3dhydWPL1Y0tVze2XN3YcnVjy9WNLVc3tlzd2HJ1Y8vVjS2fy9i6nmqq9Xo91VQ783qqqRbh9VRTbbfrqaZaWddTTbWHrqeaarl8PNVcFtT1VFOtgeuppjzb56KYrqea8myfC026nmrKs30u3uh6qinP9rkgoo+nmksXup5qyrN9Lgfoeqopz/a5xJ7rqaY82+eyda6nmvJsn0vBuZ5qxrM95vJqrqea8WyPuWSZ66lmPNvjmPFsj7lgl+upZjzbYy6C5XqqGc/2mAtL+XiqnxZQrtdJD71Ofuh1ykOvYw+9jj/0OvHQ69SHXqc99Dr9mdfJD50H+aHzID90HuSHzoP80HmQHzoP8kPnQX7oPMgPnQf5ofOgPHQelIfOg/LQeVAeOg/KQ+dBeeg8KA+dB+Wh86A8dB6Uh84De+g8sIfOA3voPLCHzgN76Dywh84De+g8sIfOg9fv5SvHcf2u1xHpi9epXup1ry/t+uraPl+mP/Iyr98XN/5l0jMvk595mfLMy9gzL+PPvEw88zL1mZd55hTwZ06BeOYUiGdOgXjmFIhnToF45hSIZ06BeOYUiGdOgXjmFIhnToH6zClQnzkF6jOnQH3mFKjPnAL1mVOgPnMK1GdOgfrMKVCfOQXaM6dAe+YUaM+cAu2ZU6A9cwq0Z06BNuAUyLn1jxt7SfV/buwvvtoifXy11c+3ZKXun09Vp3yqNuVT9Rmfqh9TPlWa8qnylE9Vpnwqm/KpfMqnmvJs71Oe7X3Ks73PeLbXY8azvR4znu31mPFsr8eMZ3s9fvhsv17HH3qdeOh16kOv0x56nf7M66TjoddJD71Ofuh1ykOv89B5kB46D9JD50F66DxID50H6aHzID90HuSHzoM84jwoflyvU+2LLV+9ffy8qX9+bf7jkcp8j2TzPZLP90gx3yPV+R6pzfdIfbpHKsd8j5Tme6T5Tu8y3+ld5ju9y3ynd5nv9C7znd5lvtO7zHd623ynt813ett8p7fNd3rbfKe3zXd623ynt813ett8p7fNd3r7fKe3z3d6+3ynt893evt8p7fPd3r7fKe3z3d6+3ynt893esfzp3c2+3im3I4vB/jSyqmRFpghLzBDWWAGW2AGX2CGWGCGusAMbYEZuv4MdYE9XRfY03WBPV0X2NMj3jn36zMssKfrAnu6LrCn6wJ7ui6wp9sCe7otsKfbAnu6LbCnR7y39ddnWGBPtwX2dFtgT7cF9nRbYE/3BfZ0X2BP9wX2dF9gTw95F/Rvz7DAnu4L7Om+wJ7uk+/plq5/2W2pty++2rt/vLcnjvz5Xtl8lM+JJ9/qwydux+Qd4Acmnrwx/MDEk/eLH5h48jbyAxMbbuLJm84PTDx5L/qBiSdvUT8wMa1ztQPXuRKucyVc50q4zpVwnWuIpKI1sXDnumYQblHXDMK96JpBuOlcMwh3l48ZsnAbuWYQ7hfXDMKN4ZpBuANcMwhv9WuGBfZ0XmBP5wX2dF5gT+cF9nRZYE+XBfZ0WWBPlwX29C8YVeNnWGBPlwX2dFlgT5cF9nRZYE/bAnvaFtjTtsCetgX29C9oZONnWGBP2wJ72hbY07bAnrYF9rQvsKd9gT3tC+zpX2Dkci6fM6Qvvjof7frWn985Xj1GqfnfL7X0xwcKHfVzWCMN66RhgzRsJQ3bSMN20LC/gRf+3rCJNGwmDUtqUL8BLP7esKQGFaQGFaQGFaQGFaQGVUkNqpIaVCU1qEpqUL9BX/7esKQGVUkNqpIaVCU1qEpqUI3UoBqpQTVSg2qkBvUbKOnvDUtqUI3UoBqpQTVSg2qkBtVJDaqTGlQnNahOalC/wcX+3rCkBtVJDaqTGlQnNagOalD9ADWofoAaVD9ADaofoAbVDyMNC2pQ/QA1qH6AGlQ/QA2qH6QGlUgNKpEaVCI1qERqUL9B0P7esKQGlUgNKpEaVCI1qERqUJnUoDKpQWVSg8qkBvUb3O/vDUtqUJnUoDKpQWVSg8qkBlVIDaqQGlQhNahCalC/ATH/3rCkBlVIDaqQGlQhNahCalBGalBGalBGalBGalC/QWT/3rCkBmWkBmWkBmWkBmWkBuWkBuWkBuWkBkUyyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7yCTPB8gk/wcltOgzmE5DeocltOgzmGNNCynQZ3DchrUOSynQZ3DchrUOSypQYFM8nNYUoMCmeTnsKQGBTLJz2FJDQpkkp/DkhoUyCQ/hyU1KJBJfg5LalAgk/wcltSgQCb5OSypQYFM8nNYUoMCmeTnsKQGBTLJz2FJDQpkkp/DkhoUyCQ/hyU1KJBJfg5LalAgk/wcltSgQCb5OSypQYFM8nNYUoMCmeTnsKQGBTLJz2FJDQpkkp/DkhoUyCQ/hyU1KJBJfg5LalAgk/wcltSgQCb5OSypQYFM8nNYUoMCmeTnsKQGBTLJz2FJDQpkkp/DkhoUyCQ/hyU1KJBJfg5LalAgk/wcltSgQCb5OSypQYFM8nNYUoMCmeTnsKQGBTLJz2FJDQpkkp/fitSgQCb5+a1IDQpkkp/fitSgQCb5+a1IDQpkkp/fitSgQCb5OSypQYFM8nNYUoMCmeTnsKQGBTLJz2FJDQpkkp/DghpUIpnkiWSSJ5JJnkgmeTqMNCyoQSWSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSKZ5IlkkieSSZ5IJnkimeSJZJInkkmeSCZ5IpnkiWSSJ5JJnkgmeSaZ5JlkkmeSSZ5JJnk+jDQsqEFlkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkhmeSFZJIXkkleSCZ5OYw0LKhBFZJJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCa5kUxyI5nkRjLJjWSS22GkYUENykgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmRTHIjmeRGMsmNZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkN5JJbiST3EgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmRTHIjmeRGMsmNZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkN5JJbiST3EgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmRTHIjmeRGMsmNZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkN5JJbiST3EgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmRTHIjmeRGMsmNZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkd5JJ7iST3EkmuZNMcj+MNCyoQTnJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5EEyyYNkkgfJJA+SSR6HkYYFNaggmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnkQTLJg2SSB8kkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSR4kkzxIJnmQTPIgmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnkQTLJg2SSB8kkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSR4kkzxIJnmQTPIgmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnkQTLJg2SSB8kkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSR4kkzxIJnmQTPIgmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnkQTLJg2SSB8kkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSR4kk7ySTPJKMskrySSvJJO8HkYaFtSgKskkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kkzySjLJK8kkrySTvJJM8koyySvJJK8kk7ySTPJKMskrySSvJJO8kUzyRjLJG8kkbySTvB1GGhbUoBrJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJFM8kYyyRvJJG8kk7yRTPJGMskbySRvJJO8kUzyRjLJG8kkbySTvJNM8k4yyTvJJO8kk7wfRhoW1KA6ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8kk7yTTPJOMsk7ySTvJJO8k0zyTjLJO8kk7ySTvJNM8k4yyTvJJO8gk/wcitOgzqE4DeocitOgzqE4DeocykjDchrUORSnQf0zFGlYToM6hyI1KJBJfj48qUGBTPLz4UkNCmSSnw9PalAgk/x8eFKDApnk58OTGhTIJD+HJTUokEl+DktqUCCT/ByW1KBAJvk5LKlBgUzyc1hSgwKZ5OewpAYFMsnPYUkNCmSSn8OSGhTIJD+HJTUokEl+DktqUCCT/ByW1KBAJvk5LKlBgUzyc1hSgwKZ5OewpAYFMsnPYUkNCmSSn8OSGhTIJD+HJTUokEl+DktqUCCT/ByW1KBAJvk5LKlBgUzyfyYhDUtqUCCT/JzESMOSGhTIJD8nITUokEl+TkJqUCCT/ByW1KBAJvk5LKlBgUzyc1hSgwKZ5OewpAYFMsnPYUkNCmSSn8OSGhTIJD+HJTUokEl+DktqUCCT/ByW1KBAJvk5LKlBgUzyc1hSgwKZ5OewpAYFMsnPYUkNCmSSn8OSGhTIJD+HBTWoRDLJE8kkTySTPJFM8nQYaVhQg0okkzyRTPJEMskTySRPs5vkqZfrW/v/PWwL+wimhccf3zh9jjt5hxo97uQtavS4k/eo0eMaa9zJu9TocSdvU6PHnbxP/adxu3+MW4/yetzJG9XocSfvVIPHnd0pHz3uSq3qjXFXalVvjLtSq3pjXFtn3OrlGjfS63EXalXvjLtQq3pn3IVa1TvjLtSq3hl3oVb1xriz2+Wjx12oVdWSPsfN/zPui4e2+PjqbPWPLd39M5yFOtj4cBZqbOPDsZnCuZ5qqhp2PdVUbel6qqlKzfVUU3WP66mmqggfTzWXoX091VQL93qqqTbd9VRTrZjrqaY82+cCma+nmvJsn4s4vp5qyrN9LjT446nm0n2vp5rybJ/Ly72easqzfS6B9nqqKc/2uUzX66mmPNvnUlKvp5rybJ/LHb2easqzfS7J83qqKc/2uWzM66mmPNvn0iavp5rybJ/Lb7yeasqzfS4R8XqqKc/2nzYGr9cpD72OPfQ6/tDrxEOvUx96nfbQ6/RnXuen7bDrddJDr/PQedAeOg+GOFF2XP/KZ7l+cermkuv1VH/+g3jun0/lUz5VTPlUdcqnalM+VZ/xqYboQOOfKk35VHnKpypTPtWUZ3uf8mzvU57tfcqzvU95tvcZz/Z8zHi252PGsz0fM57t+ZjxbM/HjGd7PmY82/Mx49mejxnP9nzMeLbnY8qzPU15tqcpz/Y05dmepjzb05Rne5rybE9Tnu1pyrM9TXm2pynP9jzl2Z6nPNvz42d7Lf3jJ9vVcnz51dE/v/p/v/c1Q1lgBltgBl9ghlhghrrADG2BGbr+DOVYYIa0wAwL7OmywJ4e8r7U355hgT1dFtjTZYE9XRbY02WBPW0L7GlbYE/bAnvaFtjTQ95j/NszLLCnbYE9bQvsaVtgT9sCe9oX2NO+wJ72Bfa0L7Cnh7xf/LdnWGBP+wJ72hfY077AnvYF9nRMvqdbjgvrL0f74qu9+8fEceRPcS8f5XPiybf6D0w8eQf4gYknbww/MLHhJp68jfzAxJN3lx+YePKm8wMTT96LfmDiyVvU+IkrrnNVXOequM5VcZ1riFOiNTGuc1Vc56rCneuaQbhFXTMI96KPGZpw07lmEO4u1wzCbeSaQbhfXDPYAjMId4BrBuGtfs2wwJ5uC+zptsCe7gvs6b7Anu4L7Om+wJ5+XqX6gRkW2NN9gT3dF9jTfYE93fX3dDn093Q59Pd0OfT3dDn093Q59Pd0OfT3dDn093Q59Pd0OfT3dDkW2NNpgT2dFtjTaYE9nRbY089rcT8wwwJ7Oi2wp9MCezotsKfTAns6L7Cn8wJ7enad760ZFtjTs+t8b82wwJ6eXed7a4YF9vTsOt9bMyywp2fX+d6aYYE9PbvO99YMC+zp2XW+t2ZYYE/PrvO9NcMCe3p2ne+tGRbY07PrfG/NsMCenl3ne2uGBfb07DrfWzMssKdn1/nemmGBPT27zvfWDAvs6dl1vrdmWGBPz67zvTXDAnt6dp3vrRkW2NOz63xvzbDAnp5d53trhgX2tLLOd82wwJ5WFvSuGRbY08rK3TXDAntaWaK7ZlhgTytrcdcMC+xpZdHtmmGBPa2srl0zLLCnlWW0a4YF9rSyXnbNsMCeXsAjKwt4ZGUBj6ws4JGVBTyysoBHVhbwyMoCHllZwCMrC3hkZQGPrCzgkZUFPLKygEdWFvDIygIeWVnAIysLeGRlAY+sLOCRlQU8srKAR2YLeGS2gEdmC3hktoBHZof+nrYFPDJbwCOzBTwyW8AjswU8MvsNj+z+s2dffO/jY4TzYa+vjVePcf4b779faunzA2zSUT+HTaRhM2nYQhrWSMM6adggDVtJwzbSsB00bCY1qExqUJnUoDKpQf2GZvd7w5IaVCY1qExqUJnUoDKpQRVSgyqkBlVIDaqQGtRvOIO/NyypQRVSgyqkBlVIDaqQGpSRGpSRGpSRGpSRGtRvCJC/NyypQRmpQRmpQRmpQRmpQTmpQTmpQTmpQTmpQf2Gzfl7w5IalJMalJMalJMalJMaVJAaVJAaVJAaVJAa1G+oqb83LKlBBalBBalBBalBBalBVVKDqqQGVUkNqpIa1G94tr83LKlBVVKDqqQGVUkNqpIaVCM1qEZqUI3UoBqpQf2GNPx7w5IaVCM1qEZqUI3UoBqpQXVSg+qkBtVJDaqTGtRvGNC/NyypQXVSg+qkBtVJDaqDGpQfoAblB6hB+QFqUH6AGpQfRhoW1KD8ADUoP0ANyg9Qg/KD1KBIJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNM8iCZ5EEyyYNkkgfJJI/DSMOCGlSQTPIgmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnkQTLJg2SSB8kkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSR4kkzxIJnmQTPIgmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnkQTLJg2SSB8kkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSR4kkzxIJnmQTPIgmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnkQTLJg2SSB8kkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSR4kkzxIJnmQTPIgmeRBMsmDZJIHySQPkkkeJJM8SCZ5kEzyIJnkQTLJg2SSB8kkD5JJHiSTPEgmeZBM8iCZ5EEyyYNkkgfJJA+SSV5JJnklmeSVZJJXkkleDyMNC2pQlWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkneSCZ5I5nkjWSSN5JJ3g4jDQtqUI1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kkmeSeZ5J1kkneSSd4PIw0LalCdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneQSW4HyCQ/h+U0qHNYToM6h+U0qHNYIw3LaVDnsJwGdQ7LaVDnsJwGdQ5LalAgk/wcltSgQCb5OSypQYFM8nNYUoMCmeTnsKQGBTLJz2FJDQpkkp/DkhoUyCQ/hyU1KJBJfg5LalAgk/wcltSgQCb5OSypQYFM8vMpSQ0KZJKfT0lqUCCT/HxKUoMCmeTnU5IaFMgkP5+S1KBAJvk5LKlBgUzyc1hSgwKZ5OewpAYFMsnPYUkNCmSSn8OSGhTIJD+HJTUokEl+DktqUCCT/ByW1KBAJvk5LKlBgUzyc1hSgwKZ5OewpAYFMsnPYUkNCmSSn8OSGhTIJD+HJTUokEl+DktqUCCT/ByW1KBAJvk5LKlBgUzyc1hSgwKZ5OewpAYFMsnPYUkNCmSSn8OSGhTIJD+HJTUokEl+DktqUCCT/ByW1KBAJvk5LKlBgUzyc1hSgwKZ5OewpAYFMsnPYUkNCmSSn8OSGhTIJD+HBTWoRDLJE8kkTySTPJFM8nQYaVhQg0okkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kQyyRPJJE8kkzyRTPJEMskTySRPJJM8kUzyRDLJE8kkTySTPJFM8kwyyTPJJM8kkzyTTPJ8GGlYUIPKJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJMMskzySTPJJM8k0zyTDLJM8kkzySTPJNM8kwyyTPJJM8kkzyTTPJCMskLySQvJJO8kEzychhpWFCDKiSTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskLySQvJJO8kEzyQjLJC8kkLySTvJBM8kIyyQvJJC8kk7yQTPJCMskL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N7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZSN7aSurGV1I2tpG5sJXVjK6kbW0nd2ErqxlZWN7ayurGV1Y2trG5s5UN8E2d1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraJubBV1Y6uoG1tF3dgqh/gmLurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVlE3toq6sVXUja2ibmwVdWOrqBtbRd3YKurGVpnL2Lqeaqr1ej3VVDvzeqqpFuH1VFNtt+upplpZH081lzB1PdVUy+V6qqk2xvVUU62B66mmPNvnopiup5rybJ8LTbqeasqzfS7e6OOp5jKLrqea8myfSxe6nmrKs30uB+h6qinP9rnEnuuppjzb57J1rqea8myfS8G5nmrKs30ur+Z6qinP9rlkmeuppjzb5zJgrqea8myfS2u5nmrKs30uV+V6qinP9p8WUK7XKQ+9jj30Ov7Q68RDr1Mfep32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"}],"outputs":{"globals":{"storage":[{"fields":[{"name":"npk_m_x_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"1"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>"}}],"kind":"struct"}},{"name":"npk_m_y_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"2"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>"}}],"kind":"struct"}},{"name":"ivpk_m_x_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"3"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>"}}],"kind":"struct"}},{"name":"ivpk_m_y_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"4"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>"}}],"kind":"struct"}},{"name":"ovpk_m_x_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"5"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>"}}],"kind":"struct"}},{"name":"ovpk_m_y_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"6"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>"}}],"kind":"struct"}},{"name":"tpk_m_x_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"7"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>"}}],"kind":"struct"}},{"name":"tpk_m_y_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"8"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>"}}],"kind":"struct"}}],"kind":"struct"}]},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"partial_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::partial_address::PartialAddress"}},{"name":"keys","type":{"fields":[{"name":"npk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"ivpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"ovpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"tpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}}],"kind":"struct","path":"aztec::keys::public_keys::PublicKeys"}}],"kind":"struct","path":"KeyRegistry::register_parameters"}}],"kind":"struct","path":"KeyRegistry::register_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"new_npk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"KeyRegistry::rotate_npk_m_parameters"}}],"kind":"struct","path":"KeyRegistry::rotate_npk_m_abi"}]}},"file_map":{"101":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/arguments.nr","source":"#[oracle(packArgumentsArray)]\nfn pack_arguments_array_oracle<N>(_args: [Field; N]) -> Field {}\n\n#[oracle(packArguments)]\nfn pack_arguments_oracle(_args: [Field]) -> Field {}\n\n/// - Pack arguments (array version) will notify the simulator that these arguments will be used later at\n/// some point in the call. \n/// - When the external call is made later, the simulator will know what the values unpack to.\n/// - This oracle will not be required in public vm functions, as the vm will keep track of arguments \n/// itself.\nunconstrained pub fn pack_arguments_array<N>(args: [Field; N]) -> Field {\n pack_arguments_array_oracle(args)\n}\n\n/// - Pack arguments (slice version) will notify the simulator that these arguments will be used later at\n/// some point in the call. \n/// - When the external call is made later, the simulator will know what the values unpack to.\n/// - This oracle will not be required in public vm functions, as the vm will keep track of arguments \n/// itself.\nunconstrained pub fn pack_arguments(args: [Field]) -> Field {\n pack_arguments_oracle(args)\n}\n\n"},"102":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/public_call.nr","source":"use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress};\n// TODO(6052): get new side effect counter from this call\n#[oracle(callPublicFunction)]\nfn call_public_function_oracle<RETURNS_COUNT>(\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; RETURNS_COUNT] {}\n\nunconstrained pub fn call_public_function_internal<RETURNS_COUNT>(\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; RETURNS_COUNT] {\n call_public_function_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"},"107":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/storage.nr","source":"use dep::protocol_types::traits::{Deserialize, Serialize};\n\n#[oracle(storageRead)]\nfn storage_read_oracle<N>(_storage_slot: Field, _number_of_elements: Field) -> [Field; N] {}\n\nunconstrained fn storage_read_oracle_wrapper<N>(_storage_slot: Field) -> [Field; N] {\n storage_read_oracle(_storage_slot, N)\n}\n\npub fn storage_read<N>(storage_slot: Field) -> [Field; N] {\n storage_read_oracle_wrapper(storage_slot)\n}\n\n#[oracle(storageWrite)]\nfn storage_write_oracle<N>(_storage_slot: Field, _values: [Field; N]) -> [Field; N] {}\n\nunconstrained pub fn storage_write<N>(storage_slot: Field, fields: [Field; N]) {\n let _hash = storage_write_oracle(storage_slot, fields);\n}\n"},"119":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context.nr","source":"mod globals;\nmod inputs;\n\nmod private_context;\nmod public_context;\nmod avm_context;\nmod interface;\nmod gas;\n\nuse interface::{\n ContextInterface, PrivateCallInterface, PublicCallInterface, PrivateVoidCallInterface,\n PublicVoidCallInterface, AvmCallInterface, AvmVoidCallInterface\n};\nuse private_context::PrivateContext;\nuse private_context::PackedReturns;\nuse public_context::PublicContext;\nuse public_context::FunctionReturns;\nuse avm_context::AvmContext;\n\nstruct Context {\n private: Option<&mut PrivateContext>,\n public: Option<&mut PublicContext>,\n avm: Option<&mut AvmContext>,\n}\n\nimpl Context {\n pub fn private(context: &mut PrivateContext) -> Context {\n Context { private: Option::some(context), public: Option::none(), avm: Option::none() }\n }\n\n pub fn public(context: &mut PublicContext) -> Context {\n Context { public: Option::some(context), private: Option::none(), avm: Option::none() }\n }\n\n pub fn avm(context: &mut AvmContext) -> Context {\n Context { avm: Option::some(context), public: Option::none(), private: Option::none() }\n }\n\n pub fn none() -> Context {\n Context { public: Option::none(), private: Option::none(), avm: Option::none() }\n }\n}\n"},"121":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/map.nr","source":"use crate::context::{PrivateContext, PublicContext, Context};\nuse dep::protocol_types::{hash::pedersen_hash, traits::ToField};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:map\nstruct Map<K, V> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, T> Storage<T> for Map<K, T> {}\n\nimpl<K, V> Map<K, V> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map { context, storage_slot, state_var_constructor }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = derive_storage_slot_in_map(self.storage_slot, key);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field where K: ToField {\n pedersen_hash([storage_slot, key.to_field()], 0)\n}\n"},"129":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/scheduled_delay_change.nr","source":"use dep::protocol_types::traits::{Serialize, Deserialize, FromField, ToField};\nuse dep::std::cmp::min;\n\n// This data structure is used by SharedMutable to store the minimum delay with which a ScheduledValueChange object can\n// schedule a change.\n// This delay is initally equal to INITIAL_DELAY, and can be safely mutated to any other value over time. This mutation \n// is performed via `schedule_change` in order to satisfy ScheduleValueChange constraints: if e.g. we allowed for the \n// delay to be decreased immediately then it'd be possible for the state variable to schedule a value change with a \n// reduced delay, invalidating prior private reads.\nstruct ScheduledDelayChange<INITIAL_DELAY> {\n // Both pre and post are stored in public storage, so by default they are zeroed. By wrapping them in an Option, \n // they default to Option::none(), which we detect and replace with INITIAL_DELAY. The end result is that a\n // ScheduledDelayChange that has not been initialized has a delay equal to INITIAL_DELAY, which is the desired\n // effect. Once initialized, the Option will never be none again.\n pre: Option<u32>,\n post: Option<u32>,\n // Block at which `post` value is used instead of `pre`\n block_of_change: u32,\n // The _dummy variable forces INITIAL_DELAY to be interpreted as a numeric value. This is a workaround to\n // https://github.com/noir-lang/noir/issues/4633. Remove once resolved.\n _dummy: [Field; INITIAL_DELAY],\n}\n\nimpl<INITIAL_DELAY> ScheduledDelayChange<INITIAL_DELAY> {\n pub fn new(pre: Option<u32>, post: Option<u32>, block_of_change: u32) -> Self {\n Self { pre, post, block_of_change, _dummy: [0; INITIAL_DELAY] }\n }\n\n /// Returns the current value of the delay stored in the data structure.\n /// This function only returns a meaningful value when called in public with the current block number - for\n /// historical private reads use `get_effective_minimum_delay_at` instead.\n pub fn get_current(self, current_block_number: u32) -> u32 {\n // The post value becomes the current one at the block of change, so any transaction that is included in the\n // block of change will use the post value.\n\n if current_block_number < self.block_of_change {\n self.pre.unwrap_or(INITIAL_DELAY)\n } else {\n self.post.unwrap_or(INITIAL_DELAY)\n }\n }\n\n /// Returns the scheduled change, i.e. the post-change delay and the block at which it will become the current\n /// delay. Note that this block may be in the past if the change has already taken place.\n /// Additionally, further changes might be later scheduled, potentially canceling the one returned by this function.\n pub fn get_scheduled(self) -> (u32, u32) {\n (self.post.unwrap_or(INITIAL_DELAY), self.block_of_change)\n }\n\n /// Mutates the delay change by scheduling a change at the current block number. This function is only meaningful\n /// when called in public with the current block number.\n /// The block at which the new delay will become effective is determined automatically:\n /// - when increasing the delay, the change is effective immediately\n /// - when reducing the delay, the change will take effect after a delay equal to the difference between old and\n /// new delay. For example, if reducing from 3 days to 1 day, the reduction will be scheduled to happen after 2\n /// days.\n pub fn schedule_change(&mut self, new: u32, current_block_number: u32) {\n let current = self.get_current(current_block_number);\n\n // When changing the delay value we must ensure that it is not possible to produce a value change with a delay\n // shorter than the current one.\n let blocks_until_change = if new > current {\n // Increasing the delay value can therefore be done immediately: this does not invalidate prior contraints\n // about how quickly a value might be changed (indeed it strengthens them).\n 0\n } else {\n // Decreasing the delay requires waiting for the difference between current and new delay in order to ensure\n // that overall the current delay is respected.\n //\n // current delay earliest value block of change\n // block block of change if delay remained unchanged\n // =======N=========================|================================X=================>\n // ^ ^ ^\n // |-------------------------|--------------------------------|\n // | blocks until change new delay |\n // ------------------------------------------------------------\n // current delay\n current - new\n };\n\n self.pre = Option::some(current);\n self.post = Option::some(new);\n self.block_of_change = current_block_number + blocks_until_change;\n }\n\n /// Returns the minimum delay before a value might mutate due to a scheduled change, from the perspective of some\n /// historical block number. It only returns a meaningful value when called in private with historical blocks. This \n /// function can be used alongside `ScheduledValueChange.get_block_horizon` to properly constrain the\n /// `max_block_number` transaction property when reading mutable shared state.\n /// This value typically equals the current delay at the block following the historical one (the earliest one in\n /// which a value change could be scheduled), but it also considers scenarios in which a delay reduction is \n /// scheduled to happen in the near future, resulting in a way to schedule a change with an overall delay lower than\n /// the current one.\n pub fn get_effective_minimum_delay_at(self, historical_block_number: u32) -> u32 {\n if self.block_of_change <= historical_block_number {\n // If no delay changes were scheduled, then the delay value at the historical block (post) is guaranteed to\n // hold due to how further delay changes would be scheduled by `schedule_change`.\n self.post.unwrap_or(INITIAL_DELAY)\n } else {\n // If a change is scheduled, then the effective delay might be lower than the current one (pre). At the\n // block of change the current delay will be the scheduled one, with an overall delay from the historical\n // block number equal to the number of blocks until the change plus the new delay. If this value is lower\n // than the current delay, then that is the effective minimum delay.\n //\n // historical\n // block delay actual earliest value\n // v block of change block of change\n // =========NS=====================|=============================X===========Y=====>\n // ^ ^ ^ ^\n // earliest block in | | |\n // which to schedule change | | |\n // | | | |\n // |----------------------|------------------------------ |\n // | blocks new delay |\n // | until change |\n // | |\n // |----------------------------------------------------------------|\n // current delay at the earliest block in \n // which to scheduled value change\n\n let blocks_until_change = self.block_of_change - (historical_block_number + 1);\n\n min(\n self.pre.unwrap_or(INITIAL_DELAY),\n blocks_until_change + self.post.unwrap_or(INITIAL_DELAY)\n )\n }\n }\n}\n\nimpl<INITIAL_DELAY> Serialize<1> for ScheduledDelayChange<INITIAL_DELAY> {\n fn serialize(self) -> [Field; 1] {\n // We pack all three u32 values into a single U128, which is made up of two u64 limbs.\n // Low limb: [ pre_inner: u32 | post_inner: u32 ]\n // High limb: [ empty | pre_is_some: u8 | post_is_some: u8 | block_of_change: u32 ]\n\n let lo = ((self.pre.unwrap_unchecked() as u64) * (1 << 32))\n + (self.post.unwrap_unchecked() as u64);\n\n let hi = (self.pre.is_some() as u64) * (1 << 33) \n + (self.post.is_some() as u64 * (1 << 32)) \n + self.block_of_change as u64;\n\n let packed = U128::from_u64s_le(lo, hi);\n\n [packed.to_integer()]\n }\n}\n\nimpl<INITIAL_DELAY> Deserialize<1> for ScheduledDelayChange<INITIAL_DELAY> {\n fn deserialize(input: [Field; 1]) -> Self {\n let packed = U128::from_integer(input[0]);\n\n // We use division and modulo to clear the bits that correspond to other values when unpacking.\n\n let pre_is_some = ((packed.hi as u64) / (1 << 33)) as bool;\n let pre_inner = ((packed.lo as u64) / (1 << 32)) as u32;\n\n let post_is_some = (((packed.hi as u64) / (1 << 32)) % (1 << 1)) as bool;\n let post_inner = ((packed.lo as u64) % (1 << 32)) as u32;\n\n let block_of_change = ((packed.hi as u64) % (1 << 32)) as u32;\n\n Self {\n pre: if pre_is_some { Option::some(pre_inner) } else { Option::none() },\n post: if post_is_some { Option::some(post_inner) } else { Option::none() },\n block_of_change,\n _dummy: [0; INITIAL_DELAY],\n }\n }\n}\n\nmod test {\n use crate::state_vars::shared_mutable::scheduled_delay_change::ScheduledDelayChange;\n\n global TEST_INITIAL_DELAY = 13;\n\n fn assert_equal_after_conversion(original: ScheduledDelayChange<TEST_INITIAL_DELAY>) {\n // We have to do explicit type annotations because Noir lacks turbofish support.\n // TODO: improve syntax once https://github.com/noir-lang/noir/issues/4710 is implemented.\n let converted: ScheduledDelayChange<TEST_INITIAL_DELAY> = ScheduledDelayChange::deserialize((original).serialize());\n\n assert_eq(original.pre, converted.pre);\n assert_eq(original.post, converted.post);\n assert_eq(original.block_of_change, converted.block_of_change);\n }\n\n #[test]\n fn test_serde() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::some(pre), Option::some(post), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::some(pre), Option::none(), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::none(), Option::some(post), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::none(), Option::none(), block_of_change));\n }\n\n #[test]\n fn test_serde_large_values() {\n let max_u32 = (1 << 32) - 1;\n\n let pre = max_u32 as u32;\n let post = (max_u32 - 1) as u32;\n let block_of_change = (max_u32 - 2) as u32;\n\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::some(pre), Option::some(post), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::some(pre), Option::none(), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::none(), Option::some(post), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::none(), Option::none(), block_of_change));\n }\n\n fn get_non_initial_delay_change(\n pre: u32,\n post: u32,\n block_of_change: u32\n ) -> ScheduledDelayChange<TEST_INITIAL_DELAY> {\n ScheduledDelayChange::new(Option::some(pre), Option::some(post), block_of_change)\n }\n\n fn get_initial_delay_change() -> ScheduledDelayChange<TEST_INITIAL_DELAY> {\n ScheduledDelayChange::deserialize([0])\n }\n\n #[test]\n fn test_get_current() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n assert_eq(delay_change.get_current(0), pre);\n assert_eq(delay_change.get_current(block_of_change - 1), pre);\n assert_eq(delay_change.get_current(block_of_change), post);\n assert_eq(delay_change.get_current(block_of_change + 1), post);\n }\n\n #[test]\n fn test_get_current_initial() {\n let delay_change = get_initial_delay_change();\n\n assert_eq(delay_change.get_current(0), TEST_INITIAL_DELAY);\n assert_eq(delay_change.get_current(1), TEST_INITIAL_DELAY);\n }\n\n #[test]\n fn test_get_scheduled() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n assert_eq(delay_change.get_scheduled(), (post, block_of_change));\n }\n\n #[test]\n fn test_get_scheduled_initial() {\n let delay_change = get_initial_delay_change();\n\n assert_eq(delay_change.get_scheduled(), (TEST_INITIAL_DELAY, 0));\n }\n\n #[test]\n fn test_schedule_change_to_shorter_delay_before_change() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let new = 10;\n let current_block_number = block_of_change - 50;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n delay_change.schedule_change(new, current_block_number);\n\n // Because we re-schedule before the last scheduled change takes effect, the old `post` value is lost. The\n // schedule time is determined by the difference between the current value (pre) and new delay.\n assert_eq(delay_change.pre.unwrap(), pre);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number + pre - new);\n }\n\n #[test]\n fn test_schedule_change_to_shorter_delay_after_change() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let new = 10;\n let current_block_number = block_of_change + 50;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n delay_change.schedule_change(new, current_block_number);\n\n // The schedule time is determined by the different between the current value (ex post, now pre) and new delay.\n assert_eq(delay_change.pre.unwrap(), post);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number + post - new);\n }\n\n #[test]\n fn test_schedule_change_to_shorter_delay_from_initial() {\n let new = TEST_INITIAL_DELAY - 1;\n let current_block_number = 50;\n\n let mut delay_change = get_initial_delay_change();\n delay_change.schedule_change(new, current_block_number);\n\n // Like in the after change scenario, the schedule time is determined by the difference between the current value\n // (initial) and new delay.\n assert_eq(delay_change.pre.unwrap(), TEST_INITIAL_DELAY);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number + TEST_INITIAL_DELAY - new);\n }\n\n #[test]\n fn test_schedule_change_to_longer_delay_before_change() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let new = 40;\n let current_block_number = block_of_change - 50;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n delay_change.schedule_change(new, current_block_number);\n\n // Because we re-schedule before the last scheduled change takes effect, the old `post` value is lost. The\n // change is effective immediately because the new delay is longer than the current one.\n assert_eq(delay_change.pre.unwrap(), pre);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number);\n assert_eq(delay_change.get_current(current_block_number), new);\n }\n\n #[test]\n fn test_schedule_change_to_longer_delay_after_change() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let new = 40;\n let current_block_number = block_of_change + 50;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n delay_change.schedule_change(new, current_block_number);\n\n // Change is effective immediately because the new delay is longer than the current one.\n assert_eq(delay_change.pre.unwrap(), post);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number);\n assert_eq(delay_change.get_current(current_block_number), new);\n }\n\n #[test]\n fn test_schedule_change_to_longer_delay_from_initial() {\n let new = TEST_INITIAL_DELAY + 1;\n let current_block_number = 50;\n\n let mut delay_change = get_initial_delay_change();\n delay_change.schedule_change(new, current_block_number);\n\n // Like in the after change scenario, change is effective immediately because the new delay is longer than the \n // current one.\n assert_eq(delay_change.pre.unwrap(), TEST_INITIAL_DELAY);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number);\n assert_eq(delay_change.get_current(current_block_number), new);\n }\n\n fn assert_effective_minimum_delay_invariants<INITIAL_DELAY>(\n delay_change: &mut ScheduledDelayChange<INITIAL_DELAY>,\n historical_block_number: u32,\n effective_minimum_delay: u32\n ) {\n // The effective minimum delays guarantees the earliest block in which a scheduled value change could be made\n // effective. No action, even if executed immediately after the historical block, should result in a scheduled\n // value change having a block of change lower than this.\n let expected_earliest_value_change_block = historical_block_number + 1 + effective_minimum_delay;\n\n if delay_change.block_of_change > historical_block_number {\n // If a delay change is already scheduled to happen in the future, we then must consider the scenario in\n // which a value change is scheduled to occur right as the delay changes and becomes the current one.\n let delay_change_block = delay_change.block_of_change;\n\n let value_change_block = delay_change_block + delay_change.get_current(delay_change_block);\n assert(expected_earliest_value_change_block <= value_change_block);\n }\n\n // Another possibility would be to schedule a value change immediately after the historical block.\n let change_schedule_block = historical_block_number + 1;\n let value_change_block = change_schedule_block + delay_change.get_current(change_schedule_block);\n assert(expected_earliest_value_change_block <= value_change_block);\n\n // Finally, a delay reduction could be scheduled immediately after the historical block. We reduce the delay to \n // zero, which means that at the delay block of change there'll be no delay and a value change could be \n // performed immediately then.\n delay_change.schedule_change(0, historical_block_number + 1);\n assert(expected_earliest_value_change_block <= delay_change.block_of_change);\n }\n\n #[test]\n fn test_get_effective_delay_at_before_change_in_far_future() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let historical_block_number = 200;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n // The scheduled delay change is far into the future (further than the current delay is), so it doesn't affect\n // the effective delay, which is simply the current one (pre).\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n assert_eq(effective_minimum_delay, pre);\n\n assert_effective_minimum_delay_invariants(\n &mut delay_change,\n historical_block_number,\n effective_minimum_delay\n );\n }\n\n #[test]\n fn test_get_effective_delay_at_before_change_to_long_delay() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let historical_block_number = 495;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n // The scheduled delay change will be effective soon (it's fewer blocks away than the current delay), but due to\n // it being larger than the current one it doesn't affect the effective delay, which is simply the current one\n // (pre).\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n assert_eq(effective_minimum_delay, pre);\n\n assert_effective_minimum_delay_invariants(\n &mut delay_change,\n historical_block_number,\n effective_minimum_delay\n );\n }\n\n #[test]\n fn test_get_effective_delay_at_before_near_change_to_short_delay() {\n let pre = 15;\n let post = 3;\n let block_of_change = 500;\n\n let historical_block_number = 495;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n // The scheduled delay change will be effective soon (it's fewer blocks away than the current delay), and it's\n // changing to a value smaller than the current one. This means that at the block of change the delay will be\n // reduced, and a delay change would be scheduled there with an overall delay lower than the current one.\n // The effective delay therefore is the new delay plus the number of blocks that need to elapse until it becomes\n // effective (i.e. until the block of change).\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n assert_eq(effective_minimum_delay, post + block_of_change - (historical_block_number + 1));\n\n assert_effective_minimum_delay_invariants(\n &mut delay_change,\n historical_block_number,\n effective_minimum_delay\n );\n }\n\n #[test]\n fn test_get_effective_delay_at_after_change() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let historical_block_number = block_of_change + 50;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n // No delay change is scheduled, so the effective delay is simply the current one (post).\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n assert_eq(effective_minimum_delay, post);\n\n assert_effective_minimum_delay_invariants(\n &mut delay_change,\n historical_block_number,\n effective_minimum_delay\n );\n }\n\n #[test]\n fn test_get_effective_delay_at_initial() {\n let mut delay_change = get_initial_delay_change();\n\n let historical_block_number = 200;\n\n // Like in the after change scenario, no delay change is scheduled, so the effective delay is simply the current \n // one (initial).\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n assert_eq(effective_minimum_delay, TEST_INITIAL_DELAY);\n\n assert_effective_minimum_delay_invariants(\n &mut delay_change,\n historical_block_number,\n effective_minimum_delay\n );\n }\n}\n"},"131":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/scheduled_value_change.nr","source":"use dep::protocol_types::traits::{Serialize, Deserialize, FromField, ToField};\nuse dep::std::cmp::min;\n\n// This data structure is used by SharedMutable to represent a value that changes from `pre` to `post` at some block\n// called the `block_of_change`. The value can only be made to change by scheduling a change event at some future block\n// of change after some minimum delay measured in blocks has elapsed. This means that at any given block number we know\n// both the current value and the smallest block number at which the value might change - this is called the\n// 'block horizon'.\nstruct ScheduledValueChange<T> {\n pre: T,\n post: T,\n // Block at which `post` value is used instead of `pre`\n block_of_change: u32,\n}\n\nimpl<T> ScheduledValueChange<T> {\n pub fn new(pre: T, post: T, block_of_change: u32) -> Self {\n Self { pre, post, block_of_change }\n }\n\n /// Returns the value stored in the data structure at a given block. This function can be called both in public\n /// (where `block_number` is simply the current block number, i.e. the number of the block in which the current\n /// transaction will be included) and in private (where `block_number` is the historical block number that is used\n /// to construct the proof).\n /// Reading in private is only safe if the transaction's `max_block_number` property is set to a value lower or\n /// equal to the block horizon (see `get_block_horizon()`).\n pub fn get_current_at(self, block_number: u32) -> T {\n // The post value becomes the current one at the block of change. This means different things in each realm:\n // - in public, any transaction that is included in the block of change will use the post value\n // - in private, any transaction that includes the block of change as part of the historical state will use the\n // post value (barring any follow-up changes)\n\n if block_number < self.block_of_change {\n self.pre\n } else {\n self.post\n }\n }\n\n /// Returns the scheduled change, i.e. the post-change value and the block at which it will become the current\n /// value. Note that this block may be in the past if the change has already taken place.\n /// Additionally, further changes might be later scheduled, potentially canceling the one returned by this function.\n pub fn get_scheduled(self) -> (T, u32) {\n (self.post, self.block_of_change)\n }\n\n /// Returns the largest block number at which the value returned by `get_current_at` is known to remain the current\n /// value. This value is only meaningful in private when constructing a proof at some `historical_block_number`,\n /// since due to its asynchronous nature private execution cannot know about any later scheduled changes.\n /// The caller of this function must know how quickly the value can change due to a scheduled change in the form of\n /// `minimum_delay`. If the delay itself is immutable, then this is just its duration. If the delay is mutable\n /// however, then this value is the 'effective minimum delay' (obtained by calling\n /// `ScheduledDelayChange.get_effective_minimum_delay_at`), which equals the minimum number of blocks that need to\n /// elapse from the next block until the value changes, regardless of further delay changes.\n /// The value returned by `get_current_at` in private when called with a historical block number is only safe to use\n /// if the transaction's `max_block_number` property is set to a value lower or equal to the block horizon computed\n /// using the same historical block number.\n pub fn get_block_horizon(self, historical_block_number: u32, minimum_delay: u32) -> u32 {\n // The block horizon is the very last block in which the current value is known. Any block past the horizon\n // (i.e. with a block number larger than the block horizon) may have a different current value. Reading the\n // current value in private typically requires constraining the maximum valid block number to be equal to the\n // block horizon.\n\n if historical_block_number >= self.block_of_change {\n // Once the block of change has been mined, the current value (post) will not change unless a new value\n // change is scheduled. This did not happen at the historical block number (or else it would not be\n // greater or equal to the block of change), and therefore could only happen after the historical block\n // number. The earliest would be the immediate next block, and so the smallest possible next block of change\n // equals `historical_block_number + 1 + minimum_delay`. Our block horizon is simply the previous block to\n // that one.\n //\n // block of historical\n // change block block horizon\n // =======|=============N===================H===========>\n // ^ ^\n // ---------------------\n // minimum delay\n\n historical_block_number + minimum_delay\n } else {\n // If the block of change has not yet been mined however, then there are two possible scenarios.\n // a) It could be so far into the future that the block horizon is actually determined by the minimum\n // delay, because a new change could be scheduled and take place _before_ the currently scheduled one.\n // This is similar to the scenario where the block of change is in the past: the time horizon is the\n // block prior to the earliest one in which a new block of change might land.\n //\n // historical\n // block block horizon block of change\n // =====N=================================H=================|=========>\n // ^ ^\n // | |\n // -----------------------------------\n // minimum delay\n //\n // b) It could be fewer than `minimum_delay` blocks away from the historical block number, in which case\n // the block of change would become the limiting factor for the time horizon, which would equal the\n // block right before the block of change (since by definition the value changes at the block of\n // change).\n //\n // historical block horizon\n // block block of change if not scheduled\n // =======N=============|===================H=================>\n // ^ ^ ^\n // | actual horizon |\n // -----------------------------------\n // minimum delay\n //\n // Note that the current implementation does not allow the caller to set the block of change to an arbitrary\n // value, and therefore scenario a) is not currently possible. However implementing #5501 would allow for\n // this to happen.\n\n // Because historical_block_number < self.block_of_change, then block_of_change > 0 and we can safely\n // subtract 1.\n min(\n self.block_of_change - 1,\n historical_block_number + minimum_delay\n )\n }\n }\n\n /// Mutates the value by scheduling a change at the current block number. This function is only meaningful when\n /// called in public with the current block number.\n pub fn schedule_change(\n &mut self,\n new_value: T,\n current_block_number: u32,\n minimum_delay: u32,\n block_of_change: u32\n ) {\n assert(block_of_change >= current_block_number + minimum_delay);\n\n self.pre = self.get_current_at(current_block_number);\n self.post = new_value;\n self.block_of_change = block_of_change;\n }\n}\n\nimpl<T> Serialize<3> for ScheduledValueChange<T> {\n fn serialize(self) -> [Field; 3] where T: ToField {\n [self.pre.to_field(), self.post.to_field(), self.block_of_change.to_field()]\n }\n}\n\nimpl<T> Deserialize<3> for ScheduledValueChange<T> {\n fn deserialize(input: [Field; 3]) -> Self where T: FromField {\n Self {\n pre: FromField::from_field(input[0]),\n post: FromField::from_field(input[1]),\n block_of_change: FromField::from_field(input[2]),\n }\n }\n}\n\nmod test {\n use crate::state_vars::shared_mutable::scheduled_value_change::ScheduledValueChange;\n\n global TEST_DELAY: u32 = 200;\n\n #[test]\n fn test_serde() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let original = ScheduledValueChange::new(pre, post, block_of_change);\n let converted = ScheduledValueChange::deserialize((original).serialize());\n\n assert_eq(original.pre, converted.pre);\n assert_eq(original.post, converted.post);\n assert_eq(original.block_of_change, converted.block_of_change);\n }\n\n #[test]\n fn test_get_current_at() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n assert_eq(value_change.get_current_at(0), pre);\n assert_eq(value_change.get_current_at(block_of_change - 1), pre);\n assert_eq(value_change.get_current_at(block_of_change), post);\n assert_eq(value_change.get_current_at(block_of_change + 1), post);\n }\n\n #[test]\n fn test_get_scheduled() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n assert_eq(value_change.get_scheduled(), (post, block_of_change));\n }\n\n fn assert_block_horizon_invariants(\n value_change: &mut ScheduledValueChange<Field>,\n historical_block_number: u32,\n block_horizon: u32\n ) {\n // The current value should not change at the block horizon (but it might later).\n let current_at_historical = value_change.get_current_at(historical_block_number);\n assert_eq(current_at_historical, value_change.get_current_at(block_horizon));\n\n // The earliest a new change could be scheduled in would be the immediate next block to the historical one. This\n // should result in the new block of change landing *after* the block horizon, and the current value still not\n // changing at the previously determined block_horizon.\n\n let new = value_change.pre + value_change.post; // Make sure it's different to both pre and post\n value_change.schedule_change(\n new,\n historical_block_number + 1,\n TEST_DELAY,\n historical_block_number + 1 + TEST_DELAY\n );\n\n assert(value_change.block_of_change > block_horizon);\n assert_eq(current_at_historical, value_change.get_current_at(block_horizon));\n }\n\n #[test]\n fn test_get_block_horizon_change_in_past() {\n let historical_block_number = 100;\n let block_of_change = 50;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value_change.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value_change, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_immediate_past() {\n let historical_block_number = 100;\n let block_of_change = 100;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value_change.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value_change, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_near_future() {\n let historical_block_number = 100;\n let block_of_change = 120;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n // Note that this is the only scenario in which the block of change informs the block horizon.\n // This may result in privacy leaks when interacting with applications that have a scheduled change\n // in the near future.\n let block_horizon = value_change.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, block_of_change - 1);\n\n assert_block_horizon_invariants(&mut value_change, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_far_future() {\n let historical_block_number = 100;\n let block_of_change = 500;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value_change.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value_change, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_n0_delay() {\n let historical_block_number = 100;\n let block_of_change = 50;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value_change.get_block_horizon(historical_block_number, 0);\n // Since the block horizon equals the historical block number, it is not possible to read the current value in\n // private since the transaction `max_block_number` property would equal an already mined block.\n assert_eq(block_horizon, historical_block_number);\n }\n\n #[test]\n fn test_schedule_change_before_change() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change - 50;\n value_change.schedule_change(\n new,\n current_block_number,\n TEST_DELAY,\n current_block_number + TEST_DELAY\n );\n\n // Because we re-schedule before the last scheduled change takes effect, the old `post` value is lost.\n assert_eq(value_change.pre, pre);\n assert_eq(value_change.post, new);\n assert_eq(value_change.block_of_change, current_block_number + TEST_DELAY);\n }\n\n #[test]\n fn test_schedule_change_after_change() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change + 50;\n value_change.schedule_change(\n new,\n current_block_number,\n TEST_DELAY,\n current_block_number + TEST_DELAY\n );\n\n assert_eq(value_change.pre, post);\n assert_eq(value_change.post, new);\n assert_eq(value_change.block_of_change, current_block_number + TEST_DELAY);\n }\n\n #[test]\n fn test_schedule_change_no_delay() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change + 50;\n value_change.schedule_change(new, current_block_number, 0, current_block_number);\n\n assert_eq(value_change.pre, post);\n assert_eq(value_change.post, new);\n assert_eq(value_change.block_of_change, current_block_number);\n assert_eq(value_change.get_current_at(current_block_number), new);\n }\n}\n"},"132":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/shared_mutable.nr","source":"use dep::protocol_types::{hash::pedersen_hash, traits::FromField};\n\nuse crate::context::{PrivateContext, PublicContext, Context};\nuse crate::history::public_storage::public_storage_historical_read;\nuse crate::public_storage;\nuse crate::state_vars::{\n storage::Storage,\n shared_mutable::{scheduled_value_change::ScheduledValueChange, scheduled_delay_change::ScheduledDelayChange}\n};\n\nstruct SharedMutable<T, INITIAL_DELAY> {\n context: Context,\n storage_slot: Field,\n}\n\n// This will make the Aztec macros require that T implements the Serialize<N> trait, and allocate N storage slots to\n// this state variable. This is incorrect, since what we actually store is:\n// - a ScheduledValueChange<T>, which requires 1 + 2 * M storage slots, where M is the serialization length of T\n// - a ScheduledDelayChange, which requires another storage slot\n//\n// TODO https://github.com/AztecProtocol/aztec-packages/issues/5736: change the storage allocation scheme so that we \n// can actually use it here\nimpl<T, INITIAL_DELAY> Storage<T> for SharedMutable<T, INITIAL_DELAY> {}\n\n// SharedMutable<T> stores a value of type T that is:\n// - publicly known (i.e. unencrypted)\n// - mutable in public\n// - readable in private with no contention (i.e. multiple parties can all read the same value without blocking one\n// another nor needing to coordinate)\n// This is famously a hard problem to solve. SharedMutable makes it work by introducing a delay to public mutation:\n// the value is not changed immediately but rather a value change is scheduled to happen in the future after some delay\n// measured in blocks. Reads in private are only valid as long as they are included in a block not too far into the \n// future, so that they can guarantee the value will not have possibly changed by then (because of the delay).\n// The delay for changing a value is initially equal to INITIAL_DELAY, but can be changed by calling \n// `schedule_delay_change`.\nimpl<T, INITIAL_DELAY> SharedMutable<T, INITIAL_DELAY> {\n pub fn new(context: Context, storage_slot: Field) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot }\n }\n\n pub fn schedule_value_change(self, new_value: T) {\n let context = self.context.public.unwrap();\n let mut value_change = self.read_value_change();\n let delay_change = self.read_delay_change();\n\n let block_number = context.block_number() as u32;\n let current_delay = delay_change.get_current(block_number);\n\n // TODO: make this configurable\n // https://github.com/AztecProtocol/aztec-packages/issues/5501\n let block_of_change = block_number + current_delay;\n value_change.schedule_change(new_value, block_number, current_delay, block_of_change);\n\n self.write_value_change(value_change);\n }\n\n pub fn schedule_delay_change(self, new_delay: u32) {\n let context = self.context.public.unwrap();\n let mut delay_change = self.read_delay_change();\n\n let block_number = context.block_number() as u32;\n\n delay_change.schedule_change(new_delay, block_number);\n\n self.write_delay_change(delay_change);\n }\n\n pub fn get_current_value_in_public(self) -> T {\n let block_number = self.context.public.unwrap().block_number() as u32;\n self.read_value_change().get_current_at(block_number)\n }\n\n pub fn get_current_delay_in_public(self) -> u32 {\n let block_number = self.context.public.unwrap().block_number() as u32;\n self.read_delay_change().get_current(block_number)\n }\n\n pub fn get_scheduled_value_in_public(self) -> (T, u32) {\n self.read_value_change().get_scheduled()\n }\n\n pub fn get_scheduled_delay_in_public(self) -> (u32, u32) {\n self.read_delay_change().get_scheduled()\n }\n\n pub fn get_current_value_in_private(self) -> T where T: FromField {\n let mut context = self.context.private.unwrap();\n\n // When reading the current value in private we construct a historical state proof for the public value.\n // However, since this value might change, we must constrain the maximum transaction block number as this proof\n // will only be valid for however many blocks we can ensure the value will not change, which will depend on the\n // current delay and any scheduled delay changes.\n\n let (value_change, delay_change, historical_block_number) = self.historical_read_from_public_storage(*context);\n\n // We use the effective minimum delay as opposed to the current delay at the historical block as this one also\n // takes into consideration any scheduled delay changes. \n // For example, consider a scenario in which at block 200 the current delay was 50. We may naively think that\n // the earliest we could change the value would be at block 251 by scheduling immediately after the historical\n // block, i.e. at block 201. But if there was a delay change scheduled for block 210 to reduce the delay to 20 \n // blocks, then if a value change was scheduled at block 210 it would go into effect at block 230, which is \n // earlier than what we'd expect if we only considered the current delay.\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n let block_horizon = value_change.get_block_horizon(historical_block_number, effective_minimum_delay);\n\n // We prevent this transaction from being included in any block after the block horizon, ensuring that the \n // historical public value matches the current one, since it can only change after the horizon.\n context.set_tx_max_block_number(block_horizon);\n value_change.get_current_at(historical_block_number)\n }\n\n fn historical_read_from_public_storage(\n self,\n context: PrivateContext\n ) -> (ScheduledValueChange<T>, ScheduledDelayChange<INITIAL_DELAY>, u32) where T: FromField {\n // Ideally the following would be simply public_storage::read_historical, but we can't implement that yet.\n let value_change_slot = self.get_value_change_storage_slot();\n let mut raw_value_change_fields = [0; 3];\n for i in 0..3 {\n raw_value_change_fields[i] = public_storage_historical_read(\n context,\n value_change_slot + i as Field,\n context.this_address()\n );\n }\n\n // Ideally the following would be simply public_storage::read_historical, but we can't implement that yet.\n let delay_change_slot = self.get_delay_change_storage_slot();\n let raw_delay_change_fields = [public_storage_historical_read(context, delay_change_slot, context.this_address())];\n\n let value_change = ScheduledValueChange::deserialize(raw_value_change_fields);\n let delay_change = ScheduledDelayChange::deserialize(raw_delay_change_fields);\n\n let historical_block_number = context.historical_header.global_variables.block_number as u32;\n\n (value_change, delay_change, historical_block_number)\n }\n\n fn read_value_change(self) -> ScheduledValueChange<T> {\n public_storage::read(self.get_value_change_storage_slot())\n }\n\n fn read_delay_change(self) -> ScheduledDelayChange<INITIAL_DELAY> {\n public_storage::read(self.get_delay_change_storage_slot())\n }\n\n fn write_value_change(self, value_change: ScheduledValueChange<T>) {\n public_storage::write(self.get_value_change_storage_slot(), value_change);\n }\n\n fn write_delay_change(self, delay_change: ScheduledDelayChange<INITIAL_DELAY>) {\n public_storage::write(self.get_delay_change_storage_slot(), delay_change);\n }\n\n // Since we can't rely on the native storage allocation scheme, we hash the storage slot to get a unique location in\n // which we can safely store as much data as we need. \n // See https://github.com/AztecProtocol/aztec-packages/issues/5492 and \n // https://github.com/AztecProtocol/aztec-packages/issues/5736\n fn get_value_change_storage_slot(self) -> Field {\n pedersen_hash([self.storage_slot, 0], 0)\n }\n\n fn get_delay_change_storage_slot(self) -> Field {\n pedersen_hash([self.storage_slot, 1], 0)\n }\n}\n\nmod test {\n use dep::std::{merkle::compute_merkle_root, test::OracleMock};\n\n use crate::{\n context::{PublicContext, PrivateContext, Context},\n state_vars::shared_mutable::{\n shared_mutable::SharedMutable, scheduled_value_change::ScheduledValueChange,\n scheduled_delay_change::ScheduledDelayChange\n },\n oracle::get_public_data_witness::PublicDataWitness\n };\n\n use dep::protocol_types::{\n constants::{GENERATOR_INDEX__PUBLIC_LEAF_INDEX, PUBLIC_DATA_TREE_HEIGHT}, hash::pedersen_hash,\n address::AztecAddress, public_data_tree_leaf_preimage::PublicDataTreeLeafPreimage\n };\n\n global pre_value = 13;\n global post_value = 42;\n\n global new_value = 57;\n\n global pre_delay = 20;\n global post_delay = 15;\n\n global TEST_INITIAL_DELAY = 3;\n\n fn setup(private: bool) -> (SharedMutable<Field, TEST_INITIAL_DELAY>, Field) {\n let block_number = 40;\n let context = create_context(block_number, private);\n\n let storage_slot = 57;\n let state_var: SharedMutable<Field, TEST_INITIAL_DELAY> = SharedMutable::new(context, storage_slot);\n\n (state_var, block_number)\n }\n\n fn create_context(block_number: Field, private: bool) -> Context {\n if private {\n let mut private_context = PrivateContext::empty();\n private_context.historical_header.global_variables.block_number = block_number;\n Context::private(&mut private_context)\n } else {\n let mut public_context = PublicContext::empty();\n public_context.inputs.public_global_variables.block_number = block_number;\n Context::public(&mut public_context)\n }\n }\n\n fn mock_value_change_read(\n state_var: SharedMutable<Field, TEST_INITIAL_DELAY>,\n pre: Field,\n post: Field,\n block_of_change: Field\n ) {\n let value_change_slot = state_var.get_value_change_storage_slot();\n let fields = ScheduledValueChange::new(pre, post, block_of_change as u32).serialize();\n\n let _ = OracleMock::mock(\"storageRead\").with_params((value_change_slot, 3)).returns(fields).times(1);\n }\n\n fn mock_delay_change_read(\n state_var: SharedMutable<Field, TEST_INITIAL_DELAY>,\n pre: Field,\n post: Field,\n block_of_change: Field\n ) {\n let delay_change_slot = state_var.get_delay_change_storage_slot();\n let delay_change: ScheduledDelayChange<TEST_INITIAL_DELAY> = ScheduledDelayChange::new(\n Option::some(pre as u32),\n Option::some(post as u32),\n block_of_change as u32\n );\n let fields = delay_change.serialize();\n\n let _ = OracleMock::mock(\"storageRead\").with_params((delay_change_slot, 1)).returns(fields).times(1);\n }\n\n fn mock_delay_change_read_uninitialized(state_var: SharedMutable<Field, TEST_INITIAL_DELAY>) {\n let delay_change_slot = state_var.get_delay_change_storage_slot();\n let _ = OracleMock::mock(\"storageRead\").with_params((delay_change_slot, 1)).returns([0]).times(1);\n }\n\n // Useful since change and delay values are always the global pre/post ones, so we typically only care about their\n // block of change.\n fn mock_value_and_delay_read(\n state_var: SharedMutable<Field, TEST_INITIAL_DELAY>,\n value_block_of_change: Field,\n delay_block_of_change: Field\n ) {\n mock_value_change_read(state_var, pre_value, post_value, value_block_of_change);\n mock_delay_change_read(state_var, pre_delay, post_delay, delay_block_of_change);\n }\n\n fn mock_value_change_write() -> OracleMock {\n OracleMock::mock(\"storageWrite\").returns([0; 3])\n }\n\n fn mock_delay_change_write() -> OracleMock {\n OracleMock::mock(\"storageWrite\").returns([0; 1])\n }\n\n fn assert_value_change_write(\n state_var: SharedMutable<Field, TEST_INITIAL_DELAY>,\n mock: OracleMock,\n pre: Field,\n post: Field,\n block_of_change: Field\n ) {\n let fields = ScheduledValueChange::new(pre, post, block_of_change as u32).serialize();\n assert_eq(mock.get_last_params(), (state_var.get_value_change_storage_slot(), fields));\n }\n\n fn assert_delay_change_write(\n state_var: SharedMutable<Field, TEST_INITIAL_DELAY>,\n mock: OracleMock,\n pre: Field,\n post: Field,\n block_of_change: Field\n ) {\n let delay_change: ScheduledDelayChange<TEST_INITIAL_DELAY> = ScheduledDelayChange::new(\n Option::some(pre as u32),\n Option::some(post as u32),\n block_of_change as u32\n );\n\n let fields = delay_change.serialize();\n assert_eq(mock.get_last_params(), (state_var.get_delay_change_storage_slot(), fields));\n }\n\n #[test]\n fn test_get_current_value_in_public() {\n let (state_var, block_number) = setup(false);\n\n // Change in the future, current value is pre\n mock_value_change_read(state_var, pre_value, post_value, block_number + 1);\n assert_eq(state_var.get_current_value_in_public(), pre_value);\n\n // Change in the current block, current value is post\n mock_value_change_read(state_var, pre_value, post_value, block_number);\n assert_eq(state_var.get_current_value_in_public(), post_value);\n\n // Change in the past, current value is post\n mock_value_change_read(state_var, pre_value, post_value, block_number - 1);\n assert_eq(state_var.get_current_value_in_public(), post_value);\n }\n\n #[test]\n fn test_get_scheduled_value_in_public() {\n let (state_var, block_number) = setup(false);\n\n // Change in the future, scheduled is post (always is)\n mock_value_change_read(state_var, pre_value, post_value, block_number + 1);\n assert_eq(state_var.get_scheduled_value_in_public(), (post_value, (block_number + 1) as u32));\n\n // Change in the current block, scheduled is post (always is)\n mock_value_change_read(state_var, pre_value, post_value, block_number);\n assert_eq(state_var.get_scheduled_value_in_public(), (post_value, block_number as u32));\n\n // Change in the past, scheduled is post (always is)\n mock_value_change_read(state_var, pre_value, post_value, block_number - 1);\n assert_eq(state_var.get_scheduled_value_in_public(), (post_value, (block_number - 1) as u32));\n }\n\n #[test]\n fn test_get_current_delay_in_public() {\n let (state_var, block_number) = setup(false);\n\n // Uninitialized\n mock_delay_change_read_uninitialized(state_var);\n assert_eq(state_var.get_current_delay_in_public(), TEST_INITIAL_DELAY as u32);\n\n // Change in the future, current value is pre\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number + 1);\n assert_eq(state_var.get_current_delay_in_public(), pre_delay as u32);\n\n // Change in the current block, current value is post\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number);\n assert_eq(state_var.get_current_delay_in_public(), post_delay as u32);\n\n // Change in the past, current value is post\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number - 1);\n assert_eq(state_var.get_current_delay_in_public(), post_delay as u32);\n }\n\n #[test]\n fn test_get_scheduled_delay_in_public_before_change() {\n let (state_var, block_number) = setup(false);\n\n // Uninitialized\n mock_delay_change_read_uninitialized(state_var);\n assert_eq(state_var.get_scheduled_delay_in_public(), (TEST_INITIAL_DELAY as u32, 0));\n\n // Change in the future, scheduled is post (always is)\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number + 1);\n assert_eq(state_var.get_scheduled_delay_in_public(), (post_delay as u32, (block_number + 1) as u32));\n\n // Change in the current block, scheduled is post (always is)\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number);\n assert_eq(state_var.get_scheduled_delay_in_public(), (post_delay as u32, block_number as u32));\n\n // Change in the past, scheduled is post (always is)\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number - 1);\n assert_eq(state_var.get_scheduled_delay_in_public(), (post_delay as u32, (block_number - 1) as u32));\n }\n\n #[test]\n fn test_schedule_value_change_no_delay() {\n let (state_var, block_number) = setup(false);\n\n // Last value change was in the past\n mock_value_change_read(state_var, pre_value, post_value, 0);\n\n // Current delay is 0\n mock_delay_change_read(state_var, 0, 0, block_number);\n\n let write_mock = mock_value_change_write();\n\n state_var.schedule_value_change(new_value);\n\n // The new value has a block of change equal to the current block, i.e. it is the current value\n assert_value_change_write(state_var, write_mock, post_value, new_value, block_number);\n }\n\n #[test]\n fn test_schedule_value_change_before_change_no_scheduled_delay() {\n let (state_var, block_number) = setup(false);\n\n // Value change in the future, delay change in the past\n mock_value_and_delay_read(state_var, block_number + 1, block_number - 1);\n let write_mock = mock_value_change_write();\n\n state_var.schedule_value_change(new_value);\n\n // The new scheduled value change replaces the old one, post delay (current) is used\n assert_value_change_write(\n state_var,\n write_mock,\n pre_value,\n new_value,\n block_number + post_delay\n );\n }\n\n #[test]\n fn test_schedule_value_change_before_change_scheduled_delay() {\n let (state_var, block_number) = setup(false);\n\n // Value change in the future, delay change in the future\n mock_value_and_delay_read(state_var, block_number + 1, block_number + 1);\n\n let write_mock = mock_value_change_write();\n\n state_var.schedule_value_change(new_value);\n\n // The new scheduled value change replaces the old one, pre delay (current, not scheduled) is used\n assert_value_change_write(\n state_var,\n write_mock,\n pre_value,\n new_value,\n block_number + pre_delay\n );\n }\n\n #[test]\n fn test_schedule_value_change_after_change_no_scheduled_delay() {\n let (state_var, block_number) = setup(false);\n\n // Value change in the past, delay change in the past\n mock_value_and_delay_read(state_var, block_number - 1, block_number - 1);\n let write_mock = mock_value_change_write();\n\n state_var.schedule_value_change(new_value);\n\n // The previous post value becomes the pre value, post delay (current) is used\n assert_value_change_write(\n state_var,\n write_mock,\n post_value,\n new_value,\n block_number + post_delay\n );\n }\n\n #[test]\n fn test_schedule_value_change_after_change_scheduled_delay() {\n let (state_var, block_number) = setup(false);\n\n // Value change in the past, delay change in the future\n mock_value_and_delay_read(state_var, block_number - 1, block_number + 1);\n\n let write_mock = mock_value_change_write();\n\n state_var.schedule_value_change(new_value);\n\n // The previous post value becomes the pre value, pre delay (current, not scheduled) is used\n assert_value_change_write(\n state_var,\n write_mock,\n post_value,\n new_value,\n block_number + pre_delay\n );\n }\n\n #[test]\n fn test_schedule_delay_increase_before_change() {\n let (state_var, block_number) = setup(false);\n\n // Delay change in future, current delay is pre\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number + 1);\n let write_mock = mock_delay_change_write();\n\n let new_delay = pre_delay + 1;\n state_var.schedule_delay_change(new_delay as u32);\n\n // The previous scheduled change is lost, change is immediate (due to increase)\n assert_delay_change_write(state_var, write_mock, pre_delay, new_delay, block_number);\n }\n\n #[test]\n fn test_schedule_delay_reduction_before_change() {\n let (state_var, block_number) = setup(false);\n\n // Delay change in future, current delay is pre\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number + 1);\n let write_mock = mock_delay_change_write();\n\n let new_delay = pre_delay - 1;\n state_var.schedule_delay_change(new_delay as u32);\n\n // The previous scheduled change is lost, change delay equals difference (due to reduction)\n assert_delay_change_write(\n state_var,\n write_mock,\n pre_delay,\n new_delay,\n block_number + pre_delay - new_delay\n );\n }\n\n #[test]\n fn test_schedule_delay_increase_after_change() {\n let (state_var, block_number) = setup(false);\n\n // Delay change in the past, current delay is post\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number - 1);\n let write_mock = mock_delay_change_write();\n\n let new_delay = post_delay + 1;\n state_var.schedule_delay_change(new_delay as u32);\n\n // The current value becomes pre, change is immediate (due to increase)\n assert_delay_change_write(state_var, write_mock, post_delay, new_delay, block_number);\n }\n\n #[test]\n fn test_schedule_delay_reduction_after_change() {\n let (state_var, block_number) = setup(false);\n\n // Delay change in the past, current delay is post\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number - 1);\n let write_mock = mock_delay_change_write();\n\n let new_delay = post_delay - 1;\n state_var.schedule_delay_change(new_delay as u32);\n\n // The current value becomes pre, change delay equals difference (due to reduction)\n assert_delay_change_write(\n state_var,\n write_mock,\n post_delay,\n new_delay,\n block_number + post_delay - new_delay\n );\n }\n\n #[test]\n fn test_get_current_value_in_private_before_change() {\n // Here we'd want to test that the private getter returns the correct value and sets max_block_number in the\n // context to the expected block horizon, in all the possible scenarios (long before change, before near change,\n // after change).\n // However, this requires mocking the getPublicDataTreeWitness oracle so that we can convince the circuit that\n // it got a valid historical proof. Because we can set the tree root to whatever we want in the context, this is\n // trivial for a single historical value (we add a leaf and compute the root with any random path), but is quite\n // hard if we're reading more than one value for the same root (as SharedMutable does): we essentially need to\n // create an actual indexed tree and compute the correct path for each of the inserted values.\n // TODO: implement an actual tree and use it here https://github.com/AztecProtocol/aztec-packages/issues/5494\n }\n}\n"},"158":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr","source":"use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\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 = dep::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"},"194":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/type_serialization.nr","source":"use crate::traits::{Serialize, Deserialize};\n\nglobal BOOL_SERIALIZED_LEN: Field = 1;\nglobal U8_SERIALIZED_LEN: Field = 1;\nglobal U32_SERIALIZED_LEN: Field = 1;\nglobal U64_SERIALIZED_LEN: Field = 1;\nglobal U128_SERIALIZED_LEN: Field = 1;\nglobal FIELD_SERIALIZED_LEN: Field = 1;\n\nimpl Serialize<BOOL_SERIALIZED_LEN> for bool {\n fn serialize(self) -> [Field; BOOL_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<BOOL_SERIALIZED_LEN> for bool {\n fn deserialize(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n }\n}\n\nimpl Serialize<U8_SERIALIZED_LEN> for u8 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U8_SERIALIZED_LEN> for u8 {\n fn deserialize(fields: [Field; U8_SERIALIZED_LEN]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Serialize<U32_SERIALIZED_LEN> for u32 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U32_SERIALIZED_LEN> for u32 {\n fn deserialize(fields: [Field; U32_SERIALIZED_LEN]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Serialize<U64_SERIALIZED_LEN> for u64 {\n fn serialize(self) -> [Field; U64_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U64_SERIALIZED_LEN> for u64 {\n fn deserialize(fields: [Field; U64_SERIALIZED_LEN]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Serialize<U128_SERIALIZED_LEN> for U128 {\n fn serialize(self) -> [Field; 1] {\n [self.to_integer()]\n }\n\n}\n\nimpl Deserialize<U128_SERIALIZED_LEN> for U128 {\n fn deserialize(fields: [Field; U128_SERIALIZED_LEN]) -> Self {\n U128::from_integer(fields[0])\n }\n}\n\nimpl Serialize<FIELD_SERIALIZED_LEN> for Field {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self]\n }\n}\n\nimpl Deserialize<FIELD_SERIALIZED_LEN> for Field {\n fn deserialize(fields: [Field; FIELD_SERIALIZED_LEN]) -> Self {\n fields[0]\n }\n}\n"},"195":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr","source":"use dep::std::cmp::Eq;\nuse crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, N>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<N> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<N> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n"},"203":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::address::{AztecAddress, EthAddress};\nuse crate::recursion::verification_key::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::side_effect::SideEffect;\nuse crate::traits::is_empty;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::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\n};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\nuse dep::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\npub fn compute_note_hash_nonce(first_nullifier: Field, note_hash_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n note_hash_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(address: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\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 rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\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\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: [SideEffect; 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 pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::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), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5, counter: 1234 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n"},"22":{"path":"std/field.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"},"224":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/field.nr","source":"pub fn field_from_bytes<N>(bytes: [u8; N], big_endian: bool) -> Field {\n assert(bytes.len() < 32, \"field_from_bytes: N must be less than 32\");\n let mut as_field = 0;\n let mut offset = 1;\n for i in 0..N {\n let mut index = i;\n if big_endian {\n index = N - i - 1;\n }\n as_field += (bytes[index] as Field) * offset;\n offset *= 256;\n }\n\n as_field\n}\n\n// Convert a 32 byte array to a field element by truncating the final byte\npub fn field_from_bytes_32_trunc(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..15 {\n // covers bytes 16..30 (31 is truncated and ignored)\n low = low + (bytes32[15 + 15 - i] as Field) * v;\n v = v * 256;\n // covers bytes 0..14\n high = high + (bytes32[14 - i] as Field) * v;\n }\n // covers byte 15\n low = low + (bytes32[15] as Field) * v;\n\n low + high * v\n}\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n\n#[test]\nunconstrained fn bytes_field_test() {\n // Tests correctness of field_from_bytes_32_trunc against existing methods\n // Bytes representing 0x543e0a6642ffeb8039296861765a53407bba62bd1c97ca43374de950bbe0a7\n let inputs = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167\n ];\n let field = field_from_bytes(inputs, true);\n let return_bytes = field.to_be_bytes(31);\n for i in 0..31 {\n assert_eq(inputs[i], return_bytes[i]);\n }\n // 32 bytes - we remove the final byte, and check it matches the field\n let inputs2 = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167, 158\n ];\n let field2 = field_from_bytes_32_trunc(inputs2);\n let return_bytes2 = field.to_be_bytes(31);\n\n for i in 0..31 {\n assert_eq(return_bytes2[i], return_bytes[i]);\n }\n assert_eq(field2, field);\n}\n"},"239":{"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, grumpkin_point::GrumpkinPoint,\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"},"28":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\nglobal RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n\n pub fn hash<N>(input: [Field; N], message_size: u64) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<N>(input: [Field; N], in_len: u64, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n"},"301":{"path":"/usr/src/noir-projects/noir-contracts/contracts/key_registry_contract/src/main.nr","source":"contract KeyRegistry {\n use dep::authwit::auth::assert_current_call_valid_authwit_public;\n\n use dep::aztec::{\n keys::PublicKeys, state_vars::{SharedMutable, Map},\n protocol_types::{grumpkin_point::GrumpkinPoint, address::{AztecAddress, PartialAddress}}\n };\n\n global KEY_ROTATION_DELAY = 5;\n\n #[aztec(storage)]\n struct Storage {\n // The following stores a hash of individual master public keys\n // If you change slots of vars below, you must update the slots in `SharedMutablePrivateGetter` in aztec-nr/keys.\n // We store x and y coordinates in individual shared mutables as shared mutable currently supports only 1 field\n npk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n npk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n\n ivpk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n ivpk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n \n ovpk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n ovpk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n \n tpk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n tpk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n }\n\n #[aztec(public)]\n fn rotate_npk_m(address: AztecAddress, new_npk_m: GrumpkinPoint, nonce: Field) {\n // TODO: (#6137)\n if (!address.eq(context.msg_sender())) {\n assert_current_call_valid_authwit_public(&mut context, address);\n } else {\n assert(nonce == 0, \"invalid nonce\");\n }\n\n let npk_m_x_registry = storage.npk_m_x_registry.at(address);\n let npk_m_y_registry = storage.npk_m_y_registry.at(address);\n npk_m_x_registry.schedule_value_change(new_npk_m.x);\n npk_m_y_registry.schedule_value_change(new_npk_m.y);\n }\n\n #[aztec(public)]\n fn register(address: AztecAddress, partial_address: PartialAddress, keys: PublicKeys) {\n let computed_address = AztecAddress::compute(keys.hash(), partial_address);\n\n assert(computed_address.eq(address), \"Computed address does not match supplied address\");\n\n let npk_m_x_registry = storage.npk_m_x_registry.at(address);\n let npk_m_y_registry = storage.npk_m_y_registry.at(address);\n let ivpk_m_x_registry = storage.ivpk_m_x_registry.at(address);\n let ivpk_m_y_registry = storage.ivpk_m_y_registry.at(address);\n // let ovpk_m_x_registry = storage.ovpk_m_x_registry.at(address);\n // let ovpk_m_y_registry = storage.ovpk_m_y_registry.at(address);\n // let tpk_m_x_registry = storage.tpk_m_x_registry.at(address);\n // let tpk_m_y_registry = storage.tpk_m_y_registry.at(address);\n\n npk_m_x_registry.schedule_value_change(keys.npk_m.x);\n npk_m_y_registry.schedule_value_change(keys.npk_m.y);\n ivpk_m_x_registry.schedule_value_change(keys.ivpk_m.x);\n ivpk_m_y_registry.schedule_value_change(keys.ivpk_m.y);\n // Commented out as we hit the max enqueued public calls limit when not done so\n // ovpk_m_x_registry.schedule_value_change(ovpk_m.x);\n // ovpk_m_y_registry.schedule_value_change(ovpk_m.y);\n // tpk_m_x_registry.schedule_value_change(tpk_m.x);\n // tpk_m_y_registry.schedule_value_change(tpk_m.y);\n }\n}\n"},"35":{"path":"std/option.nr","source":"use crate::hash::{Hash, Hasher};\nuse crate::cmp::{Ordering, Ord, Eq};\nuse crate::default::Default;\n\nstruct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some { self._value } else { default }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// Asserts `self.is_some()` with a provided custom message and returns the contained `Some` value\n fn expect<N, MessageTypes>(self, message: fmtstr<N, MessageTypes>) -> T {\n assert(self.is_some(), message);\n self._value\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some { self } else { other }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some { self } else { default() }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some { Option::none() } else { self }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n\nimpl<T> Default for Option<T> {\n fn default() -> Self {\n Option::none()\n }\n}\n\nimpl<T> Eq for Option<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n if self._is_some == other._is_some {\n if self._is_some {\n self._value == other._value\n } else {\n true\n }\n } else {\n false\n }\n }\n}\n\nimpl<T> Hash for Option<T> where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher {\n self._is_some.hash(state);\n if self._is_some {\n self._value.hash(state);\n }\n }\n}\n\n// For this impl we're declaring Option::none < Option::some\nimpl<T> Ord for Option<T> where T: Ord {\n fn cmp(self, other: Self) -> Ordering {\n if self._is_some {\n if other._is_some {\n self._value.cmp(other._value)\n } else {\n Ordering::greater()\n }\n } else {\n if other._is_some {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n"},"4":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: u64,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: u64) -> T {\n assert(index < self.len);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: u64) -> T {\n self.storage[index]\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) -> u64 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u64 {\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<Len>(&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<Len>(&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<Len>(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\nimpl<T, MaxLen> 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, MaxLen, Len> 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 // TODO: Allow imports from \"super\"\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 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"},"43":{"path":"std/uint128.nr","source":"use crate::ops::{Add, Sub, Mul, Div, Rem, Not, BitOr, BitAnd, BitXor, Shl, Shr};\nuse crate::cmp::{Eq, Ord, Ordering};\n\nglobal pow64 : Field = 18446744073709551616; //2^64;\n\nstruct U128 {\n lo: Field,\n hi: Field,\n}\n\nimpl U128 {\n\n pub fn from_u64s_le(lo: u64, hi: u64) -> U128 {\n // in order to handle multiplication, we need to represent the product of two u64 without overflow\n assert(crate::field::modulus_num_bits() as u32 > 128);\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n pub fn from_u64s_be(hi: u64, lo: u64) -> U128 {\n U128::from_u64s_le(lo, hi)\n }\n\n pub fn from_le_bytes(bytes: [u8; 16]) -> U128 {\n let mut lo = 0;\n let mut base = 1;\n for i in 0..8 {\n lo += (bytes[i] as Field)*base;\n base *= 256;\n }\n let mut hi = 0;\n base = 1;\n for i in 8..16 {\n hi += (bytes[i] as Field)*base;\n base *= 256;\n }\n U128 { lo, hi }\n }\n\n pub fn to_be_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_be_bytes(8);\n let hi = self.hi.to_be_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = hi[i];\n bytes[i+8] = lo[i];\n }\n bytes\n }\n\n pub fn to_le_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_le_bytes(8);\n let hi = self.hi.to_le_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = lo[i];\n bytes[i+8] = hi[i];\n }\n bytes\n }\n\n pub fn from_hex<N>(hex: str<N>) -> U128 {\n let N = N as u32;\n let bytes = hex.as_bytes();\n // string must starts with \"0x\"\n assert((bytes[0] == 48) & (bytes[1] == 120), \"Invalid hexadecimal string\");\n assert(N < 35, \"Input does not fit into a U128\");\n\n let mut lo = 0;\n let mut hi = 0;\n let mut base = 1;\n if N <= 18 {\n for i in 0..N - 2 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n } else {\n for i in 0..16 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n base = 1;\n for i in 17..N - 1 {\n hi += U128::decode_ascii(bytes[N-i])*base;\n base = base*16;\n }\n }\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n fn decode_ascii(ascii: u8) -> Field {\n if ascii < 58 {\n ascii - 48\n } else if ascii < 71 {\n ascii - 55\n } else {\n ascii - 87\n } as Field\n }\n\n unconstrained fn unconstrained_div(self: Self, b: U128) -> (U128, U128) {\n if self < b {\n (U128::from_u64s_le(0, 0), self)\n } else {\n //TODO check if this can overflow?\n let (q,r) = self.unconstrained_div(b * U128::from_u64s_le(2, 0));\n let q_mul_2 = q * U128::from_u64s_le(2, 0);\n if r < b {\n (q_mul_2, r)\n } else {\n (q_mul_2 + U128::from_u64s_le(1, 0), r - b)\n }\n }\n }\n\n pub fn from_integer<T>(i: T) -> U128 {\n let f = crate::as_field(i);\n // Reject values which would overflow a u128\n f.assert_max_bit_size(128);\n let lo = f as u64 as Field;\n let hi = (f - lo) / pow64;\n U128 { lo, hi }\n }\n\n pub fn to_integer<T>(self) -> T {\n crate::from_field(self.lo + self.hi * pow64)\n }\n\n fn wrapping_mul(self: Self, b: U128) -> U128 {\n let low = self.lo * b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo + self.hi) * (b.lo + b.hi) - low + carry\n } else {\n self.lo * b.hi + self.hi * b.lo + carry\n };\n let hi = high as u64 as Field;\n U128 { lo, hi }\n }\n}\n\nimpl Add for U128 {\n fn add(self: Self, b: U128) -> U128 {\n let low = self.lo + b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64; \n let high = self.hi + b.hi + carry;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to add with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Sub for U128 {\n fn sub(self: Self, b: U128) -> U128 {\n let low = pow64 + self.lo - b.lo;\n let lo = low as u64 as Field;\n let borrow = (low == lo) as Field;\n let high = self.hi - b.hi - borrow;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to subtract with underflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Mul for U128 {\n fn mul(self: Self, b: U128) -> U128 {\n assert(self.hi*b.hi == 0, \"attempt to multiply with overflow\");\n let low = self.lo*b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo+self.hi)*(b.lo+b.hi) - low + carry\n } else {\n self.lo*b.hi + self.hi*b.lo + carry\n };\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to multiply with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Div for U128 {\n fn div(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n q\n }\n}\n\nimpl Rem for U128 {\n fn rem(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n r\n }\n}\n\nimpl Eq for U128 {\n fn eq(self: Self, b: U128) -> bool {\n (self.lo == b.lo) & (self.hi == b.hi)\n }\n}\n\nimpl Ord for U128 {\n fn cmp(self, other: Self) -> Ordering {\n let hi_ordering = (self.hi as u64).cmp((other.hi as u64));\n let lo_ordering = (self.lo as u64).cmp((other.lo as u64));\n \n if hi_ordering == Ordering::equal() {\n lo_ordering\n } else {\n hi_ordering\n }\n }\n}\n\nimpl Not for U128 { \n fn not(self) -> U128 {\n U128 {\n lo: (!(self.lo as u64)) as Field,\n hi: (!(self.hi as u64)) as Field\n }\n }\n}\n\nimpl BitOr for U128 { \n fn bitor(self, other: U128) -> U128 {\n U128 {\n lo: ((self.lo as u64) | (other.lo as u64)) as Field,\n hi: ((self.hi as u64) | (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitAnd for U128 {\n fn bitand(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) & (other.lo as u64)) as Field,\n hi: ((self.hi as u64) & (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitXor for U128 {\n fn bitxor(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) ^ (other.lo as u64)) as Field,\n hi: ((self.hi as u64) ^ (other.hi as u64)) as Field\n }\n }\n}\n\nimpl Shl for U128 { \n fn shl(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift left with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self.wrapping_mul(U128::from_integer(y))\n } \n}\n\nimpl Shr for U128 { \n fn shr(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift right with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self / U128::from_integer(y)\n } \n}\n\nmod test {\n use crate::uint128::{U128, pow64};\n\n #[test]\n fn test_not() {\n let num = U128::from_u64s_le(0, 0);\n let not_num = num.not();\n\n let max_u64: Field = pow64 - 1;\n assert_eq(not_num.hi, max_u64);\n assert_eq(not_num.lo, max_u64);\n\n let not_not_num = not_num.not();\n assert_eq(num, not_not_num);\n }\n}\n"},"50":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr","source":"use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER}, hash::pedersen_hash\n};\nuse dep::aztec::{\n prelude::Deserialize,\n context::{\n PrivateContext, PublicContext, Context, gas::GasOpts,\n interface::{ContextInterface, PublicContextInterface}\n},\n hash::hash_args_array\n};\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n// docs:start:assert_current_call_valid_authwit\n// Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let function_selector = FunctionSelector::from_signature(\"spend_private_authwit(Field)\");\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n let result: Field = context.call_private_function(on_behalf_of, function_selector, [inner_hash]).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n// docs:end:assert_current_call_valid_authwit\n\n// docs:start:assert_current_call_valid_authwit_public\n// Assert that `on_behalf_of` have authorized the current call in a public context\npub fn assert_current_call_valid_authwit_public<TPublicContext>(\n context: &mut TPublicContext,\n on_behalf_of: AztecAddress\n) where TPublicContext: ContextInterface + PublicContextInterface {\n let function_selector = FunctionSelector::from_signature(\"spend_public_authwit(Field)\");\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n let result: Field = PublicContextInterface::call_public_function(\n context,\n on_behalf_of,\n function_selector,\n [inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n// docs:start:compute_call_authwit_hash\n// Compute the message hash to be used by an authentication witness \npub fn compute_call_authwit_hash<N>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_outer_authwit_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_call_authwit_hash\n\npub fn compute_inner_authwit_hash<N>(args: [Field; N]) -> Field {\n pedersen_hash(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\npub fn compute_outer_authwit_hash(\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n inner_hash: Field\n) -> Field {\n pedersen_hash(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n"},"60":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/public_keys.nr","source":"use dep::protocol_types::{\n address::PublicKeysHash, constants::GENERATOR_INDEX__PUBLIC_KEYS_HASH, hash::poseidon2_hash,\n grumpkin_point::GrumpkinPoint, traits::{Deserialize, Serialize}\n};\n\n// Note: In fetch_key_from_registry we expect that the shared mutable slot is index * 2 + 1 for the x coordinate and\n// index * 2 + 2 for the y coordinate. For example, the npk_m x coordinates will be stored in a map at storage slot\n// 0 * 2 + 1 = 1, and the npk_m y coordinates at 2 * 2 + 2 = 6. If this changes the function will need to be\n// refactored.\nglobal NULLIFIER_INDEX = 0;\nglobal INCOMING_INDEX = 1;\nglobal OUTGOING_INDEX = 2;\nglobal TAGGING_INDEX = 3;\n\nglobal PUBLIC_KEYS_LENGTH = 8;\n\nstruct PublicKeys {\n npk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n ovpk_m: GrumpkinPoint,\n tpk_m: GrumpkinPoint,\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(\n poseidon2_hash(\n [\n self.npk_m.x,\n self.npk_m.y,\n self.ivpk_m.x,\n self.ivpk_m.y,\n self.ovpk_m.x,\n self.ovpk_m.y,\n self.tpk_m.x,\n self.tpk_m.y,\n GENERATOR_INDEX__PUBLIC_KEYS_HASH\n ]\n )\n )\n }\n\n pub fn get_key_by_index(self, index: Field) -> GrumpkinPoint {\n assert(index as u8 < 4, \"Invalid key index\");\n if index == NULLIFIER_INDEX {\n self.npk_m\n } else if index == INCOMING_INDEX {\n self.ivpk_m\n } else if index == OUTGOING_INDEX {\n self.ovpk_m\n } else {\n self.tpk_m\n }\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.x,\n self.npk_m.y,\n self.ivpk_m.x,\n self.ivpk_m.y,\n self.ovpk_m.x,\n self.ovpk_m.y,\n self.tpk_m.x,\n self.tpk_m.y,\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: GrumpkinPoint { x: serialized[0], y: serialized[1] },\n ivpk_m: GrumpkinPoint { x: serialized[2], y: serialized[3] },\n ovpk_m: GrumpkinPoint { x: serialized[4], y: serialized[5] },\n tpk_m: GrumpkinPoint { x: serialized[6], y: serialized[7] },\n }\n }\n}\n\n#[test]\nfn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: GrumpkinPoint { x: 1, y: 2 },\n ivpk_m: GrumpkinPoint { x: 3, y: 4 },\n ovpk_m: GrumpkinPoint { x: 5, y: 6 },\n tpk_m: GrumpkinPoint { x: 7, y: 8 }\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash = 0x1936abe4f6a920d16a9f6917f10a679507687e2cd935dd1f1cdcb1e908c027f3;\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nfn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: GrumpkinPoint { x: 1, y: 2 },\n ivpk_m: GrumpkinPoint { x: 3, y: 4 },\n ovpk_m: GrumpkinPoint { x: 5, y: 6 },\n tpk_m: GrumpkinPoint { x: 7, y: 8 }\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.x, deserialized.npk_m.x);\n assert_eq(keys.npk_m.y, deserialized.npk_m.y);\n assert_eq(keys.ivpk_m.x, deserialized.ivpk_m.x);\n assert_eq(keys.ivpk_m.y, deserialized.ivpk_m.y);\n assert_eq(keys.ovpk_m.x, deserialized.ovpk_m.x);\n assert_eq(keys.ovpk_m.y, deserialized.ovpk_m.y);\n assert_eq(keys.tpk_m.x, deserialized.tpk_m.x);\n assert_eq(keys.tpk_m.y, deserialized.tpk_m.y);\n}\n"},"61":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/public_storage.nr","source":"use dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::oracle::storage::{storage_read, storage_write};\n\npub fn read<T, N>(storage_slot: Field) -> T where T: Deserialize<N> {\n T::deserialize(storage_read(storage_slot))\n}\n\npub fn write<T, N>(storage_slot: Field, value: T) where T: Serialize<N> {\n storage_write(storage_slot, value.serialize());\n}\n\n// Ideally we'd do the following, but we cannot because of https://github.com/noir-lang/noir/issues/4633\n// pub fn read_historical<T, N>(\n// storage_slot: Field,\n// context: PrivateContext\n// ) -> T where T: Deserialize<N> {\n// let mut fields = [0; N];\n// for i in 0..N {\n// fields[i] = public_storage_historical_read(\n// context,\n// storage_slot + i as Field,\n// context.this_address()\n// );\n// }\n// T::deserialize(fields)\n// }\n\nmod tests {\n use dep::std::test::OracleMock;\n use dep::protocol_types::traits::{Deserialize, Serialize};\n use crate::public_storage;\n\n struct TestStruct {\n a: Field,\n b: Field,\n }\n\n impl Deserialize<2> for TestStruct {\n fn deserialize(fields: [Field; 2]) -> TestStruct {\n TestStruct { a: fields[0], b: fields[1] }\n }\n }\n\n impl Serialize<2> for TestStruct {\n fn serialize(self) -> [Field; 2] {\n [self.a, self.b]\n }\n }\n\n #[test]\n fn test_read() {\n let slot = 7;\n let written = TestStruct { a: 13, b: 42 };\n\n OracleMock::mock(\"storageRead\").with_params((slot, 2)).returns(written.serialize());\n\n let read: TestStruct = public_storage::read(slot);\n assert_eq(read.a, 13);\n assert_eq(read.b, 42);\n }\n\n #[test]\n fn test_write() {\n let slot = 7;\n let to_write = TestStruct { a: 13, b: 42 };\n\n let mock = OracleMock::mock(\"storageWrite\").returns([0; 2]); // The return value is unused\n\n public_storage::write(slot, to_write);\n assert_eq(mock.get_last_params(), (slot, to_write.serialize()));\n }\n}\n"},"78":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/public_context.nr","source":"use crate::{\n context::{\n inputs::PublicContextInputs, interface::ContextInterface, interface::PublicContextInterface,\n gas::GasOpts\n},\n messaging::process_l1_to_l2_message,\n oracle::{arguments, public_call::call_public_function_internal, returns, logs_traits::ToBytesForUnencryptedLog},\n hash::{hash_args, ArgsHasher, compute_unencrypted_log_hash}\n};\nuse dep::protocol_types::{\n abis::{\n global_variables::GlobalVariables, function_selector::FunctionSelector,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, side_effect::SideEffect\n},\n hash::silo_nullifier, address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_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_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest}, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::{Deserialize, Empty}\n};\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_hash : Field,\n\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_non_existent_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL>,\n contract_storage_update_requests: BoundedVec<StorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\n contract_storage_reads: BoundedVec<StorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\n public_call_stack_hashes: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n\n new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n new_l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n\n unencrypted_logs_hashes: BoundedVec<SideEffect, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n unencrypted_log_preimages_length: Field,\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n prover_address: AztecAddress,\n}\n\nimpl PublicContext {\n pub fn new(inputs: PublicContextInputs, args_hash: Field) -> PublicContext {\n PublicContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter,\n args_hash,\n return_hash: 0,\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n unencrypted_log_preimages_length: 0,\n historical_header: inputs.historical_header,\n prover_address: AztecAddress::zero()\n }\n }\n\n pub fn call_public_function_no_args<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &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 ) -> FunctionReturns<RETURNS_COUNT> {\n let side_effect_counter = self.side_effect_counter;\n // TODO(6052): get next value from output of `call_public_function_internal`\n self.side_effect_counter += 1;\n\n let raw_returns = call_public_function_internal(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n FunctionReturns::new(raw_returns)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n returns::pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n // Keep private or ask the AVM team if you want to change it.\n 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 // Keep private or ask the AVM team if you want to change it.\n fn push_nullifier_non_existent_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_non_existent_read_requests.push(request);\n }\n\n pub fn finish(self) -> PublicCircuitPublicInputs {\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n nullifier_read_requests: self.nullifier_read_requests.storage,\n nullifier_non_existent_read_requests: self.nullifier_non_existent_read_requests.storage,\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_reads: self.contract_storage_reads.storage,\n returns_hash: self.return_hash,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_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 unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n unencrypted_log_preimages_length: self.unencrypted_log_preimages_length + 4,\n historical_header: self.inputs.historical_header,\n global_variables: self.inputs.public_global_variables,\n prover_address: self.prover_address,\n revert_code: 0,\n start_gas_left: self.inputs.gas_left,\n end_gas_left: self.inputs.gas_left, // AVM should decrease this value\n transaction_fee: self.inputs.transaction_fee\n };\n pub_circuit_pub_inputs\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 ContextInterface for PublicContext {\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.public_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.public_global_variables.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_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier {\n value: nullifier,\n note_hash: 0, // cannot nullify pending notes in public context\n counter: self.next_counter()\n });\n }\n}\n\nimpl PublicContextInterface for PublicContext {\n fn block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n fn timestamp(self) -> u64 {\n self.inputs.public_global_variables.timestamp\n }\n\n fn coinbase(self) -> EthAddress {\n assert(false, \"'coinbase' not implemented!\");\n EthAddress::zero()\n }\n\n fn fee_recipient(self) -> AztecAddress {\n assert(false, \"'fee_recipient' not implemented!\");\n AztecAddress::zero()\n }\n\n fn fee_per_da_gas(self) -> Field {\n self.inputs.public_global_variables.gas_fees.fee_per_da_gas\n }\n\n fn fee_per_l2_gas(self) -> Field {\n self.inputs.public_global_variables.gas_fees.fee_per_l2_gas\n }\n\n fn transaction_fee(self) -> Field {\n self.inputs.transaction_fee\n }\n\n fn nullifier_exists(self, unsiloed_nullifier: Field, address: AztecAddress) -> bool {\n // Current public can only check for settled nullifiers, so we always silo.\n let siloed_nullifier = silo_nullifier(address, unsiloed_nullifier);\n nullifier_exists_oracle(siloed_nullifier) == 1\n }\n\n fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n // We can consume message with a secret in public context because the message cannot be modified and therefore\n // there is no front-running risk (e.g. somebody could front run you to claim your tokens to your address).\n // Leaf index is not used in public context, but it is used in the AVMContext which will replace it.\n fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress, _leaf_index: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n this,\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_new_nullifier(nullifier, 0)\n }\n\n fn emit_unencrypted_log<T, N, M>(&mut self, log: T) where T: ToBytesForUnencryptedLog<N, M> {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let log_slice = log.to_be_bytes_arr();\n let log_hash = compute_unencrypted_log_hash(\n contract_address,\n event_selector,\n log\n );\n let side_effect = SideEffect { value: log_hash, counter: self.next_counter() };\n self.unencrypted_logs_hashes.push(side_effect);\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n self.unencrypted_log_preimages_length = self.unencrypted_log_preimages_length + 44 + log_slice.len().to_field();\n // Call oracle to broadcast log\n let _void = emit_unencrypted_log_oracle(contract_address, event_selector, log, side_effect.counter);\n }\n\n fn call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field],\n _gas: GasOpts\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n fn static_call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field],\n _gas: GasOpts\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n fn delegate_call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field]\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n}\n\nimpl Empty for PublicContext {\n fn empty() -> Self {\n PublicContext {\n inputs: PublicContextInputs::empty(),\n side_effect_counter: 0 as u32,\n args_hash : 0,\n return_hash : 0,\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n }\n }\n}\n\n#[oracle(checkNullifierExists)]\nfn nullifier_exists_oracle(nullifier: Field) -> Field {}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T,\n _counter: u32\n) -> Field {}\n\nstruct FunctionReturns<N> {\n values: [Field; N]\n}\n\nimpl<N> FunctionReturns<N> {\n pub fn new(values: [Field; N]) -> FunctionReturns<N> {\n FunctionReturns { values }\n }\n\n pub fn assert_empty(returns: FunctionReturns<0>) {\n assert(returns.values.len() == 0);\n }\n\n pub fn raw(self) -> [Field; N] {\n self.values\n }\n\n pub fn deserialize_into<T>(self) -> T where T: Deserialize<N> {\n Deserialize::deserialize(self.raw())\n }\n}\n"},"96":{"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\n},\n traits::Hash, hash::{pedersen_hash, poseidon2_hash, silo_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_encrypted_log_hash<N, M, L>(encrypted_log: [Field; M]) -> Field where [Field; N]: LensForEncryptedLog<N, M, L> {\n let mut bytes = [0; L];\n // Note that bytes.append(encrypted_log[i].to_be_bytes(31)) results in bound error\n for i in 0..M - 1 {\n let to_add = encrypted_log[i].to_be_bytes(31);\n for j in 0..31 {\n bytes[i*31 + j] = to_add[j];\n }\n }\n // can't assign as L - not in scope error for: L-31*(M-1)\n let num_bytes = bytes.len() as u32 - 31 * (M - 1);\n let to_add_final = encrypted_log[M - 1].to_be_bytes(num_bytes);\n for j in 0..num_bytes {\n bytes[(M-1)*31 + j] = to_add_final[j];\n }\n sha256_to_field(bytes)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n event_selector: Field,\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 event_bytes = event_selector.to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = event_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[36 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[40 + 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\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\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() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\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..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n\n#[test]\nfn compute_enc_log_hash_304() {\n let input = [\n 0x0000000000000000000000000000000000000000000000000000000000000000,\n 0x0021a0d4aa9989656b592187cf6da1965df53ab2ff2277421e663465cf20d3e9,\n 0x00c3969cc350f3474f8187a33ac1317181961f5f94043b07ce888d85a5d20cb5,\n 0x0058198041ed1547b056955b5141a5a8a1551b0c8d094255ec9daaf3604d9348,\n 0x00247ad96df2e4d984cf795ed7316234743a681f824a45c46253de8bfde48850,\n 0x007fc251f4ce44f4e9aba3dbf6567228be28fac85660156f2825ddb0b0577457,\n 0x009315851323c6bc2aaa42e23fe5f3be97208f2d8167eafdfc5742d94f2f4dd4,\n 0x00b938289e563b0fe01982cd9b8d9e33e3069046768ad01c0fb05e429e7b7909,\n 0x00fbcc257a3211f705b471eee763b0f43876a2b2178fab6d2b09bd2b7e086584,\n 0x000000000000008c3289b5793b7448f4d45ecde039d004b6f037cad10b5c2336\n ];\n let hash = compute_encrypted_log_hash(input);\n assert(hash == 0x001e3c013994947fe28957a876bf1b2c3a69ac69cc92909efd4f2ae9b972f893);\n}\n\n#[test]\nfn compute_enc_log_hash_368() {\n let input = [\n 0x0000000000000000000000000000000000000000000000000000000000000000,\n 0x002190697d2a50e229a7a077e0951073f7d51e46679f10466153c308b63b1ea9,\n 0x00543e346facc6799b94514c9d461bcc836c04b083b13c2e4544a39130473c1e,\n 0x000df76d59526f8f953bcc7d9f77cdaefd36435931f0d7348f794bc275b42ded,\n 0x00a6d390ee1723af7f7ac1ae4fc81a266b2370fe07040a36d06dbe242e02413e,\n 0x00acbce15b6af1fbe94bd0f7b70f11768265dff77bfe63398f2a053efdfdf26d,\n 0x00b8b131b9f42c689beb095ba4f4a836d4d15c9068d0422e9add6ca82b786329,\n 0x00661a6a654b38f0f97d404ef5553e0efea9ed670561ae86685b31bbb2824fac,\n 0x00113a6b58edfaec0065b365f66ba8d8aa68254b8690035e8d671a17a843f0a1,\n 0x0023f2d2eae8c4449bac8f268a3e62a3faace1fe1401f0efdc8b0ccfbc8fb271,\n 0x00cf6603f8c61993dd2f662c719671c61727a2f4e925fb988b23d31feccd77d9,\n 0x0000000000a402a84b7294671799c38dd805f6a827a3a12633fdf91a57debe1f\n ];\n let hash = compute_encrypted_log_hash(input);\n assert(hash == 0x00a0d651ac0cbc01b72430fa6a05d91738595af6e0229347b4c9968223387aeb);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00846d6969c8c2f61d39cd2762efcb0abb14f88d59c2675910251ef2bcffe9a7);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00880a801230ea08c98a802a11b4786cba474513875f0fc69a615e81c5f9f21c);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00a78b5347813624ecfd26e5b8bc6146f418b0cfcc8296b5112d09b8ebba9496);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x001f3390ea242afee7ce46dafdbdc4bd4f1cf20cd63850d12d60ff9956712c4f);\n}\n"}}}
|
|
1
|
+
{"transpiled":true,"noir_version":"0.29.0+78f13d9e0070502a980003c7ded3738fd353dd5a","name":"KeyRegistry","functions":[{"name":"compute_note_hash_and_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"param_witnesses":{"contract_address":[{"end":1,"start":0}],"nonce":[{"end":2,"start":1}],"note_type_id":[{"end":4,"start":3}],"serialized_note":[],"storage_slot":[{"end":3,"start":2}]},"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":"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"},"return_witnesses":[4,5,6,7]},"bytecode":"H4sIAAAAAAAA/+2b227iMBCGE8ohNMshIYTzobQ3exdYCvSOl9l9671fad9htZ3UUwZrWjnqxIolLKFMjOP/m9+HppXre2+l9frxVdzQrrRgm7O6Zl8rW8G+sjI5fUc4a45w3gly+gwnXOsqhivM5aZ3Pc/fy1lwklBRCgUDc0fqPoK7eghKUwWBBnyWgD5lpybpnEJDCRU4BQhJIj6pw2drpA53kLvg0kVTPod9QMwT6/d1QMNL2u/cIYnxO9Cekrp6STk25HMsy7t8VaI/DdVvi9yjV20VC+6wW6rtq0+baHpqjDCekLbYDv2okTGG0vEu49/+5Lm69lyXtGky+Z892fxbGk9LY24oJigR8Gp7QEljk0G/9/L9Xo15XRuTe5JTR9zv3Qn2hNC7LvpPmTOJO4TnmzhPti0nz7ex6xJ2mX6f9+BVT/Mq1LzqkjaUoVeCfz7Rxb7xvsdoy3lxOIF238CLPsPTt+xFn9EW9OIFtCMDLyKGJ7LsRcRoy3lx/AHasYEXMcMTW/YiZrTlvNjl7xYDAy8GDM/AshcDRltwjeTzIjHwImF4EsteJIy2oBe/QHto4MWQ4Rla9mLIaAt68RO0UwMvUoYntexFymgL7p35+8XIwIsRwzOy7MWI0Rb0YgfaYwMvxgzP2LIXY0ZbcI3k2hMDLyYMz8SyF/R31CLMAweZUweZ4wowB1oso33I98+pgRdThmdq2QvUK8qcVIA50GIZ7cMzaM8MvJgxPDPLXqBeUebIQebYQeahg8yJg8ypg8xVmM+BFstoH/M9dG7gxZzhmVv2AvWKMkcOMk8dZI4rwBxosYz2Mf/b3MLAiwXDs7DsBeoVZR45yNyvAHOgxTLaxwNoLw28WDI8S8teoF5R5rGDzKmDzFMHmWMHmYcOMicOMt/WoB3mqALM9EzT31J5di+hxoOeeRqjpzGGJKbnYFbijFlGx2dFtNbyWltuvuD9ulTt3Qn63cjnlL/LP6q+8AzfhsnpScXS57keSb8+0cH6Oon/kLbYDv3AdYvsMO8eVPz0yXNL7bkuafPA5H/2ZPPfaDwbjRnG5DfhWItz7E4m87rvXdbyd8JTwj64p2dysZjsOyXtMduS8szoGb5/nuyaXmteBZpXXdKG7tHrEvwzmV835hvzR8z0fSIgdfj9itTVtFzo/zJgezgz/B/4fzqFFjUAAA==","debug_symbols":"ndpBattQGIXRvWgciu8v6ekpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/Xl7ftse7y/Ol+37ZXgcKw/D7vhyf2qfD8Pr/rC7PW/a57eH+2iRUZfRCqNxI6PIqGQ0ymiS0SwjKWKUIkYpYpQiJilikiImKWKSIiYpYpIiJilikiImKWKSImYpYpYiZililiJmKWKWImYpYpYiZililiKaFNGkiCZFNCmiSRFNimhSRJMimhTRpIhFilikiEWKWKSIRYpYpIhFilikiEWKWKSILkV0KaJLEV2K6FJElyK6FNGliC5FdClilSJWKWKVIlYpYpUiVililSJWKWKVIlYpIpsNrUKrotVIq4lWM60arRZadVpRG6E2Qm2E2gi1EWoj1EaojVAboTZCbRS1UdRGURtFbRS1UdQGcWbIM0OgGRLNEGmGTDOEmiHVDLFmyDVDsBmSzRBthmwzhJsh3QzxZsg3Q8AZEs4QcYaMM4ScIeUMMWfIOUPQGZLOEHWGrDOEnSHtDHFnyDtD4BkSzxB5hswzhJ4h9QyxZ8g9Q/AZks8QfYbsM4SfIf0M8WfIP0MAGhLQEIGGDDSEoCEFDTFoyEFDEBqS0BCFhiw0hKEhDQ1xaMhDQyAaEtEQiYZMNISiIRUNsWjIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFy6552j1Pu+hJLlrkokUuWuSiRS5a/+2it9PP7ft++3TY3W/23j9+HJ//XfS9HS+/3v5+uf37Gw=="},{"name":"rotate_npk_m","is_unconstrained":true,"custom_attributes":["aztec(public)"],"abi":{"error_types":{},"param_witnesses":{"address":[{"end":42,"start":41}],"inputs":[{"end":41,"start":0}],"new_npk_m":[{"end":44,"start":42}],"nonce":[{"end":45,"start":44}]},"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"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"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":"tx_tree_height","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":"public_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":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"transaction_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::context::inputs::public_context_inputs::PublicContextInputs"},"visibility":"private"},{"name":"address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"new_npk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"nullifier_read_requests","type":{"kind":"array","length":32,"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_non_existent_read_requests","type":{"kind":"array","length":32,"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":"contract_storage_update_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"new_value","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest"}}},{"name":"contract_storage_reads","type":{"kind":"array","length":16,"type":{"fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"current_value","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_read::StorageRead"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"new_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":"new_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":"new_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":"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":"tx_tree_height","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":"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":"prover_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"transaction_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs"},"visibility":"public"},"return_witnesses":[45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398]},"bytecode":"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","debug_symbols":"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vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue31Z7/VlvdeX9V5f1nt9We/1Zb3Xl/VeX9Z7fVnv9WW915f1Xl/We31Z7/VlvdeX9V5f1nt9We/1Zb3Xl/VeX9Z7fVnv9WW915f1Xl/We31Z7/VlvdeX9V5f1nt9We/1Zb3Xl/VeX9Z7fVnv9WW915f1Xl/We31Z7/VlvdeX9V5f1nt9We/1Zb3Xl/VeX9Z7fVnv9WW915f1Xl/We31Z7/VlvdeX9V5f1nt9We/1Zb3Xl/VeX9Z7fVnv9WW915f1Xl/We31Z7/VlvdeX9V5f1nt9We/1Zb3Xl/VeX9Z7fVnv9WW915f1Xl/We31Z7/VlvdeX9V5f1nt9We/1Zb3Xl/VeX9Z7fVnv9WW915f1Xl/We31Z7/VlvdeX9V5f1nt9We/1Zb3Xl/VeX9Z7fVnv9WW915f1Xl/We31Z7/VlvdeX9V5flnt9epV7ffdLpP4Srb/E6i/x+kui/pJVf8muv+TUX1J/96X+7kv93Zf6uy/1d1/q777U332pv/tSf/el/u5L/d3X+ruv9Xdf6+++1t99rb/7Wn/3tf7ua/3d1/q7r/V33+rvvtXffau/+1Z/963+7lv93bf6u2/1d9/q777V332vv/tef/e9/u57/d33+rvv9Xff6+++1999r7/7Xn/3o/7uR/3dj/q7H/V3P+rvftTf/ai/+1F/96P+7kf93V/1d3/V3/1Vf/dX/d1f9Xd/1d/9VX/3V/3dX/V3f9Xf/V1/93f93d/1d3/X3/1df/d3/d3f9Xd/19/9XX/3d/3dP/V3/9Tf/VN/90/93T/1d//U3/1Tf/dP/d0/9Xf/1N/9rL/7WX/3s/7uZ/3dz/q7n/V3P+vvftbf/ay/+/Ven9R7fVLv9Um91yf1Xp/Ue31S7/VJvdcn9V6f1Ht9Uu/1Sb3XJ/Ven9R7fVLv9Um91yf1Xp/Ue31S7/VJvdcn9V6f1Ht9Uu/1Sb3XJ/Ven9R7fVLv9Um91yf1Xp/Ue31S7/VJvdcn9V6f1Ht9Uu/1Sb3XJ/Ven9R7fVLv9Um91yf1Xp/Ue31S7/VJvdcn9V6f1Ht9Uu/1Sb3XJ/Ven9R7fVLv9Um91yf1Xp/Ue31S7/VJvdcn9V6f1Ht9Uu/1Sb3XJ/Ven9R7fVLv9Um91yf1Xp/Ue31S7/VJvdcn9V6f1Ht9Uu/1Sb3XJ/Ven9R7fVLv9Um91yf1Xp/Ue31S7/VJvdcn9V6f1Ht9Uu/1Sb3XJ/Ven9R7fVLv9Um91yf1Xp/Ue31S7/VJvdcn9V6f1Ht9Uu/1Sb3XJ/Ven9R7fVLv9Um91yf1Xp/We31a7/Vpvden9V7f/W+46y+J+ktW/SW7/pJTf0n93a/3+rTe69N6r0/rvT6t9/q03uvTeq9P670+rff6tN7r03qvT+u9Pq33+rTe69N6r0/rvT6t9/q03uvTeq9P670+rff6tN7r03qvT+u9Pq33+rTe69N6r0/rvT6t9/q03uvTeq9P670+rff6tN7r03qvT+u9Pq33+rTe69N6r0/rvT6t9/q03uvTeq9P670+rff6tN7r03qvT+u9Pq33+rTe69N6r0/rvT6t9/q03uvTeq9P670+rff6tN7r03qvT+u9Pq33+rTe69N6r0/rvT6t9/q03uvTeq9P670+rff6tN7r03qvT+u9Pq33+rTe69N6r0/rvT6t9/q03uvTeq9P670+rff6tN7r03qvT+u9Pq33+rTe69N6r0/rvT6t9/q03uuzeq/P6r0+q/f6rN7rs3qvz+q9Pqv3+qze67N6r8/qvT6r9/qs3uuzeq/P6r0+q/f6rN7rs3qvz+q9Pqv3+qze67N6r8/qvT6r9/qs3uuzeq/P6r0+q/f6rN7rs3qvz+q9Pqv3+qze67N6r8/qvT6r9/qs3uuzeq/P6r0+q/f6rN7rs3qvz+q9Pqv3+qze67N6r8/qvT6r9/qs3uuzeq/P6r0+q/f6rN7rs3qvz+q9Pqv3+qze67N6r8/qvT6r9/qs3uuzeq/P6r0+q/f6rN7rs3qvz+q9Pqv3+qze67N6r8/qvT6r9/qs3uuzeq/P6r0+q/f6rN7rs3qvz+q9Pqv3+qze67N6r8/qvT6r9/qs3uuzeq/P6r0+q/f6rN7rs3qvz+q9Pqv3+qze67N6r8/qvT6r9/qs3uuzeq/P6r0+q/f6rN7r83qvz+u9Pq/3+rze6/N6r8/rvT6v9/q83uvzeq/P670+r/f6vN7r83qvz+u9Pq/3+rze6/N6r8/rvT6v9/q83uvzeq/P670+r/f6vN7r83qvz+u9Pq/3+rze6/N6r8/rvT6v9/q83uvzeq/P670+r/f6vN7r83qvz+u9Pq/3+rze6/N6r8/rvT6v9/q83uvzeq/P670+r/f6vN7r83qvz+u9Pq/3+rze6/N6r8/rvT6v9/q83uvzeq/P670+r/f6vN7r83qvz+u9Pq/3+rze6/N6r8/rvT6v9/q83uvzeq/P670+r/f6vN7r83qvz+u9Pq/3+rze6/N6r8/rvT6v9/q83uvzeq/P670+r/f6vN7r83qvz+u9Pq/3+rze6/N6r8/rvT6v9/q83uvzeq/P670+r/f6vN7r83qvz+u9Pq/3+rze64t6ry/qvb6o9/qi3uuLeq8v6r2+qPf6ot7ri3qvL+q9vqj3+qLe64t6ry/qvb6o9/qi3uuLeq8v6r2+qPf6ot7ri3qvL+q9vqj3+qLe64t6ry/qvb6o9/qi3uuLeq8v6r2+qPf6ot7ri3qvL+q9vqj3+qLe64t6ry/qvb6o9/qi3uuLeq8v6r2+qPf6ot7ri3qvL+q9vqj3+qLe64t6ry/qvb6o9/qi3uuLeq8v6r2+qPf6ot7ri3qvL+q9vqj3+qLe64t6ry/qvb6o9/qi3uuLeq8v6r2+qPf6ot7ri3qvL+q9vqj3+qLe64t6ry/qvb6o9/qi3uuLeq8v6r2+qPf6ot7ri3qvL+q9vqj3+qLe64t6ry/qvb6o9/qi3uuLeq8v6r2+qPf6ot7ri3qvL+q9vqj3+qLe64t6ry/qvb6o9/qi3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vlXv9a16r2/Ve32r3utb9V7fqvf6Vr3Xt+q9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273uvb9V7frvf6dr3Xt+u9vl3v9e16r2/Xe3273us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vlPv9Z16r+/Ue32n3us79V7fqff6Tr3Xd+q9vqz3+rLe68t6ry/rvb6s9/qy3uvLeq8v672+rPf6st7ry3qvL+u9vqz3+rLe68t6ry/rvb6s9/qy3uvLeq8v672+rPf6st7ry3qvL+u9vqz3+rLe68t6ry/rvb6s9/qy3uvLeq8v672+rPf6st7ry3qvL+u9vqz3+rLe68t6ry/rvb6s9/qy3uvLeq8v672+rPf6st7ry3qvL+u9vqz3+rLe68t6ry/rvb6s9/qy3uvLeq8v672+rPf6st7ry3qvL+u9vqz3+rLe68t6ry/rvb6s9/qy3uvLeq8v672+rPf6st7ry3qvL+u9vqz3+rLe68t6ry/rvb6s9/qy3uvLeq8v672+rPf6st7ry3qvL+u9vqz3+rLe68t6ry/rvb6s9/qy3uvLeq8v672+rPf6st7ry3qvL+u9vqz3+rLe68t6ry/LvT67yr2++yVSf4nWX2L1l3j9JVF/yaq/ZNdfcuovqb/7Un/3pf7uS/3dl/q7L/V3X+rvvtTffam/+1J/9//c6xM/669XScj5hxf+p3/303Htv344XJ8/q+6Ph/y5O/ivHvJ4oXz2hX98V2VZPF64PP74wvjsC9dnX7g/+8Lz2RfmJ1/45z7fR14on32hfvaF9tkXfvaTY5/95NhnPzn2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yS8jGF+TX0Ywvia/jAC+Jk9XvT4QAXxNni56fSAC+Jo8XfN6HcF0y+sDEcDX5PmO18sI4GvyfMfrZQTwNXm+4/UyAviaPN/xehkBfE2e73i9jAC+Js93vF5GAF+T5zteLyOAr8nzHa+XEcDX5PmO18sI4GvyfMfrZQTwNXm+4/UyAviaPN/xehkBfE2e73i9jAC+Js93vF5GAF+T5zteLyOAr8nzHa+XEcDX5PmO18sI4GvyfMfrZQTwNXm+4/UyAvSaHPMdr5cRoNfkmO94vYwAvSbHhV6TY77j9TIC9Joc8x2vlxGg1+SY73i9imC+4/UyAviaPN/xehkBfE2e73i9jAC+Js93vF5GAF+T5zteLyOAr8nzHa+XEcDX5PmO18sI4GvyfMfrZQTwNXm+4/UyAviaPN/xehkBfE2e73i9jAC+Js93vF5GAF+T5zteLyOAr8nzHa+XEcDX5PmO18sI4GvyfMfrZQTwNXm+4/UyAviaDO94BbzjFfCOV8A7XgHveAW84xXwjlfAO14B73gFvOMV8I5XwDteAe94BbzjFfCOV8A7XgHveAW84xXwjlfAO14B73gFvOMV8I5XwDteAe94BbzjFfCOV8A7XgHveAW84xXwjlfAO14B73gFvOMV8I5XwDteAe94BbzjFfCOV8A7XgHveAW84xXwjlfAO14B73gFvOMV8I5XwDteAe94BbzjFfCOV8A7XgHveAW84xXwjlfAO14L3vFa8I7Xgne8FrzjtS70mrzgHa8F73gteMdrwTteC97xWvCO14J3vBa847XgHa8F73gteMdrwTteC97xWvCO14J3vBa847XgHa8F73gteMdrwTteC97xWvCO14J3vBa847XgHa8F73gteMdrwTteC97xWvCO14J3vBa847XgHa8F73gteMdrwTteC97xWvCO14J3vBa847XgHa8F73gteMdrwTteC97xWvCO14J3vBa847XgHa8F73gteMdrwTteC97xWvCO14J3vBa847XgHa8F73gteMdrwTteC97xWvCO14J3vBa847XgHa8F73gteMdrwTteC97xWvCO14J3vBa847XgHa8F73gteMdrwTteC97xWvCO14J3vBa847XgHa8F73gteMdrwTteC97xWvCO14J3vBa847XgHa8F73gteMdrwTteC97xWvCO14J3vDa847XhHa8N73hteMdrX+g1ecM7Xhve8drwjteGd7w2vOO14R2vDe94bXjHa8M7Xhve8drwjteGd7w2vOO14R2vDe94bXjHa8M7Xhve8drwjteGd7w2vOO14R2vDe94bXjHa8M7Xhve8drwjteGd7w2vOO14R2vDe94bXjHa8M7Xhve8drwjteGd7w2vOO14R2vDe94bXjHa8M7Xhve8drwjteGd7w2vOO14R2vDe94bXjHa8M7Xhve8drwjteGd7w2vOO14R2vDe94bXjHa8M7Xhve8drwjteGd7w2vOO14R2vDe94bXjHa8M7Xhve8drwjteGd7w2vOO14R2vDe94bXjHa8M7Xhve8drwjteGd7w2vOO14R2vDe94bXjHa8M7Xhve8drwjteGd7w2vOO14R2vDe94bXjHa8M7Xhve8drwjteGd7w2vOO14R2vDe94HXjH68A7Xgfe8Trwjte50GvygXe8DrzjdeAdrwPveB14x+vAO14H3vE68I7XgXe8DrzjdeAdrwPveB14x+vAO14H3vE68I7XgXe8DrzjdeAdrwPveB14x+vAO14H3vE68I7XgXe8DrzjdeAdrwPveB14x+vAO14H3vE68I7XgXe8DrzjdeAdrwPveB14x+vAO14H3vE68I7XgXe8DrzjdeAdrwPveB14x+vAO14H3vE68I7XgXe8DrzjdeAdrwPveB14x+vAO14H3vE68I7XgXe8DrzjdeAdrwPveB14x+vAO14H3vE68I7XgXe8DrzjdeAdrwPveB14x+vAO14H3vE68I7XgXe8DrzjdeAdrwPveB14x+vAO14H3vE68I7XgXe8DrzjdeAdrwPveB14x+vAO14H3vE68I7XgXe8DrzjdeAdrwPveB14x+vAO14H3vFKeMcr4R2vhHe8Et7xygu9Jie845XwjlfCO14J73glvOOV8I5XwjteCe94JbzjlfCOV8I7XgnveCW845XwjlfCO14J73glvOOV8I5XwjteCe94JbzjlfCOV8I7XgnveCW845XwjlfCO14J73glvOOV8I5XwjteCe94JbzjlfCOV8I7XgnveCW845XwjlfCO14J73glvOOV8I5XwjteCe94JbzjlfCOV8I7XgnveCW845XwjlfCO14J73glvOOV8I5XwjteCe94JbzjlfCOV8I7XgnveCW845XwjlfCO14J73glvOOV8I5X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JpNcmExyYTLJhckkFyaTXJhMcmEyyYXJJBcmk1yYTHJhMsmFySQXJpNcmExyYTLJhckkFyaTXJhMcmEyyYXJJBcmk1yYTHJhMsmFySQXJpNcmExyYTLJhckkFyaTXJhMcmEyyYXJJBcmk1yYTHJhMsmFySRXJpNcmUxyZTLJlckk18uZgiW6QSmTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTGZ5MZkkhuTSW5MJrldzhQs0Q3KmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmdySR3JpPcmUxyZzLJ/XKmYIluUM5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwm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"},{"name":"register","is_unconstrained":true,"custom_attributes":["aztec(public)"],"abi":{"error_types":{},"param_witnesses":{"address":[{"end":42,"start":41}],"inputs":[{"end":41,"start":0}],"keys":[{"end":51,"start":43}],"partial_address":[{"end":43,"start":42}]},"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"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"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":"tx_tree_height","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":"public_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":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"transaction_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::context::inputs::public_context_inputs::PublicContextInputs"},"visibility":"private"},{"name":"address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"partial_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::partial_address::PartialAddress"},"visibility":"private"},{"name":"keys","type":{"fields":[{"name":"npk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"ivpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"ovpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"tpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}}],"kind":"struct","path":"aztec::keys::public_keys::PublicKeys"},"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"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"nullifier_read_requests","type":{"kind":"array","length":32,"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_non_existent_read_requests","type":{"kind":"array","length":32,"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":"contract_storage_update_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"new_value","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest"}}},{"name":"contract_storage_reads","type":{"kind":"array","length":16,"type":{"fields":[{"name":"storage_slot","type":{"kind":"field"}},{"name":"current_value","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::contrakt::storage_read::StorageRead"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"new_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":"new_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":"new_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":"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":"tx_tree_height","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":"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":"prover_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"transaction_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs"},"visibility":"public"},"return_witnesses":[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404]},"bytecode":"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","debug_symbols":"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r2U0Wos0WststJZG+4s02l9OPGfzfC3RaC2N9t0Tz9nonPc6rdv2z1/sK/P3i2Mzub9Ytvy98hNP5bx65QN25dJh5b/XcmYFWH5by5yP1qKN1mKN1uKN1hKN1pKN1rL6rEW3RmsZjdYijdbSaN/VRvuuNtp3tdG+q432XW2072qjfdca7bvWaN+1RvuuNdp3rdG+a432XWu071qjfdca7bvWaN/1RvuuN9p3vdG+6432XW+073qjfdcb7bveaK/zRntdNNrrotFeF432uhNP2ajKdp/v5pcn0yeeyXn1yg125Sf+d37P/nuTM8+1PFtLNvrvcM481/J0LdJoLbPRWs7bu2aOWwWYKfPBWqzRWrzRWqLRWrLRWlaftZx5ruXpWkajtUijtcxGazlx3w23+1rGo7VYo7V4o7VEo7Vko7WsNmsZ25kHW54vZnRajHRazOy0mD6b776YPrvvvpg+2+++mD77776YPhvwvphOO/DotAOPTjvw6LQDj0478Oi0A49OO/DotAOPTjvw6LQDj047sHTagaXTDiyddmDptANLpx1YOu3A0mkHlk47sHTagc/8laac99Pv6f5gMWf+TNPzxYxOi5FOi5mdFqOdFnPmv73l7XTdXNMeLcY7LWY1WsyZP0v0fDGj02Kk02Jmp8Vop8WcuM/s/xD6+8W6Wf7zFz/9L472pTvu0gN36dlh6bfFnFgLlun9TykfLebMn0p6vpjRaTHSaTGz02K002Ks02K802Ki02Ky02I67cDeaQf2Tjuwd9qBvdMO7J12YO+0A3unHdg77cDeaQf2TjtwdNqBo9MOHJ124Oi0A0enHTg67cDRaQeOTjtwdNqBo9MOnJ124Oy0A2enHfjEM2c6tvtJz7GNR4vRTouxTovxTouJTovJTotZjRZz4tGzTyxmdFqMdFpMpx14ddqBV6cdeHXagVenHXh12oFXox14bI124LE12oHH1mgHHlujHXj/t+ROi2m0A4+t0Q48tkY78Nga7cBj67QDj0478Oi0A49OO/DotAOPTjvw6LQDj0478Oi0A49OO/DotANLpx1YOu3A0mkHlk47sHTagaXTDiyddmDptANLpx1YOu3As9MOPDvtwLPTDjw77cCz0w48O+3As9MOPDvtwLPTDjw77cDaaQfWTjuwdtqBtdMOrJ12YO20A2unHVg77cDaaQfWTjuwddqBrdMObJ12YOu0A1unHdg67cDWaQe2TjuwddqBrdMO7J12YO+0A3unHdg77cDeaQf2Tjuwd9qBvdMO7J12YO+0A0enHTg67cDRaQeOTjtwdNqBo9MOHJ124Oi0A0enHTg67cDZaQfOTjtwdtqBO52JG53OxI1OZ+JGpzNxo9OZuNHpTNzodCZudDoTNzqdiRudzsSNTmfiRqczcaPTmbjR6Uzc6HQmbnQ6Ezc6nYmTTmfipNOZOOl0Jk46nYmTrdEOLJ3OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6UycdDoTJ53OxEmnM3HS6Uzc7HQmbnY6Ezc7nYmbnc7Eza3RDjw7nYmbnc7EzU5n4manM3Gz05m42elM3Ox0Jm52OhM3O52Jm53OxM1OZ+JmpzNxs9OZuNnpTNzsdCZudjoTNzudiZudzsTNTmfiZqczcbPTmbjZ6Uzc7HQmbnY6Ezc7nYmbnc7EzU5n4manM3Gz05m42elM3Ox0Jm52OhM3O52Jm53OxM1OZ+JmpzNxs9OZuNnpTNzsdCZudjoTNzudiZudzsTNTmfiZqczcbPTmbjZ6UzcPPVMnOp9Me6PFiOdFjM7LebEHVjGvC1Ghj5ajHVaTHRaTHZazGq0mDOPoT1fzOi0mK89wLZuW4f4/PPq3O6fn9/8+et7P/+Lx2eef/745s8vFLXbW2b9LVp/i9Xf4vW3RP0tWX/LKr+lcijg9pZRf0v97mf97mf97mf97mf97mf97mf97mf97q/63V/1u7/qd3/V7/6q3/1Vv/urfvdX/e6v+t1f5buv21Z/y6i/RepvmfW3aP0tVn+L198S9bdk/S31uz/qd3/U7/6o3/1Rv/ujfvdH/e6P+t0f9bs/6nd/1O++1O++1O++1O++1O++1O++1O++1O++1O++1O++1O/+rN/9Wb/7s373Z/3uz/rdn/W7P+t3f9bv/qzf/Vm/+1q/+1q/+1q/+1q/+1q/+1q/+1q/+1q/+1q/+1q/+1a/+1a/+1a/+1a/+1a/+1a/+1a/+1a/+1a/+1a/+16/+16/+16/+16/+16/+16/+16/+16/+16/+16/+1G/+1G/+/VZn9ZnfVqf9Wl91qf1WZ/WZ31an/Vpfdan9Vmf1md9Wp/1aX3Wp/VZn9ZnfVqf9Wl91qf1WZ/WZ31an/Vpfdan9Vmf1md9Wp/1aX3Wp/VZn9ZnfVqf9Wl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/Vlfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb9Vnfas+61v1Wd+qz/pWfda36rO+VZ/1rfqsb5VnfbKVZ337W0b9LVJ/y6y/RetvsfpbvP6WqL8l62+p3/1Rv/ujfvdH/e6P+t0f9bs/6nd/1O/+qN/9Ub/7o373pX73pX73pX73pX73pX73pX73pX73pX73pX73pX73Z/3uz/rdn/W7P+t3f9bv/qzf/Vm/+7N+92f97s/63df63df63df63df63df63df63df63df63df63df63bf63bf63bf63bf63bf63bf63bf63bf63bf63bf63ff63ff63ff63ff63ff63ff63ff63ff63ff63ff63Y/63Y/63Y/63Y/63Y/63Y/63Y/63Y/63Y/63Y/63c/63c/63c/63c/63c/63c/63c/63c/63c/63c/63V/1u7/qd3/V7/6q3/1Vv/urfvdX/e6v+t1f9btfn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZ36jP+kZ91jfqs75Rn/WN+qxv1Gd9oz7rG/VZn9RnfVKf9Ul91if1Wd/+L9z1t1j9LV5/S9TfkvW31O9+fdYn9Vmf1Gd9Up/1SX3WJ/VZn9RnfVKf9Ul91if1WZ/UZ31Sn/VJfdYn9Vmf1Gd9Up/1SX3WJ/VZn9RnfVKf9Ul91if1WZ/UZ31Sn/VJfdYn9Vmf1Gd9Up/1SX3WJ/VZn9RnfVKf9Ul91if1WZ/UZ31Sn/VJfdYn9Vmf1Gd9Up/1SX3WJ/VZn9RnfVKf9Ul91if1WZ/UZ31Sn/VJfdYn9Vmf1Gd9Up/1SX3WJ/VZn9RnfVKf9Ul91if1WZ/UZ31Sn/VJfdYn9Vmf1Gd9Up/1SX3WJ/VZn9RnfVKf9Ul91if1WZ/UZ31Sn/VJfdYn9Vmf1Gd9Up/1SX3WJ/VZn9RnfVKf9Ul91if1WZ/UZ31Sn/VJfdYn9Vmf1Gd9Up/1SX3WJ/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/XN+qxv1md9sz7rm/VZ36zP+mZ91jfrs75Zn/Vpfdan9Vmf1md9Wp/1aX3Wp/VZn9ZnfVqf9Wl91qf1WZ/WZ31an/Vpfdan9Vmf1md9Wp/1aX3Wp/VZn9ZnfVqf9Wl91qf1WZ/WZ31an/Vpfdan9Vmf1md9Wp/1aX3Wp/VZn9ZnfVqf9Wl91qf1WZ/WZ31an/Vpfdan9Vmf1md9Wp/1aX3Wp/VZn9ZnfVqf9Wl91qf1WZ/WZ31an/Vpfdan9Vmf1md9Wp/1aX3Wp/VZn9ZnfVqf9Wl91qf1WZ/WZ31an/Vpfdan9Vmf1md9Wp/1aX3Wp/VZn9ZnfVqf9Wl91qf1WZ/WZ31an/Vpfdan9Vmf1md9Wp/1aX3Wp/VZn9ZnfVqf9Wl91qf1WZ/WZ31an/Vpfdan9Vmf1md9Wp/1aX3Wp/VZn9ZnfVqf9Wl91qf1WZ/WZ31an/Vpfdan9Vmf1md9Wp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Vl91mf1WZ/VZ31Wn/VZfdZn9Vmf1Wd9Vp/1WX3WZ/VZn9VnfVaf9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/V5fdbn9Vmf12d9Xp/1eX3W5/VZn9dnfV6f9Xl91uf1WZ/XZ31en/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1RX3WF/VZX9RnfVGf9UV91hf1WV/UZ31Rn/VFfdYX9Vlf1Gd9UZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9WV91pf1WV/WZ31Zn/VlfdaX9Vlf1md9WZ/1ZX3Wl/VZX9ZnfVmf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb9Vnfqs/6Vn3Wt+qzvlWf9a36rG/VZ32rPutb5Vnf3Mqzvv0to/4Wqb9l1t+i9bdY/S1ef0vU35L1t9Tv/qjf/VG/+6N+90f97o/63R/1uz/qd3/U7/6o3/1Rv/tSv/tSv/tSv/tSv/uPZ30ytvj9Lhkj/+GN//q3V5ut3y/e/8H4/lofD14aY/jv18bwdX+xbPng1VNvq5j5ZxHy8KVuenuth/zzF/s2f7/WN/3rS29JsSspf0+KX0n5e1LiSsrfk5JXUv6elHUl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TWTTaSKbThPZdJrIptNENp0U2XRSZNNJkU0nRTaddAOusIpsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyKbTopsOimy6aTIppMim06KbDopsumkyKaTIptOimw6KbLppMimkyGbToZsOhmy6WTIppNtwBXWkE0nQzadDNl0MmTTyZBNJ0M2nQzZdDJk08mQTSdDNp0M2XQyZNPJkE0nQzadDNl0MmTTyZBNJ0M2nQzZdDJk08mQTSdDNp0M2XQyZNPJkE0nQzadDNl0MmTTyZBNJ+tiOt2W06Rm3pbTpAreltOkrt2W06RS3ZbTpPb8Xk4Xv+i2nCb14bacJjv+bTlN9vDbcnrtyl1kn9tyeu3KXfSd23J67cpdhJzfy+li3tyW02tX/m6X5naZec5l9JzL2DmX8XMuE+dcJs+5zDrlMt/tfNwuM865zDm7gJ+zC/g5u4Cfswv4ObuAn7ML+Dm7gJ+zC9Qtgtsbx9E3ytE3zqNv1KNvtKNv9KNvjKNvzKNvXAffmEefnDz65OTRJyePPjl59MnJo09OHn1y8uiT88EZujnvY9gZ+mSjEfXbRiMa8/5q2bb7ZdYpl/ngXNrLLzPOuYycc5l5zmX0nMvYOZfxcy4T51zmnF1gnbIL+Ladc5lxzmXknMvMcy6j51zGzrnMC3aBXP77xUv9H5r0By29bHZr6cXmk1f7yts6YjP5SwB5DyDQA0j0ABZ4AGNDD2CgByDoAUz0ABQ9AEMPAL0SD/RKPNAr8UCvxIJeiQW9EssLKvHr/nHcZfZajvZajvVajvdaTvRaTvZazmq1nLn1Ws7otZxeu/LstSvPXrvy7LUrz1678uy1K89eu/LstStrk125uuwmu3d12U12+eqym1SD6rKbVI3qsptUl+qym1Sh6rKbVKvqsptUteqym1S/4rINs0oaZpU0zCppmFXSMKukYVZJw6yShlklrW2VfI4IuLWtlZ9YvLetmJ9ZfNu6+ZnFt62en1l82xr6mcW3raSfWXzbevqZxbetqp9ZfNva+pnFI1dYR66wgVxhA7nCBnKFDeQKG8gVNpArbCBX2ECusIFcYQO5wiZyhU3kCpvIFTaRK2wiV9hErrCJXGETucImcoVN5Aq7kCvsQq6wC7nCLuQK+wpj4ucWj1xhF3KFXcgVdiFX2AVcYWMDrrCxAVfY2IArbGzAFTY24AobG3CFjQ24wsYGXGFjA66wsSFX2IFcYQdyhR3IFXYgV9hXWDI/t3jkCjuQK+xArrADucIO5AoryBVWkCtsFyvm2OKRK2wXh+bY4pErbBfj5tjikStsFz/n2OKRK2wXm+fY4pErbBf359jikStsF1Po2OKRK2wXr+jY4pErbBcL6djikStsX2fpM4tHrrB9zaXPLB65wvb1lz6zeOQK29di+szikStsX5fpM4tHrrB9jabPLB65wvb1mj6zeOQK29du+szikStsX8fpM4tHrrDIplMgm06BbDoFsukUyKZTIJtOgWw6BbLpFMimUyCbToFsOgWy6RTIplMgm06BbDoFsukUyKZTIJtOgWw6BbLpFMimUyCbToFsOgWy6RTIplMgm06BbDoFsukUyKZTIJtOgWw6BbLpFMimUyCbToFsOgWy6RTIplMgm06BbDoFsukUyKZTIJtOiWw6JbLplMimUyKbTrkBV9hENp0S2XRKZNMpkU2nRDadEtl0SmTTKZFNp0Q2nRLZdEpk0ymRTadENp0S2XRKZNMpkU2nRDadEtl0SmTTKZFNp0Q2nRLZdEpk0ymRTadENp0S2XRKZNMpkU2nRDadEtl0SmTTKZFNp0Q2nRLZdEpk0ymRTadENp0S2XRKZNMpkU2nRDadEtl0SmTTKZFNp0Q2nRLZdEpk0ymRTadENp0S2XRKZNMpkU2nRDadEtl0SmTTKZFNp0Q2nRLZdEpk0ymRTadENp0S2XRKZNMpkU2nRDadEtl0SmTTKZFNp0Q2nRLZdEpk0ymRTadENp0S2XRKZNMpkU2nRDadEtl0SmTTKZFNp0Q2nRLZdEpk0ymRTadENp0S2XRKZNMpkU2nRDadEtl0SmTTKZFNp0Q2nRLZdEpk02khm04L2XRayKbTQjad1gZcYRey6bSQTaeFbDotZNNpIZtOC9l0Wsim00I2nRay6bSQTaeFbDotZNNpIZtOC9l0Wsim00I2nRay6bSQTaeFbDotZNNpIZtOC9l0Wsim00I2nRay6bSQTaeFbDotZNNpIZtOC9l0Wsim00I2nRay6bSQTaeFbDotZNNpIZtOC9l0Wsim00I2nRay6bSQTaeFbDqtLqbTbTlNaubv5XRxl27LaVLXbstpUqluy2lSe27LaVJNbstpUh9uy2my49+W02QPvy2n167cRfb5vZwuVs9tOb125S6ezm05vXblLubNbTm9duXvdmlul4lzLpPnXGadcpnv9lNulxnnXEbOucw85zJ6zmXsnMucswvEObtAnLMLxDm7QJ6zC+Q5u0CeswvkObtA3SK4vdGOvtGPvjGOvjGPvnEdfGP9zPXtjePoG+XoG+fRNx59ctbRJ2cdfXLW0SdnHX1y1rEnx7ZtO/rGcfSNj58c3e5vVLUnG42oj/urY95fLdt2v8w85zJ6zmXsnMv4OZeJcy6T51xmnXKZD84kvfwy45zLnLMLjHN2gXHOLjDO2QXGObvAOGcXGOfsAuOcXUBesAvk8t8v3v9R+R+a9ActvWx2a+nF5pNX+977/n51bCZ/CSDvAQz0AAQ9gIkegKIHYOgBOHoAgR5AogewwAOY6JV4olfiiV6JJ3olnuiVeKJX4vmCSvyyfxzflxO9lpO9lrNaLUe3XssZvZYjvZYzey1Hey3Hei2n166svXZl7bUra69d2XrtytZrV7Zeu7L12pWtya5cXXaT3bu67Ca7fHXZTapBddlNqkZ12U2qS3HZ3qQKVZfdpFpVl92kqlWX3aT6VZeNWSUds0o6ZpV0zCrpmFXSMatkYFbJwKyS0bZKPkUE9sW3rZWfWXzbivmZxbetm59ZfNvq+ZnFt62hn1l820r6mcW3raefWHy2raqfWXzb2vqZxSNX2ESusIlcYRO5wiZyhU3kCpvIFTaRK+xCrrALucIu5Aq7kCvsQq6wC7nCLuQKu5Ar7EKusAu4wo4NuMKODbjCjg24wo4NuMKODbjCjg24wo4NuMKODbjCjg24wo4NucIO5Ao7kCvsQK6wA7nCvsIZ+bnFI1fYgVxhB3KFHcgVdiBXWEGusIJcYQW5wgpyhX2FLfNzi0eusIJcYQW5wgpyhRXkCjuRK+xErrATucJO5Ar7CjPm5xaPXGG7WDHHFo9cYbs4NMcWj1xhuxg3xxaPXGG7+DnHFo9cYbvYPMcWj1xhu7g/xxaPXGG7mELHFo9cYbt4RccWj1xhu1hIxxaPXGH7OkufWTxyhe1rLn1m8cgVtq+/9JnFI1fYvhbTZxaPXGH7ukyfWTxyhe1rNH1m8cgVtq/X9JnFI1fYvnbTZxaPXGH7Ok6fWTxyhUU2nQay6TSQTaeBbDoNZNNpIJtOA9l0Gsim00A2nQay6TSQTaeBbDoNZNNpIJtOA9l0Gsim00A2nQay6TSQTaeBbDoNZNNpIJtOA9l0Gsim00A2nQay6TSQTaeBbDoJsukkyKaTIJtOgmw6yQZcYQXZdBJk00mQTSdBNp0E2XQSZNNJkE0nQTadBNl0EmTTSZBNJ0E2nQTZdBJk00mQTSdBNp0E2XQSZNNJkE0nQTadBNl0EmTTSZBNJ0E2nQTZdBJk00mQTSdBNp0E2XQSZNNJkE0nQTadBNl0EmTTSZBNJ0E2nQTZdBJk00mQTSdBNp0E2XQSZNNJkE0nQTadBNl0EmTTSZBNJ0E2nQTZdBJk00mQTSdBNp0E2XQSZNNJkE0nQTadBNl0EmTTSZBNJ0E2nQTZdBJk00mQTSdBNp0E2XQSZNNJkE0nQTadBNl0EmTTSZBNJ0E2nQTZdBJk00mQTSdBNp0E2XQSZNNJkE0nQTadBNl0EmTTSZBNJ0E2nQTZdBJk00mQTSdBNp0E2XQSZNNJkE0nQTadBNl0EmTTSZBNp4lsOk1k02kim04T2XSaG3CFncim00Q2nSay6TSRTaeJbDpNZNNpIptOE9l0msim00Q2nSay6TSRTaeJbDpNZNNpIptOE9l0msim00Q2nSay6TSRTaeJbDpNZNNpIptOE9l0msim00Q2nSay6TSRTaeJbDpNZNNpIptOE9l0msim00Q2nSay6TSRTaeJbDpNZNNpIptOE9l0msim00Q2nSay6TSRTaeJbDpNZNNpIptOE9l0msim00Q2nSay6TSRTaeJbDpNZNNpIptOE9l0msim0+xiOt2W06Rm3pbTpAreltOkrt2W06RS3ZbTpPbcltOkmtyW06Q+/F5OF2Potpwme/htOb125S6yz205vXblLvrObTm9duUuQs5tOb125S6Kze/lfLdLc7vMOOcycs5l5jmX0XMuY+dcxs+5TJxzmTznMuuUy6xzdoF1zi6wztkF1jm7wDpnF1jn7ALrnF1gnbML1C2C2xvXsTdq/Qz+7Y3j6Bvl6Bvn0Tfq0Tfa0Tf60TfG0Tfm0TcefXLG0SdnHH1yxtEnZxx9csbRJ2ccfXI+OkMX6/ZGG/5koxH1cb9MzPurZdvul4lzLpPnXGadcpmPznq9+jLjnMvIOZeZ51xGz7mMnXOZc3YBOWcXkHN2ATlnF5jn7ALznF1gnrMLzHN2gfmCXSCX/37xUv+HJv1BSy+b3Vp6sfnk1b7yVv5jM/lLAHkPwNADcPQAAj2ARA9ggQegG3oAAz0AQQ9gogeAXokVvRIreiVW9Eqs6JVY0SuxvaASv+4fx9VGr+VIr+XMXsvRXsuxXsvxXsuJXsvJXstZrZbjvXZl77Ure69d2Xvtyt5rV/Zeu7L32pW9167sTXbl6rKb7N7FZUeTXb667CbVoLrsJlWjuuwm1aW67CZVqLrsJtWquuwmVa267CbVr7pszCoZmFUyMatkYlbJxKySiVklE7NKJmaVzLZV8jkioNm2Vn5m8W0r5mcW37ZufmLxq231/Mzi29bQzyy+bSX9zOLb1tPPLL5tVf3M4tvW1s8sHrnCLuQKu5Ar7AKusLYBV1jbgCusbcAV1jbgCmsbcIW1DbjC2gZcYW0DrrC2AVdY25Ar7ECusAO5wg7kCjuQK+xArrADucIO5Ao7kCvsQK6wA7nCCnKFFeQKK8gVVpAr7Cs8jJ9bPHKFFeQKK8gVVpArrCBX2IlcYSdyhZ3IFXYiV9hXWDM/t3jkCjuRK+xErrATucJO5AqryBVWkSusIldYRa6wrzBkfm7xyBVWkSusIldYRa6wilxhu1gxxxaPXGG7ODTHFo9cYbsYN8cWj1xhu/g5xxaPXGG72DzHFo9cYbu4P8cWj1xhu5hCxxaPXGG7eEXHFo9cYbtYSMcWj1xh+zpLn1k8coXtay59ZvHIFbavv/SZxSNX2L4W02cWj1xh+7pMn1k8coXtazR9ZvHIFbav1/SZxSNX2L5202cWj1xh+zpOn1k8coVFNp0M2XQyZNPJkE0nQzadDNl0MmTTyZBNJ0M2nQzZdDJk08mQTSdDNp0M2XRyZNPJkU0nRzadHNl08g24wjqy6eTIppMjm06ObDo5sunkyKaTI5tOjmw6ObLp5MimkyObTo5sOjmy6eTIppMjm06ObDo5sunkyKaTI5tOjmw6ObLp5MimkyObTo5sOjmy6eTIppMjm06ObDo5sunkyKaTI5tOjmw6ObLp5MimkyObTo5sOjmy6eTIppMjm06ObDo5sunkyKaTI5tOjmw6ObLp5MimkyObTo5sOjmy6eTIppMjm06ObDo5sunkyKaTI5tOjmw6ObLp5MimkyObTo5sOjmy6eTIppMjm06ObDo5sunkyKaTI5tOjmw6ObLp5MimkyObTo5sOjmy6eTIppMjm06ObDo5sunkyKaTI5tOjmw6ObLp5MimkyObTo5sOjmy6eTIppMjm06ObDo5sunkyKaTI5tOjmw6ObLp5MimkyObToFsOgWy6RTIplMgm06xAVfYQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpkE2nQDadAtl0CmTTKZBNp0A2nQLZdApk0ymQTadANp0C2XQKZNMpuphOt+U0qZm35TSpgrflNKlrv5fTxUa6LadJ7bktp0k1uS2nSX24LafJjn9bTpM9/LacXrtyF9nntpxeu3IXfef3crp4Orfl9NqVu5g3t+X02pW/26W5XcbOuYyfc5k45zJ5zmXWGZfJ7zZJbpcZ51xGzrnMPOcyes5l7JzL+DmXiXMuk+dc5pxdYJyzC4xzdoG6RXB74zz6Rj36Rjv6Rj/6xjj6xjz6xnXwjfWzxrc3jqNvPPrkyNEnR44+OXL0yZGjT44cfXLk6JMjR5+cD87Q7Y/i7Y0Z48lGE8P896v3/xn3V+d2v8o45SpyylXmKVfRU65ip1zFT7lKnHKVPOUq64yr6Cl/+3rK376e8revp/zt6yl/+3rK376e8revp/zt6wv+9mXdryIr/4y0/vs/dv59TXb719B90HV/rch9Ravbimxrt6LRbkXSbkWz3Yq03Yqs3Yq83Yqi3Yra7dnWbs/2dnu2t9uzvd2e7e32bG+3Z3u7PdtP37NV47YktaHPXh12+/dW3Wd1//DqWwiBH0Lih7DgQ4gNP4SBH4LghzDxQ1D8EAw/BPzqHPjVOfCrc+BX58SvzolfnRO/Oid+dc7m1Vl8zttne8wnr/aV9y+pm8mfb6lb3gNuXstfH3Dzyv/6gJv3Ca8PuHlX8fqAm/cgLw94Ne9YXh9w8/7m9QE374ZeH3Dz3un1AStbwGyd1mLrtBZbp7XYOq0F3Gn9jxDWBtw73UIA7oZuIQD3N7cQgDuWWwiKHwJwV3ELAbhPuIUAXPlvIQDX8lsI+NV54FfngV+dB351HvjVeeBX54FfnQd+dR4/UJ0t/oRgz0LY7hTi/BOuy4OXzpDb546/xDrGPdYkinXxxCobUayDKFYhinUSxapEsRpRrE4UK1HfJER9kxD1TZOob5pEfdMk6psmUd/0Cg4JJlaivmkS9U2TqG+aRH3TJOqblKhvUqK+SYn6JiXqm15BycHEStQ3KVHfpER9kxL1TUrUNxlR32REfZMR9U1G1Dedz0/+YKxEfZMR9U1G1DcZUd9kRH2TE/VNTtQ3OVHf5ER90/kE7A/GStQ3OVHf5ER9kxP1TU7UNwVR3xREfVMQ9U1B1Df9BP/7Y7ES9U1B1DcFUd8URH1TEPVNSdQ3JVHflER9UxL1TT8BM/9YrER9UxL1TUnUNyVR35REfdMi6psWUd+0iPqmRdQ3/QSz/GOxEvVNi6hvWkR90yLqmxZN3+TbRtM37bHS9E17rDR90x4rTd+0x6pEsdL0TXusNH3THitN37THStM37bES9U2DqG8aRH3TIOqbBlHf9BNo94/FStQ3DaK+iccL32Ml6pt4vHDfeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99jJeqbeLzwPVaivonHC99j5embBpEXPoi88EHkhQ8iL3xsShQrT980iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXrgQeeFC5IULkRcuRF64bEoUK0/fJEReuBB54ULkhQuRFy5EXrgQeeFC5IULkRcuRF64EHnhQuSFC5EXLkReuBB54ULkhQuRFy5EXrgQeeFC5IULkRcuRF64EHnhQuSFC5EXLkReuBB54ULkhQuRFy5EXrgQeeFC5IULkRcuRF64EHnhQuSFC5EXLkReuBB54ULkhQuRFy5EXrgQeeFC5IULkRcuRF64EHnhQuSFC5EXLkReuBB54ULkhQuRFy5EXrgQeeFC5IULkRcuRF64EHnhQuSFC5EXLkReuBB54ULkhQuRFy5EXrgQeeFC5IULkRcuRF64EHnhQuSFC5EXLkReuBB54ULkhQuRFy5EXrgQeeFC5IULkRcuRF64EHnhQuSFC5EXLkReuBB54ULkhQuRFy5EXrgQeeFC5IULkRcuRF64EHnhk8gLn0Re+CTywieRFz43JYqVp2+aRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL1yJvHAl8sKVyAtXIi9cNyWKladvUiIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwI/LCjcgLNyIv3Ii8cNuUKFaevsmIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywp3IC3ciL9yJvHAn8sJ9U6JYefomJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAsPIi88iLzwIPLCg8gLj02JYuXpm4LICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIm88CTywpPIC08iLzw3JYqVp29KIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPBF5IUvIi98EXnhi8gLX5sSxcrTNy0iL3wReeGLyAtfRF74IvLCF5EXvoi88EXkhS8iL3wReeGLyAtfRF74IvLCF5EXvoi88EXkhS8iL3wReeGLyAtfRF74IvLCF5EXvoi88EXkhS8iL3wReeGLyAtfRF74IvLCF5EXvoi88EXkhS8iL3wReeGLyAtfRF74IvLCF5EXvoi88EXkhS8iL3wReeGLyAtfRF74IvLCF5EXvoi88EXkhS8iL3wReeGLyAtfRF74IvLCF5EXvoi88EXkhS8iL3wReeGLyAtfRF74IvLCF5EXvoi88EXkhS8iL3wReeGLyAtfRF74IvLCF5EXvoi88EXkhS8iL3wReeGLyAtfRF74IvLCF5EXvoi88EXkhS8iL3wReeGLyAtfRF74IvLCF5EXvoi88EXkhS8iL3wReeGLyAtfRF74IvLCF48XHhuPF77HStM37bHS9E17rDR90x6rEsVK0zftsdL0TXusNH3THitN37THStQ38Xjhe6xEfROPF77HStQ38Xjhe6xEfROPF77HStQ38Xjhe6xEfROPF77HStQ38Xjhe6xEfVN3L3yseY/V/nms6XrLS7r5Xz5Y79E275xeHG3z3unF0Tbvnl4cbfP+6cXRNu+gXhttdzv8xdE276JK0S67RbsH9jDa5n3Ui6Nt3km9OFqlivadeqnn0b5TL/U82nfqpZ5H+0a9VNi8R+vjYbRv1Es9j7a7J/7iaN+ol/pEtG/US30i2jfqpT4RrVJF+0a9VMzxJ1r5h2gfLFr99mrR+FOdZdvuuXmjzuvluXmjPu3luWnV1d0W1ar5+r2oXnb4bVGtWpnbolp1HLdFtWoMbotqVb9vi2pVZm+LalXfbotqVVhui+q4o/fCkn8vqpdqfFtUxx29lxN8W1THHb2XvHtbVMcd/bst29tl4pzL5DmXWadc5rvd0ttlxjmXkXMuM8+5jJ5zGTvnMufsAnHOLvAKj3Bu2+3Vc/+n4ScbrUyJ+/DgH8Zmcl/UarioVwh/r1/U6Lgo6bio2XFR2nFR1nFR3nFR0XFRHXf07Lijr447+uq4o6+OO/rquKOvjjv66rijr9N3dHXR21d896cDAd/mn1eP//ageV6BH0Lih7DQQxjbhh/CwA9B8EOY+CEofgiGHwJ8dR4bfHUeG3x1Hht+dR741XngV+eBX50HfnV+hcfznSFI6P0/TYx89tm/flfg96t//Udg91fLlveAm9fy1wfcvPK/PuDmfcLrA27eVbw+4OY9yMsDluYdy+sDbt7fvD7g5t3Q6wNu3ju9PmBlC5it0xK2TkvYOi1h67SErdOabJ3WBO60biEA9063EIC7oVsIih8CcMdyCwG4B7mFANxV3EIA7hNuIQBX/t8hKHAtv4WAX50VvzorfnV+hdPy0yHgV2fFr86KX50VvzorfnU2/Ops+NXZ8Kuz4VfnVygsPx0CfnU2/Ops+NXZ8Kuz4Vdnx6/Ojl+dHb86O351foWo89Mh4Fdnx6/Ojl+dHb86O351DvzqHPjVOfCrc+BX51doVD8dAn51DvzqHPjVOfCrc+BX58SvzolfnRO/Oid+dT5fRHt9CPjVOfGrc+JX58SvzolfnRd+dV741XnhV+eFX53P1+3+GUnwIITtdnxBfv280O/XPvxdohly+9zxl0WMcY/ViGJ1oliDKNYkinXRxCo/4QX+WKyDKFYhinUSxapEsfL0TbLx9E2y8fRNsvH0TbIR9U2DqG8aRH3TIOqbBlHf9BPa5I/FStQ3DaK+aRD1TYOobxpEfZMQ9U1C1DcJUd8kRH3TT9iRPxYrUd8kRH2TEPVNQtQ3CVHfNIn6pknUN02ivmkS9U0/YVL+WKxEfdMk6psmUd80ifqmSdQ3KVHfpER9kxL1TUrUN/2EFvpjsRL1TUrUNylR36REfZMS9U1G1DcZUd9kRH2TEfVNP+G4/lisRH2TEfVNRtQ3GVHfZER9kxP1TU7UNzlR3+REfdNPCLs/FitR3+REfZMT9U1O1Dc5Ud8URH1TEPVNQdQ3BVHf9BP28Y/FStQ3BVHfFER9UxD1TUHUNyVR35REfVMS9U1J1Df9hEr9Y7ES9U1J1DclUd+URH1TEvVNi6hvWkR90yLqmxZR30TkhQuRFy5EXrgQeeFC5IULkRc+ibzwSeSFTyIvfBJ54XNTolh5+qZJ5IVPIi98Ennhk8gLn0Re+CTywieRFz6JvPBJ5IVPIi98Ennhk8gLn0Re+CTywieRFz6JvPBJ5IVPIi98Ennhk8gLn0Re+CTywieRFz6JvPBJ5IVPIi98Ennhk8gLn0Re+CTywieRFz6JvPBJ5IVPIi98Ennhk8gLn0Re+CTywieRFz6JvPBJ5IVPIi98Ennhk8gLn0Re+CTywieRFz6JvPBJ5IVPIi98Ennhk8gLn0Re+CTywieRFz6JvPBJ5IVPIi98Ennhk8gLn0Re+CTywieRFz6JvPBJ5IVPIi98Ennhk8gLn0Re+CTywieRFz6JvPBJ5IVPIi98Ennhk8gLn0Re+CTywieRFz6JvPBJ5IVPIi98Ennhk8gLn0Re+CTywieRFz6JvPBJ5IVPIi98Ennhk8gLn0Re+CTywpXIC1ciL1yJvHAl8sJ1U6JYefomJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAtXIi9cibxwJfLClcgLVyIvXIm8cCXywpXIC1ciL1yJvHAl8sKVyAs3Ii/ciLxwI/LCjcgLt02JYuXpm4zICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Ii8cCPywo3ICzciL9yIvHAj8sKNyAs3Ii/ciLxwI/LCjcgLNyIv3Im8cCfywp3IC3ciL9w3JYqVp29yIi/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvHAn8sKdyAt3Ii/cibxwJ/LCncgLdyIv3Im8cCfywp3IC3ciL9yJvPAg8sKDyAsPIi88iLzw2JQoVp6+KYi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCg8gLDyIvPIi88CDywoPICw8iLzyIvPAg8sKDyAsPIi88iLzwIPLCk8gLTyIvPIm88CTywnNTolh5+qYk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC08iLzyJvPAk8sKTyAtPIi88ibzwJPLCk8gLTyIvPIm88CTywpPIC19EXvgi8sIXkRe+iLzwtSlRrDx90yLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi988XjhufF44XusNH3THitN37THStM37bEqUaw0fdMeK03ftMdK0zftsdL0TXusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x0rUN/F44XusRH0Tjxe+x8rTNw0iL3wQeeGDyAsfRF742JQoVp6+aRB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLzwQeSFDyIvfBB54YPICx9EXvgg8sIHkRc+iLxwIfLChcgLFyIvXIi8cNmUKFaevkmIvHAh8sKFyAsXIi9ciLxwIfLChcgLFyIvXIi8cCHywoXICxciL1yIvHAh8sKFyAsXIi9ciLxwIfLChcgLFyIvXIi8cCHywoXICxciL1yIvHAh8sKFyAsXIi9ciLxwIfLChcgLFyIvXIi8cCHywoXICxciL1yIvHAh8sKFyAsXIi9ciLxwIfLChcgLFyIvXIi8cCHywoXICxciL1yIvHAh8sKFyAsXIi9ciLxwIfLChcgLFyIvXIi8cCHywoXICxciL1yIvHAh8sKFyAsXIi9ciLxwIfLChcgLFyIvXIi8cCHywoXICxciL1yIvHAh8sKFyAsXIi9ciLxwIfLChcgLFyIvXIi8cCHywoXICxciL1yIvHAh8sKFyAsXIi9ciLxwIfLChcgLFyIvXIi8cCHywieRFz6JvPBJ5IVPIi98bkoUK0/fNIm88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCJ5EXPom88EnkhU8iL3wSeeGTyAufRF74JPLCZ3cvfKx5j9X+eaxL5u21S/SvHyz3aJt3Ti+Otnnv9Npou6vhL462ef/04mibd1AvjrZ5D/XiaPWNoh36J1r5h2gfLEPyvoy5rfurdT54cdit5sf6U/PlTxab92cgWWze+YFk8Z16yp/L4jv1qj+XxXfqgUtZ3MfE9yxO/2sWf6emOxf/k6l5p+76xal5p1a8lhq3e2r+EuJfUvNOfXsxNXpPTW6PUqNXaj5KzRt17jNuu8eafynHf/m2193Gf3G0b9QJfyLaN+pYZ8QtWt3iYbRv1Fk+j7a7kV+L1u/RDn8Y7Rv1f5+I9o1auk9E+0Zdmup9uqoxH0arVNG+US+lKvdo8+HkvLuXX4nWxv3emj6+t2/US9m431szexjtG/VSn4j2jXopG+MerT/sk7u7+aVo1/3eusjDaN+ol/pEtG/US9m6P8k+t4fRvlEv5fdBzfLH32+7+/kvjvaNein3e3cR28O/21721W1Rrcri/1iU9tKkbotqVWRui2pVC26LarVl3xbVame9LarVBnhbVKvvfLdFtfpqdltUwx1de/E5vxfVy7m5Larjjt5LjrktquOO3stiuS2q447eSze5Larjjt7LC7ktquOO3kvguC2q447ey7S4Larjjt5LibgtquOO3stduC2q447eSzK4Larjjt7LBrgtquOO3uu0/W1RHXf0XufXb4vquKP3OhF+W1THHb3XCevbojru6L3OK98W1XFH73X697aojjt6r7O0t0V13NF7nfS8Larjjt7rHOJtUR139F4H6m6L6rij9zpEdltUxx2918Gp26I67ui9ThbdFtVxR+91Tue2qI47eq9TL7dFffOOfrvMS/bo+394NbcVDy8zz7mMnnOZV+yMQ26nseZwe/LAiGy3Ey8iuv7y6tt/26Yv+Z3z+eeBmfNh7C/5ifFPXCbPucw65TIv+U3rqfcHRqc8eWBy2O0/692v8tdX64NXjzVunz2W/eOrbyFEpxBui8qOi1r9FmUv+e85/xzNmprbk0X9s1ffFjU6Lko6Lmp2XJR2XJR1XJR3XFR0XFR2XNRquKjRcUcfHXf00XFHHx139NFxRx8dd/TRcUcfHXf0cfqOrvHHQ88tn77atvurZT4MYcGHIBt+CAM/BMEPYeKHoPghGH4Ijh9C4IeAX50FvzpP/Oo88avzxK/OE786v+S/V/7hEPCr82xencXvPzkiHs/+vd1X3gH57S//viX7dW4BN6/lrw+4eeV/fcDN+4SXB6zNu4rXB9y8B3l9wM07ltcH3Ly/eX3AyhZw897p9QGzdVrK1mkpW6elbJ2WsXVaxtZpGVunZcCd1i0ExQ8BuBu6hQDc39xCAO5YbiEA9yC3EIC7it8hOHCfcAsBuPLfQgCu5bcQ8KvzS85q/XAI+NXZ8auz41dnx6/Ojl+dA786xw9U54//LfnRZ99+XXf6n6+dD3/O4RdT9Pu1qfH0BKP/OcH4158xkW2750aa5+YewfT519zc1j/B16/g6zfw9Tv4+gN8/Qm+/oW9/tzA19+9tj9bP3j9TfD6m+D1N8Hrb4LX3wSvvwlefxO8/i7w+rvA6+8Cr78LvP4u8Pq7wOvvAq+/C7z+LvD6u7Drr2/Y9dc37PrrG3b99Q27/vqGXX99w66/vmHXX9+w669v2PXXN/D6O8Dr7wCvvwO8/g7w+ns+Lvfi9YPX3wFefwd4/R3g9XeA118Br78CXn8FvP4KeP39CfbupesHr78CXn8FvP4KeP0V8Po7wevvBK+/E7z+TvD6+xOw3UvXD15/J3j9neD1d4LX3wlefxW8/ip4/VXw+qvg9fcnKLWXrh+8/ip4/VXw+qvg9VfB66+B118Dr78GXn8NvP7+BMf10vWD118Dr78GXn8NvP4aeP118Prr4PXXweuvg9ffnwC3Xrp+8Prr4PXXweuvg9dfB6+/AV5/29taz9YPXn/B/SsH968c3L9ycP/Kwf0rB/evHNy/cnD/ysH9Kwf3rxzcv3Jw/8rB/SsH968c3L9ycP/Kwf0rB/evHNy/cnD/ysH9Kwf3rxzcv3Jw/8rB/SsH968c3L8KcP8qwP2rAPevAty/ig27/ga4fxXg/lWA+1cB7l8FuH8V4P5VgPtXAe5fBbh/FeD+VYD7VwHuXwW4fxXg/lWA+1cB7l8FuH8V4P5VgPtXAe5fBbh/FeD+VYD7VwHuXwW4fxXg/lWA+1cB7l8FuH8V4P5VgPtXAe5fBbh/FeD+VYD7VwHuXwW4fxXg/lWA+1cB7l8FuH8V4P5VgPtXAe5fBbh/FeD+VYD7VwHuXwW4fxXg/lWA+1cB7l8FuH8V4P5VgPtXAe5fBbh/FeD+VYD7VwHuXwW4fxXg/lWA+1cB7l8FuH8V4P5VgPtXAe5fBbh/FeD+VYD7VwHuXwW4fxXg/lWA+1cB7l8FuH8V4P5VgPtXAe5fBbh/FeD+VYD7VwHuXwW4fxXg/lWA+1cB7l8FuH8V4P5VgPtXAe5fBbh/FeD+VYD7VwnuXyW4f5Xg/lWC+1e5YdffBPevEty/SnD/KsH9qwT3rxLcv0pw/yrB/asE968S3L9KcP8qwf2rBPevEty/SnD/KsH9qwT3rxLcv0pw/yrB/asE968S3L9KcP8qwf2rBPevEty/SnD/KsH9qwT3rxLcv0pw/yrB/asE968S3L9KcP8qwf2rBPevEty/SnD/KsH9qwT3rxLcv0pw/yrB/asE968S3L9KcP8qwf2rBPevEty/SnD/KsH9qwT3rxLcv0pw/yrB/asE968S3L9KcP8qwf2rBPevEty/SnD/KsH9qwT3rxLcv0pw/yrB/asE968S3L9KcP8qwf2rBPevEty/SnD/KsH9qwT3rxLcv0pw/yrB/asE968S3L9KcP8qwf2rBPevEty/SnD/KsH9qwT3rxLcv0pw/yrB/asE968S3L9KcP9qgftXC9y/WuD+1QL3r9aGXX8XuH+1wP2rBe5fLXD/aoH7Vwvcv1rg/tUC968WuH+1wP2rBe5fLXD/aoH7Vwvcv1rg/tUC968WuH+1wP2rBe5fLXD/aoH7Vwvcv1rg/tUC968WuH+1wP2rBe5fLXD/aoH7Vwvcv1rg/tUC968WuH+1wP2rBe5fLXD/aoH7Vwvcv1rg/tUC968WuH+1wP2rBe5fLXD/aoH7Vwvcv1rg/tUC968WuH+1wP2rBe5fLXD/aoH7Vwvcv1rg/tUC968WuH+1wP2rBe5fLXD/aoH7Vwvcv1rg/tUC968WuH+1wP2rBe5fLXD/aoH7Vwvcv1rg/tUC968WuH+1wP2rBe5fLXD/aoH7Vwvcv1rg/tUC968WuH+1wP2rBe5fLXD/aoH7Vwvcv1rg/tUC968WuH+1wP2rBe5fLXD/aoH7Vwvcv1rY/tXasP2rff3Q9XdfP3T93dcPXX/39UPX33390PV3Xz90/d3XD11/9/VD1999/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tcPXn+x/at9/eD1F9u/2tePXX8HuH81wP2rAe5fDXD/amzY9XeA+1cD3L8a4P7VAPevBrh/NcD9qwHuXw1w/2qA+1cD3L8a4P7VAPevBrh/NcD9qwHuXw1w/2qA+1cD3L8a4P7VAPevBrh/NcD9qwHuXw1w/2qA+1cD3L8a4P7VAPevBrh/NcD9qwHuXw1w/2qA+1cD3L8a4P7VAPevBrh/NcD9qwHuXw1w/2qA+1cD3L8a4P7VAPevBrh/NcD9qwHuXw1w/2qA+1cD3L8a4P7VAPevBrh/NcD9qwHuXw1w/2qA+1cD3L8a4P7VAPevBrh/NcD9qwHuXw1w/2qA+1cD3L8a4P7VAPevBrh/NcD9qwHuXw1w/2qA+1cD3L8a4P7VAPevBrh/NcD9qwHuXw1w/2qA+1cD3L8a4P7VAPevBrh/NcD9qwHuXw1w/2qA+1cD3L8a4P7VAPevBrh/NcD9qwHuXwm4fyXg/pWA+1cC7l/Jhl1/Bdy/EnD/SsD9KwH3rwTcvxJw/0rA/SsB968E3L8ScP9KwP0rAfevBNy/EnD/SsD9KwH3rwTcvxJw/0rA/SsB968E3L8ScP9KwP0rAfevBNy/EnD/SsD9KwH3rwTcvxJw/0rA/SsB968E3L8ScP9KwP0rAfevBNy/EnD/SsD9KwH3rwTcvxJw/0rA/SsB968E3L8ScP9KwP0rAfevBNy/EnD/SsD9KwH3rwTcvxJw/0rA/SsB968E3L8ScP9KwP0rAfevBNy/EnD/SsD9KwH3rwTcvxJw/0rA/SsB968E3L8ScP9KwP0rAfevBNy/EnD/SsD9KwH3rwTcvxJw/0rA/SsB968E3L8ScP9KwP0rAfevBNy/EnD/SsD9KwH3rwTcvxJw/0rA/SsB968E3L8ScP9KwP2rCe5fTXD/aoL7VxPcv5obdv2d4P7VBPevJrh/NcH9qwnuX01w/2qC+1cT3L+a4P7VBPevJrh/NcH9qwnuX01w/2qC+1cT3L+a4P7VBPevJrh/NcH9qwnuX01w/2qC+1cT3L+a4P7VBPevJrh/NcH9qwnuX01w/2qC+1cT3L+a4P7VBPevJrh/NcH9qwnuX01w/2qC+1cT3L+a4P7VBPevJrh/NcH9qwnuX01w/2qC+1cT3L+a4P7VBPevJrh/NcH9qwnuX01w/2qC+1cT3L+a4P7VBPevJrh/NcH9qwnuX01w/2qC+1cT3L+a4P7VBPevJrh/NcH9qwnuX01w/2qC+1cT3L+a4P7VBPevJrh/NcH9qwnuX01w/2qC+1cT3L+a4P7VBPevJrh/NcH9qwnuX01w/2qC+1cT3L+a4P7VBPevJrh/NcH9qwnuX01w/2qC+1cK7l8puH+l4P6VgvtXumHXXwX3rxTcv1Jw/0rB/SsF968U3L9ScP9Kwf0rBfevFNy/UnD/SsH9KwX3rxTcv1Jw/0rB/SsF968U3L9ScP9Kwf0rBfevFNy/UnD/SsH9KwX3rxTcv1Jw/0rB/SsF968U3L9ScP9Kwf0rBfevFNy/UnD/SsH9KwX3rxTcv1Jw/0rB/SsF968U3L9ScP9Kwf0rBfevFNy/UnD/SsH9KwX3rxTcv1Jw/0rB/SsF968U3L9ScP9Kwf0rBfevFNy/UnD/SsH9KwX3rxTcv1Jw/0rB/SsF968U3L9ScP9Kwf0rBfevFNy/UnD/SsH9KwX3rxTcv1Jw/0rB/SsF968U3L9ScP9Kwf0rBfevFNy/UnD/SsH9KwX3rxTcv1Jw/0rB/SsF968U3L9ScP9Kwf0rBfevFNy/UnD/ysD9KwP3rwzcvzJw/8o27Ppr4P6VgftXBu5fGbh/ZeD+lYH7VwbuXxm4f2Xg/pWB+1cG7l8ZuH9l4P6VgftXBu5fGbh/ZeD+lYH7VwbuXxm4f2Xg/pWB+1cG7l8ZuH9l4P6VgftXBu5fGbh/ZeD+lYH7VwbuXxm4f2Xg/pWB+1cG7l8ZuH9l4P6VgftXBu5fGbh/ZeD+lYH7VwbuXxm4f2Xg/pWB+1cG7l8ZuH9l4P6VgftXBu5fGbh/ZeD+lYH7VwbuXxm4f2Xg/pWB+1cG7l8ZuH9l4P6VgftXBu5fGbh/ZeD+lYH7VwbuXxm4f2Xg/pWB+1cG7l8ZuH9l4P6VgftXBu5fGbh/ZeD+lYH7VwbuXxm4f2Xg/pWB+1cG7l8ZuH9l4P6VgftXBu5fGbh/ZeD+lYH7VwbuXxm4f2Xg/pWB+1cG7l85uH/l4P6Vg/tXDu5f+YZdfx3cv3Jw/8rB/SsH968c3L9ycP/Kwf0rB/evHNy/cnD/ysH9Kwf3rxzcv3Jw/8rB/SsH968c3L9ycP/Kwf0rB/evHNy/cnD/ysH9Kwf3rxzcv3Jw/8rB/SsH968c3L9ycP/Kwf0rB/evHNy/cnD/ysH9Kwf3rxzcv3Jw/8rB/SsH968c3L9ycP/Kwf0rB/evHNy/cnD/ysH9Kwf3rxzcv3Jw/8rB/SsH968c3L9ycP/Kwf0rB/evHNy/cnD/ysH9Kwf3rxzcv3Jw/8rB/SsH968c3L9ycP/Kwf0rB/evHNy/cnD/ysH9Kwf3rxzcv3Jw/8rB/SsH968c3L9ycP/Kwf0rB/evHNy/cnD/ysH9Kwf3rxzcv3Jw/8rB/SsH968c3L9ycP/Kwf0rB/evHNy/cnD/ysH9qwD3rwLcv4pe/tVtUa2K6m1RrSrlbVGtyt9tUa1q2m1RrQrVbVGtqs9tUa1Kyu9F9XKabotqtfnfFtVxR+/FJN0W1XFH7wUa3RbVcUfvRQ/dFtVxR++FBP1e1HfLP7fLjHMuI+dcZp5zGT3nMnbOZfycy8Q5l8lzLrNOucw8ZxeY5+wC85xdYJ6zC8xzdoF5zi4wz9kF5jm7wEduQ47bZdacTy6z95r++9X7/4z7q/cr3q6yzrjKRwbCi68yTrmKnHKVecpV9JSr2ClX8VOuEqdc5ZS/fT3lb99O+du3U/727ZS/fTvlb99O+du3U/727QV/+7LuV5H19OtvWN6WtPT+Wrn/q4tFuxVluxWtbivyrd2KRrsVSbsVzXYr0nYrsnYrardne7s929vt2d5uz452e3a027Oj3Z4d7fbsOH3PVo3bktSGPnv1839wCcMPwfFDCPwQEj+EBR9CbvghDPwQBD+EiR8CfnVO/Oqc+NU58atz4lfnxK/OC786L/zqvJpXZ/F5+4d+8ZhPXu0r719SN5M/31K3vAfcvJa/PuDmlf/1ATfvE14fcPOu4vUBN+9BXh9w847l9QE3729eHXBuzbuh1wfcvHd6fcBknVZuZJ1WbsoWMFmnlRtZp5UbWaeVG1mnlRtwp/U7hAHcO91CAO6GbiEA9ze3EIA7llsIih8CcFdxCwG4T7iFAFz5byEA1/JbCPjVWfCrs+BXZ8GvzoJfnQW/Ogt+dRb86iw/UJ0t/oRgz0LYbvHK/BOuy4OXzpDb546/xDrGPdYkinXxxDo3olgHUaxCFOskilWJYjWiWJ0oVqK+aRL1TZOob1KivkmJ+iYl6puUqG96BRIFEytR36REfZMS9U1K1DcpUd9kRH2TEfVNRtQ3GVHf9ApgDyZWor7JiPomI+qbjKhvMqK+yYn6Jifqm5yob3Kivul8PPMHYyXqm5yob3KivsmJ+iYn6puCqG8Kor4piPqmIOqbfgKw/bFYifqmIOqbgqhvCqK+KYj6piTqm5Kob0qivimJ+qafoIV/LFaivimJ+qYk6puSqG9Kor5pEfVNi6hvWkR90yLqm34CZv6xWIn6pkXUNy2ivmkR9U2Lp29aG0/ftDaevmltPH3T2nj6prUpUaw8fdPaePqmtfH0TWvj6ZvWRtQ3DaK+aRD1TYOobxpEfdNP0NA/FitR3zSI+qZB1DcNor5pEPVNQtQ3CVHfJER9kxD1TT+Bdv9YrER9kxD1TURe+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLX0Re+CLywheRF76IvPBF5IUvIi98EXnhi8gLXzxe+Ng2HjD8V7A0ndOvYGlap1/B0vROv4JVpmBpuqdfwdK0T7+CpemffgVL00D9Cpapg+Khw38Fy9RB8eDhv4Jl6qB4+PBfwTJ1UDyA+K9gmTooHkL8V7BMHRQPIv4rWKYOiocR/xUsUwfFA4n/Cpapg+KhxH8Fy9RB8WDiv4Jl6qB4OPFfwTJ1UDyg+K9gmTooHlL8V7BMHRQPKv4rWKYOiocV/xUsUwfFA4v/Cpapg+KhxX8Fy9RB8eDiv4Jl6qB4ePFfwTJ1UDzA+K9gmTooHmL8V7BMHRQPMv4rWKYOiocZ/xUsUwfFA43/Cpapg+Khxn8Fy9RB8WDjv4Jl6qB4uPFfwTJ1UDzg+K9gmTooHnL8V7BMHRQPOv4rWKYOiocd/xUsUwfFA4//Cpapg+Khx38Fy9RB8eDjv4Jl6qB4+PFfwTJ1UDwA+a9gmTooHoL8V7BMHRQPQv4rWKYOioch/xUsUwfFA5H/Cpapg+KhyH8Fy9RB8WDkv4Jl6qB4OPJfwTJ1UDwg+a9gmTooHpL8V7BEHdRgMskHk0k+mEzywWSSj02ZgiXqoAaTST6YTPLBZJIPJpN8MJnkg8kkH0wm+WAyyQeTST6YTPLBZJIPJpN8MJnkg8kkH0wm+WAyyQeTST6YTPLBZJIPJpN8MJnkg8kkH0wm+WAyyQeTST6YTPLBZJIPJpN8MJnkg8kkH0wm+WAyyQeTST6YTPLBZJIPJpN8MJnkg8kkH0wm+WAyyQeTST6YTPLBZJIPJpN8MJnkg8kkH0wm+WAyyQeTST6YTPLBZJIPJpN8MJnkg8kkH0wm+WAyyQeTST6YTPLBZJIPJpN8MJnkg8kkH0wm+WAyyQeTST6YTPLBZJIPJpN8MJnkg8kkH0wm+WAyyQeTST6YTPLBZJIPJpN8MJnkg8kkH0wm+WAyyQeTST6YTPLBZJIPJpN8MJnkg8kkH0wm+WAyyQeTST6YTPLBZJIPJpN8MJnkg8kkFyaTXJhMcmEyyYXJJJdNmYIl6qCEySQXJpNcmExyYTLJhckkFyaTXJhMcmEyyYXJJBcmk1yYTHJhMsmFySQXJpNcmExyYTLJhckkFyaTXJhMcmEyyYXJJBcmk1yYTHJhMsmFySQXJpNcmExyYTLJhckkFyaTXJhMcmEyyYXJJBcmk1yYTHJhMsmFySQXJpNcmExyYTLJhckkFyaTXJhMcmEyyYXJJBcmk1yYTHJhMsmFySQXJpNcmExyYTLJhckkFyaTXJhMcmEyyYXJJBcmk1yYTHJhMsmFySQXJpNcmExyYTLJhckkFyaTXJhMcmEyyYXJJBcmk1yYTHJhMsmFySQXJpNcmExyYTLJhckkFyaTXJhMcmEyyYXJJBcmk1yYTHJhMsmFySQXJpNcmExyYTLJhckkFyaTXJhMcmEyyYXJJBcmk3wymeSTySSfTCb5ZDLJ56ZMwRJ1UJPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSTyaTfDKZ5JPJJJ9MJvlkMsknk0k+mUzyyWSSK5NJrkwmuTKZ5MpkkuumTMESdVDKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSa5MJrkymeTKZJIrk0muTCa5MpnkymSSK5NJrkwmuTKZ5MpkkiuTSW5MJrkxmeTGZJIbk0lumzIFS9RBGZNJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5MZnkxmSSG5NJbkwmuTGZ5MZkkhuTSW5MJrkxmeTGZJIbk0luTCa5M5nkzmSSO5NJ7kwmuW/KFCxRB+VMJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5M5nkzmSSO5NJ7kwmuTOZ5M5kkjuTSe5MJrkzmeTOZJI7k0nuTCa5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KGPqoIypgzKmDuon9NmfC5apgzKmDsqYOihj6qCMqYNypg7KmTooZ+qgnKmD+gkX+OeCZeqgnKmDcqYOypk6KGfqoIKpgwqmDiqYOqhg6qB+Qmz+uWCZOqhg6qCCqYMKpg4qmDqoZOqgkqmDSqYOKpk6qJ+wtH8uWKYOKpk6qGTqoJKpg0qmDmoxdVCLqYNiMskHk0k+mEzywWSSDyaTfDCZ5IPJJB9MJrkwmeTCZJILk0kuTCa5bMoULFEHJUwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkwmSSC5NJLkwmuTCZ5MJkkguTSS5MJrkwmeTCZJILk0kuTCa5MJnkk8kkn0wm+WQyySeTST43ZQqWqIOaTCb5ZDLJJ5NJPplM8slkkk8mk3wymeSTySSfTCb5ZDLJJ5NJPplM8slkkk8mk3wymeSTySSfTCb5ZDLJJ5NJPplM8slkkk8mk3wymeSTySSfTCb5ZDLJJ5NJPplM8slkkk8mk3wymeSTySSfTCb5ZDLJJ5NJPplM8slkkk8mk3wymeSTySSfTCb5ZDLJJ5NJPplM8slkkk8mk3wymeSTySSfTCb5ZDLJJ5NJPplM8slkkk8mk3wymeSTySSfTCb5ZDLJJ5NJPplM8slkkk8mk3wymeSTySSfTCb5ZDLJJ5NJPplM8slkkk8mk3wymeSTySSfTCb5ZDLJJ5NJPplM8slkkk8mk3wymeSTySSfTCb5ZDLJJ5NJPplM8slkkk8mk3wymeSTySSfTCb5ZDLJJ5NJPplM8slkkk8mk1yZTHJlMsmVySRXJpNcN2UKlqiDUiaTXJlMcmUyyZXJJFcmk1yZTHJlMsmVySRXJpNcmUxyZTLJlckkVyaTXJlMcmUyyZXJJFcmk1yZTHJlMsmVySRXJpNcmUxyZTLJlckkVyaTXJlMcmUyyZXJJFcmk1yZTHJlMsmVySRXJpNcmUxyZTLJlckkVyaTXJlMcmUyyZXJJFcmk1yZTHJlMsmVySRXJpNcmUxyZTLJlckkVyaTXJlMcmUyyZXJJFcmk1yZTHJlMsmVySRXJpNcmUxyZTLJlckkVyaTXJlMcmUyyZXJJFcmk1yZTHJlMsmVySRXJpNcmUxyZTLJlckkVyaTXJlMcmUyyZXJJFcmk1yZTHJlMsmVySRXJpNcmUxyZTLJlckkVyaTXJlMcmUyyZXJJFcmk1yZTHJlMsmVySRXJpNcmUxyYzLJjckkNyaT3JhMctuUKViiDsqYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyY3JJDcmk9yYTHJjMsmNySQ3JpPcmExyYzLJjckkNyaT3JhMcmMyyZ3JJHcmk9yZTHJnMsl9U6ZgiTooZzLJnckkdyaT3JlMcmcyyZ3JJHcmk9yZTHJnMsmdySR3JpPcmUxyZzLJnckkdyaT3JlMcmcyyZ3JJHcmk9yZTHJnMsmdySR3JpPcmUxyZzLJnckkdyaT3JlMcmcyyZ3JJHcmk9yZTHJnMsmdySR3JpPcmUxyZzLJnckkdyaT3JlMcmcyyZ3JJHcmk9yZTHJnMsmdySR3JpPcmUxyZzLJnckkdyaT3JlMcmcyyZ3JJHcmk9yZTHJnMsmdySR3JpPcmUxyZzLJnckkdyaT3JlMcmcyyZ3JJHcmk9yZTHJnMsmdySR3JpPcmUxyZzLJnckkdyaT3JlMcmcyyZ3JJHcmk9yZTHJnMsmdySR3JpPcmUxyZzLJnckkdyaT3JlMcmcyyZ3JJHcmk9yZ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ZJInkkmeSCZ5IpnkiWSSZ5JJnkkmeSaZ5JlkkufFScOCGlQmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkmeSSZ5JJnkmmeSZZJJnkkmeSSZ5JpnkmWSSZ5JJnkkmeSaZ5JlkkhvJJDeSSW4kk9xIJrktThoW1KCMZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkN5JJbiST3EgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmRTHIjmeRGMsmNZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkN5JJbiST3EgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmRTHIjmeRGMsmNZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkN5JJbiST3EgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmRTHIjmeRGMsmNZJIbySQ3kkluJJPcSCa5kUxyI5nkRjLJjWSSG8kkN5JJbiST3EgmuZFMciOZ5EYyyY1kkhvJJDeSSW4kk9xIJrmRTHInmeROMsmdZJI7yST3xUnDghqUk0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kknuJJPcSSa5k0xyJ5nkTjLJnWSSO8kkd5JJ7iST3EkmuZNMcieZ5E4yyZ1kkjvJJHeSSe4kk9xJJrmTTHInmeROMsmdZJI7ySR3kkleSCZ5IZnkhWSSF5JJXhYnDQtqUIVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkkmeSWZ5JVkkleSSV4XJw0LalCVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSd5IJnkjmeSNZJI3kkneFicNC2pQjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSSZ5J5nknWSSd5JJ3hcnDQtqUJ1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJPkgm+SCZ5INkkg+SST4WJw0LalCDZJIPkkk+SCb5IJnkg2SSD5JJPkgm+SCZ5INkkg+SST5IJvkgmeSDZJIPkkk+SCb5IJnkg2SSD5JJPkgm+SCZ5INkkg+SST5IJvkgmeSDZJIPkkk+SCb5IJnkg2SSD5JJPkgm+SCZ5INkkg+SST5IJvkgmeSDZJIPkkk+SCb5IJnkg2SSD5JJPkgm+SCZ5INkkg+SST5IJvkgmeSDZJIPkkk+SCb5IJnkg2SSD5JJPkgm+SCZ5INkkg+SST5IJvkgmeSDZJIPkkk+SCb5IJnkg2SSD5JJPkgm+SCZ5INkkg+SST5IJvkgmeSDZJIPkkk+SCb5IJnkg2SSD5JJPkgm+SCZ5INkkg+SST5IJvkgmeSDZJIPkkk+SCb5IJnkg2SSD5JJPkgm+SCZ5INkkg+QSV4XkEm+DstpUOuwnAa1DstpUOuwThqW06DWYTkNah2W06DWYTkNah2W1KBAJvk6LKlBgUzydVhSgwKZ5OuwpAYFMsnXYUkNCmSSr8OSGhTIJF+HJTUokEm+DktqUCCTfB2W1KBAJvk6LKlBgUzy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eSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSF5JJXkgmeSGZ5IVkkheSSV5IJnkhmeSFZJIXkkleSCZ5IZnkhWSSV5JJXkkmeSWZ5JVkktfFScOCGlQlmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkleSSV5JJnklmeSVZJJXkkleSSZ5JZnklWSSV5JJXkkmeSWZ5JVkkjeSSd5IJnkjmeSNZJK3xUnDghpUI5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJI3kkneSCZ5I5nkjWSSN5JJ3kgmeSOZ5I1kkjeSSd5IJnkjmeSNZJJ3kkneSSZ5J5nknWSS98VJw4IaVCeZ5J1kkneSSd5JJnknmeSdZJJ3kkneSSZ5J5nknWSSd5JJ3kkmeSeZ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k9jVT+LfIOfmDqB+Erv6SezqJ7Grn8SufhIX9ZO4qJ/ERf0kLuon8W9AZHMHUD+Ji/pJXNRP4qJ+Ehf1k7iqn8RV/SSu6idxVT+JfwP4mjuA+klc1U/iqn4SV/WTuKqfxE39JG7qJ3FTP4mb+kn8G4TX3AHUT2J1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubGV1YyurG1tZ3djK6sZWVje2srqxldWNraxubJm6sWXqxpapG1umbmzZIn4Sm7qxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbpm5smbqxZerGlqkbW6ZubJm6sWXqxpapG1umbmyZurFl6saWqRtbrm5subqx5erGlqsbW76In8Submy5urHl6saWqxtbrm5subqx5erGlqsbW65ubLm6seXqxparG1uubmy5urHl6saWqxtbrm5subqx5erGlqsbW65ubLm6seXqxparG1uubmy5urHl6saWqxtbrm5subqx5erGlqsbW65ubLm6seXqxparG1uubmy5urHl6saWqxtbrm5subqx5erGlqsbW65ubLm6seXqxparG1uubmy5urHl6saWqxtbrm5subqx5erGlqsbW65ubLm6seXqxparG1uubmy5urHl6saWqxtbrm5subqx5erGlqsbW65ubLm6seXqxparG1uubmy5urHl6saWqxtbrm5subqx5erGlqsbW65ubLm6seXqxparG1uubmy5urHl6saWqxtbrm5subqx5erGlqsbW65ubLm6seXqxlZRN7aKurFV1I2tom5slUX8JC7qxlZRN7aKurFV1I2tom5sFXVjq6gbW0Xd2CrqxlZR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"}],"outputs":{"globals":{"storage":[{"fields":[{"name":"npk_m_x_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"1"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY, Context>, Context>"}}],"kind":"struct"}},{"name":"npk_m_y_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"2"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY, Context>, Context>"}}],"kind":"struct"}},{"name":"ivpk_m_x_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"3"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY, Context>, Context>"}}],"kind":"struct"}},{"name":"ivpk_m_y_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"4"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY, Context>, Context>"}}],"kind":"struct"}},{"name":"ovpk_m_x_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"5"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY, Context>, Context>"}}],"kind":"struct"}},{"name":"ovpk_m_y_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"6"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY, Context>, Context>"}}],"kind":"struct"}},{"name":"tpk_m_x_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"7"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY, Context>, Context>"}}],"kind":"struct"}},{"name":"tpk_m_y_registry","value":{"fields":[{"name":"slot","value":{"kind":"integer","sign":false,"value":"8"}},{"name":"typ","value":{"kind":"string","value":"Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY, Context>, Context>"}}],"kind":"struct"}}],"kind":"struct"}]},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"partial_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::partial_address::PartialAddress"}},{"name":"keys","type":{"fields":[{"name":"npk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"ivpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"ovpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"tpk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}}],"kind":"struct","path":"aztec::keys::public_keys::PublicKeys"}}],"kind":"struct","path":"KeyRegistry::register_parameters"}}],"kind":"struct","path":"KeyRegistry::register_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"new_npk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint"}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"KeyRegistry::rotate_npk_m_parameters"}}],"kind":"struct","path":"KeyRegistry::rotate_npk_m_abi"}]}},"file_map":{"104":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/arguments.nr","source":"#[oracle(packArgumentsArray)]\nfn pack_arguments_array_oracle<N>(_args: [Field; N]) -> Field {}\n\n#[oracle(packArguments)]\nfn pack_arguments_oracle(_args: [Field]) -> Field {}\n\n/// - Pack arguments (array version) will notify the simulator that these arguments will be used later at\n/// some point in the call. \n/// - When the external call is made later, the simulator will know what the values unpack to.\n/// - This oracle will not be required in public vm functions, as the vm will keep track of arguments \n/// itself.\nunconstrained pub fn pack_arguments_array<N>(args: [Field; N]) -> Field {\n pack_arguments_array_oracle(args)\n}\n\n/// - Pack arguments (slice version) will notify the simulator that these arguments will be used later at\n/// some point in the call. \n/// - When the external call is made later, the simulator will know what the values unpack to.\n/// - This oracle will not be required in public vm functions, as the vm will keep track of arguments \n/// itself.\nunconstrained pub fn pack_arguments(args: [Field]) -> Field {\n pack_arguments_oracle(args)\n}\n\n"},"105":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/public_call.nr","source":"use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress};\n// TODO(6052): get new side effect counter from this call\n#[oracle(callPublicFunction)]\nfn call_public_function_oracle<RETURNS_COUNT>(\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; RETURNS_COUNT] {}\n\nunconstrained pub fn call_public_function_internal<RETURNS_COUNT>(\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; RETURNS_COUNT] {\n call_public_function_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"},"111":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/storage.nr","source":"use dep::protocol_types::traits::{Deserialize, Serialize};\n\n#[oracle(storageRead)]\nfn storage_read_oracle<N>(_storage_slot: Field, _number_of_elements: Field) -> [Field; N] {}\n\nunconstrained fn storage_read_oracle_wrapper<N>(_storage_slot: Field) -> [Field; N] {\n storage_read_oracle(_storage_slot, N)\n}\n\npub fn storage_read<N>(storage_slot: Field) -> [Field; N] {\n storage_read_oracle_wrapper(storage_slot)\n}\n\n#[oracle(storageWrite)]\nfn storage_write_oracle<N>(_storage_slot: Field, _values: [Field; N]) -> [Field; N] {}\n\nunconstrained pub fn storage_write<N>(storage_slot: Field, fields: [Field; N]) {\n let _hash = storage_write_oracle(storage_slot, fields);\n}\n"},"124":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/map.nr","source":"use dep::protocol_types::{hash::pedersen_hash, traits::ToField};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:map\nstruct Map<K, V, Context> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, T, Context> Storage<T> for Map<K, T, Context> {}\n\nimpl<K, V, Context> Map<K, V, Context> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map { context, storage_slot, state_var_constructor }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = derive_storage_slot_in_map(self.storage_slot, key);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field where K: ToField {\n pedersen_hash([storage_slot, key.to_field()], 0)\n}\n"},"132":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/scheduled_delay_change.nr","source":"use dep::protocol_types::traits::{Serialize, Deserialize, FromField, ToField};\nuse dep::std::cmp::min;\n\n// This data structure is used by SharedMutable to store the minimum delay with which a ScheduledValueChange object can\n// schedule a change.\n// This delay is initally equal to INITIAL_DELAY, and can be safely mutated to any other value over time. This mutation \n// is performed via `schedule_change` in order to satisfy ScheduleValueChange constraints: if e.g. we allowed for the \n// delay to be decreased immediately then it'd be possible for the state variable to schedule a value change with a \n// reduced delay, invalidating prior private reads.\nstruct ScheduledDelayChange<INITIAL_DELAY> {\n // Both pre and post are stored in public storage, so by default they are zeroed. By wrapping them in an Option, \n // they default to Option::none(), which we detect and replace with INITIAL_DELAY. The end result is that a\n // ScheduledDelayChange that has not been initialized has a delay equal to INITIAL_DELAY, which is the desired\n // effect. Once initialized, the Option will never be none again.\n pre: Option<u32>,\n post: Option<u32>,\n // Block at which `post` value is used instead of `pre`\n block_of_change: u32,\n // The _dummy variable forces INITIAL_DELAY to be interpreted as a numeric value. This is a workaround to\n // https://github.com/noir-lang/noir/issues/4633. Remove once resolved.\n _dummy: [Field; INITIAL_DELAY],\n}\n\nimpl<INITIAL_DELAY> ScheduledDelayChange<INITIAL_DELAY> {\n pub fn new(pre: Option<u32>, post: Option<u32>, block_of_change: u32) -> Self {\n Self { pre, post, block_of_change, _dummy: [0; INITIAL_DELAY] }\n }\n\n /// Returns the current value of the delay stored in the data structure.\n /// This function only returns a meaningful value when called in public with the current block number - for\n /// historical private reads use `get_effective_minimum_delay_at` instead.\n pub fn get_current(self, current_block_number: u32) -> u32 {\n // The post value becomes the current one at the block of change, so any transaction that is included in the\n // block of change will use the post value.\n\n if current_block_number < self.block_of_change {\n self.pre.unwrap_or(INITIAL_DELAY)\n } else {\n self.post.unwrap_or(INITIAL_DELAY)\n }\n }\n\n /// Returns the scheduled change, i.e. the post-change delay and the block at which it will become the current\n /// delay. Note that this block may be in the past if the change has already taken place.\n /// Additionally, further changes might be later scheduled, potentially canceling the one returned by this function.\n pub fn get_scheduled(self) -> (u32, u32) {\n (self.post.unwrap_or(INITIAL_DELAY), self.block_of_change)\n }\n\n /// Mutates the delay change by scheduling a change at the current block number. This function is only meaningful\n /// when called in public with the current block number.\n /// The block at which the new delay will become effective is determined automatically:\n /// - when increasing the delay, the change is effective immediately\n /// - when reducing the delay, the change will take effect after a delay equal to the difference between old and\n /// new delay. For example, if reducing from 3 days to 1 day, the reduction will be scheduled to happen after 2\n /// days.\n pub fn schedule_change(&mut self, new: u32, current_block_number: u32) {\n let current = self.get_current(current_block_number);\n\n // When changing the delay value we must ensure that it is not possible to produce a value change with a delay\n // shorter than the current one.\n let blocks_until_change = if new > current {\n // Increasing the delay value can therefore be done immediately: this does not invalidate prior contraints\n // about how quickly a value might be changed (indeed it strengthens them).\n 0\n } else {\n // Decreasing the delay requires waiting for the difference between current and new delay in order to ensure\n // that overall the current delay is respected.\n //\n // current delay earliest value block of change\n // block block of change if delay remained unchanged\n // =======N=========================|================================X=================>\n // ^ ^ ^\n // |-------------------------|--------------------------------|\n // | blocks until change new delay |\n // ------------------------------------------------------------\n // current delay\n current - new\n };\n\n self.pre = Option::some(current);\n self.post = Option::some(new);\n self.block_of_change = current_block_number + blocks_until_change;\n }\n\n /// Returns the minimum delay before a value might mutate due to a scheduled change, from the perspective of some\n /// historical block number. It only returns a meaningful value when called in private with historical blocks. This \n /// function can be used alongside `ScheduledValueChange.get_block_horizon` to properly constrain the\n /// `max_block_number` transaction property when reading mutable shared state.\n /// This value typically equals the current delay at the block following the historical one (the earliest one in\n /// which a value change could be scheduled), but it also considers scenarios in which a delay reduction is \n /// scheduled to happen in the near future, resulting in a way to schedule a change with an overall delay lower than\n /// the current one.\n pub fn get_effective_minimum_delay_at(self, historical_block_number: u32) -> u32 {\n if self.block_of_change <= historical_block_number {\n // If no delay changes were scheduled, then the delay value at the historical block (post) is guaranteed to\n // hold due to how further delay changes would be scheduled by `schedule_change`.\n self.post.unwrap_or(INITIAL_DELAY)\n } else {\n // If a change is scheduled, then the effective delay might be lower than the current one (pre). At the\n // block of change the current delay will be the scheduled one, with an overall delay from the historical\n // block number equal to the number of blocks until the change plus the new delay. If this value is lower\n // than the current delay, then that is the effective minimum delay.\n //\n // historical\n // block delay actual earliest value\n // v block of change block of change\n // =========NS=====================|=============================X===========Y=====>\n // ^ ^ ^ ^\n // earliest block in | | |\n // which to schedule change | | |\n // | | | |\n // |----------------------|------------------------------ |\n // | blocks new delay |\n // | until change |\n // | |\n // |----------------------------------------------------------------|\n // current delay at the earliest block in \n // which to scheduled value change\n\n let blocks_until_change = self.block_of_change - (historical_block_number + 1);\n\n min(\n self.pre.unwrap_or(INITIAL_DELAY),\n blocks_until_change + self.post.unwrap_or(INITIAL_DELAY)\n )\n }\n }\n}\n\nimpl<INITIAL_DELAY> Serialize<1> for ScheduledDelayChange<INITIAL_DELAY> {\n fn serialize(self) -> [Field; 1] {\n // We pack all three u32 values into a single U128, which is made up of two u64 limbs.\n // Low limb: [ pre_inner: u32 | post_inner: u32 ]\n // High limb: [ empty | pre_is_some: u8 | post_is_some: u8 | block_of_change: u32 ]\n\n let lo = ((self.pre.unwrap_unchecked() as u64) * (1 << 32))\n + (self.post.unwrap_unchecked() as u64);\n\n let hi = (self.pre.is_some() as u64) * (1 << 33) \n + (self.post.is_some() as u64 * (1 << 32)) \n + self.block_of_change as u64;\n\n let packed = U128::from_u64s_le(lo, hi);\n\n [packed.to_integer()]\n }\n}\n\nimpl<INITIAL_DELAY> Deserialize<1> for ScheduledDelayChange<INITIAL_DELAY> {\n fn deserialize(input: [Field; 1]) -> Self {\n let packed = U128::from_integer(input[0]);\n\n // We use division and modulo to clear the bits that correspond to other values when unpacking.\n\n let pre_is_some = ((packed.hi as u64) / (1 << 33)) as bool;\n let pre_inner = ((packed.lo as u64) / (1 << 32)) as u32;\n\n let post_is_some = (((packed.hi as u64) / (1 << 32)) % (1 << 1)) as bool;\n let post_inner = ((packed.lo as u64) % (1 << 32)) as u32;\n\n let block_of_change = ((packed.hi as u64) % (1 << 32)) as u32;\n\n Self {\n pre: if pre_is_some { Option::some(pre_inner) } else { Option::none() },\n post: if post_is_some { Option::some(post_inner) } else { Option::none() },\n block_of_change,\n _dummy: [0; INITIAL_DELAY],\n }\n }\n}\n\nmod test {\n use crate::state_vars::shared_mutable::scheduled_delay_change::ScheduledDelayChange;\n\n global TEST_INITIAL_DELAY = 13;\n\n fn assert_equal_after_conversion(original: ScheduledDelayChange<TEST_INITIAL_DELAY>) {\n // We have to do explicit type annotations because Noir lacks turbofish support.\n // TODO: improve syntax once https://github.com/noir-lang/noir/issues/4710 is implemented.\n let converted: ScheduledDelayChange<TEST_INITIAL_DELAY> = ScheduledDelayChange::deserialize((original).serialize());\n\n assert_eq(original.pre, converted.pre);\n assert_eq(original.post, converted.post);\n assert_eq(original.block_of_change, converted.block_of_change);\n }\n\n #[test]\n fn test_serde() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::some(pre), Option::some(post), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::some(pre), Option::none(), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::none(), Option::some(post), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::none(), Option::none(), block_of_change));\n }\n\n #[test]\n fn test_serde_large_values() {\n let max_u32 = (1 << 32) - 1;\n\n let pre = max_u32 as u32;\n let post = (max_u32 - 1) as u32;\n let block_of_change = (max_u32 - 2) as u32;\n\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::some(pre), Option::some(post), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::some(pre), Option::none(), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::none(), Option::some(post), block_of_change));\n assert_equal_after_conversion(ScheduledDelayChange::new(Option::none(), Option::none(), block_of_change));\n }\n\n fn get_non_initial_delay_change(\n pre: u32,\n post: u32,\n block_of_change: u32\n ) -> ScheduledDelayChange<TEST_INITIAL_DELAY> {\n ScheduledDelayChange::new(Option::some(pre), Option::some(post), block_of_change)\n }\n\n fn get_initial_delay_change() -> ScheduledDelayChange<TEST_INITIAL_DELAY> {\n ScheduledDelayChange::deserialize([0])\n }\n\n #[test]\n fn test_get_current() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n assert_eq(delay_change.get_current(0), pre);\n assert_eq(delay_change.get_current(block_of_change - 1), pre);\n assert_eq(delay_change.get_current(block_of_change), post);\n assert_eq(delay_change.get_current(block_of_change + 1), post);\n }\n\n #[test]\n fn test_get_current_initial() {\n let delay_change = get_initial_delay_change();\n\n assert_eq(delay_change.get_current(0), TEST_INITIAL_DELAY);\n assert_eq(delay_change.get_current(1), TEST_INITIAL_DELAY);\n }\n\n #[test]\n fn test_get_scheduled() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n assert_eq(delay_change.get_scheduled(), (post, block_of_change));\n }\n\n #[test]\n fn test_get_scheduled_initial() {\n let delay_change = get_initial_delay_change();\n\n assert_eq(delay_change.get_scheduled(), (TEST_INITIAL_DELAY, 0));\n }\n\n #[test]\n fn test_schedule_change_to_shorter_delay_before_change() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let new = 10;\n let current_block_number = block_of_change - 50;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n delay_change.schedule_change(new, current_block_number);\n\n // Because we re-schedule before the last scheduled change takes effect, the old `post` value is lost. The\n // schedule time is determined by the difference between the current value (pre) and new delay.\n assert_eq(delay_change.pre.unwrap(), pre);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number + pre - new);\n }\n\n #[test]\n fn test_schedule_change_to_shorter_delay_after_change() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let new = 10;\n let current_block_number = block_of_change + 50;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n delay_change.schedule_change(new, current_block_number);\n\n // The schedule time is determined by the different between the current value (ex post, now pre) and new delay.\n assert_eq(delay_change.pre.unwrap(), post);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number + post - new);\n }\n\n #[test]\n fn test_schedule_change_to_shorter_delay_from_initial() {\n let new = TEST_INITIAL_DELAY - 1;\n let current_block_number = 50;\n\n let mut delay_change = get_initial_delay_change();\n delay_change.schedule_change(new, current_block_number);\n\n // Like in the after change scenario, the schedule time is determined by the difference between the current value\n // (initial) and new delay.\n assert_eq(delay_change.pre.unwrap(), TEST_INITIAL_DELAY);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number + TEST_INITIAL_DELAY - new);\n }\n\n #[test]\n fn test_schedule_change_to_longer_delay_before_change() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let new = 40;\n let current_block_number = block_of_change - 50;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n delay_change.schedule_change(new, current_block_number);\n\n // Because we re-schedule before the last scheduled change takes effect, the old `post` value is lost. The\n // change is effective immediately because the new delay is longer than the current one.\n assert_eq(delay_change.pre.unwrap(), pre);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number);\n assert_eq(delay_change.get_current(current_block_number), new);\n }\n\n #[test]\n fn test_schedule_change_to_longer_delay_after_change() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let new = 40;\n let current_block_number = block_of_change + 50;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n delay_change.schedule_change(new, current_block_number);\n\n // Change is effective immediately because the new delay is longer than the current one.\n assert_eq(delay_change.pre.unwrap(), post);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number);\n assert_eq(delay_change.get_current(current_block_number), new);\n }\n\n #[test]\n fn test_schedule_change_to_longer_delay_from_initial() {\n let new = TEST_INITIAL_DELAY + 1;\n let current_block_number = 50;\n\n let mut delay_change = get_initial_delay_change();\n delay_change.schedule_change(new, current_block_number);\n\n // Like in the after change scenario, change is effective immediately because the new delay is longer than the \n // current one.\n assert_eq(delay_change.pre.unwrap(), TEST_INITIAL_DELAY);\n assert_eq(delay_change.post.unwrap(), new);\n assert_eq(delay_change.block_of_change, current_block_number);\n assert_eq(delay_change.get_current(current_block_number), new);\n }\n\n fn assert_effective_minimum_delay_invariants<INITIAL_DELAY>(\n delay_change: &mut ScheduledDelayChange<INITIAL_DELAY>,\n historical_block_number: u32,\n effective_minimum_delay: u32\n ) {\n // The effective minimum delays guarantees the earliest block in which a scheduled value change could be made\n // effective. No action, even if executed immediately after the historical block, should result in a scheduled\n // value change having a block of change lower than this.\n let expected_earliest_value_change_block = historical_block_number + 1 + effective_minimum_delay;\n\n if delay_change.block_of_change > historical_block_number {\n // If a delay change is already scheduled to happen in the future, we then must consider the scenario in\n // which a value change is scheduled to occur right as the delay changes and becomes the current one.\n let delay_change_block = delay_change.block_of_change;\n\n let value_change_block = delay_change_block + delay_change.get_current(delay_change_block);\n assert(expected_earliest_value_change_block <= value_change_block);\n }\n\n // Another possibility would be to schedule a value change immediately after the historical block.\n let change_schedule_block = historical_block_number + 1;\n let value_change_block = change_schedule_block + delay_change.get_current(change_schedule_block);\n assert(expected_earliest_value_change_block <= value_change_block);\n\n // Finally, a delay reduction could be scheduled immediately after the historical block. We reduce the delay to \n // zero, which means that at the delay block of change there'll be no delay and a value change could be \n // performed immediately then.\n delay_change.schedule_change(0, historical_block_number + 1);\n assert(expected_earliest_value_change_block <= delay_change.block_of_change);\n }\n\n #[test]\n fn test_get_effective_delay_at_before_change_in_far_future() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let historical_block_number = 200;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n // The scheduled delay change is far into the future (further than the current delay is), so it doesn't affect\n // the effective delay, which is simply the current one (pre).\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n assert_eq(effective_minimum_delay, pre);\n\n assert_effective_minimum_delay_invariants(\n &mut delay_change,\n historical_block_number,\n effective_minimum_delay\n );\n }\n\n #[test]\n fn test_get_effective_delay_at_before_change_to_long_delay() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let historical_block_number = 495;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n // The scheduled delay change will be effective soon (it's fewer blocks away than the current delay), but due to\n // it being larger than the current one it doesn't affect the effective delay, which is simply the current one\n // (pre).\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n assert_eq(effective_minimum_delay, pre);\n\n assert_effective_minimum_delay_invariants(\n &mut delay_change,\n historical_block_number,\n effective_minimum_delay\n );\n }\n\n #[test]\n fn test_get_effective_delay_at_before_near_change_to_short_delay() {\n let pre = 15;\n let post = 3;\n let block_of_change = 500;\n\n let historical_block_number = 495;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n // The scheduled delay change will be effective soon (it's fewer blocks away than the current delay), and it's\n // changing to a value smaller than the current one. This means that at the block of change the delay will be\n // reduced, and a delay change would be scheduled there with an overall delay lower than the current one.\n // The effective delay therefore is the new delay plus the number of blocks that need to elapse until it becomes\n // effective (i.e. until the block of change).\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n assert_eq(effective_minimum_delay, post + block_of_change - (historical_block_number + 1));\n\n assert_effective_minimum_delay_invariants(\n &mut delay_change,\n historical_block_number,\n effective_minimum_delay\n );\n }\n\n #[test]\n fn test_get_effective_delay_at_after_change() {\n let pre = 15;\n let post = 25;\n let block_of_change = 500;\n\n let historical_block_number = block_of_change + 50;\n\n let mut delay_change = get_non_initial_delay_change(pre, post, block_of_change);\n\n // No delay change is scheduled, so the effective delay is simply the current one (post).\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n assert_eq(effective_minimum_delay, post);\n\n assert_effective_minimum_delay_invariants(\n &mut delay_change,\n historical_block_number,\n effective_minimum_delay\n );\n }\n\n #[test]\n fn test_get_effective_delay_at_initial() {\n let mut delay_change = get_initial_delay_change();\n\n let historical_block_number = 200;\n\n // Like in the after change scenario, no delay change is scheduled, so the effective delay is simply the current \n // one (initial).\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n assert_eq(effective_minimum_delay, TEST_INITIAL_DELAY);\n\n assert_effective_minimum_delay_invariants(\n &mut delay_change,\n historical_block_number,\n effective_minimum_delay\n );\n }\n}\n"},"134":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/scheduled_value_change.nr","source":"use dep::protocol_types::traits::{Serialize, Deserialize, FromField, ToField};\nuse dep::std::cmp::min;\n\n// This data structure is used by SharedMutable to represent a value that changes from `pre` to `post` at some block\n// called the `block_of_change`. The value can only be made to change by scheduling a change event at some future block\n// of change after some minimum delay measured in blocks has elapsed. This means that at any given block number we know\n// both the current value and the smallest block number at which the value might change - this is called the\n// 'block horizon'.\nstruct ScheduledValueChange<T> {\n pre: T,\n post: T,\n // Block at which `post` value is used instead of `pre`\n block_of_change: u32,\n}\n\nimpl<T> ScheduledValueChange<T> {\n pub fn new(pre: T, post: T, block_of_change: u32) -> Self {\n Self { pre, post, block_of_change }\n }\n\n /// Returns the value stored in the data structure at a given block. This function can be called both in public\n /// (where `block_number` is simply the current block number, i.e. the number of the block in which the current\n /// transaction will be included) and in private (where `block_number` is the historical block number that is used\n /// to construct the proof).\n /// Reading in private is only safe if the transaction's `max_block_number` property is set to a value lower or\n /// equal to the block horizon (see `get_block_horizon()`).\n pub fn get_current_at(self, block_number: u32) -> T {\n // The post value becomes the current one at the block of change. This means different things in each realm:\n // - in public, any transaction that is included in the block of change will use the post value\n // - in private, any transaction that includes the block of change as part of the historical state will use the\n // post value (barring any follow-up changes)\n\n if block_number < self.block_of_change {\n self.pre\n } else {\n self.post\n }\n }\n\n /// Returns the scheduled change, i.e. the post-change value and the block at which it will become the current\n /// value. Note that this block may be in the past if the change has already taken place.\n /// Additionally, further changes might be later scheduled, potentially canceling the one returned by this function.\n pub fn get_scheduled(self) -> (T, u32) {\n (self.post, self.block_of_change)\n }\n\n /// Returns the largest block number at which the value returned by `get_current_at` is known to remain the current\n /// value. This value is only meaningful in private when constructing a proof at some `historical_block_number`,\n /// since due to its asynchronous nature private execution cannot know about any later scheduled changes.\n /// The caller of this function must know how quickly the value can change due to a scheduled change in the form of\n /// `minimum_delay`. If the delay itself is immutable, then this is just its duration. If the delay is mutable\n /// however, then this value is the 'effective minimum delay' (obtained by calling\n /// `ScheduledDelayChange.get_effective_minimum_delay_at`), which equals the minimum number of blocks that need to\n /// elapse from the next block until the value changes, regardless of further delay changes.\n /// The value returned by `get_current_at` in private when called with a historical block number is only safe to use\n /// if the transaction's `max_block_number` property is set to a value lower or equal to the block horizon computed\n /// using the same historical block number.\n pub fn get_block_horizon(self, historical_block_number: u32, minimum_delay: u32) -> u32 {\n // The block horizon is the very last block in which the current value is known. Any block past the horizon\n // (i.e. with a block number larger than the block horizon) may have a different current value. Reading the\n // current value in private typically requires constraining the maximum valid block number to be equal to the\n // block horizon.\n\n if historical_block_number >= self.block_of_change {\n // Once the block of change has been mined, the current value (post) will not change unless a new value\n // change is scheduled. This did not happen at the historical block number (or else it would not be\n // greater or equal to the block of change), and therefore could only happen after the historical block\n // number. The earliest would be the immediate next block, and so the smallest possible next block of change\n // equals `historical_block_number + 1 + minimum_delay`. Our block horizon is simply the previous block to\n // that one.\n //\n // block of historical\n // change block block horizon\n // =======|=============N===================H===========>\n // ^ ^\n // ---------------------\n // minimum delay\n\n historical_block_number + minimum_delay\n } else {\n // If the block of change has not yet been mined however, then there are two possible scenarios.\n // a) It could be so far into the future that the block horizon is actually determined by the minimum\n // delay, because a new change could be scheduled and take place _before_ the currently scheduled one.\n // This is similar to the scenario where the block of change is in the past: the time horizon is the\n // block prior to the earliest one in which a new block of change might land.\n //\n // historical\n // block block horizon block of change\n // =====N=================================H=================|=========>\n // ^ ^\n // | |\n // -----------------------------------\n // minimum delay\n //\n // b) It could be fewer than `minimum_delay` blocks away from the historical block number, in which case\n // the block of change would become the limiting factor for the time horizon, which would equal the\n // block right before the block of change (since by definition the value changes at the block of\n // change).\n //\n // historical block horizon\n // block block of change if not scheduled\n // =======N=============|===================H=================>\n // ^ ^ ^\n // | actual horizon |\n // -----------------------------------\n // minimum delay\n //\n // Note that the current implementation does not allow the caller to set the block of change to an arbitrary\n // value, and therefore scenario a) is not currently possible. However implementing #5501 would allow for\n // this to happen.\n\n // Because historical_block_number < self.block_of_change, then block_of_change > 0 and we can safely\n // subtract 1.\n min(\n self.block_of_change - 1,\n historical_block_number + minimum_delay\n )\n }\n }\n\n /// Mutates the value by scheduling a change at the current block number. This function is only meaningful when\n /// called in public with the current block number.\n pub fn schedule_change(\n &mut self,\n new_value: T,\n current_block_number: u32,\n minimum_delay: u32,\n block_of_change: u32\n ) {\n assert(block_of_change >= current_block_number + minimum_delay);\n\n self.pre = self.get_current_at(current_block_number);\n self.post = new_value;\n self.block_of_change = block_of_change;\n }\n}\n\nimpl<T> Serialize<3> for ScheduledValueChange<T> {\n fn serialize(self) -> [Field; 3] where T: ToField {\n [self.pre.to_field(), self.post.to_field(), self.block_of_change.to_field()]\n }\n}\n\nimpl<T> Deserialize<3> for ScheduledValueChange<T> {\n fn deserialize(input: [Field; 3]) -> Self where T: FromField {\n Self {\n pre: FromField::from_field(input[0]),\n post: FromField::from_field(input[1]),\n block_of_change: FromField::from_field(input[2]),\n }\n }\n}\n\nmod test {\n use crate::state_vars::shared_mutable::scheduled_value_change::ScheduledValueChange;\n\n global TEST_DELAY: u32 = 200;\n\n #[test]\n fn test_serde() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let original = ScheduledValueChange::new(pre, post, block_of_change);\n let converted = ScheduledValueChange::deserialize((original).serialize());\n\n assert_eq(original.pre, converted.pre);\n assert_eq(original.post, converted.post);\n assert_eq(original.block_of_change, converted.block_of_change);\n }\n\n #[test]\n fn test_get_current_at() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n assert_eq(value_change.get_current_at(0), pre);\n assert_eq(value_change.get_current_at(block_of_change - 1), pre);\n assert_eq(value_change.get_current_at(block_of_change), post);\n assert_eq(value_change.get_current_at(block_of_change + 1), post);\n }\n\n #[test]\n fn test_get_scheduled() {\n let pre = 1;\n let post = 2;\n let block_of_change = 50;\n\n let value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n assert_eq(value_change.get_scheduled(), (post, block_of_change));\n }\n\n fn assert_block_horizon_invariants(\n value_change: &mut ScheduledValueChange<Field>,\n historical_block_number: u32,\n block_horizon: u32\n ) {\n // The current value should not change at the block horizon (but it might later).\n let current_at_historical = value_change.get_current_at(historical_block_number);\n assert_eq(current_at_historical, value_change.get_current_at(block_horizon));\n\n // The earliest a new change could be scheduled in would be the immediate next block to the historical one. This\n // should result in the new block of change landing *after* the block horizon, and the current value still not\n // changing at the previously determined block_horizon.\n\n let new = value_change.pre + value_change.post; // Make sure it's different to both pre and post\n value_change.schedule_change(\n new,\n historical_block_number + 1,\n TEST_DELAY,\n historical_block_number + 1 + TEST_DELAY\n );\n\n assert(value_change.block_of_change > block_horizon);\n assert_eq(current_at_historical, value_change.get_current_at(block_horizon));\n }\n\n #[test]\n fn test_get_block_horizon_change_in_past() {\n let historical_block_number = 100;\n let block_of_change = 50;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value_change.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value_change, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_immediate_past() {\n let historical_block_number = 100;\n let block_of_change = 100;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value_change.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value_change, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_near_future() {\n let historical_block_number = 100;\n let block_of_change = 120;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n // Note that this is the only scenario in which the block of change informs the block horizon.\n // This may result in privacy leaks when interacting with applications that have a scheduled change\n // in the near future.\n let block_horizon = value_change.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, block_of_change - 1);\n\n assert_block_horizon_invariants(&mut value_change, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_change_in_far_future() {\n let historical_block_number = 100;\n let block_of_change = 500;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value_change.get_block_horizon(historical_block_number, TEST_DELAY);\n assert_eq(block_horizon, historical_block_number + TEST_DELAY);\n\n assert_block_horizon_invariants(&mut value_change, historical_block_number, block_horizon);\n }\n\n #[test]\n fn test_get_block_horizon_n0_delay() {\n let historical_block_number = 100;\n let block_of_change = 50;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(1, 2, block_of_change);\n\n let block_horizon = value_change.get_block_horizon(historical_block_number, 0);\n // Since the block horizon equals the historical block number, it is not possible to read the current value in\n // private since the transaction `max_block_number` property would equal an already mined block.\n assert_eq(block_horizon, historical_block_number);\n }\n\n #[test]\n fn test_schedule_change_before_change() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change - 50;\n value_change.schedule_change(\n new,\n current_block_number,\n TEST_DELAY,\n current_block_number + TEST_DELAY\n );\n\n // Because we re-schedule before the last scheduled change takes effect, the old `post` value is lost.\n assert_eq(value_change.pre, pre);\n assert_eq(value_change.post, new);\n assert_eq(value_change.block_of_change, current_block_number + TEST_DELAY);\n }\n\n #[test]\n fn test_schedule_change_after_change() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change + 50;\n value_change.schedule_change(\n new,\n current_block_number,\n TEST_DELAY,\n current_block_number + TEST_DELAY\n );\n\n assert_eq(value_change.pre, post);\n assert_eq(value_change.post, new);\n assert_eq(value_change.block_of_change, current_block_number + TEST_DELAY);\n }\n\n #[test]\n fn test_schedule_change_no_delay() {\n let pre = 1;\n let post = 2;\n let block_of_change = 500;\n\n let mut value_change: ScheduledValueChange<Field> = ScheduledValueChange::new(pre, post, block_of_change);\n\n let new = 42;\n let current_block_number = block_of_change + 50;\n value_change.schedule_change(new, current_block_number, 0, current_block_number);\n\n assert_eq(value_change.pre, post);\n assert_eq(value_change.post, new);\n assert_eq(value_change.block_of_change, current_block_number);\n assert_eq(value_change.get_current_at(current_block_number), new);\n }\n}\n"},"135":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/shared_mutable/shared_mutable.nr","source":"use dep::protocol_types::{hash::pedersen_hash, traits::FromField};\n\nuse crate::context::{PrivateContext, PublicContext};\nuse crate::history::public_storage::public_storage_historical_read;\nuse crate::public_storage;\nuse crate::state_vars::{\n storage::Storage,\n shared_mutable::{scheduled_value_change::ScheduledValueChange, scheduled_delay_change::ScheduledDelayChange}\n};\n\nstruct SharedMutable<T, INITIAL_DELAY, Context> {\n context: Context,\n storage_slot: Field,\n}\n\n// This will make the Aztec macros require that T implements the Serialize<N> trait, and allocate N storage slots to\n// this state variable. This is incorrect, since what we actually store is:\n// - a ScheduledValueChange<T>, which requires 1 + 2 * M storage slots, where M is the serialization length of T\n// - a ScheduledDelayChange, which requires another storage slot\n//\n// TODO https://github.com/AztecProtocol/aztec-packages/issues/5736: change the storage allocation scheme so that we \n// can actually use it here\nimpl<T, INITIAL_DELAY, Context> Storage<T> for SharedMutable<T, INITIAL_DELAY, Context> {}\n\n// SharedMutable<T> stores a value of type T that is:\n// - publicly known (i.e. unencrypted)\n// - mutable in public\n// - readable in private with no contention (i.e. multiple parties can all read the same value without blocking one\n// another nor needing to coordinate)\n// This is famously a hard problem to solve. SharedMutable makes it work by introducing a delay to public mutation:\n// the value is not changed immediately but rather a value change is scheduled to happen in the future after some delay\n// measured in blocks. Reads in private are only valid as long as they are included in a block not too far into the \n// future, so that they can guarantee the value will not have possibly changed by then (because of the delay).\n// The delay for changing a value is initially equal to INITIAL_DELAY, but can be changed by calling \n// `schedule_delay_change`.\nimpl<T, INITIAL_DELAY, Context> SharedMutable<T, INITIAL_DELAY, Context> {\n pub fn new(context: Context, storage_slot: Field) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot }\n }\n\n // Since we can't rely on the native storage allocation scheme, we hash the storage slot to get a unique location in\n // which we can safely store as much data as we need. \n // See https://github.com/AztecProtocol/aztec-packages/issues/5492 and \n // https://github.com/AztecProtocol/aztec-packages/issues/5736\n fn get_value_change_storage_slot(self) -> Field {\n pedersen_hash([self.storage_slot, 0], 0)\n }\n\n fn get_delay_change_storage_slot(self) -> Field {\n pedersen_hash([self.storage_slot, 1], 0)\n }\n}\n\nimpl<T, INITIAL_DELAY> SharedMutable<T, INITIAL_DELAY, &mut PublicContext> {\n pub fn schedule_value_change(self, new_value: T) {\n let mut value_change = self.read_value_change();\n let delay_change = self.read_delay_change();\n\n let block_number = self.context.block_number() as u32;\n let current_delay = delay_change.get_current(block_number);\n\n // TODO: make this configurable\n // https://github.com/AztecProtocol/aztec-packages/issues/5501\n let block_of_change = block_number + current_delay;\n value_change.schedule_change(new_value, block_number, current_delay, block_of_change);\n\n self.write_value_change(value_change);\n }\n\n pub fn schedule_delay_change(self, new_delay: u32) {\n let mut delay_change = self.read_delay_change();\n\n let block_number = self.context.block_number() as u32;\n\n delay_change.schedule_change(new_delay, block_number);\n\n self.write_delay_change(delay_change);\n }\n\n pub fn get_current_value_in_public(self) -> T {\n let block_number = self.context.block_number() as u32;\n self.read_value_change().get_current_at(block_number)\n }\n\n pub fn get_current_delay_in_public(self) -> u32 {\n let block_number = self.context.block_number() as u32;\n self.read_delay_change().get_current(block_number)\n }\n\n pub fn get_scheduled_value_in_public(self) -> (T, u32) {\n self.read_value_change().get_scheduled()\n }\n\n pub fn get_scheduled_delay_in_public(self) -> (u32, u32) {\n self.read_delay_change().get_scheduled()\n }\n\n fn read_value_change(self) -> ScheduledValueChange<T> {\n public_storage::read(self.get_value_change_storage_slot())\n }\n\n fn read_delay_change(self) -> ScheduledDelayChange<INITIAL_DELAY> {\n public_storage::read(self.get_delay_change_storage_slot())\n }\n\n fn write_value_change(self, value_change: ScheduledValueChange<T>) {\n public_storage::write(self.get_value_change_storage_slot(), value_change);\n }\n\n fn write_delay_change(self, delay_change: ScheduledDelayChange<INITIAL_DELAY>) {\n public_storage::write(self.get_delay_change_storage_slot(), delay_change);\n }\n}\n\nimpl<T, INITIAL_DELAY> SharedMutable<T, INITIAL_DELAY, &mut PrivateContext> {\n pub fn get_current_value_in_private(self) -> T where T: FromField {\n // When reading the current value in private we construct a historical state proof for the public value.\n // However, since this value might change, we must constrain the maximum transaction block number as this proof\n // will only be valid for however many blocks we can ensure the value will not change, which will depend on the\n // current delay and any scheduled delay changes.\n\n let (value_change, delay_change, historical_block_number) = self.historical_read_from_public_storage(*self.context);\n\n // We use the effective minimum delay as opposed to the current delay at the historical block as this one also\n // takes into consideration any scheduled delay changes. \n // For example, consider a scenario in which at block 200 the current delay was 50. We may naively think that\n // the earliest we could change the value would be at block 251 by scheduling immediately after the historical\n // block, i.e. at block 201. But if there was a delay change scheduled for block 210 to reduce the delay to 20 \n // blocks, then if a value change was scheduled at block 210 it would go into effect at block 230, which is \n // earlier than what we'd expect if we only considered the current delay.\n let effective_minimum_delay = delay_change.get_effective_minimum_delay_at(historical_block_number);\n let block_horizon = value_change.get_block_horizon(historical_block_number, effective_minimum_delay);\n\n // We prevent this transaction from being included in any block after the block horizon, ensuring that the \n // historical public value matches the current one, since it can only change after the horizon.\n self.context.set_tx_max_block_number(block_horizon);\n value_change.get_current_at(historical_block_number)\n }\n\n fn historical_read_from_public_storage(\n self,\n context: PrivateContext\n ) -> (ScheduledValueChange<T>, ScheduledDelayChange<INITIAL_DELAY>, u32) where T: FromField {\n // Ideally the following would be simply public_storage::read_historical, but we can't implement that yet.\n let value_change_slot = self.get_value_change_storage_slot();\n let mut raw_value_change_fields = [0; 3];\n for i in 0..3 {\n raw_value_change_fields[i] = public_storage_historical_read(\n context,\n value_change_slot + i as Field,\n context.this_address()\n );\n }\n\n // Ideally the following would be simply public_storage::read_historical, but we can't implement that yet.\n let delay_change_slot = self.get_delay_change_storage_slot();\n let raw_delay_change_fields = [public_storage_historical_read(context, delay_change_slot, context.this_address())];\n\n let value_change = ScheduledValueChange::deserialize(raw_value_change_fields);\n let delay_change = ScheduledDelayChange::deserialize(raw_delay_change_fields);\n\n let historical_block_number = context.historical_header.global_variables.block_number as u32;\n\n (value_change, delay_change, historical_block_number)\n }\n}\n\nmod test {\n use dep::std::{merkle::compute_merkle_root, test::OracleMock};\n\n use crate::{\n context::{PublicContext, PrivateContext},\n state_vars::shared_mutable::{\n shared_mutable::SharedMutable, scheduled_value_change::ScheduledValueChange,\n scheduled_delay_change::ScheduledDelayChange\n },\n oracle::get_public_data_witness::PublicDataWitness\n };\n\n use dep::protocol_types::{\n constants::{GENERATOR_INDEX__PUBLIC_LEAF_INDEX, PUBLIC_DATA_TREE_HEIGHT}, hash::pedersen_hash,\n address::AztecAddress, public_data_tree_leaf_preimage::PublicDataTreeLeafPreimage\n };\n\n global pre_value = 13;\n global post_value = 42;\n\n global new_value = 57;\n\n global pre_delay = 20;\n global post_delay = 15;\n\n global TEST_INITIAL_DELAY = 3;\n\n fn setup() -> (SharedMutable<Field, TEST_INITIAL_DELAY, &mut PublicContext>, Field) {\n let block_number = 40;\n let context = create_context(block_number);\n\n let storage_slot = 57;\n let state_var = SharedMutable::new(context, storage_slot);\n\n (state_var, block_number)\n }\n\n fn create_context(block_number: Field) -> &mut PublicContext {\n let mut public_context = PublicContext::empty();\n public_context.inputs.public_global_variables.block_number = block_number;\n &mut public_context\n }\n\n fn mock_value_change_read(\n state_var: SharedMutable<Field, TEST_INITIAL_DELAY, &mut PublicContext>,\n pre: Field,\n post: Field,\n block_of_change: Field\n ) {\n let value_change_slot = state_var.get_value_change_storage_slot();\n let fields = ScheduledValueChange::new(pre, post, block_of_change as u32).serialize();\n\n let _ = OracleMock::mock(\"storageRead\").with_params((value_change_slot, 3)).returns(fields).times(1);\n }\n\n fn mock_delay_change_read(\n state_var: SharedMutable<Field, TEST_INITIAL_DELAY, &mut PublicContext>,\n pre: Field,\n post: Field,\n block_of_change: Field\n ) {\n let delay_change_slot = state_var.get_delay_change_storage_slot();\n let delay_change: ScheduledDelayChange<TEST_INITIAL_DELAY> = ScheduledDelayChange::new(\n Option::some(pre as u32),\n Option::some(post as u32),\n block_of_change as u32\n );\n let fields = delay_change.serialize();\n\n let _ = OracleMock::mock(\"storageRead\").with_params((delay_change_slot, 1)).returns(fields).times(1);\n }\n\n fn mock_delay_change_read_uninitialized(state_var: SharedMutable<Field, TEST_INITIAL_DELAY, &mut PublicContext>) {\n let delay_change_slot = state_var.get_delay_change_storage_slot();\n let _ = OracleMock::mock(\"storageRead\").with_params((delay_change_slot, 1)).returns([0]).times(1);\n }\n\n // Useful since change and delay values are always the global pre/post ones, so we typically only care about their\n // block of change.\n fn mock_value_and_delay_read(\n state_var: SharedMutable<Field, TEST_INITIAL_DELAY, &mut PublicContext>,\n value_block_of_change: Field,\n delay_block_of_change: Field\n ) {\n mock_value_change_read(state_var, pre_value, post_value, value_block_of_change);\n mock_delay_change_read(state_var, pre_delay, post_delay, delay_block_of_change);\n }\n\n fn mock_value_change_write() -> OracleMock {\n OracleMock::mock(\"storageWrite\").returns([0; 3])\n }\n\n fn mock_delay_change_write() -> OracleMock {\n OracleMock::mock(\"storageWrite\").returns([0; 1])\n }\n\n fn assert_value_change_write(\n state_var: SharedMutable<Field, TEST_INITIAL_DELAY, &mut PublicContext>,\n mock: OracleMock,\n pre: Field,\n post: Field,\n block_of_change: Field\n ) {\n let fields = ScheduledValueChange::new(pre, post, block_of_change as u32).serialize();\n assert_eq(mock.get_last_params(), (state_var.get_value_change_storage_slot(), fields));\n }\n\n fn assert_delay_change_write(\n state_var: SharedMutable<Field, TEST_INITIAL_DELAY, &mut PublicContext>,\n mock: OracleMock,\n pre: Field,\n post: Field,\n block_of_change: Field\n ) {\n let delay_change: ScheduledDelayChange<TEST_INITIAL_DELAY> = ScheduledDelayChange::new(\n Option::some(pre as u32),\n Option::some(post as u32),\n block_of_change as u32\n );\n\n let fields = delay_change.serialize();\n assert_eq(mock.get_last_params(), (state_var.get_delay_change_storage_slot(), fields));\n }\n\n #[test]\n fn test_get_current_value_in_public() {\n let (state_var, block_number) = setup();\n\n // Change in the future, current value is pre\n mock_value_change_read(state_var, pre_value, post_value, block_number + 1);\n assert_eq(state_var.get_current_value_in_public(), pre_value);\n\n // Change in the current block, current value is post\n mock_value_change_read(state_var, pre_value, post_value, block_number);\n assert_eq(state_var.get_current_value_in_public(), post_value);\n\n // Change in the past, current value is post\n mock_value_change_read(state_var, pre_value, post_value, block_number - 1);\n assert_eq(state_var.get_current_value_in_public(), post_value);\n }\n\n #[test]\n fn test_get_scheduled_value_in_public() {\n let (state_var, block_number) = setup();\n\n // Change in the future, scheduled is post (always is)\n mock_value_change_read(state_var, pre_value, post_value, block_number + 1);\n assert_eq(state_var.get_scheduled_value_in_public(), (post_value, (block_number + 1) as u32));\n\n // Change in the current block, scheduled is post (always is)\n mock_value_change_read(state_var, pre_value, post_value, block_number);\n assert_eq(state_var.get_scheduled_value_in_public(), (post_value, block_number as u32));\n\n // Change in the past, scheduled is post (always is)\n mock_value_change_read(state_var, pre_value, post_value, block_number - 1);\n assert_eq(state_var.get_scheduled_value_in_public(), (post_value, (block_number - 1) as u32));\n }\n\n #[test]\n fn test_get_current_delay_in_public() {\n let (state_var, block_number) = setup();\n\n // Uninitialized\n mock_delay_change_read_uninitialized(state_var);\n assert_eq(state_var.get_current_delay_in_public(), TEST_INITIAL_DELAY as u32);\n\n // Change in the future, current value is pre\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number + 1);\n assert_eq(state_var.get_current_delay_in_public(), pre_delay as u32);\n\n // Change in the current block, current value is post\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number);\n assert_eq(state_var.get_current_delay_in_public(), post_delay as u32);\n\n // Change in the past, current value is post\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number - 1);\n assert_eq(state_var.get_current_delay_in_public(), post_delay as u32);\n }\n\n #[test]\n fn test_get_scheduled_delay_in_public_before_change() {\n let (state_var, block_number) = setup();\n\n // Uninitialized\n mock_delay_change_read_uninitialized(state_var);\n assert_eq(state_var.get_scheduled_delay_in_public(), (TEST_INITIAL_DELAY as u32, 0));\n\n // Change in the future, scheduled is post (always is)\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number + 1);\n assert_eq(state_var.get_scheduled_delay_in_public(), (post_delay as u32, (block_number + 1) as u32));\n\n // Change in the current block, scheduled is post (always is)\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number);\n assert_eq(state_var.get_scheduled_delay_in_public(), (post_delay as u32, block_number as u32));\n\n // Change in the past, scheduled is post (always is)\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number - 1);\n assert_eq(state_var.get_scheduled_delay_in_public(), (post_delay as u32, (block_number - 1) as u32));\n }\n\n #[test]\n fn test_schedule_value_change_no_delay() {\n let (state_var, block_number) = setup();\n\n // Last value change was in the past\n mock_value_change_read(state_var, pre_value, post_value, 0);\n\n // Current delay is 0\n mock_delay_change_read(state_var, 0, 0, block_number);\n\n let write_mock = mock_value_change_write();\n\n state_var.schedule_value_change(new_value);\n\n // The new value has a block of change equal to the current block, i.e. it is the current value\n assert_value_change_write(state_var, write_mock, post_value, new_value, block_number);\n }\n\n #[test]\n fn test_schedule_value_change_before_change_no_scheduled_delay() {\n let (state_var, block_number) = setup();\n\n // Value change in the future, delay change in the past\n mock_value_and_delay_read(state_var, block_number + 1, block_number - 1);\n let write_mock = mock_value_change_write();\n\n state_var.schedule_value_change(new_value);\n\n // The new scheduled value change replaces the old one, post delay (current) is used\n assert_value_change_write(\n state_var,\n write_mock,\n pre_value,\n new_value,\n block_number + post_delay\n );\n }\n\n #[test]\n fn test_schedule_value_change_before_change_scheduled_delay() {\n let (state_var, block_number) = setup();\n\n // Value change in the future, delay change in the future\n mock_value_and_delay_read(state_var, block_number + 1, block_number + 1);\n\n let write_mock = mock_value_change_write();\n\n state_var.schedule_value_change(new_value);\n\n // The new scheduled value change replaces the old one, pre delay (current, not scheduled) is used\n assert_value_change_write(\n state_var,\n write_mock,\n pre_value,\n new_value,\n block_number + pre_delay\n );\n }\n\n #[test]\n fn test_schedule_value_change_after_change_no_scheduled_delay() {\n let (state_var, block_number) = setup();\n\n // Value change in the past, delay change in the past\n mock_value_and_delay_read(state_var, block_number - 1, block_number - 1);\n let write_mock = mock_value_change_write();\n\n state_var.schedule_value_change(new_value);\n\n // The previous post value becomes the pre value, post delay (current) is used\n assert_value_change_write(\n state_var,\n write_mock,\n post_value,\n new_value,\n block_number + post_delay\n );\n }\n\n #[test]\n fn test_schedule_value_change_after_change_scheduled_delay() {\n let (state_var, block_number) = setup();\n\n // Value change in the past, delay change in the future\n mock_value_and_delay_read(state_var, block_number - 1, block_number + 1);\n\n let write_mock = mock_value_change_write();\n\n state_var.schedule_value_change(new_value);\n\n // The previous post value becomes the pre value, pre delay (current, not scheduled) is used\n assert_value_change_write(\n state_var,\n write_mock,\n post_value,\n new_value,\n block_number + pre_delay\n );\n }\n\n #[test]\n fn test_schedule_delay_increase_before_change() {\n let (state_var, block_number) = setup();\n\n // Delay change in future, current delay is pre\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number + 1);\n let write_mock = mock_delay_change_write();\n\n let new_delay = pre_delay + 1;\n state_var.schedule_delay_change(new_delay as u32);\n\n // The previous scheduled change is lost, change is immediate (due to increase)\n assert_delay_change_write(state_var, write_mock, pre_delay, new_delay, block_number);\n }\n\n #[test]\n fn test_schedule_delay_reduction_before_change() {\n let (state_var, block_number) = setup();\n\n // Delay change in future, current delay is pre\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number + 1);\n let write_mock = mock_delay_change_write();\n\n let new_delay = pre_delay - 1;\n state_var.schedule_delay_change(new_delay as u32);\n\n // The previous scheduled change is lost, change delay equals difference (due to reduction)\n assert_delay_change_write(\n state_var,\n write_mock,\n pre_delay,\n new_delay,\n block_number + pre_delay - new_delay\n );\n }\n\n #[test]\n fn test_schedule_delay_increase_after_change() {\n let (state_var, block_number) = setup();\n\n // Delay change in the past, current delay is post\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number - 1);\n let write_mock = mock_delay_change_write();\n\n let new_delay = post_delay + 1;\n state_var.schedule_delay_change(new_delay as u32);\n\n // The current value becomes pre, change is immediate (due to increase)\n assert_delay_change_write(state_var, write_mock, post_delay, new_delay, block_number);\n }\n\n #[test]\n fn test_schedule_delay_reduction_after_change() {\n let (state_var, block_number) = setup();\n\n // Delay change in the past, current delay is post\n mock_delay_change_read(state_var, pre_delay, post_delay, block_number - 1);\n let write_mock = mock_delay_change_write();\n\n let new_delay = post_delay - 1;\n state_var.schedule_delay_change(new_delay as u32);\n\n // The current value becomes pre, change delay equals difference (due to reduction)\n assert_delay_change_write(\n state_var,\n write_mock,\n post_delay,\n new_delay,\n block_number + post_delay - new_delay\n );\n }\n\n #[test]\n fn test_get_current_value_in_private_before_change() {\n // Here we'd want to test that the private getter returns the correct value and sets max_block_number in the\n // context to the expected block horizon, in all the possible scenarios (long before change, before near change,\n // after change).\n // However, this requires mocking the getPublicDataTreeWitness oracle so that we can convince the circuit that\n // it got a valid historical proof. Because we can set the tree root to whatever we want in the context, this is\n // trivial for a single historical value (we add a leaf and compute the root with any random path), but is quite\n // hard if we're reading more than one value for the same root (as SharedMutable does): we essentially need to\n // create an actual indexed tree and compute the correct path for each of the inserted values.\n // TODO: implement an actual tree and use it here https://github.com/AztecProtocol/aztec-packages/issues/5494\n }\n}\n"},"161":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr","source":"use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\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 = dep::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"},"199":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/type_serialization.nr","source":"use crate::traits::{Serialize, Deserialize};\n\nglobal BOOL_SERIALIZED_LEN: Field = 1;\nglobal U8_SERIALIZED_LEN: Field = 1;\nglobal U32_SERIALIZED_LEN: Field = 1;\nglobal U64_SERIALIZED_LEN: Field = 1;\nglobal U128_SERIALIZED_LEN: Field = 1;\nglobal FIELD_SERIALIZED_LEN: Field = 1;\n\nimpl Serialize<BOOL_SERIALIZED_LEN> for bool {\n fn serialize(self) -> [Field; BOOL_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<BOOL_SERIALIZED_LEN> for bool {\n fn deserialize(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n }\n}\n\nimpl Serialize<U8_SERIALIZED_LEN> for u8 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U8_SERIALIZED_LEN> for u8 {\n fn deserialize(fields: [Field; U8_SERIALIZED_LEN]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Serialize<U32_SERIALIZED_LEN> for u32 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U32_SERIALIZED_LEN> for u32 {\n fn deserialize(fields: [Field; U32_SERIALIZED_LEN]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Serialize<U64_SERIALIZED_LEN> for u64 {\n fn serialize(self) -> [Field; U64_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U64_SERIALIZED_LEN> for u64 {\n fn deserialize(fields: [Field; U64_SERIALIZED_LEN]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Serialize<U128_SERIALIZED_LEN> for U128 {\n fn serialize(self) -> [Field; 1] {\n [self.to_integer()]\n }\n\n}\n\nimpl Deserialize<U128_SERIALIZED_LEN> for U128 {\n fn deserialize(fields: [Field; U128_SERIALIZED_LEN]) -> Self {\n U128::from_integer(fields[0])\n }\n}\n\nimpl Serialize<FIELD_SERIALIZED_LEN> for Field {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self]\n }\n}\n\nimpl Deserialize<FIELD_SERIALIZED_LEN> for Field {\n fn deserialize(fields: [Field; FIELD_SERIALIZED_LEN]) -> Self {\n fields[0]\n }\n}\n"},"200":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr","source":"use dep::std::cmp::Eq;\nuse crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, N>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<N> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<N> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n"},"208":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::address::{AztecAddress, EthAddress};\nuse crate::recursion::verification_key::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::log_hash::{LogHash, NoteLogHash};\nuse crate::traits::is_empty;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::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};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\nuse dep::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\npub fn compute_note_hash_nonce(first_nullifier: Field, note_hash_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n note_hash_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(address: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\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 rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\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\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: [NoteLogHash; 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 dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::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), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5, counter: 1234 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n"},"22":{"path":"std/field.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"},"229":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/field.nr","source":"pub fn field_from_bytes<N>(bytes: [u8; N], big_endian: bool) -> Field {\n assert(bytes.len() < 32, \"field_from_bytes: N must be less than 32\");\n let mut as_field = 0;\n let mut offset = 1;\n for i in 0..N {\n let mut index = i;\n if big_endian {\n index = N - i - 1;\n }\n as_field += (bytes[index] as Field) * offset;\n offset *= 256;\n }\n\n as_field\n}\n\n// Convert a 32 byte array to a field element by truncating the final byte\npub fn field_from_bytes_32_trunc(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..15 {\n // covers bytes 16..30 (31 is truncated and ignored)\n low = low + (bytes32[15 + 15 - i] as Field) * v;\n v = v * 256;\n // covers bytes 0..14\n high = high + (bytes32[14 - i] as Field) * v;\n }\n // covers byte 15\n low = low + (bytes32[15] as Field) * v;\n\n low + high * v\n}\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n\n#[test]\nunconstrained fn bytes_field_test() {\n // Tests correctness of field_from_bytes_32_trunc against existing methods\n // Bytes representing 0x543e0a6642ffeb8039296861765a53407bba62bd1c97ca43374de950bbe0a7\n let inputs = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167\n ];\n let field = field_from_bytes(inputs, true);\n let return_bytes = field.to_be_bytes(31);\n for i in 0..31 {\n assert_eq(inputs[i], return_bytes[i]);\n }\n // 32 bytes - we remove the final byte, and check it matches the field\n let inputs2 = [\n 84, 62, 10, 102, 66, 255, 235, 128, 57, 41, 104, 97, 118, 90, 83, 64, 123, 186, 98, 189, 28, 151, 202, 67, 55, 77, 233, 80, 187, 224, 167, 158\n ];\n let field2 = field_from_bytes_32_trunc(inputs2);\n let return_bytes2 = field.to_be_bytes(31);\n\n for i in 0..31 {\n assert_eq(return_bytes2[i], return_bytes[i]);\n }\n assert_eq(field2, field);\n}\n"},"244":{"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, grumpkin_point::GrumpkinPoint,\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"},"28":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\nglobal RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n\n pub fn hash<N>(input: [Field; N], message_size: u64) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<N>(input: [Field; N], in_len: u64, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n"},"306":{"path":"/usr/src/noir-projects/noir-contracts/contracts/key_registry_contract/src/main.nr","source":"contract KeyRegistry {\n use dep::authwit::auth::assert_current_call_valid_authwit_public;\n\n use dep::aztec::{\n keys::PublicKeys, state_vars::{SharedMutable, Map},\n protocol_types::{grumpkin_point::GrumpkinPoint, address::{AztecAddress, PartialAddress}}\n };\n\n global KEY_ROTATION_DELAY = 5;\n\n #[aztec(storage)]\n struct Storage {\n // The following stores a hash of individual master public keys\n // If you change slots of vars below, you must update the slots in `SharedMutablePrivateGetter` in aztec-nr/keys.\n // We store x and y coordinates in individual shared mutables as shared mutable currently supports only 1 field\n npk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n npk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n\n ivpk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n ivpk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n \n ovpk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n ovpk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n \n tpk_m_x_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n tpk_m_y_registry: Map<AztecAddress, SharedMutable<Field, KEY_ROTATION_DELAY>>,\n }\n\n #[aztec(public)]\n fn rotate_npk_m(address: AztecAddress, new_npk_m: GrumpkinPoint, nonce: Field) {\n // TODO: (#6137)\n if (!address.eq(context.msg_sender())) {\n assert_current_call_valid_authwit_public(&mut context, address);\n } else {\n assert(nonce == 0, \"invalid nonce\");\n }\n\n let npk_m_x_registry = storage.npk_m_x_registry.at(address);\n let npk_m_y_registry = storage.npk_m_y_registry.at(address);\n npk_m_x_registry.schedule_value_change(new_npk_m.x);\n npk_m_y_registry.schedule_value_change(new_npk_m.y);\n }\n\n #[aztec(public)]\n fn register(address: AztecAddress, partial_address: PartialAddress, keys: PublicKeys) {\n let computed_address = AztecAddress::compute(keys.hash(), partial_address);\n\n assert(computed_address.eq(address), \"Computed address does not match supplied address\");\n\n let npk_m_x_registry = storage.npk_m_x_registry.at(address);\n let npk_m_y_registry = storage.npk_m_y_registry.at(address);\n let ivpk_m_x_registry = storage.ivpk_m_x_registry.at(address);\n let ivpk_m_y_registry = storage.ivpk_m_y_registry.at(address);\n // let ovpk_m_x_registry = storage.ovpk_m_x_registry.at(address);\n // let ovpk_m_y_registry = storage.ovpk_m_y_registry.at(address);\n // let tpk_m_x_registry = storage.tpk_m_x_registry.at(address);\n // let tpk_m_y_registry = storage.tpk_m_y_registry.at(address);\n\n npk_m_x_registry.schedule_value_change(keys.npk_m.x);\n npk_m_y_registry.schedule_value_change(keys.npk_m.y);\n ivpk_m_x_registry.schedule_value_change(keys.ivpk_m.x);\n ivpk_m_y_registry.schedule_value_change(keys.ivpk_m.y);\n // Commented out as we hit the max enqueued public calls limit when not done so\n // ovpk_m_x_registry.schedule_value_change(ovpk_m.x);\n // ovpk_m_y_registry.schedule_value_change(ovpk_m.y);\n // tpk_m_x_registry.schedule_value_change(tpk_m.x);\n // tpk_m_y_registry.schedule_value_change(tpk_m.y);\n }\n}\n"},"35":{"path":"std/option.nr","source":"use crate::hash::{Hash, Hasher};\nuse crate::cmp::{Ordering, Ord, Eq};\nuse crate::default::Default;\n\nstruct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some { self._value } else { default }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// Asserts `self.is_some()` with a provided custom message and returns the contained `Some` value\n fn expect<N, MessageTypes>(self, message: fmtstr<N, MessageTypes>) -> T {\n assert(self.is_some(), message);\n self._value\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some { self } else { other }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some { self } else { default() }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some { Option::none() } else { self }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n\nimpl<T> Default for Option<T> {\n fn default() -> Self {\n Option::none()\n }\n}\n\nimpl<T> Eq for Option<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n if self._is_some == other._is_some {\n if self._is_some {\n self._value == other._value\n } else {\n true\n }\n } else {\n false\n }\n }\n}\n\nimpl<T> Hash for Option<T> where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher {\n self._is_some.hash(state);\n if self._is_some {\n self._value.hash(state);\n }\n }\n}\n\n// For this impl we're declaring Option::none < Option::some\nimpl<T> Ord for Option<T> where T: Ord {\n fn cmp(self, other: Self) -> Ordering {\n if self._is_some {\n if other._is_some {\n self._value.cmp(other._value)\n } else {\n Ordering::greater()\n }\n } else {\n if other._is_some {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n"},"4":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: u64,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: u64) -> T {\n assert(index < self.len);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: u64) -> T {\n self.storage[index]\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) -> u64 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u64 {\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<Len>(&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<Len>(&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<Len>(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\nimpl<T, MaxLen> 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, MaxLen, Len> 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 // TODO: Allow imports from \"super\"\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 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"},"43":{"path":"std/uint128.nr","source":"use crate::ops::{Add, Sub, Mul, Div, Rem, Not, BitOr, BitAnd, BitXor, Shl, Shr};\nuse crate::cmp::{Eq, Ord, Ordering};\nuse crate::println;\n\nglobal pow64 : Field = 18446744073709551616; //2^64;\nglobal pow63 : Field = 9223372036854775808; // 2^63;\nstruct U128 {\n lo: Field,\n hi: Field,\n}\n\nimpl U128 {\n\n pub fn from_u64s_le(lo: u64, hi: u64) -> U128 {\n // in order to handle multiplication, we need to represent the product of two u64 without overflow\n assert(crate::field::modulus_num_bits() as u32 > 128);\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n pub fn from_u64s_be(hi: u64, lo: u64) -> U128 {\n U128::from_u64s_le(lo, hi)\n }\n\n pub fn zero() -> U128 {\n U128 { lo: 0, hi: 0 }\n }\n\n pub fn one() -> U128 {\n U128 { lo: 1, hi: 0 }\n }\n pub fn from_le_bytes(bytes: [u8; 16]) -> U128 {\n let mut lo = 0;\n let mut base = 1;\n for i in 0..8 {\n lo += (bytes[i] as Field)*base;\n base *= 256;\n }\n let mut hi = 0;\n base = 1;\n for i in 8..16 {\n hi += (bytes[i] as Field)*base;\n base *= 256;\n }\n U128 { lo, hi }\n }\n\n pub fn to_be_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_be_bytes(8);\n let hi = self.hi.to_be_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = hi[i];\n bytes[i+8] = lo[i];\n }\n bytes\n }\n\n pub fn to_le_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_le_bytes(8);\n let hi = self.hi.to_le_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = lo[i];\n bytes[i+8] = hi[i];\n }\n bytes\n }\n\n pub fn from_hex<N>(hex: str<N>) -> U128 {\n let N = N as u32;\n let bytes = hex.as_bytes();\n // string must starts with \"0x\"\n assert((bytes[0] == 48) & (bytes[1] == 120), \"Invalid hexadecimal string\");\n assert(N < 35, \"Input does not fit into a U128\");\n\n let mut lo = 0;\n let mut hi = 0;\n let mut base = 1;\n if N <= 18 {\n for i in 0..N - 2 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n } else {\n for i in 0..16 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n base = 1;\n for i in 17..N - 1 {\n hi += U128::decode_ascii(bytes[N-i])*base;\n base = base*16;\n }\n }\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n unconstrained fn uconstrained_check_is_upper_ascii(ascii: u8) -> bool {\n ((ascii >= 65) & (ascii <= 90)) // Between 'A' and 'Z'\n }\n\n fn decode_ascii(ascii: u8) -> Field {\n if ascii < 58 {\n ascii - 48\n } else {\n let ascii = ascii + 32 * (U128::uconstrained_check_is_upper_ascii(ascii) as u8);\n assert(ascii >= 97); // enforce >= 'a'\n assert(ascii <= 102); // enforce <= 'f'\n ascii - 87\n } as Field\n }\n\n // TODO: Replace with a faster version. \n // A circuit that uses this function can be slow to compute\n // (we're doing up to 127 calls to compute the quotient)\n unconstrained fn unconstrained_div(self: Self, b: U128) -> (U128, U128) {\n if b == U128::zero() {\n // Return 0,0 to avoid eternal loop\n (U128::zero(), U128::zero())\n } else if self < b {\n (U128::zero(), self)\n } else if self == b {\n (U128::one(), U128::zero())\n } else {\n let (q,r) = if b.hi as u64 >= pow63 as u64 {\n // The result of multiplication by 2 would overflow\n (U128::zero(), self)\n } else {\n self.unconstrained_div(b * U128::from_u64s_le(2, 0))\n };\n let q_mul_2 = q * U128::from_u64s_le(2, 0);\n if r < b {\n (q_mul_2, r)\n } else {\n (q_mul_2 + U128::one(), r - b)\n }\n }\n }\n\n pub fn from_integer<T>(i: T) -> U128 {\n let f = crate::as_field(i);\n // Reject values which would overflow a u128\n f.assert_max_bit_size(128);\n let lo = f as u64 as Field;\n let hi = (f - lo) / pow64;\n U128 { lo, hi }\n }\n\n pub fn to_integer<T>(self) -> T {\n crate::from_field(self.lo + self.hi * pow64)\n }\n\n fn wrapping_mul(self: Self, b: U128) -> U128 {\n let low = self.lo * b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = self.lo * b.hi + self.hi * b.lo + carry;\n let hi = high as u64 as Field;\n U128 { lo, hi }\n }\n}\n\nimpl Add for U128 {\n fn add(self: Self, b: U128) -> U128 {\n let low = self.lo + b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64; \n let high = self.hi + b.hi + carry;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to add with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Sub for U128 {\n fn sub(self: Self, b: U128) -> U128 {\n let low = pow64 + self.lo - b.lo;\n let lo = low as u64 as Field;\n let borrow = (low == lo) as Field;\n let high = self.hi - b.hi - borrow;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to subtract with underflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Mul for U128 {\n fn mul(self: Self, b: U128) -> U128 {\n assert(self.hi*b.hi == 0, \"attempt to multiply with overflow\");\n let low = self.lo*b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo+self.hi)*(b.lo+b.hi) - low + carry\n } else {\n self.lo*b.hi + self.hi*b.lo + carry\n };\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to multiply with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Div for U128 {\n fn div(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n q\n }\n}\n\nimpl Rem for U128 {\n fn rem(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n r\n }\n}\n\nimpl Eq for U128 {\n fn eq(self: Self, b: U128) -> bool {\n (self.lo == b.lo) & (self.hi == b.hi)\n }\n}\n\nimpl Ord for U128 {\n fn cmp(self, other: Self) -> Ordering {\n let hi_ordering = (self.hi as u64).cmp((other.hi as u64));\n let lo_ordering = (self.lo as u64).cmp((other.lo as u64));\n \n if hi_ordering == Ordering::equal() {\n lo_ordering\n } else {\n hi_ordering\n }\n }\n}\n\nimpl Not for U128 { \n fn not(self) -> U128 {\n U128 {\n lo: (!(self.lo as u64)) as Field,\n hi: (!(self.hi as u64)) as Field\n }\n }\n}\n\nimpl BitOr for U128 { \n fn bitor(self, other: U128) -> U128 {\n U128 {\n lo: ((self.lo as u64) | (other.lo as u64)) as Field,\n hi: ((self.hi as u64) | (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitAnd for U128 {\n fn bitand(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) & (other.lo as u64)) as Field,\n hi: ((self.hi as u64) & (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitXor for U128 {\n fn bitxor(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) ^ (other.lo as u64)) as Field,\n hi: ((self.hi as u64) ^ (other.hi as u64)) as Field\n }\n }\n}\n\nimpl Shl for U128 { \n fn shl(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift left with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self.wrapping_mul(U128::from_integer(y))\n } \n}\n\nimpl Shr for U128 { \n fn shr(self, other: u8) -> U128 { \n assert(other < 128, \"attempt to shift right with overflow\");\n let exp_bits = (other as Field).to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self / U128::from_integer(y)\n } \n}\n\nmod tests {\n use crate::uint128::{U128, pow64, pow63};\n\n #[test]\n fn test_not() {\n let num = U128::from_u64s_le(0, 0);\n let not_num = num.not();\n\n let max_u64: Field = pow64 - 1;\n assert_eq(not_num.hi, max_u64);\n assert_eq(not_num.lo, max_u64);\n\n let not_not_num = not_num.not();\n assert_eq(num, not_not_num);\n }\n\n #[test]\n fn test_construction() {\n // Check little-endian u64 is inversed with big-endian u64 construction\n let a = U128::from_u64s_le(2, 1);\n let b = U128::from_u64s_be(1, 2);\n assert_eq(a, b);\n // Check byte construction is equivalent\n let c = U128::from_le_bytes([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]);\n let d = U128::from_u64s_le(0x0706050403020100, 0x0f0e0d0c0b0a0908);\n assert_eq(c, d);\n }\n\n #[test]\n fn test_byte_decomposition() {\n let a = U128::from_u64s_le(0x0706050403020100, 0x0f0e0d0c0b0a0908);\n // Get big-endian and little-endian byte decompostions\n let le_bytes_a= a.to_le_bytes();\n let be_bytes_a= a.to_be_bytes();\n\n // Check equivalence\n for i in 0..16 {\n assert_eq(le_bytes_a[i], be_bytes_a[15 - i]);\n }\n // Reconstruct U128 from byte decomposition\n let b= U128::from_le_bytes(le_bytes_a);\n // Check that it's the same element\n assert_eq(a, b);\n }\n\n #[test]\n fn test_hex_constuction() {\n let a = U128::from_u64s_le(0x1, 0x2);\n let b = U128::from_hex(\"0x20000000000000001\");\n assert_eq(a, b);\n\n let c= U128::from_hex(\"0xffffffffffffffffffffffffffffffff\");\n let d= U128::from_u64s_le(0xffffffffffffffff, 0xffffffffffffffff);\n assert_eq(c, d);\n\n let e= U128::from_hex(\"0x00000000000000000000000000000000\");\n let f= U128::from_u64s_le(0, 0);\n assert_eq(e, f);\n }\n\n // Ascii decode tests\n\n #[test]\n fn test_ascii_decode_correct_range() {\n // '0'..'9' range\n for i in 0..10 {\n let decoded= U128::decode_ascii(48 + i);\n assert_eq(decoded, i as Field);\n }\n // 'A'..'F' range\n for i in 0..6 {\n let decoded = U128::decode_ascii(65 + i);\n assert_eq(decoded, (i + 10) as Field);\n }\n // 'a'..'f' range\n for i in 0..6 {\n let decoded = U128::decode_ascii(97 + i);\n assert_eq(decoded, (i + 10) as Field);\n }\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_range_less_than_48_fails_0() {\n crate::println(U128::decode_ascii(0));\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_range_less_than_48_fails_1() {\n crate::println(U128::decode_ascii(47));\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_range_58_64_fails_0() {\n let _ = U128::decode_ascii(58);\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_range_58_64_fails_1() {\n let _ = U128::decode_ascii(64);\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_range_71_96_fails_0() {\n let _ = U128::decode_ascii(71);\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_range_71_96_fails_1() {\n let _ = U128::decode_ascii(96);\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_range_greater_than_102_fails() {\n let _ = U128::decode_ascii(103);\n }\n\n #[test(should_fail)]\n fn test_ascii_decode_regression() {\n // This code will actually fail because of ascii_decode,\n // but in the past it was possible to create a value > (1<<128)\n let a = U128::from_hex(\"0x~fffffffffffffffffffffffffffffff\");\n let b:Field= a.to_integer();\n let c= b.to_le_bytes(17);\n assert(c[16] != 0);\n }\n\n #[test]\n fn test_unconstrained_div() {\n // Test the potential overflow case\n let a= U128::from_u64s_le(0x0, 0xffffffffffffffff);\n let b= U128::from_u64s_le(0x0, 0xfffffffffffffffe);\n let c= U128::one();\n let d= U128::from_u64s_le(0x0, 0x1);\n let (q,r) = a.unconstrained_div(b);\n assert_eq(q, c);\n assert_eq(r, d);\n\n let a = U128::from_u64s_le(2, 0);\n let b = U128::one();\n // Check the case where a is a multiple of b\n let (c,d ) = a.unconstrained_div(b);\n assert_eq((c, d), (a, U128::zero()));\n\n // Check where b is a multiple of a\n let (c,d) = b.unconstrained_div(a);\n assert_eq((c, d), (U128::zero(), b));\n\n // Dividing by zero returns 0,0\n let a = U128::from_u64s_le(0x1, 0x0);\n let b = U128::zero();\n let (c,d)= a.unconstrained_div(b);\n assert_eq((c, d), (U128::zero(), U128::zero()));\n\n // Dividing 1<<127 by 1<<127 (special case)\n let a = U128::from_u64s_le(0x0, pow63 as u64);\n let b = U128::from_u64s_le(0x0, pow63 as u64);\n let (c,d )= a.unconstrained_div(b);\n assert_eq((c, d), (U128::one(), U128::zero()));\n }\n\n #[test]\n fn integer_conversions() {\n // Maximum\n let start:Field = 0xffffffffffffffffffffffffffffffff;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n\n // Minimum\n let start:Field = 0x0;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n\n // Low limb\n let start:Field = 0xffffffffffffffff;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n\n // High limb\n let start:Field = 0xffffffffffffffff0000000000000000;\n let a = U128::from_integer(start);\n let end = a.to_integer();\n assert_eq(start, end);\n }\n #[test]\n fn test_wrapping_mul() {\n // 1*0==0\n assert_eq(U128::zero(), U128::zero().wrapping_mul(U128::one()));\n\n // 0*1==0\n assert_eq(U128::zero(), U128::one().wrapping_mul(U128::zero()));\n\n // 1*1==1\n assert_eq(U128::one(), U128::one().wrapping_mul(U128::one()));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(U128::zero(), U128::zero().wrapping_mul(U128::from_u64s_le(0, 1)));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(U128::zero(), U128::from_u64s_le(0, 1).wrapping_mul(U128::zero()));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(U128::from_u64s_le(0, 1), U128::from_u64s_le(0, 1).wrapping_mul(U128::one()));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(U128::from_u64s_le(0, 1), U128::one().wrapping_mul(U128::from_u64s_le(0, 1)));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(U128::zero(), U128::from_u64s_le(0, 1).wrapping_mul(U128::from_u64s_le(0, 1)));\n // -1 * -1 == 1\n assert_eq(\n U128::one(), U128::from_u64s_le(0xffffffffffffffff, 0xffffffffffffffff).wrapping_mul(U128::from_u64s_le(0xffffffffffffffff, 0xffffffffffffffff))\n );\n }\n}\n"},"50":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr","source":"use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER}, hash::pedersen_hash\n};\nuse dep::aztec::{\n prelude::Deserialize,\n context::{PrivateContext, PublicContext, gas::GasOpts, interface::{ContextInterface, PublicContextInterface}},\n hash::hash_args_array\n};\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n// docs:start:assert_current_call_valid_authwit\n// Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let function_selector = FunctionSelector::from_signature(\"spend_private_authwit(Field)\");\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n let result: Field = context.call_private_function(on_behalf_of, function_selector, [inner_hash]).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n// docs:end:assert_current_call_valid_authwit\n\n// docs:start:assert_current_call_valid_authwit_public\n// Assert that `on_behalf_of` have authorized the current call in a public context\npub fn assert_current_call_valid_authwit_public<TPublicContext>(\n context: &mut TPublicContext,\n on_behalf_of: AztecAddress\n) where TPublicContext: ContextInterface + PublicContextInterface {\n let function_selector = FunctionSelector::from_signature(\"spend_public_authwit(Field)\");\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n let result: Field = PublicContextInterface::call_public_function(\n context,\n on_behalf_of,\n function_selector,\n [inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n// docs:start:compute_call_authwit_hash\n// Compute the message hash to be used by an authentication witness \npub fn compute_call_authwit_hash<N>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_outer_authwit_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_call_authwit_hash\n\npub fn compute_inner_authwit_hash<N>(args: [Field; N]) -> Field {\n pedersen_hash(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\npub fn compute_outer_authwit_hash(\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n inner_hash: Field\n) -> Field {\n pedersen_hash(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n"},"61":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/public_keys.nr","source":"use dep::protocol_types::{\n address::PublicKeysHash, constants::GENERATOR_INDEX__PUBLIC_KEYS_HASH, hash::poseidon2_hash,\n grumpkin_point::GrumpkinPoint, traits::{Deserialize, Serialize}\n};\nuse crate::keys::constants::{NUM_KEY_TYPES, NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX};\n\nglobal PUBLIC_KEYS_LENGTH = 8;\n\nstruct PublicKeys {\n npk_m: GrumpkinPoint,\n ivpk_m: GrumpkinPoint,\n ovpk_m: GrumpkinPoint,\n tpk_m: GrumpkinPoint,\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(\n poseidon2_hash(\n [\n self.npk_m.x,\n self.npk_m.y,\n self.ivpk_m.x,\n self.ivpk_m.y,\n self.ovpk_m.x,\n self.ovpk_m.y,\n self.tpk_m.x,\n self.tpk_m.y,\n GENERATOR_INDEX__PUBLIC_KEYS_HASH\n ]\n )\n )\n }\n\n pub fn get_key_by_index(self, index: Field) -> GrumpkinPoint {\n assert(index as u8 < NUM_KEY_TYPES, \"Invalid key index\");\n if index == NULLIFIER_INDEX {\n self.npk_m\n } else if index == INCOMING_INDEX {\n self.ivpk_m\n } else if index == OUTGOING_INDEX {\n self.ovpk_m\n } else {\n self.tpk_m\n }\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.x,\n self.npk_m.y,\n self.ivpk_m.x,\n self.ivpk_m.y,\n self.ovpk_m.x,\n self.ovpk_m.y,\n self.tpk_m.x,\n self.tpk_m.y,\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: GrumpkinPoint { x: serialized[0], y: serialized[1] },\n ivpk_m: GrumpkinPoint { x: serialized[2], y: serialized[3] },\n ovpk_m: GrumpkinPoint { x: serialized[4], y: serialized[5] },\n tpk_m: GrumpkinPoint { x: serialized[6], y: serialized[7] },\n }\n }\n}\n\n#[test]\nfn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: GrumpkinPoint { x: 1, y: 2 },\n ivpk_m: GrumpkinPoint { x: 3, y: 4 },\n ovpk_m: GrumpkinPoint { x: 5, y: 6 },\n tpk_m: GrumpkinPoint { x: 7, y: 8 }\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash = 0x1936abe4f6a920d16a9f6917f10a679507687e2cd935dd1f1cdcb1e908c027f3;\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nfn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: GrumpkinPoint { x: 1, y: 2 },\n ivpk_m: GrumpkinPoint { x: 3, y: 4 },\n ovpk_m: GrumpkinPoint { x: 5, y: 6 },\n tpk_m: GrumpkinPoint { x: 7, y: 8 }\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.x, deserialized.npk_m.x);\n assert_eq(keys.npk_m.y, deserialized.npk_m.y);\n assert_eq(keys.ivpk_m.x, deserialized.ivpk_m.x);\n assert_eq(keys.ivpk_m.y, deserialized.ivpk_m.y);\n assert_eq(keys.ovpk_m.x, deserialized.ovpk_m.x);\n assert_eq(keys.ovpk_m.y, deserialized.ovpk_m.y);\n assert_eq(keys.tpk_m.x, deserialized.tpk_m.x);\n assert_eq(keys.tpk_m.y, deserialized.tpk_m.y);\n}\n"},"62":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/public_storage.nr","source":"use dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::oracle::storage::{storage_read, storage_write};\n\npub fn read<T, N>(storage_slot: Field) -> T where T: Deserialize<N> {\n T::deserialize(storage_read(storage_slot))\n}\n\npub fn write<T, N>(storage_slot: Field, value: T) where T: Serialize<N> {\n storage_write(storage_slot, value.serialize());\n}\n\n// Ideally we'd do the following, but we cannot because of https://github.com/noir-lang/noir/issues/4633\n// pub fn read_historical<T, N>(\n// storage_slot: Field,\n// context: PrivateContext\n// ) -> T where T: Deserialize<N> {\n// let mut fields = [0; N];\n// for i in 0..N {\n// fields[i] = public_storage_historical_read(\n// context,\n// storage_slot + i as Field,\n// context.this_address()\n// );\n// }\n// T::deserialize(fields)\n// }\n\nmod tests {\n use dep::std::test::OracleMock;\n use dep::protocol_types::traits::{Deserialize, Serialize};\n use crate::public_storage;\n\n struct TestStruct {\n a: Field,\n b: Field,\n }\n\n impl Deserialize<2> for TestStruct {\n fn deserialize(fields: [Field; 2]) -> TestStruct {\n TestStruct { a: fields[0], b: fields[1] }\n }\n }\n\n impl Serialize<2> for TestStruct {\n fn serialize(self) -> [Field; 2] {\n [self.a, self.b]\n }\n }\n\n #[test]\n fn test_read() {\n let slot = 7;\n let written = TestStruct { a: 13, b: 42 };\n\n OracleMock::mock(\"storageRead\").with_params((slot, 2)).returns(written.serialize());\n\n let read: TestStruct = public_storage::read(slot);\n assert_eq(read.a, 13);\n assert_eq(read.b, 42);\n }\n\n #[test]\n fn test_write() {\n let slot = 7;\n let to_write = TestStruct { a: 13, b: 42 };\n\n let mock = OracleMock::mock(\"storageWrite\").returns([0; 2]); // The return value is unused\n\n public_storage::write(slot, to_write);\n assert_eq(mock.get_last_params(), (slot, to_write.serialize()));\n }\n}\n"},"80":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/public_context.nr","source":"use crate::{\n context::{\n inputs::PublicContextInputs, interface::ContextInterface, interface::PublicContextInterface,\n gas::GasOpts\n},\n messaging::process_l1_to_l2_message,\n oracle::{arguments, public_call::call_public_function_internal, returns, logs_traits::ToBytesForUnencryptedLog},\n hash::{hash_args, ArgsHasher, compute_unencrypted_log_hash}\n};\nuse dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector, public_circuit_public_inputs::PublicCircuitPublicInputs,\n read_request::ReadRequest, note_hash::NoteHash, nullifier::Nullifier, log_hash::LogHash\n},\n hash::silo_nullifier, address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_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},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest}, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::{Deserialize, Empty}\n};\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_hash : Field,\n\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_non_existent_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL>,\n contract_storage_update_requests: BoundedVec<StorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\n contract_storage_reads: BoundedVec<StorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\n public_call_stack_hashes: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n\n new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n new_l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n prover_address: AztecAddress,\n}\n\nimpl PublicContext {\n pub fn new(inputs: PublicContextInputs, args_hash: Field) -> PublicContext {\n PublicContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n args_hash,\n return_hash: 0,\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n historical_header: inputs.historical_header,\n prover_address: AztecAddress::zero()\n }\n }\n\n pub fn call_public_function_no_args<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> FunctionReturns<RETURNS_COUNT> {\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<RETURNS_COUNT>(\n self: &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 ) -> FunctionReturns<RETURNS_COUNT> {\n let side_effect_counter = self.side_effect_counter;\n // TODO(6052): get next value from output of `call_public_function_internal`\n self.side_effect_counter += 1;\n\n let raw_returns = call_public_function_internal(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n FunctionReturns::new(raw_returns)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n returns::pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n // Keep private or ask the AVM team if you want to change it.\n 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 // Keep private or ask the AVM team if you want to change it.\n fn push_nullifier_non_existent_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_non_existent_read_requests.push(request);\n }\n\n pub fn finish(self) -> PublicCircuitPublicInputs {\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n nullifier_read_requests: self.nullifier_read_requests.storage,\n nullifier_non_existent_read_requests: self.nullifier_non_existent_read_requests.storage,\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_reads: self.contract_storage_reads.storage,\n returns_hash: self.return_hash,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_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 unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.inputs.historical_header,\n global_variables: self.inputs.public_global_variables,\n prover_address: self.prover_address,\n revert_code: 0,\n start_gas_left: self.inputs.gas_left,\n end_gas_left: self.inputs.gas_left, // AVM should decrease this value\n transaction_fee: self.inputs.transaction_fee\n };\n pub_circuit_pub_inputs\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 ContextInterface for PublicContext {\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.public_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.public_global_variables.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_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier {\n value: nullifier,\n note_hash: 0, // cannot nullify pending notes in public context\n counter: self.next_counter()\n });\n }\n}\n\nimpl PublicContextInterface for PublicContext {\n fn block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n fn timestamp(self) -> u64 {\n self.inputs.public_global_variables.timestamp\n }\n\n fn coinbase(self) -> EthAddress {\n assert(false, \"'coinbase' not implemented!\");\n EthAddress::zero()\n }\n\n fn fee_recipient(self) -> AztecAddress {\n assert(false, \"'fee_recipient' not implemented!\");\n AztecAddress::zero()\n }\n\n fn fee_per_da_gas(self) -> Field {\n self.inputs.public_global_variables.gas_fees.fee_per_da_gas\n }\n\n fn fee_per_l2_gas(self) -> Field {\n self.inputs.public_global_variables.gas_fees.fee_per_l2_gas\n }\n\n fn transaction_fee(self) -> Field {\n self.inputs.transaction_fee\n }\n\n fn nullifier_exists(self, unsiloed_nullifier: Field, address: AztecAddress) -> bool {\n // Current public can only check for settled nullifiers, so we always silo.\n let siloed_nullifier = silo_nullifier(address, unsiloed_nullifier);\n nullifier_exists_oracle(siloed_nullifier) == 1\n }\n\n fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n // We can consume message with a secret in public context because the message cannot be modified and therefore\n // there is no front-running risk (e.g. somebody could front run you to claim your tokens to your address).\n // Leaf index is not used in public context, but it is used in the AVMContext which will replace it.\n fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress, _leaf_index: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n this,\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_new_nullifier(nullifier, 0)\n }\n\n fn emit_unencrypted_log<T, N, M>(&mut self, log: T) where T: ToBytesForUnencryptedLog<N, M> {\n let event_selector = 5; // TODO: compute actual event selector.\n let contract_address = self.this_address();\n let log_slice = log.to_be_bytes_arr();\n let log_hash = compute_unencrypted_log_hash(\n contract_address,\n event_selector,\n log\n );\n // 44 = addr (32) + selector (4) + raw log len (4) + processed log len (4)\n let len = 44 + log_slice.len().to_field();\n let side_effect = LogHash { value: log_hash, counter: self.next_counter(), length: len };\n self.unencrypted_logs_hashes.push(side_effect);\n // Call oracle to broadcast log\n let _void = emit_unencrypted_log_oracle(contract_address, event_selector, log, side_effect.counter);\n }\n\n fn call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field],\n _gas: GasOpts\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n fn static_call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field],\n _gas: GasOpts\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n fn delegate_call_public_function<RETURNS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field]\n ) -> FunctionReturns<RETURNS_COUNT> {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n}\n\nimpl Empty for PublicContext {\n fn empty() -> Self {\n PublicContext {\n inputs: PublicContextInputs::empty(),\n side_effect_counter: 0 as u32,\n args_hash : 0,\n return_hash : 0,\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n }\n }\n}\n\n#[oracle(checkNullifierExists)]\nfn nullifier_exists_oracle(nullifier: Field) -> Field {}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T,\n _counter: u32\n) -> Field {}\n\nstruct FunctionReturns<N> {\n values: [Field; N]\n}\n\nimpl<N> FunctionReturns<N> {\n pub fn new(values: [Field; N]) -> FunctionReturns<N> {\n FunctionReturns { values }\n }\n\n pub fn assert_empty(returns: FunctionReturns<0>) {\n assert(returns.values.len() == 0);\n }\n\n pub fn raw(self) -> [Field; N] {\n self.values\n }\n\n pub fn deserialize_into<T>(self) -> T where T: Deserialize<N> {\n Deserialize::deserialize(self.raw())\n }\n}\n"},"99":{"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\n},\n traits::Hash, hash::{pedersen_hash, silo_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 event_selector: Field,\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 event_bytes = event_selector.to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = event_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[36 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[40 + 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\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\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() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\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..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00846d6969c8c2f61d39cd2762efcb0abb14f88d59c2675910251ef2bcffe9a7);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let event_selector = 5;\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00880a801230ea08c98a802a11b4786cba474513875f0fc69a615e81c5f9f21c);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x00a78b5347813624ecfd26e5b8bc6146f418b0cfcc8296b5112d09b8ebba9496);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let event_selector = 5;\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, event_selector, log);\n assert(hash == 0x001f3390ea242afee7ce46dafdbdc4bd4f1cf20cd63850d12d60ff9956712c4f);\n}\n"}}}
|