From 72148823daa1d6b7dd9f717a6e7595d8eafe63f6 Mon Sep 17 00:00:00 2001 From: sirasistant Date: Wed, 23 Aug 2023 11:57:23 +0000 Subject: [PATCH 1/5] feat: compress debug information for lighter abis --- .../src/abis/ecdsa_account_contract.json | 26241 ---------------- .../src/abis/schnorr_account_contract.json | 20895 ------------ .../schnorr_single_key_account_contract.json | 19950 ------------ yarn-project/foundation/package.json | 2 + yarn-project/foundation/src/abi/abi.ts | 10 +- yarn-project/noir-compiler/package.json | 2 + .../src/contract-interface-gen/abi.ts | 4 +- yarn-project/yarn.lock | 18 + 8 files changed, 32 insertions(+), 67090 deletions(-) delete mode 100644 yarn-project/aztec.js/src/abis/ecdsa_account_contract.json delete mode 100644 yarn-project/aztec.js/src/abis/schnorr_account_contract.json delete mode 100644 yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json diff --git a/yarn-project/aztec.js/src/abis/ecdsa_account_contract.json b/yarn-project/aztec.js/src/abis/ecdsa_account_contract.json deleted file mode 100644 index 91f3bd6e1d4..00000000000 --- a/yarn-project/aztec.js/src/abis/ecdsa_account_contract.json +++ /dev/null @@ -1,26241 +0,0 @@ -{ - "name": "EcdsaAccount", - "functions": [ - { - "name": "compute_note_hash_and_nullifier", - "functionType": "unconstrained", - "isInternal": false, - "parameters": [ - { - "name": "contract_address", - "type": { - "kind": "field" - }, - "visibility": "private" - }, - { - "name": "nonce", - "type": { - "kind": "field" - }, - "visibility": "private" - }, - { - "name": "storage_slot", - "type": { - "kind": "field" - }, - "visibility": "private" - }, - { - "name": "preimage", - "type": { - "kind": "array", - "length": 5, - "type": { - "kind": "field" - } - }, - "visibility": "private" - } - ], - "returnTypes": [ - { - "kind": "array", - "length": 4, - "type": { - "kind": "field" - } - } - ], - "bytecode": "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", - "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" - }, - { - "name": "constructor", - "functionType": "secret", - "isInternal": false, - "parameters": [ - { - "name": "signing_pub_key_x", - "type": { - "kind": "array", - "length": 32, - "type": { - "kind": "integer", - "sign": "unsigned", - "width": 8 - } - }, - "visibility": "public" - }, - { - "name": "signing_pub_key_y", - "type": { - "kind": "array", - "length": 32, - "type": { - "kind": "integer", - "sign": "unsigned", - "width": 8 - } - }, - "visibility": "public" - } - ], - "returnTypes": [], - "bytecode": "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", - "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" - }, - { - "name": "entrypoint", - "functionType": "secret", - "isInternal": false, - "parameters": [ - { - "name": "payload", - "type": { - "kind": "struct", - "name": "EntrypointPayload", - "fields": [ - { - "name": "flattened_args_hashes", - "type": { - "kind": "array", - "length": 4, - "type": { - "kind": "field" - } - } - }, - { - "name": "flattened_selectors", - "type": { - "kind": "array", - "length": 4, - "type": { - "kind": "field" - } - } - }, - { - "name": "flattened_targets", - "type": { - "kind": "array", - "length": 4, - "type": { - "kind": "field" - } - } - }, - { - "name": "nonce", - "type": { - "kind": "field" - } - } - ] - }, - "visibility": "public" - }, - { - "name": "signature", - "type": { - "kind": "array", - "length": 64, - "type": { - "kind": "integer", - "sign": "unsigned", - "width": 8 - } - }, - "visibility": "public" - } - ], - "returnTypes": [], - "bytecode": "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", - "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" - } - ], - "debug": { - "debugSymbols": [ - { - "locations": {} - }, - { - "locations": { - "71": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "72": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "73": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "74": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "75": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "76": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "77": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "78": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "79": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "80": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "81": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "82": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "83": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "84": [ - { - "span": { - "start": 3344, - "end": 3371 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "86": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 955, - "end": 993 - }, - "file": 47 - }, - { - "span": { - "start": 1220, - "end": 1306 - }, - "file": 47 - } - ], - "88": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "89": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "90": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "91": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "92": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "93": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "94": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "95": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "96": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "97": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "98": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "99": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "100": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "101": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "102": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "103": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "104": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "105": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "106": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "107": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "108": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "109": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "110": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "111": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "112": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "113": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "114": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "115": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "116": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "117": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "118": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "119": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "120": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "121": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "122": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "123": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "124": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "125": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "126": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "127": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "128": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "129": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "130": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "131": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "132": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "133": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "134": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "135": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "136": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "137": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "138": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "139": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "140": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "141": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "142": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "143": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "144": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "145": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "146": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "147": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "149": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 506, - "end": 555 - }, - "file": 45 - }, - { - "span": { - "start": 288, - "end": 322 - }, - "file": 42 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "151": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 966, - "end": 1025 - }, - "file": 39 - } - ], - "152": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 966, - "end": 1030 - }, - "file": 39 - } - ], - "153": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 966, - "end": 1030 - }, - "file": 39 - } - ], - "154": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 966, - "end": 1030 - }, - "file": 39 - } - ], - "155": [ - { - "span": { - "start": 3535, - "end": 3596 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 966, - "end": 1030 - }, - "file": 39 - } - ], - "156": [ - { - "span": { - "start": 3737, - "end": 3756 - }, - "file": 0 - }, - { - "span": { - "start": 367, - "end": 398 - }, - "file": 72 - } - ], - "158": [ - { - "span": { - "start": 3737, - "end": 3756 - }, - "file": 0 - }, - { - "span": { - "start": 643, - "end": 671 - }, - "file": 72 - } - ], - "159": [ - { - "span": { - "start": 3737, - "end": 3756 - }, - "file": 0 - }, - { - "span": { - "start": 643, - "end": 671 - }, - "file": 72 - } - ], - "160": [ - { - "span": { - "start": 3737, - "end": 3756 - }, - "file": 0 - }, - { - "span": { - "start": 643, - "end": 671 - }, - "file": 72 - } - ], - "161": [ - { - "span": { - "start": 3737, - "end": 3756 - }, - "file": 0 - }, - { - "span": { - "start": 643, - "end": 671 - }, - "file": 72 - } - ], - "162": [ - { - "span": { - "start": 3737, - "end": 3756 - }, - "file": 0 - }, - { - "span": { - "start": 643, - "end": 671 - }, - "file": 72 - } - ], - "163": [ - { - "span": { - "start": 3616, - "end": 3805 - }, - "file": 0 - }, - { - "span": { - "start": 270, - "end": 358 - }, - "file": 33 - } - ] - } - }, - { - "locations": { - "73": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "74": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "75": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "76": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "77": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "78": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "79": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "80": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "81": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "82": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "83": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "84": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "85": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "86": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "87": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "88": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "89": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "90": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "91": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "93": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "94": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "95": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "96": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "97": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "98": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "99": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "100": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "101": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "102": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "103": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "104": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "105": [ - { - "span": { - "start": 1807, - "end": 1834 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "107": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4012, - "end": 4058 - }, - "file": 40 - } - ], - "108": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 950, - "end": 992 - }, - "file": 40 - } - ], - "109": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 950, - "end": 992 - }, - "file": 40 - } - ], - "110": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 950, - "end": 992 - }, - "file": 40 - } - ], - "111": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 950, - "end": 992 - }, - "file": 40 - } - ], - "112": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 950, - "end": 992 - }, - "file": 40 - } - ], - "113": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 1007, - "end": 1041 - }, - "file": 40 - } - ], - "114": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 1007, - "end": 1041 - }, - "file": 40 - } - ], - "115": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 1007, - "end": 1041 - }, - "file": 40 - } - ], - "116": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 1007, - "end": 1041 - }, - "file": 40 - } - ], - "117": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 1007, - "end": 1041 - }, - "file": 40 - } - ], - "118": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1547, - "end": 1563 - }, - "file": 45 - } - ], - "119": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1547, - "end": 1563 - }, - "file": 45 - } - ], - "120": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1547, - "end": 1563 - }, - "file": 45 - } - ], - "121": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "122": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "123": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "124": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "125": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "126": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "127": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "128": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "129": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "130": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "131": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "132": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "133": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "134": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "135": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "136": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "137": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "138": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "139": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "140": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "141": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "142": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "143": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "144": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "145": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "146": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "147": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "148": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "149": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "150": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "151": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "152": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "153": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "154": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "155": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "156": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "157": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "158": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "159": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "160": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "161": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "162": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "163": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "164": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "165": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "166": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "167": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "168": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "169": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "170": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "171": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "172": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "173": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "174": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "175": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "176": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "177": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "178": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "179": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "180": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "183": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 2237, - "end": 2301 - }, - "file": 45 - }, - { - "span": { - "start": 1187, - "end": 1244 - }, - "file": 45 - }, - { - "span": { - "start": 805, - "end": 861 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "184": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 2237, - "end": 2301 - }, - "file": 45 - }, - { - "span": { - "start": 1187, - "end": 1244 - }, - "file": 45 - }, - { - "span": { - "start": 805, - "end": 861 - }, - "file": 45 - }, - { - "span": { - "start": 476, - "end": 498 - }, - "file": 45 - }, - { - "span": { - "start": 2895, - "end": 2936 - }, - "file": 83 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "189": [ - { - "span": { - "start": 1943, - "end": 1983 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 506, - "end": 555 - }, - "file": 45 - }, - { - "span": { - "start": 288, - "end": 325 - }, - "file": 42 - } - ], - "191": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "192": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "193": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "194": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "195": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "196": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "197": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "198": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "199": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "200": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "201": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "202": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "203": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "204": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "205": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "206": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "207": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "208": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "209": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "210": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "211": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "212": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "213": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "214": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "215": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "216": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "217": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "218": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "219": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "220": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "221": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "222": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "223": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "224": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "225": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "226": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "227": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "228": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "229": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "230": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "231": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "232": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "233": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "234": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "235": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "236": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "237": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "238": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "239": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "240": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "241": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "242": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "243": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "244": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "245": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "246": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "247": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "248": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "249": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "250": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "251": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "252": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "253": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "254": [ - { - "span": { - "start": 2409, - "end": 2437 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "257": [ - { - "span": { - "start": 2650, - "end": 2669 - }, - "file": 0 - } - ], - "258": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "259": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "260": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "261": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7635, - "end": 7760 - }, - "file": 32 - } - ], - "262": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "263": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "264": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "265": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "266": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "267": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "268": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "269": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "270": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "271": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "272": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "273": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "274": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "275": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "276": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "277": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "278": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "279": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "280": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "281": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "282": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "283": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "284": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "285": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "286": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "287": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "288": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "289": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "290": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "291": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "292": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "293": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "294": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "295": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "296": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "297": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "298": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "299": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "300": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "301": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "302": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "303": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "304": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "305": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "306": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "307": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "308": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "309": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "310": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "311": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "312": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "313": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "314": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "315": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "316": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "317": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "318": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "319": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "320": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "321": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "322": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "323": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "324": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "325": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "326": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "327": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "328": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "329": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "330": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "331": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "332": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "333": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "334": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "335": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "336": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "337": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "338": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "339": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "340": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "341": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "342": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "343": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "344": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "345": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "346": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "347": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "348": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "349": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "350": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "351": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "352": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "353": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "354": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "355": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "356": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "357": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "358": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "359": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "360": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "361": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "362": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "363": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "364": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "365": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "366": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "367": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "368": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "369": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "370": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "371": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "372": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "373": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "374": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "375": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "376": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "383": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "384": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "385": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "386": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7635, - "end": 7760 - }, - "file": 32 - } - ], - "387": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "388": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "389": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "390": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "391": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "392": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "393": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "394": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "395": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "396": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "397": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "398": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "399": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "400": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "401": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "402": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "403": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "404": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "405": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "406": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "407": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "408": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "409": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "410": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "411": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "412": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "413": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "414": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "415": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "416": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "417": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "418": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "419": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "420": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "421": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "422": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "423": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "424": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "425": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "426": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "427": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "428": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "429": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "430": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "431": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "432": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "433": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "434": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "435": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "436": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "437": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "438": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "439": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "440": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "441": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "442": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "443": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "444": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "445": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "446": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "447": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "448": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "449": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "450": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "451": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "452": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "453": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "454": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "455": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "456": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "457": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "458": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "459": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "460": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "461": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "462": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "463": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "464": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "465": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "466": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "467": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "468": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "469": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "470": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "471": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "472": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "473": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "474": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "475": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "476": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "477": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "478": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "479": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "480": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "481": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "482": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "483": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "484": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "485": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "486": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "487": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "488": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "489": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "490": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "491": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "492": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "493": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "494": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "495": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "496": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "497": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "498": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "499": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "500": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "501": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "507": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "508": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "509": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "510": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "511": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "512": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "513": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "514": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "515": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "516": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "517": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "518": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "519": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "520": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "521": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "522": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "523": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "524": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "525": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "526": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "527": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "528": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "529": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "530": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "531": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "532": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "533": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "535": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "550": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "551": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "552": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "553": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 12843, - "end": 12975 - }, - "file": 32 - } - ], - "554": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "555": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "556": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "557": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "558": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "559": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "560": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "561": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "562": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "563": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "564": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "565": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "566": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "567": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "568": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "569": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "570": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "571": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "572": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "573": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "574": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "575": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "576": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "577": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "578": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "579": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "580": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "581": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "582": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "583": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "584": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "585": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "586": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "587": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "588": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "589": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "590": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "591": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "592": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "593": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "594": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "595": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "596": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "597": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "598": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "599": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "600": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "601": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "602": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "603": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "604": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "605": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "606": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "607": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "608": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "609": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "610": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "611": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "612": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "613": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "614": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "615": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "616": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "617": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "618": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "619": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "620": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "621": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "622": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "623": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "624": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "625": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "626": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "627": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "628": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "629": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "630": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "631": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "632": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "633": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "634": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "635": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "636": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "637": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "638": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "639": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "640": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "641": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "642": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "643": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "644": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "645": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "646": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "647": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "648": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "649": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "650": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "651": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "652": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "653": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "654": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "655": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "656": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "659": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "660": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "661": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "663": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "664": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "665": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "667": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "668": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "669": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "671": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "672": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "673": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "675": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "676": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "677": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "679": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "680": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "681": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "683": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "684": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "685": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "687": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "688": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "689": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "691": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "692": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "694": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "695": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "697": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "698": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "700": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "701": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "703": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "704": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "706": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "707": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "709": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "710": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "712": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "713": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "715": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "716": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "717": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "718": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "719": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "720": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "721": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "722": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "723": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "724": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "725": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "726": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "727": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "728": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "729": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "730": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "731": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "732": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "733": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "734": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "735": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "736": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "737": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "738": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "739": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "740": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "741": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "742": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "743": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "747": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "748": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "749": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "750": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 12843, - "end": 12975 - }, - "file": 32 - } - ], - "751": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "752": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "753": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "754": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "755": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "756": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "757": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "758": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "759": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "760": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "761": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "762": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "763": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "764": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "765": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "766": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "767": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "768": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "769": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "770": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "771": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "772": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "773": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "774": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "775": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "776": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "777": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "778": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "779": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "780": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "781": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "782": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "783": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "784": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "785": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "786": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "787": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "788": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "789": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "790": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "791": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "792": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "793": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "794": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "795": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "796": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "797": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "798": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "799": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "800": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "801": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "802": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "803": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "804": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "805": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "806": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "807": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "808": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "809": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "810": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "811": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "812": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "813": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "814": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "815": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "816": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "817": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "818": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "819": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "820": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "821": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "822": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "823": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "824": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "825": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "826": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "827": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "828": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "829": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "830": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "831": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "832": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "833": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "834": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "835": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "836": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "837": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "838": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "839": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "840": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "841": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "842": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "843": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "844": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "845": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "846": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "847": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "848": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "849": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "850": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "851": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "852": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "853": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "856": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "857": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "858": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "860": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "861": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "862": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "864": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "865": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "866": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "868": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "869": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "870": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "872": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "873": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "874": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "876": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "877": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "878": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "880": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "881": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "882": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "884": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "885": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "886": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "888": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "889": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "891": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "892": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "894": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "895": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "897": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "898": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "900": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "901": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "903": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "904": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "906": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "907": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "909": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "910": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "912": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "913": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "914": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "915": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "916": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "917": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "918": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "919": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "920": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "921": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "922": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "923": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "924": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "925": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "926": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "927": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "928": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "929": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "930": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "931": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "932": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "933": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "934": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "935": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "936": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "937": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "938": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "939": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "940": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "943": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "944": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "945": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "946": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "947": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "948": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "949": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "950": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "951": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "952": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "953": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "954": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "955": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "956": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "957": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "958": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "959": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "960": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "961": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "962": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "963": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "964": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "965": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "966": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "967": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "968": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "969": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "971": [ - { - "span": { - "start": 2682, - "end": 2716 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ] - } - } - ], - "fileMap": { - "0": { - "source": "mod storage;\nmod ecdsa_public_key_note;\n\n// Account contract that uses ECDSA signatures for authentication on the same curve as Ethereum.\n// The signing key is stored in an immutable private note and should be different from the signing key.\ncontract EcdsaAccount {\n use dep::std;\n use dep::aztec::entrypoint;\n use dep::aztec::entrypoint::EntrypointPayload;\n use dep::aztec::abi;\n use dep::aztec::abi::PrivateContextInputs;\n use dep::aztec::abi::CallContext;\n use dep::aztec::context::PrivateContext;\n use dep::aztec::log::emit_encrypted_log;\n use dep::aztec::oracle::get_public_key::get_public_key;\n use dep::aztec::types::vec::BoundedVec;\n use dep::aztec::types::point::Point;\n use dep::aztec::constants_gen::GENERATOR_INDEX__SIGNATURE_PAYLOAD;\n\n use dep::aztec::constants_gen::MAX_NOTE_FIELDS_LENGTH;\n use dep::aztec::note::{\n note_header::{NoteHeader},\n utils as note_utils,\n };\n\n use crate::storage::Storage;\n use crate::ecdsa_public_key_note::EcdsaPublicKeyNote;\n use crate::ecdsa_public_key_note::EcdsaPublicKeyNoteInterface;\n use crate::ecdsa_public_key_note::ECDSA_PUBLIC_KEY_NOTE_LEN;\n\n // All calls made by this account will be routed through this entrypoint\n fn entrypoint( \n inputs: pub PrivateContextInputs,\n payload: pub EntrypointPayload, // contains a set of arguments, selectors, targets and a nonce\n signature: pub [u8;64],\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n \n // Initialise context\n // ENTRYPOINT_PAYLOAD_SIZE(13) + 64\n let mut args: BoundedVec = BoundedVec::new(0);\n args.push_array(payload.serialize());\n for byte in signature { args.push(byte as Field); }\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\n\n // Load public key from storage\n let storage = Storage::init();\n let public_key = storage.public_key.get_note(&mut context);\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let payload_fields: [Field; entrypoint::ENTRYPOINT_PAYLOAD_SIZE] = payload.serialize();\n let message_field: Field = std::hash::pedersen_with_separator(payload_fields, GENERATOR_INDEX__SIGNATURE_PAYLOAD)[0];\n let message_bytes = message_field.to_be_bytes(32);\n let hashed_message: [u8; 32] = std::hash::sha256(message_bytes);\n let verification = std::ecdsa_secp256k1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n payload.execute_calls(&mut context);\n\n context.finish()\n }\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n fn constructor(\n inputs: pub PrivateContextInputs,\n signing_pub_key_x: pub [u8;32],\n signing_pub_key_y: pub [u8;32],\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n let storage = Storage::init();\n \n let mut args: BoundedVec = BoundedVec::new(0);\n for byte in signing_pub_key_x { args.push(byte as Field); }\n for byte in signing_pub_key_y { args.push(byte as Field); }\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\n \n let this = context.this_address();\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n storage.public_key.initialise(&mut context, &mut pub_key_note);\n \n emit_encrypted_log(\n &mut context,\n this,\n storage.public_key.storage_slot,\n get_public_key(this),\n pub_key_note.serialise(),\n );\n\n context.finish()\n }\n\n // Computes note hash and nullifier.\n // Note 1: Needs to be defined by every contract producing logs.\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\n unconstrained fn compute_note_hash_and_nullifier(contract_address: Field, nonce: Field, storage_slot: Field, preimage: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> [Field; 4] {\n assert(storage_slot == 1);\n let note_header = NoteHeader { contract_address, nonce, storage_slot };\n note_utils::compute_note_hash_and_nullifier(EcdsaPublicKeyNoteInterface, note_header, preimage)\n }\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/main" - }, - "3": { - "source": "mod poseidon;\n\n#[foreign(sha256)]\nfn sha256(_input : [u8; N]) -> [u8; 32] {}\n\n#[foreign(blake2s)]\nfn blake2s(_input : [u8; N]) -> [u8; 32] {}\n\nfn pedersen(input : [Field; N]) -> [Field; 2] {\n pedersen_with_separator(input, 0)\n}\n\n#[foreign(pedersen)]\nfn pedersen_with_separator(_input : [Field; N], _separator : u32) -> [Field; 2] {}\n\n#[foreign(hash_to_field_128_security)]\nfn hash_to_field(_input : [Field; N]) -> Field {}\n\n#[foreign(keccak256)]\nfn keccak256(_input : [u8; N], _message_size: u32) -> [u8; 32] {}\n\n// mimc-p/p implementation\n// constants are (publicly generated) random numbers, for instance using keccak as a ROM.\n// You must use constants generated for the native field\n// Rounds number should be ~ log(p)/log(exp)\n// For 254 bit primes, exponent 7 and 91 rounds seems to be recommended\nfn mimc(x: Field, k: Field, constants: [Field; N], exp : Field) -> Field {\n //round 0\n let mut t = x + k;\n let mut h = t.pow_32(exp);\n //next rounds\n for i in 1 .. constants.len() {\n t = h + k + constants[i];\n h = t.pow_32(exp);\n };\n h + k\n}\n\nglobal MIMC_BN254_ROUNDS = 91;\n\n//mimc implementation with hardcoded parameters for BN254 curve.\nfn mimc_bn254(array: [Field; N]) -> Field {\n //mimc parameters\n let exponent = 7;\n //generated from seed \"mimc\" using keccak256 \n let constants: [Field; MIMC_BN254_ROUNDS] = [\n 0, \n 20888961410941983456478427210666206549300505294776164667214940546594746570981,\n 15265126113435022738560151911929040668591755459209400716467504685752745317193,\n 8334177627492981984476504167502758309043212251641796197711684499645635709656,\n 1374324219480165500871639364801692115397519265181803854177629327624133579404,\n 11442588683664344394633565859260176446561886575962616332903193988751292992472,\n 2558901189096558760448896669327086721003508630712968559048179091037845349145,\n 11189978595292752354820141775598510151189959177917284797737745690127318076389,\n 3262966573163560839685415914157855077211340576201936620532175028036746741754,\n 17029914891543225301403832095880481731551830725367286980611178737703889171730,\n 4614037031668406927330683909387957156531244689520944789503628527855167665518,\n 19647356996769918391113967168615123299113119185942498194367262335168397100658,\n 5040699236106090655289931820723926657076483236860546282406111821875672148900,\n 2632385916954580941368956176626336146806721642583847728103570779270161510514,\n 17691411851977575435597871505860208507285462834710151833948561098560743654671,\n 11482807709115676646560379017491661435505951727793345550942389701970904563183,\n 8360838254132998143349158726141014535383109403565779450210746881879715734773,\n 12663821244032248511491386323242575231591777785787269938928497649288048289525,\n 3067001377342968891237590775929219083706800062321980129409398033259904188058,\n 8536471869378957766675292398190944925664113548202769136103887479787957959589,\n 19825444354178182240559170937204690272111734703605805530888940813160705385792,\n 16703465144013840124940690347975638755097486902749048533167980887413919317592,\n 13061236261277650370863439564453267964462486225679643020432589226741411380501,\n 10864774797625152707517901967943775867717907803542223029967000416969007792571,\n 10035653564014594269791753415727486340557376923045841607746250017541686319774,\n 3446968588058668564420958894889124905706353937375068998436129414772610003289,\n 4653317306466493184743870159523234588955994456998076243468148492375236846006,\n 8486711143589723036499933521576871883500223198263343024003617825616410932026,\n 250710584458582618659378487568129931785810765264752039738223488321597070280,\n 2104159799604932521291371026105311735948154964200596636974609406977292675173,\n 16313562605837709339799839901240652934758303521543693857533755376563489378839,\n 6032365105133504724925793806318578936233045029919447519826248813478479197288,\n 14025118133847866722315446277964222215118620050302054655768867040006542798474,\n 7400123822125662712777833064081316757896757785777291653271747396958201309118,\n 1744432620323851751204287974553233986555641872755053103823939564833813704825,\n 8316378125659383262515151597439205374263247719876250938893842106722210729522,\n 6739722627047123650704294650168547689199576889424317598327664349670094847386,\n 21211457866117465531949733809706514799713333930924902519246949506964470524162,\n 13718112532745211817410303291774369209520657938741992779396229864894885156527,\n 5264534817993325015357427094323255342713527811596856940387954546330728068658,\n 18884137497114307927425084003812022333609937761793387700010402412840002189451,\n 5148596049900083984813839872929010525572543381981952060869301611018636120248,\n 19799686398774806587970184652860783461860993790013219899147141137827718662674,\n 19240878651604412704364448729659032944342952609050243268894572835672205984837,\n 10546185249390392695582524554167530669949955276893453512788278945742408153192,\n 5507959600969845538113649209272736011390582494851145043668969080335346810411,\n 18177751737739153338153217698774510185696788019377850245260475034576050820091,\n 19603444733183990109492724100282114612026332366576932662794133334264283907557,\n 10548274686824425401349248282213580046351514091431715597441736281987273193140,\n 1823201861560942974198127384034483127920205835821334101215923769688644479957,\n 11867589662193422187545516240823411225342068709600734253659804646934346124945,\n 18718569356736340558616379408444812528964066420519677106145092918482774343613,\n 10530777752259630125564678480897857853807637120039176813174150229243735996839,\n 20486583726592018813337145844457018474256372770211860618687961310422228379031,\n 12690713110714036569415168795200156516217175005650145422920562694422306200486,\n 17386427286863519095301372413760745749282643730629659997153085139065756667205,\n 2216432659854733047132347621569505613620980842043977268828076165669557467682,\n 6309765381643925252238633914530877025934201680691496500372265330505506717193,\n 20806323192073945401862788605803131761175139076694468214027227878952047793390,\n 4037040458505567977365391535756875199663510397600316887746139396052445718861,\n 19948974083684238245321361840704327952464170097132407924861169241740046562673,\n 845322671528508199439318170916419179535949348988022948153107378280175750024,\n 16222384601744433420585982239113457177459602187868460608565289920306145389382,\n 10232118865851112229330353999139005145127746617219324244541194256766741433339,\n 6699067738555349409504843460654299019000594109597429103342076743347235369120,\n 6220784880752427143725783746407285094967584864656399181815603544365010379208,\n 6129250029437675212264306655559561251995722990149771051304736001195288083309,\n 10773245783118750721454994239248013870822765715268323522295722350908043393604,\n 4490242021765793917495398271905043433053432245571325177153467194570741607167,\n 19596995117319480189066041930051006586888908165330319666010398892494684778526,\n 837850695495734270707668553360118467905109360511302468085569220634750561083,\n 11803922811376367215191737026157445294481406304781326649717082177394185903907,\n 10201298324909697255105265958780781450978049256931478989759448189112393506592,\n 13564695482314888817576351063608519127702411536552857463682060761575100923924,\n 9262808208636973454201420823766139682381973240743541030659775288508921362724,\n 173271062536305557219323722062711383294158572562695717740068656098441040230,\n 18120430890549410286417591505529104700901943324772175772035648111937818237369,\n 20484495168135072493552514219686101965206843697794133766912991150184337935627,\n 19155651295705203459475805213866664350848604323501251939850063308319753686505,\n 11971299749478202793661982361798418342615500543489781306376058267926437157297,\n 18285310723116790056148596536349375622245669010373674803854111592441823052978,\n 7069216248902547653615508023941692395371990416048967468982099270925308100727,\n 6465151453746412132599596984628739550147379072443683076388208843341824127379,\n 16143532858389170960690347742477978826830511669766530042104134302796355145785,\n 19362583304414853660976404410208489566967618125972377176980367224623492419647,\n 1702213613534733786921602839210290505213503664731919006932367875629005980493,\n 10781825404476535814285389902565833897646945212027592373510689209734812292327,\n 4212716923652881254737947578600828255798948993302968210248673545442808456151,\n 7594017890037021425366623750593200398174488805473151513558919864633711506220,\n 18979889247746272055963929241596362599320706910852082477600815822482192194401,\n 13602139229813231349386885113156901793661719180900395818909719758150455500533,\n ];\n\n let mut r = 0;\n for elem in array {\n let h = mimc(elem, r, constants, exponent);\n r = r + elem + h;\n }\n r\n}\n", - "path": "std/hash" - }, - "18": { - "source": "\nimpl Field {\n #[builtin(to_le_bits)]\n fn to_le_bits(_x : Field, _bit_size: u32) -> [u1] {}\n #[builtin(to_be_bits)]\n fn to_be_bits(_x : Field, _bit_size: u32) -> [u1] {}\n\n fn to_le_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_le_radix(256, byte_size)\n }\n fn to_be_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_be_radix(256, byte_size)\n }\n\n #[builtin(to_le_radix)]\n //decompose _x into a _result_len vector over the _radix basis\n //_radix must be less than 256\n fn to_le_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\n #[builtin(to_be_radix)]\n fn to_be_radix(_x : Field, _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 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 fn sgn0(self) -> u1 {\n self as u1\n }\n}\n\n#[builtin(modulus_num_bits)]\nfn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\nfn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\nfn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\nfn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\nfn modulus_le_bytes() -> [u8] {}\n", - "path": "std/field" - }, - "31": { - "source": "use crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n GENERATOR_INDEX__FUNCTION_ARGS,\n HISTORIC_BLOCK_DATA_LENGTH,\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n CALL_CONTEXT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\n CONTRACT_STORAGE_READ_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__FUNCTION_DATA,\n GENERATOR_INDEX__PUBLIC_DATA_READ,\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\n GENERATOR_INDEX__CALL_CONTEXT,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n};\n\nuse crate::oracle::debug_log;\nuse crate::types::vec::BoundedVec;\nuse crate::types::point::Point;\n\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n}\n\nimpl PublicGlobalVariables {\n fn serialize(self) -> [Field; 4] {\n [self.chain_id, self.version, self.block_number, self.timestamp]\n }\n}\n\nstruct ContractDeploymentData {\n deployer_public_key: Point,\n constructor_vk_hash : Field,\n function_tree_root : Field,\n contract_address_salt : Field,\n portal_contract_address : Field,\n}\n\nimpl ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.deployer_public_key.x,\n self.deployer_public_key.y,\n self.constructor_vk_hash,\n self.function_tree_root,\n self.contract_address_salt,\n self.portal_contract_address,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)[0]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\nstruct PrivateContextInputs {\n call_context : CallContext,\n block_data: HistoricBlockData,\n\n contract_deployment_data: ContractDeploymentData,\n\n private_global_variables: PrivateGlobalVariables,\n}\n\n// PublicContextInputs are expected to be provided to each public function\nstruct PublicContextInputs {\n call_context: CallContext,\n block_data: HistoricBlockData,\n\n public_global_variables: PublicGlobalVariables,\n}\n\nstruct CallContext {\n msg_sender : Field,\n storage_contract_address : Field,\n portal_contract_address : Field,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment: bool,\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender,\n self.storage_contract_address,\n self.portal_contract_address,\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)[0]\n }\n}\n\nstruct HistoricBlockData {\n private_data_tree_root : Field,\n nullifier_tree_root : Field,\n contract_tree_root : Field,\n l1_to_l2_messages_tree_root : Field,\n blocks_tree_root: Field,\n public_data_tree_root: Field,\n global_variables_hash: Field,\n}\n\nimpl HistoricBlockData {\n // NOTE: this order must match the order in `private_circuit_public_inputs.hpp`\n fn serialize(self) -> [Field; HISTORIC_BLOCK_DATA_LENGTH] {\n [\n self.private_data_tree_root,\n self.nullifier_tree_root,\n self.contract_tree_root,\n self.l1_to_l2_messages_tree_root,\n self.blocks_tree_root,\n self.public_data_tree_root,\n self.global_variables_hash,\n ]\n }\n\n fn empty() -> Self {\n Self { private_data_tree_root: 0, nullifier_tree_root: 0, contract_tree_root: 0, l1_to_l2_messages_tree_root: 0, blocks_tree_root: 0, public_data_tree_root: 0, global_variables_hash: 0 }\n }\n}\n\nstruct FunctionData {\n function_selector: Field,\n is_internal: bool,\n is_private: bool,\n is_constructor: bool,\n}\n\nimpl FunctionData {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.function_selector,\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ], GENERATOR_INDEX__FUNCTION_DATA)[0]\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n read_requests: [Field; crate::abi::MAX_READ_REQUESTS_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n nullified_commitments: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n // Explore introducing a new type like uint256 (similar to Point), so it's more explicit that\n // we're talking about a single number backed by two field elements.\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n contract_deployment_data: ContractDeploymentData,\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.nullified_commitments);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n dep::std::hash::pedersen_with_separator(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.storage\n }\n}\n\nstruct ContractStorageRead {\n storage_slot: Field,\n value: Field,\n}\n\nimpl ContractStorageRead {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\n [self.storage_slot, self.value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, value: 0 }\n }\n}\n\nstruct ContractStorageUpdateRequest {\n storage_slot: Field,\n old_value: Field,\n new_value: Field,\n}\n\nimpl ContractStorageUpdateRequest {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\n [self.storage_slot, self.old_value, self.new_value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, old_value: 0, new_value: 0 }\n }\n}\n\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; crate::abi::MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n prover_address: Field,\n\n // TODO: include globals in here and check them elsewhere\n // https://github.com/AztecProtocol/aztec-packages/issues/1567\n}\n\nimpl PublicCircuitPublicInputs {\n \n fn hash(self) -> Field {\n let mut inputs: BoundedVec = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_read[i].hash());\n }\n inputs.push_array(self.public_call_stack);\n inputs.push_array(self.new_commitments);\n inputs.push_array(self.new_nullifiers);\n inputs.push_array(self.new_l2_to_l1_msgs);\n\n // We do not include block_data since it's not in the cpp hash\n\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.block_data.serialize()); // see https://github.com/AztecProtocol/aztec-packages/issues/1473\n inputs.push(self.prover_address);\n\n dep::std::hash::pedersen_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_read[i].serialize());\n }\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.prover_address);\n fields.storage\n }\n}\n\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\n\nfn hash_args(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = dep::std::hash::pedersen_with_separator(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS)[0];\n }\n chunks_hashes[i] = chunk_hash;\n }\n dep::std::hash::pedersen_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)[0]\n }\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/abi" - }, - "32": { - "source": "use crate::constants_gen::{\n EMPTY_NULLIFIED_COMMITMENT,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_READ_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n};\n\nuse crate::abi;\n\nuse crate::abi::{\n hash_args,\n CallContext,\n ContractDeploymentData,\n HistoricBlockData,\n FunctionData,\n PrivateCircuitPublicInputs,\n PublicCircuitPublicInputs,\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\n// l1 to l2 messaging\nuse crate::messaging::process_l1_to_l2_message;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem;\n\nuse crate::types::{\n vec::BoundedVec,\n point::Point,\n};\n\nuse crate::utils::arr_copy_slice;\n\nuse crate::oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n public_call::call_public_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal,\n context::get_portal_address,\n};\n\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n inputs: abi::PrivateContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n read_requests: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n nullified_commitments: BoundedVec,\n\n private_call_stack : BoundedVec,\n public_call_stack : BoundedVec,\n new_l2_to_l1_msgs : BoundedVec,\n\n block_data: HistoricBlockData,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec,\n // unencrypted_logs_preimages: Vec,\n}\n\nimpl PrivateContext {\n fn new(inputs: abi::PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n read_requests: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n nullified_commitments: BoundedVec::new(0),\n\n block_data: inputs.block_data,\n\n private_call_stack: BoundedVec::new(0),\n public_call_stack: BoundedVec::new(0),\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.private_global_variables.version\n }\n\n fn finish(self) -> abi::PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = abi::PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n read_requests: self.read_requests.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n nullified_commitments: self.nullified_commitments.storage,\n private_call_stack: self.private_call_stack.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n encrypted_logs_hash: encrypted_logs_hash,\n unencrypted_logs_hash: unencrypted_logs_hash,\n encrypted_log_preimages_length: encrypted_log_preimages_length,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.block_data,\n contract_deployment_data: self.inputs.contract_deployment_data,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version,\n };\n priv_circuit_pub_inputs\n }\n\n fn push_read_request(&mut self, read_request: Field) {\n self.read_requests.push(read_request);\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n self.nullified_commitments.push(nullified_commitment);\n }\n\n fn message_portal(&mut self, content: Field) {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, inputs: abi::PrivateContextInputs, msg_key: Field, content: Field, secret: Field) {\n let nullifier = process_l1_to_l2_message(inputs.block_data.l1_to_l2_messages_tree_root, inputs.call_context.storage_contract_address, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_private_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n fn call_private_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_private_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let fields = call_private_function_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PrivateCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PrivateCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n // TODO handle the offsets as a variable incremented during extraction?\n args_hash: fields[11],\n return_values: arr_copy_slice(fields, [0; RETURN_VALUES_LENGTH], 12),\n read_requests: arr_copy_slice(fields, [0; MAX_READ_REQUESTS_PER_CALL], 16),\n new_commitments: arr_copy_slice(fields, [0; MAX_NEW_COMMITMENTS_PER_CALL], 20),\n new_nullifiers: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 24),\n nullified_commitments: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 28),\n private_call_stack: arr_copy_slice(fields, [0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL], 32),\n public_call_stack: arr_copy_slice(fields, [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL], 36),\n new_l2_to_l1_msgs: arr_copy_slice(fields, [0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL], 40),\n encrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 42),\n unencrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 44),\n encrypted_log_preimages_length: fields[46],\n unencrypted_log_preimages_length: fields[47],\n block_data: HistoricBlockData {\n // Must match order in `private_circuit_public_inputs.hpp`\n private_data_tree_root : fields[48],\n nullifier_tree_root : fields[49],\n contract_tree_root : fields[50],\n l1_to_l2_messages_tree_root : fields[51],\n blocks_tree_root : fields[52],\n public_data_tree_root: fields[53],\n global_variables_hash: fields[54],\n },\n contract_deployment_data: ContractDeploymentData {\n deployer_public_key: Point::new(fields[55], fields[56]),\n constructor_vk_hash : fields[57],\n function_tree_root : fields[58],\n contract_address_salt : fields[59],\n portal_contract_address : fields[60],\n },\n chain_id: fields[61],\n version: fields[62],\n },\n is_execution_request: fields[63] as bool,\n };\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n assert(item.is_execution_request == false);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.private_call_stack.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n fn call_public_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) {\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)\n }\n\n fn call_public_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_public_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) {\n let fields = enqueue_public_function_call_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PublicCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PublicCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n args_hash: fields[11],\n return_values: [0; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [0; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [0; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: 0,\n block_data: HistoricBlockData::empty(),\n prover_address: 0,\n },\n is_execution_request: true,\n };\n\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n \n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.public_call_stack.push(item.hash());\n }\n}\n\nuse crate::abi::{\n ContractStorageRead,\n ContractStorageUpdateRequest\n};\n\nstruct PublicContext {\n inputs: abi::PublicContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n contract_storage_update_requests: BoundedVec,\n contract_storage_read: BoundedVec,\n public_call_stack: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n\n new_l2_to_l1_msgs: BoundedVec,\n\n unencrypted_logs_hash: BoundedVec,\n unencrypted_logs_preimages_length: Field,\n\n block_data: HistoricBlockData,\n prover_address: Field,\n}\n\nimpl PublicContext {\n fn new(inputs: abi::PublicContextInputs, args_hash: Field) -> PublicContext {\n let empty_storage_read = ContractStorageRead::empty();\n let empty_storage_update = ContractStorageUpdateRequest::empty();\n PublicContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\n contract_storage_read: BoundedVec::new(empty_storage_read),\n public_call_stack: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n \n unencrypted_logs_hash: BoundedVec::new(0),\n unencrypted_logs_preimages_length: 0,\n\n block_data: inputs.block_data,\n prover_address: 0,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_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 block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n fn finish(self) -> abi::PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = abi::PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_read: self.contract_storage_read.storage,\n return_values: self.return_values.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n unencrypted_logs_hash: unencrypted_logs_hash,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.inputs.block_data,\n prover_address: self.prover_address,\n };\n pub_circuit_pub_inputs\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n }\n\n fn message_portal(&mut self, msg: Field) {\n self.new_l2_to_l1_msgs.push(msg);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(self.block_data.l1_to_l2_messages_tree_root, this, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_public_function(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n args: [Field; ARGS_COUNT],\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = abi::hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n call_public_function_internal(\n contract_address, \n function_selector, \n args_hash,\n )\n }\n\n fn call_public_function_no_args(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n ) -> [Field; RETURN_VALUES_LENGTH] {\n call_public_function_internal(\n contract_address, \n function_selector, \n 0,\n )\n }\n\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/context" - }, - "33": { - "source": "use crate::context::PrivateContext;\nuse crate::oracle;\nuse crate::types::point::Point;\n\nfn emit_encrypted_log(\n context: &mut PrivateContext,\n contract_address: Field,\n storage_slot: Field,\n encryption_pub_key: Point,\n log: [Field; N],\n) {\n let _ = oracle::logs::emit_encrypted_log(contract_address, storage_slot, encryption_pub_key, log);\n context.accumulate_encrypted_logs(log);\n}\n\nfn emit_unencrypted_log(\n context: &mut PrivateContext,\n log: T,\n) {\n let _ = oracle::logs::emit_unencrypted_log(log);\n context.accumulate_unencrypted_logs(log);\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/log" - }, - "39": { - "source": "use dep::std::option::Option;\nuse crate::abi::PublicContextInputs;\nuse crate::context::{\n PrivateContext,\n PublicContext,\n};\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_inner_note_hash,\n};\nuse crate::oracle::create_commitment::create_commitment;\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\nuse crate::constants_gen::EMPTY_NULLIFIED_COMMITMENT;\n\nfn create_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface,\n) {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n let serialise = note_interface.serialise;\n let preimage = serialise(*note);\n assert(notify_created_note(storage_slot, preimage, inner_note_hash) == 0);\n\n context.push_new_note_hash(inner_note_hash);\n}\n\nfn create_note_hash_from_public(\n context: PublicContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface,\n) {\n let contract_address = context.this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n create_commitment(inner_note_hash);\n}\n\nfn destroy_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: Note,\n note_interface: NoteInterface,\n) {\n let mut nullifier = 0;\n let mut nullified_commitment: Field = EMPTY_NULLIFIED_COMMITMENT;\n let compute_nullifier = note_interface.compute_nullifier;\n nullifier = compute_nullifier(note);\n\n let serialise = note_interface.serialise;\n let preimage = serialise(note);\n\n // We also need the note commitment corresponding to the \"nullifier\"\n let get_header = note_interface.get_header;\n let header = get_header(note);\n // 0 nonce implies \"transient\" nullifier (must nullify a commitment in this TX).\n // `nullified_commitment` is used to inform the kernel which pending commitment\n // the nullifier corresponds to so they can be matched and both squashed/deleted.\n // nonzero nonce implies \"persistable\" nullifier (nullifies a persistent/in-tree\n // commitment) in which case `nullified_commitment` is not used since the kernel\n // just siloes and forwards the nullier to its output.\n if (header.nonce == 0) {\n // TODO(suyash): Can we reuse the note commitment computed in `compute_nullifier`?\n nullified_commitment = compute_inner_note_hash(note_interface, note);\n }\n assert(notify_nullified_note(storage_slot, nullifier, preimage, nullified_commitment) == 0);\n\n context.push_new_nullifier(nullifier, nullified_commitment)\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/lifecycle" - }, - "40": { - "source": "use dep::std::option::Option;\nuse crate::constants_gen::{\n MAX_READ_REQUESTS_PER_CALL,\n GET_NOTE_ORACLE_RETURN_LENGTH,\n GET_NOTES_ORACLE_RETURN_LENGTH,\n MAX_NOTES_PER_PAGE,\n VIEW_NOTE_ORACLE_RETURN_LENGTH,\n};\nuse crate::context::PrivateContext;\nuse crate::note::{\n note_getter_options::NoteGetterOptions,\n note_interface::NoteInterface,\n note_header::NoteHeader,\n utils::compute_note_hash_for_read_or_nullify,\n utils::compute_unique_siloed_note_hash,\n utils::compute_inner_note_hash,\n utils::compute_siloed_note_hash,\n};\nuse crate::messaging::get_commitment_getter_data::make_commitment_getter_data;\nuse crate::oracle;\n\nfn check_note_header(\n context: PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: Note,\n) {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n let contract_address = context.this_address();\n assert(header.contract_address == contract_address);\n assert(header.storage_slot == storage_slot);\n}\n\nfn ensure_note_exists(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: &mut Note,\n) {\n let saved_note = get_note_internal(storage_slot, note_interface);\n\n // Only copy over the header to the original note to make sure the preimage is the same.\n let get_header = note_interface.get_header;\n let set_header = note_interface.set_header;\n let note_header = get_header(saved_note);\n set_header(note, note_header);\n\n check_note_header(*context, storage_slot, note_interface, *note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, *note);\n context.push_read_request(note_hash_for_read_request);\n}\n\n// Ensure a note's hash exists in the tree without retrieving the entire\n// notes via the oracle.\n// Modifies the note by populating it with header info.\nfn ensure_note_hash_exists(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: &mut Note,\n) {\n // Initialize header of note. Must be done before computing note hashes as it initializes the:\n // - storage slot (used in inner note hash)\n // - the contract address (used in siloed note hash)\n // - and the nonce (used in the unique siloed note hash)\n let set_header = note_interface.set_header;\n let note_header = NoteHeader {\n contract_address: (*context).this_address(),\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // real nonce (once public kernel applies nonces).\n nonce: 0,\n storage_slot\n };\n set_header(note, note_header);\n\n // Get a note from oracle and early out if it doesn't exist.\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n let raw_oracle_ret = oracle::get_commitment::get_commitment(inner_note_hash);\n let deserialized_oracle_ret = make_commitment_getter_data(raw_oracle_ret, 0);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // unique_siloed_note_hash once public kernel applies nonces\n let saved_siloed_note_hash = deserialized_oracle_ret.message;\n\n assert(saved_siloed_note_hash != 0); // TODO(dbanks12): necessary?\n\n check_note_header(*context, storage_slot, note_interface, *note);\n\n // Ensure that the note hash retrieved from oracle matches the one computed from note.\n let computed_siloed_note_hash = compute_siloed_note_hash(note_interface, *note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // compute_note_hash_for_read_or_nullify once public kernel applies nonces\n assert(computed_siloed_note_hash == saved_siloed_note_hash);\n\n context.push_read_request(computed_siloed_note_hash);\n}\n\nfn get_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n) -> Note {\n let note = get_note_internal(storage_slot, note_interface);\n\n check_note_header(*context, storage_slot, note_interface, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n\n context.push_read_request(note_hash_for_read_request);\n note\n}\n\nfn get_notes(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n options: NoteGetterOptions,\n) -> [Option; S] {\n let opt_notes = get_notes_internal(storage_slot, note_interface, options);\n for i in 0..opt_notes.len() {\n let opt_note = opt_notes[i];\n let mut note_hash_for_read_request = 0;\n if opt_note.is_some() {\n let note = opt_note.unwrap_unchecked();\n check_note_header(*context, storage_slot, note_interface, note);\n note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n };\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_read_request(note_hash_for_read_request);\n };\n\n // TODO(#1660)\n // Move it back to get_notes_internal and only make read request for selected notes.\n let filter = options.filter;\n let filter_args = options.filter_args;\n filter(opt_notes, filter_args)\n}\n\nunconstrained fn get_note_internal(\n storage_slot: Field,\n note_interface: NoteInterface,\n) -> Note {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n [],\n [],\n 1, // limit\n 0, // offset\n placeholder_note,\n placeholder_fields,\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal(\n storage_slot: Field,\n note_interface: NoteInterface,\n options: NoteGetterOptions,\n) -> [Option; MAX_READ_REQUESTS_PER_CALL] {\n let sort_by = options.sort_by;\n let mut sort_by_indices = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sort_by.len() {\n sort_by_indices[i] = sort_by[i].field_index;\n sort_order[i] = sort_by[i].order;\n };\n let placeholder_opt_notes = [Option::none(); MAX_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n sort_by_indices,\n sort_order,\n MAX_READ_REQUESTS_PER_CALL as u32,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields,\n )\n}\n\nunconstrained fn view_notes(\n storage_slot: Field,\n note_interface: NoteInterface,\n limit: u32,\n offset: u32,\n) -> [Option; MAX_NOTES_PER_PAGE] {\n let sort_by = [0; N];\n let sort_order = [0; N];\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(storage_slot, note_interface, sort_by, sort_order, limit, offset, placeholder_opt_notes, placeholder_fields)\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_getter" - }, - "42": { - "source": "use dep::std::hash::{pedersen, pedersen_with_separator};\nuse crate::constants_gen::{GENERATOR_INDEX__UNIQUE_COMMITMENT, GENERATOR_INDEX__SILOED_COMMITMENT};\n\nfn compute_inner_hash(storage_slot: Field, note_hash: Field) -> Field {\n // TODO(#1205) Do we need a generator index here?\n pedersen([storage_slot, note_hash])[0]\n}\n\nfn compute_siloed_hash(contract_address: Field, inner_note_hash: Field) -> Field {\n let inputs = [contract_address, inner_note_hash];\n pedersen_with_separator(inputs, GENERATOR_INDEX__SILOED_COMMITMENT)[0]\n}\n\nfn compute_unique_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [nonce, siloed_note_hash];\n pedersen_with_separator(inputs, GENERATOR_INDEX__UNIQUE_COMMITMENT)[0]\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_hash" - }, - "45": { - "source": "use crate::note::{\n note_hash::{compute_inner_hash, compute_siloed_hash, compute_unique_hash},\n note_header::NoteHeader,\n note_interface::NoteInterface,\n};\nuse crate::utils::arr_copy_slice;\n\nfn compute_inner_note_hash(\n note_interface: NoteInterface,\n note: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n\n compute_inner_hash(header.storage_slot, note_hash)\n}\n\nfn compute_siloed_note_hash(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let inner_note_hash = compute_inner_note_hash(note_interface, note_with_header);\n\n compute_siloed_hash(header.contract_address, inner_note_hash)\n}\n\nfn compute_unique_siloed_note_hash(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let siloed_note_hash = compute_siloed_note_hash(note_interface, note_with_header);\n\n compute_unique_hash(header.nonce, siloed_note_hash)\n}\n\nfn compute_note_hash_for_read_or_nullify(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n if (header.nonce == 0) {\n // when nonce is zero, that means we are reading a pending note (doesn't have a nonce yet),\n // so we just read the inner_note_hash (kernel will silo by contract address)\n compute_inner_note_hash(note_interface, note_with_header)\n } else {\n // When nonce is nonzero, that means we are reading a settled note (from tree) created in a\n // previous TX. So we need the unique_siloed_note_hash which has already been hashed with\n // contract address and then nonce. This hash will match the existing leaf in the private\n // data tree, so the kernel can just perform a membership check directly on this hash/leaf.\n compute_unique_siloed_note_hash(note_interface, note_with_header)\n }\n\n}\n\nfn compute_note_hash_and_nullifier(\n note_interface: NoteInterface,\n note_header: NoteHeader,\n preimage: [Field; S],\n) -> [Field; 4] {\n let deserialise = note_interface.deserialise;\n let set_header = note_interface.set_header;\n let mut note = deserialise(arr_copy_slice(preimage, [0; N], 0));\n set_header(&mut note, note_header);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n let inner_note_hash = compute_inner_hash(note_header.storage_slot, note_hash);\n\n let siloed_note_hash = compute_siloed_hash(note_header.contract_address, inner_note_hash);\n\n let unique_siloed_note_hash = compute_unique_hash(note_header.nonce, siloed_note_hash);\n\n let compute_nullifier = note_interface.compute_nullifier;\n let inner_nullifier = compute_nullifier(note);\n\n [inner_note_hash, siloed_note_hash, unique_siloed_note_hash, inner_nullifier]\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/utils" - }, - "47": { - "source": "use dep::std::hash::pedersen_with_separator;\nuse crate::context::PrivateContext;\nuse crate::note::lifecycle::create_note;\nuse crate::note::note_getter::get_note;\nuse crate::note::note_interface::NoteInterface;\nuse crate::oracle;\nuse crate::constants_gen::{\n GENERATOR_INDEX__INITIALISATION_NULLIFIER,\n EMPTY_NULLIFIED_COMMITMENT,\n};\n\nstruct ImmutableSingleton {\n storage_slot: Field,\n note_interface: NoteInterface,\n}\n\nimpl ImmutableSingleton {\n fn new(storage_slot: Field, note_interface: NoteInterface) -> Self {\n ImmutableSingleton { storage_slot, note_interface }\n }\n\n unconstrained fn is_initialised(self) -> bool {\n let nullifier = self.compute_initialisation_nullifier();\n oracle::notes::is_nullifier_emitted(nullifier)\n }\n\n fn initialise(self, context: &mut PrivateContext, note: &mut Note) {\n // Nullify the storage slot.\n let nullifier = self.compute_initialisation_nullifier();\n context.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT);\n\n create_note(context, self.storage_slot, note, self.note_interface);\n }\n\n fn compute_initialisation_nullifier(self) -> Field {\n pedersen_with_separator([self.storage_slot], GENERATOR_INDEX__INITIALISATION_NULLIFIER)[0]\n }\n \n fn get_note(self, context: &mut PrivateContext) -> Note {\n let storage_slot = self.storage_slot;\n get_note(context, storage_slot, self.note_interface)\n }\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/state_vars/immutable_singleton" - }, - "54": { - "source": "\nstruct BoundedVec {\n storage: [T; MaxLen],\n len: Field,\n}\n\nimpl BoundedVec {\n fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\n }\n\n fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64);\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n fn push_array(&mut self, array: [T; Len]) {\n let newLen = self.len + array.len();\n assert(newLen as u64 <= MaxLen as u64);\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = newLen;\n }\n\n fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n\n let elem = self.storage[self.len - 1];\n self.len -= 1;\n elem\n }\n}\n\n// #[test]\n// fn test_vec() {\n// let vec: BoundedVec = BoundedVec::new(0);\n// assert(vec.len == 0);\n// let vec1 = vec.push(1);\n// assert(vec1.len == 1);\n// let vec2 = vec1.push(1);\n// assert(vec2.len == 2);\n// let vec3 = vec2.push(1);\n// assert(vec3.len == 3);\n// let x = vec3.pop();\n// assert(x == 1);\n// }", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/types/vec" - }, - "72": { - "source": "use crate::types::point::Point;\nuse dep::std::hash;\nuse crate::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\n\n#[oracle(getPublicKey)]\nfn get_public_key_oracle(_address: Field) -> [Field; 3] {}\n\nunconstrained fn get_public_key_internal(address: Field) -> [Field; 3] {\n get_public_key_oracle(address)\n}\n\nfn get_public_key(address: Field) -> Point {\n let result = get_public_key_internal(address);\n let pub_key_x = result[0];\n let pub_key_y = result[1];\n let partial_address = result[2];\n \n let calculated_address = hash::pedersen_with_separator([pub_key_x, pub_key_y, partial_address], GENERATOR_INDEX__CONTRACT_ADDRESS)[0];\n assert(calculated_address == address);\n \n Point::new(pub_key_x, pub_key_y)\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_public_key" - }, - "80": { - "source": "use crate::abi;\nuse crate::types::vec::BoundedVec;\nuse crate::context::PrivateContext;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem; \n\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\nglobal FUNCTION_CALL_SIZE: Field = 3;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: Field,\n target_address: Field,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector, self.target_address]\n }\n}\n\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\n\nstruct EntrypointPayload {\n // Noir doesnt support nested arrays or structs yet so we flatten everything\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n\nimpl EntrypointPayload {\n // TODO(#1207) Do we need a generator index?\n fn hash(self) -> Field {\n dep::std::hash::pedersen(self.serialize())[0]\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.flattened_args_hashes);\n fields.push_array(self.flattened_selectors);\n fields.push_array(self.flattened_targets);\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n let args_len = self.flattened_args_hashes.len();\n let selectors_len = self.flattened_selectors.len();\n let targets_len = self.flattened_targets.len();\n\n for i in 0..args_len {\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..selectors_len {\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..targets_len {\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n \n let item_bytes = self.nonce.to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\n }\n\n bytes\n }\n\n // Executes all private and public calls \n fn execute_calls(self, context: &mut PrivateContext) {\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n }\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint" - } - } - } -} diff --git a/yarn-project/aztec.js/src/abis/schnorr_account_contract.json b/yarn-project/aztec.js/src/abis/schnorr_account_contract.json deleted file mode 100644 index c8b7985f8af..00000000000 --- a/yarn-project/aztec.js/src/abis/schnorr_account_contract.json +++ /dev/null @@ -1,20895 +0,0 @@ -{ - "name": "SchnorrAccount", - "functions": [ - { - "name": "compute_note_hash_and_nullifier", - "functionType": "unconstrained", - "isInternal": false, - "parameters": [ - { - "name": "contract_address", - "type": { - "kind": "field" - }, - "visibility": "private" - }, - { - "name": "nonce", - "type": { - "kind": "field" - }, - "visibility": "private" - }, - { - "name": "storage_slot", - "type": { - "kind": "field" - }, - "visibility": "private" - }, - { - "name": "preimage", - "type": { - "kind": "array", - "length": 3, - "type": { - "kind": "field" - } - }, - "visibility": "private" - } - ], - "returnTypes": [ - { - "kind": "array", - "length": 4, - "type": { - "kind": "field" - } - } - ], - "bytecode": "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", - "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" - }, - { - "name": "constructor", - "functionType": "secret", - "isInternal": false, - "parameters": [ - { - "name": "signing_pub_key_x", - "type": { - "kind": "field" - }, - "visibility": "public" - }, - { - "name": "signing_pub_key_y", - "type": { - "kind": "field" - }, - "visibility": "public" - } - ], - "returnTypes": [], - "bytecode": "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", - "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" - }, - { - "name": "entrypoint", - "functionType": "secret", - "isInternal": false, - "parameters": [ - { - "name": "payload", - "type": { - "kind": "struct", - "name": "EntrypointPayload", - "fields": [ - { - "name": "flattened_args_hashes", - "type": { - "kind": "array", - "length": 4, - "type": { - "kind": "field" - } - } - }, - { - "name": "flattened_selectors", - "type": { - "kind": "array", - "length": 4, - "type": { - "kind": "field" - } - } - }, - { - "name": "flattened_targets", - "type": { - "kind": "array", - "length": 4, - "type": { - "kind": "field" - } - } - }, - { - "name": "nonce", - "type": { - "kind": "field" - } - } - ] - }, - "visibility": "public" - }, - { - "name": "signature", - "type": { - "kind": "array", - "length": 64, - "type": { - "kind": "integer", - "sign": "unsigned", - "width": 8 - } - }, - "visibility": "public" - } - ], - "returnTypes": [], - "bytecode": "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", - "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" - } - ], - "debug": { - "debugSymbols": [ - { - "locations": {} - }, - { - "locations": { - "3": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "4": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "5": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "6": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "7": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "8": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "9": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "10": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "11": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "12": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "13": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "14": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "15": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "16": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "17": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "18": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "19": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "20": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "21": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "22": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "23": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "24": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "25": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "26": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "27": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "28": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "29": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "30": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "31": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "32": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "34": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "35": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "36": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "37": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "38": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "39": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "40": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "41": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "42": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "43": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "44": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "45": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "46": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "47": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "48": [ - { - "span": { - "start": 3043, - "end": 3096 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "50": [ - { - "span": { - "start": 3255, - "end": 3324 - }, - "file": 0 - }, - { - "span": { - "start": 955, - "end": 993 - }, - "file": 47 - }, - { - "span": { - "start": 1220, - "end": 1306 - }, - "file": 47 - } - ], - "53": [ - { - "span": { - "start": 3255, - "end": 3324 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 823, - "end": 868 - }, - "file": 39 - }, - { - "span": { - "start": 506, - "end": 555 - }, - "file": 45 - }, - { - "span": { - "start": 288, - "end": 322 - }, - "file": 42 - }, - { - "span": { - "start": 204, - "end": 236 - }, - "file": 3 - } - ], - "55": [ - { - "span": { - "start": 3255, - "end": 3324 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 966, - "end": 1025 - }, - "file": 39 - } - ], - "56": [ - { - "span": { - "start": 3255, - "end": 3324 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 966, - "end": 1030 - }, - "file": 39 - } - ], - "57": [ - { - "span": { - "start": 3255, - "end": 3324 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 966, - "end": 1030 - }, - "file": 39 - } - ], - "58": [ - { - "span": { - "start": 3255, - "end": 3324 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 966, - "end": 1030 - }, - "file": 39 - } - ], - "59": [ - { - "span": { - "start": 3255, - "end": 3324 - }, - "file": 0 - }, - { - "span": { - "start": 1080, - "end": 1145 - }, - "file": 47 - }, - { - "span": { - "start": 966, - "end": 1030 - }, - "file": 39 - } - ], - "60": [ - { - "span": { - "start": 3473, - "end": 3492 - }, - "file": 0 - }, - { - "span": { - "start": 367, - "end": 398 - }, - "file": 72 - } - ], - "62": [ - { - "span": { - "start": 3473, - "end": 3492 - }, - "file": 0 - }, - { - "span": { - "start": 643, - "end": 671 - }, - "file": 72 - } - ], - "63": [ - { - "span": { - "start": 3473, - "end": 3492 - }, - "file": 0 - }, - { - "span": { - "start": 643, - "end": 671 - }, - "file": 72 - } - ], - "64": [ - { - "span": { - "start": 3473, - "end": 3492 - }, - "file": 0 - }, - { - "span": { - "start": 643, - "end": 671 - }, - "file": 72 - } - ], - "65": [ - { - "span": { - "start": 3473, - "end": 3492 - }, - "file": 0 - }, - { - "span": { - "start": 643, - "end": 671 - }, - "file": 72 - } - ], - "66": [ - { - "span": { - "start": 3473, - "end": 3492 - }, - "file": 0 - }, - { - "span": { - "start": 643, - "end": 671 - }, - "file": 72 - } - ], - "67": [ - { - "span": { - "start": 3344, - "end": 3541 - }, - "file": 0 - }, - { - "span": { - "start": 270, - "end": 358 - }, - "file": 33 - } - ] - } - }, - { - "locations": { - "73": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "74": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "75": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "76": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "77": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "78": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "79": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "80": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "81": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "82": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "83": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "84": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "85": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "86": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "87": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "88": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "89": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "90": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "91": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "93": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "94": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "95": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "96": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "97": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "98": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "99": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "100": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "101": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "102": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "103": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "104": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "105": [ - { - "span": { - "start": 1906, - "end": 1933 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "107": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4012, - "end": 4058 - }, - "file": 40 - } - ], - "108": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 950, - "end": 992 - }, - "file": 40 - } - ], - "109": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 950, - "end": 992 - }, - "file": 40 - } - ], - "110": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 950, - "end": 992 - }, - "file": 40 - } - ], - "111": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 950, - "end": 992 - }, - "file": 40 - } - ], - "112": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 950, - "end": 992 - }, - "file": 40 - } - ], - "113": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 1007, - "end": 1041 - }, - "file": 40 - } - ], - "114": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 1007, - "end": 1041 - }, - "file": 40 - } - ], - "115": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 1007, - "end": 1041 - }, - "file": 40 - } - ], - "116": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 1007, - "end": 1041 - }, - "file": 40 - } - ], - "117": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4066, - "end": 4128 - }, - "file": 40 - }, - { - "span": { - "start": 1007, - "end": 1041 - }, - "file": 40 - } - ], - "118": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1547, - "end": 1563 - }, - "file": 45 - } - ], - "119": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1547, - "end": 1563 - }, - "file": 45 - } - ], - "120": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1547, - "end": 1563 - }, - "file": 45 - } - ], - "127": [ - { - "span": { - "start": 2042, - "end": 2090 - }, - "file": 0 - }, - { - "span": { - "start": 1438, - "end": 1489 - }, - "file": 47 - }, - { - "span": { - "start": 4169, - "end": 4227 - }, - "file": 40 - }, - { - "span": { - "start": 1762, - "end": 1818 - }, - "file": 45 - }, - { - "span": { - "start": 506, - "end": 555 - }, - "file": 45 - }, - { - "span": { - "start": 288, - "end": 325 - }, - "file": 42 - } - ], - "129": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "130": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "131": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "132": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "133": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "134": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "135": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "136": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "137": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "138": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "139": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "140": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "141": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "142": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "143": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "144": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "145": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "146": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "147": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "148": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "149": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "150": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "151": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "152": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "153": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "154": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "155": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "156": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "157": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "158": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "159": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "160": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "161": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "162": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "163": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "164": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "165": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "166": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "167": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "168": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "169": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "170": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "171": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "172": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "173": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "174": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "175": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "176": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "177": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "178": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "179": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "180": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "181": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "182": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "183": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "184": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "185": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "186": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "187": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "188": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "189": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "190": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "191": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "192": [ - { - "span": { - "start": 2380, - "end": 2408 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "194": [ - { - "span": { - "start": 2589, - "end": 2608 - }, - "file": 0 - } - ], - "195": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "196": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "197": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "198": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7635, - "end": 7760 - }, - "file": 32 - } - ], - "199": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "200": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "201": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "202": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "203": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "204": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "205": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "206": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "207": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "208": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "209": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "210": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "211": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "212": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "213": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "214": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "215": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "216": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "217": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "218": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "219": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "220": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "221": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "222": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "223": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "224": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "225": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "226": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "227": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "228": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "229": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "230": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "231": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "232": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "233": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "234": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "235": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "236": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "237": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "238": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "239": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "240": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "241": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "242": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "243": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "244": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "245": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "246": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "247": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "248": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "249": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "250": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "251": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "252": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "253": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "254": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "255": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "256": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "257": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "258": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "259": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "260": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "261": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "262": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "263": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "264": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "265": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "266": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "267": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "268": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "269": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "270": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "271": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "272": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "273": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "274": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "275": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "276": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "277": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "278": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "279": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "280": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "281": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "282": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "283": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "284": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "285": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "286": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "287": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "288": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "289": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "290": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "291": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "292": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "293": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "294": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "295": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "296": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "297": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "298": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "299": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "300": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "301": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "302": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "303": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "304": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "305": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "306": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "307": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "308": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "309": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "310": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "311": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "312": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "313": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "320": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "321": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "322": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "323": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7635, - "end": 7760 - }, - "file": 32 - } - ], - "324": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "325": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "326": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "327": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "328": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "329": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "330": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "331": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "332": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "333": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "334": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "335": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "336": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "337": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "338": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "339": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "340": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "341": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "342": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "343": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "344": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "345": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "346": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "347": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "348": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "349": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "350": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "351": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "352": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "353": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "354": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "355": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "356": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "357": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "358": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "359": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "360": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "361": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "362": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "363": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "364": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "365": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "366": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "367": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "368": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "369": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "370": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "371": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "372": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "373": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "374": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "375": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "376": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "377": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "378": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "379": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "380": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "381": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "382": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "383": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "384": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "385": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "386": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "387": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "388": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "389": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "390": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "391": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "392": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "393": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "394": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "395": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "396": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "397": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "398": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "399": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "400": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "401": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "402": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "403": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "404": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "405": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "406": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "407": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "408": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "409": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "410": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "411": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "412": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "413": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "414": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "415": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "416": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "417": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "418": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "419": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "420": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "421": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "422": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "423": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "424": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "425": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "426": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "427": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "428": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "429": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "430": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "431": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "432": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "433": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "434": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "435": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "436": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "437": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "438": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "444": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "445": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "446": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "447": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "448": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "449": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "450": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "451": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "452": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "453": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "454": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "455": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "456": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "457": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "458": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "459": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "460": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "461": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "462": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "463": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "464": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "465": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "466": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "467": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "468": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "469": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "470": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "472": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "487": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "488": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "489": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "490": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 12843, - "end": 12975 - }, - "file": 32 - } - ], - "491": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "492": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "493": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "494": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "495": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "496": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "497": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "498": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "499": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "500": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "501": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "502": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "503": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "504": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "505": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "506": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "507": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "508": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "509": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "510": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "511": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "512": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "513": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "514": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "515": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "516": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "517": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "518": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "519": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "520": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "521": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "522": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "523": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "524": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "525": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "526": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "527": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "528": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "529": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "530": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "531": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "532": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "533": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "534": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "535": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "536": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "537": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "538": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "539": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "540": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "541": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "542": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "543": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "544": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "545": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "546": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "547": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "548": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "549": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "550": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "551": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "552": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "553": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "554": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "555": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "556": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "557": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "558": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "559": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "560": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "561": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "562": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "563": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "564": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "565": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "566": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "567": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "568": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "569": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "570": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "571": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "572": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "573": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "574": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "575": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "576": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "577": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "578": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "579": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "580": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "581": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "582": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "583": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "584": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "585": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "586": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "587": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "588": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "589": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "590": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "591": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "592": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "593": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "596": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "597": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "598": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "600": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "601": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "602": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "604": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "605": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "606": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "608": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "609": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "610": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "612": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "613": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "614": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "616": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "617": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "618": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "620": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "621": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "622": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "624": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "625": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "626": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "628": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "629": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "631": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "632": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "634": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "635": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "637": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "638": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "640": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "641": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "643": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "644": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "646": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "647": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "649": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "650": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "652": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "653": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "654": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "655": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "656": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "657": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "658": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "659": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "660": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "661": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "662": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "663": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "664": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "665": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "666": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "667": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "668": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "669": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "670": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "671": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "672": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "673": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "674": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "675": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "676": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "677": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "678": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "679": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "680": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "684": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "685": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "686": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "687": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 12843, - "end": 12975 - }, - "file": 32 - } - ], - "688": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "689": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "690": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "691": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "692": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "693": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "694": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "695": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "696": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "697": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "698": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "699": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "700": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "701": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "702": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "703": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "704": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "705": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "706": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "707": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "708": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "709": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "710": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "711": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "712": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "713": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "714": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "715": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "716": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "717": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "718": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "719": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "720": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "721": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "722": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "723": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "724": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "725": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "726": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "727": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "728": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "729": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "730": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "731": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "732": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "733": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "734": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "735": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "736": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "737": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "738": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "739": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "740": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "741": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "742": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "743": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "744": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "745": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "746": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "747": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "748": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "749": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "750": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "751": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "752": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "753": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "754": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "755": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "756": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "757": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "758": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "759": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "760": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "761": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "762": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "763": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "764": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "765": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "766": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "767": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "768": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "769": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "770": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "771": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "772": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "773": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "774": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "775": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "776": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "777": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "778": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "779": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "780": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "781": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "782": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "783": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "784": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "785": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "786": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "787": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "788": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "789": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "790": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "793": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "794": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "795": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "797": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "798": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "799": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "801": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "802": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "803": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "805": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "806": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "807": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "809": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "810": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "811": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "813": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "814": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "815": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "817": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "818": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "819": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "821": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "822": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "823": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "825": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "826": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "828": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "829": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "831": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "832": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "834": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "835": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "837": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "838": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "840": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "841": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "843": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "844": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "846": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "847": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "849": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "850": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "851": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "852": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "853": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "854": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "855": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "856": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "857": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "858": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "859": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "860": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "861": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "862": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "863": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "864": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "865": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "866": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "867": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "868": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "869": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "870": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "871": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "872": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "873": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "874": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "875": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "876": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "877": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "880": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "881": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "882": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "883": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "884": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "885": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "886": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "887": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "888": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "889": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "890": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "891": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "892": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "893": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "894": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "895": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "896": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "897": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "898": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "899": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "900": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "901": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "902": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "903": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "904": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "905": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "906": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "908": [ - { - "span": { - "start": 2646, - "end": 2680 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ] - } - } - ], - "fileMap": { - "0": { - "source": "mod storage;\nmod public_key_note;\n\n// Account contract that uses Schnorr signatures for authentication.\n// The signing key is stored in an immutable private note and should be different from the encryption/nullifying key.\ncontract SchnorrAccount {\n use dep::std;\n use dep::aztec::entrypoint;\n use dep::aztec::entrypoint::EntrypointPayload;\n use dep::aztec::abi;\n use dep::aztec::abi::PrivateContextInputs;\n use dep::aztec::abi::CallContext;\n use dep::aztec::private_call_stack_item::PrivateCallStackItem;\n use dep::aztec::public_call_stack_item::PublicCallStackItem;\n use dep::aztec::context::PrivateContext;\n use dep::aztec::log::emit_encrypted_log;\n use dep::aztec::oracle::get_public_key::get_public_key;\n use dep::aztec::types::vec::BoundedVec;\n use dep::aztec::types::point::Point;\n use dep::aztec::note::utils as note_utils;\n use dep::aztec::note::note_header::NoteHeader;\n use dep::aztec::constants_gen::MAX_NOTE_FIELDS_LENGTH;\n use dep::aztec::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\n use dep::aztec::constants_gen::GENERATOR_INDEX__SIGNATURE_PAYLOAD;\n\n use crate::storage::Storage;\n use crate::public_key_note::PublicKeyNote;\n use crate::public_key_note::PublicKeyNoteMethods;\n use crate::public_key_note::PUBLIC_KEY_NOTE_LEN;\n\n fn entrypoint(\n inputs: pub PrivateContextInputs,\n payload: pub EntrypointPayload, // contains a set of arguments, selectors, targets and a nonce\n signature: pub [u8;64], // schnorr signature of the payload hash\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n // Initialize context\n // ENTRYPOINT_PAYLOAD_SIZE(13) + 64\n let mut args: BoundedVec = BoundedVec::new(0);\n args.push_array(payload.serialize());\n for byte in signature { args.push(byte as Field); }\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\n\n // Load public key from storage\n let storage = Storage::init();\n let public_key = storage.signing_public_key.get_note(&mut context);\n\n // Verify payload signature\n let payload_fields: [Field; entrypoint::ENTRYPOINT_PAYLOAD_SIZE] = payload.serialize();\n let message_field: Field = std::hash::pedersen_with_separator(payload_fields, GENERATOR_INDEX__SIGNATURE_PAYLOAD)[0];\n let message_bytes = message_field.to_be_bytes(32);\n\n // Verify signature of the payload bytes\n let verification = std::schnorr::verify_signature(public_key.x, public_key.y, signature, message_bytes);\n assert(verification == true);\n\n // Execute calls\n payload.execute_calls(&mut context);\n\n context.finish()\n }\n\n // Constructs the contract\n fn constructor(\n inputs: pub PrivateContextInputs,\n signing_pub_key_x: pub Field,\n signing_pub_key_y: pub Field,\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n let storage = Storage::init();\n \n let mut context = PrivateContext::new(inputs, abi::hash_args([signing_pub_key_x, signing_pub_key_y]));\n \n let this = context.this_address();\n let mut pub_key_note = PublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n storage.signing_public_key.initialise(&mut context, &mut pub_key_note);\n \n emit_encrypted_log(\n &mut context,\n this,\n storage.signing_public_key.storage_slot,\n get_public_key(this),\n pub_key_note.serialise(),\n );\n\n context.finish()\n }\n\n // Computes notes hash and nullifier.\n // Note 1: Needs to be defined by every contract producing logs.\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\n unconstrained fn compute_note_hash_and_nullifier(contract_address: Field, nonce: Field, storage_slot: Field, preimage: [Field; PUBLIC_KEY_NOTE_LEN]) -> [Field; 4] {\n assert(storage_slot == 1);\n let note_header = NoteHeader { contract_address, nonce, storage_slot };\n note_utils::compute_note_hash_and_nullifier(PublicKeyNoteMethods, note_header, preimage)\n }\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/main" - }, - "3": { - "source": "mod poseidon;\n\n#[foreign(sha256)]\nfn sha256(_input : [u8; N]) -> [u8; 32] {}\n\n#[foreign(blake2s)]\nfn blake2s(_input : [u8; N]) -> [u8; 32] {}\n\nfn pedersen(input : [Field; N]) -> [Field; 2] {\n pedersen_with_separator(input, 0)\n}\n\n#[foreign(pedersen)]\nfn pedersen_with_separator(_input : [Field; N], _separator : u32) -> [Field; 2] {}\n\n#[foreign(hash_to_field_128_security)]\nfn hash_to_field(_input : [Field; N]) -> Field {}\n\n#[foreign(keccak256)]\nfn keccak256(_input : [u8; N], _message_size: u32) -> [u8; 32] {}\n\n// mimc-p/p implementation\n// constants are (publicly generated) random numbers, for instance using keccak as a ROM.\n// You must use constants generated for the native field\n// Rounds number should be ~ log(p)/log(exp)\n// For 254 bit primes, exponent 7 and 91 rounds seems to be recommended\nfn mimc(x: Field, k: Field, constants: [Field; N], exp : Field) -> Field {\n //round 0\n let mut t = x + k;\n let mut h = t.pow_32(exp);\n //next rounds\n for i in 1 .. constants.len() {\n t = h + k + constants[i];\n h = t.pow_32(exp);\n };\n h + k\n}\n\nglobal MIMC_BN254_ROUNDS = 91;\n\n//mimc implementation with hardcoded parameters for BN254 curve.\nfn mimc_bn254(array: [Field; N]) -> Field {\n //mimc parameters\n let exponent = 7;\n //generated from seed \"mimc\" using keccak256 \n let constants: [Field; MIMC_BN254_ROUNDS] = [\n 0, \n 20888961410941983456478427210666206549300505294776164667214940546594746570981,\n 15265126113435022738560151911929040668591755459209400716467504685752745317193,\n 8334177627492981984476504167502758309043212251641796197711684499645635709656,\n 1374324219480165500871639364801692115397519265181803854177629327624133579404,\n 11442588683664344394633565859260176446561886575962616332903193988751292992472,\n 2558901189096558760448896669327086721003508630712968559048179091037845349145,\n 11189978595292752354820141775598510151189959177917284797737745690127318076389,\n 3262966573163560839685415914157855077211340576201936620532175028036746741754,\n 17029914891543225301403832095880481731551830725367286980611178737703889171730,\n 4614037031668406927330683909387957156531244689520944789503628527855167665518,\n 19647356996769918391113967168615123299113119185942498194367262335168397100658,\n 5040699236106090655289931820723926657076483236860546282406111821875672148900,\n 2632385916954580941368956176626336146806721642583847728103570779270161510514,\n 17691411851977575435597871505860208507285462834710151833948561098560743654671,\n 11482807709115676646560379017491661435505951727793345550942389701970904563183,\n 8360838254132998143349158726141014535383109403565779450210746881879715734773,\n 12663821244032248511491386323242575231591777785787269938928497649288048289525,\n 3067001377342968891237590775929219083706800062321980129409398033259904188058,\n 8536471869378957766675292398190944925664113548202769136103887479787957959589,\n 19825444354178182240559170937204690272111734703605805530888940813160705385792,\n 16703465144013840124940690347975638755097486902749048533167980887413919317592,\n 13061236261277650370863439564453267964462486225679643020432589226741411380501,\n 10864774797625152707517901967943775867717907803542223029967000416969007792571,\n 10035653564014594269791753415727486340557376923045841607746250017541686319774,\n 3446968588058668564420958894889124905706353937375068998436129414772610003289,\n 4653317306466493184743870159523234588955994456998076243468148492375236846006,\n 8486711143589723036499933521576871883500223198263343024003617825616410932026,\n 250710584458582618659378487568129931785810765264752039738223488321597070280,\n 2104159799604932521291371026105311735948154964200596636974609406977292675173,\n 16313562605837709339799839901240652934758303521543693857533755376563489378839,\n 6032365105133504724925793806318578936233045029919447519826248813478479197288,\n 14025118133847866722315446277964222215118620050302054655768867040006542798474,\n 7400123822125662712777833064081316757896757785777291653271747396958201309118,\n 1744432620323851751204287974553233986555641872755053103823939564833813704825,\n 8316378125659383262515151597439205374263247719876250938893842106722210729522,\n 6739722627047123650704294650168547689199576889424317598327664349670094847386,\n 21211457866117465531949733809706514799713333930924902519246949506964470524162,\n 13718112532745211817410303291774369209520657938741992779396229864894885156527,\n 5264534817993325015357427094323255342713527811596856940387954546330728068658,\n 18884137497114307927425084003812022333609937761793387700010402412840002189451,\n 5148596049900083984813839872929010525572543381981952060869301611018636120248,\n 19799686398774806587970184652860783461860993790013219899147141137827718662674,\n 19240878651604412704364448729659032944342952609050243268894572835672205984837,\n 10546185249390392695582524554167530669949955276893453512788278945742408153192,\n 5507959600969845538113649209272736011390582494851145043668969080335346810411,\n 18177751737739153338153217698774510185696788019377850245260475034576050820091,\n 19603444733183990109492724100282114612026332366576932662794133334264283907557,\n 10548274686824425401349248282213580046351514091431715597441736281987273193140,\n 1823201861560942974198127384034483127920205835821334101215923769688644479957,\n 11867589662193422187545516240823411225342068709600734253659804646934346124945,\n 18718569356736340558616379408444812528964066420519677106145092918482774343613,\n 10530777752259630125564678480897857853807637120039176813174150229243735996839,\n 20486583726592018813337145844457018474256372770211860618687961310422228379031,\n 12690713110714036569415168795200156516217175005650145422920562694422306200486,\n 17386427286863519095301372413760745749282643730629659997153085139065756667205,\n 2216432659854733047132347621569505613620980842043977268828076165669557467682,\n 6309765381643925252238633914530877025934201680691496500372265330505506717193,\n 20806323192073945401862788605803131761175139076694468214027227878952047793390,\n 4037040458505567977365391535756875199663510397600316887746139396052445718861,\n 19948974083684238245321361840704327952464170097132407924861169241740046562673,\n 845322671528508199439318170916419179535949348988022948153107378280175750024,\n 16222384601744433420585982239113457177459602187868460608565289920306145389382,\n 10232118865851112229330353999139005145127746617219324244541194256766741433339,\n 6699067738555349409504843460654299019000594109597429103342076743347235369120,\n 6220784880752427143725783746407285094967584864656399181815603544365010379208,\n 6129250029437675212264306655559561251995722990149771051304736001195288083309,\n 10773245783118750721454994239248013870822765715268323522295722350908043393604,\n 4490242021765793917495398271905043433053432245571325177153467194570741607167,\n 19596995117319480189066041930051006586888908165330319666010398892494684778526,\n 837850695495734270707668553360118467905109360511302468085569220634750561083,\n 11803922811376367215191737026157445294481406304781326649717082177394185903907,\n 10201298324909697255105265958780781450978049256931478989759448189112393506592,\n 13564695482314888817576351063608519127702411536552857463682060761575100923924,\n 9262808208636973454201420823766139682381973240743541030659775288508921362724,\n 173271062536305557219323722062711383294158572562695717740068656098441040230,\n 18120430890549410286417591505529104700901943324772175772035648111937818237369,\n 20484495168135072493552514219686101965206843697794133766912991150184337935627,\n 19155651295705203459475805213866664350848604323501251939850063308319753686505,\n 11971299749478202793661982361798418342615500543489781306376058267926437157297,\n 18285310723116790056148596536349375622245669010373674803854111592441823052978,\n 7069216248902547653615508023941692395371990416048967468982099270925308100727,\n 6465151453746412132599596984628739550147379072443683076388208843341824127379,\n 16143532858389170960690347742477978826830511669766530042104134302796355145785,\n 19362583304414853660976404410208489566967618125972377176980367224623492419647,\n 1702213613534733786921602839210290505213503664731919006932367875629005980493,\n 10781825404476535814285389902565833897646945212027592373510689209734812292327,\n 4212716923652881254737947578600828255798948993302968210248673545442808456151,\n 7594017890037021425366623750593200398174488805473151513558919864633711506220,\n 18979889247746272055963929241596362599320706910852082477600815822482192194401,\n 13602139229813231349386885113156901793661719180900395818909719758150455500533,\n ];\n\n let mut r = 0;\n for elem in array {\n let h = mimc(elem, r, constants, exponent);\n r = r + elem + h;\n }\n r\n}\n", - "path": "std/hash" - }, - "18": { - "source": "\nimpl Field {\n #[builtin(to_le_bits)]\n fn to_le_bits(_x : Field, _bit_size: u32) -> [u1] {}\n #[builtin(to_be_bits)]\n fn to_be_bits(_x : Field, _bit_size: u32) -> [u1] {}\n\n fn to_le_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_le_radix(256, byte_size)\n }\n fn to_be_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_be_radix(256, byte_size)\n }\n\n #[builtin(to_le_radix)]\n //decompose _x into a _result_len vector over the _radix basis\n //_radix must be less than 256\n fn to_le_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\n #[builtin(to_be_radix)]\n fn to_be_radix(_x : Field, _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 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 fn sgn0(self) -> u1 {\n self as u1\n }\n}\n\n#[builtin(modulus_num_bits)]\nfn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\nfn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\nfn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\nfn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\nfn modulus_le_bytes() -> [u8] {}\n", - "path": "std/field" - }, - "31": { - "source": "use crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n GENERATOR_INDEX__FUNCTION_ARGS,\n HISTORIC_BLOCK_DATA_LENGTH,\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n CALL_CONTEXT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\n CONTRACT_STORAGE_READ_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__FUNCTION_DATA,\n GENERATOR_INDEX__PUBLIC_DATA_READ,\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\n GENERATOR_INDEX__CALL_CONTEXT,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n};\n\nuse crate::oracle::debug_log;\nuse crate::types::vec::BoundedVec;\nuse crate::types::point::Point;\n\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n}\n\nimpl PublicGlobalVariables {\n fn serialize(self) -> [Field; 4] {\n [self.chain_id, self.version, self.block_number, self.timestamp]\n }\n}\n\nstruct ContractDeploymentData {\n deployer_public_key: Point,\n constructor_vk_hash : Field,\n function_tree_root : Field,\n contract_address_salt : Field,\n portal_contract_address : Field,\n}\n\nimpl ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.deployer_public_key.x,\n self.deployer_public_key.y,\n self.constructor_vk_hash,\n self.function_tree_root,\n self.contract_address_salt,\n self.portal_contract_address,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)[0]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\nstruct PrivateContextInputs {\n call_context : CallContext,\n block_data: HistoricBlockData,\n\n contract_deployment_data: ContractDeploymentData,\n\n private_global_variables: PrivateGlobalVariables,\n}\n\n// PublicContextInputs are expected to be provided to each public function\nstruct PublicContextInputs {\n call_context: CallContext,\n block_data: HistoricBlockData,\n\n public_global_variables: PublicGlobalVariables,\n}\n\nstruct CallContext {\n msg_sender : Field,\n storage_contract_address : Field,\n portal_contract_address : Field,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment: bool,\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender,\n self.storage_contract_address,\n self.portal_contract_address,\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)[0]\n }\n}\n\nstruct HistoricBlockData {\n private_data_tree_root : Field,\n nullifier_tree_root : Field,\n contract_tree_root : Field,\n l1_to_l2_messages_tree_root : Field,\n blocks_tree_root: Field,\n public_data_tree_root: Field,\n global_variables_hash: Field,\n}\n\nimpl HistoricBlockData {\n // NOTE: this order must match the order in `private_circuit_public_inputs.hpp`\n fn serialize(self) -> [Field; HISTORIC_BLOCK_DATA_LENGTH] {\n [\n self.private_data_tree_root,\n self.nullifier_tree_root,\n self.contract_tree_root,\n self.l1_to_l2_messages_tree_root,\n self.blocks_tree_root,\n self.public_data_tree_root,\n self.global_variables_hash,\n ]\n }\n\n fn empty() -> Self {\n Self { private_data_tree_root: 0, nullifier_tree_root: 0, contract_tree_root: 0, l1_to_l2_messages_tree_root: 0, blocks_tree_root: 0, public_data_tree_root: 0, global_variables_hash: 0 }\n }\n}\n\nstruct FunctionData {\n function_selector: Field,\n is_internal: bool,\n is_private: bool,\n is_constructor: bool,\n}\n\nimpl FunctionData {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.function_selector,\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ], GENERATOR_INDEX__FUNCTION_DATA)[0]\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n read_requests: [Field; crate::abi::MAX_READ_REQUESTS_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n nullified_commitments: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n // Explore introducing a new type like uint256 (similar to Point), so it's more explicit that\n // we're talking about a single number backed by two field elements.\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n contract_deployment_data: ContractDeploymentData,\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.nullified_commitments);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n dep::std::hash::pedersen_with_separator(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.storage\n }\n}\n\nstruct ContractStorageRead {\n storage_slot: Field,\n value: Field,\n}\n\nimpl ContractStorageRead {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\n [self.storage_slot, self.value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, value: 0 }\n }\n}\n\nstruct ContractStorageUpdateRequest {\n storage_slot: Field,\n old_value: Field,\n new_value: Field,\n}\n\nimpl ContractStorageUpdateRequest {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\n [self.storage_slot, self.old_value, self.new_value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, old_value: 0, new_value: 0 }\n }\n}\n\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; crate::abi::MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n prover_address: Field,\n\n // TODO: include globals in here and check them elsewhere\n // https://github.com/AztecProtocol/aztec-packages/issues/1567\n}\n\nimpl PublicCircuitPublicInputs {\n \n fn hash(self) -> Field {\n let mut inputs: BoundedVec = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_read[i].hash());\n }\n inputs.push_array(self.public_call_stack);\n inputs.push_array(self.new_commitments);\n inputs.push_array(self.new_nullifiers);\n inputs.push_array(self.new_l2_to_l1_msgs);\n\n // We do not include block_data since it's not in the cpp hash\n\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.block_data.serialize()); // see https://github.com/AztecProtocol/aztec-packages/issues/1473\n inputs.push(self.prover_address);\n\n dep::std::hash::pedersen_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_read[i].serialize());\n }\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.prover_address);\n fields.storage\n }\n}\n\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\n\nfn hash_args(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = dep::std::hash::pedersen_with_separator(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS)[0];\n }\n chunks_hashes[i] = chunk_hash;\n }\n dep::std::hash::pedersen_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)[0]\n }\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/abi" - }, - "32": { - "source": "use crate::constants_gen::{\n EMPTY_NULLIFIED_COMMITMENT,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_READ_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n};\n\nuse crate::abi;\n\nuse crate::abi::{\n hash_args,\n CallContext,\n ContractDeploymentData,\n HistoricBlockData,\n FunctionData,\n PrivateCircuitPublicInputs,\n PublicCircuitPublicInputs,\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\n// l1 to l2 messaging\nuse crate::messaging::process_l1_to_l2_message;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem;\n\nuse crate::types::{\n vec::BoundedVec,\n point::Point,\n};\n\nuse crate::utils::arr_copy_slice;\n\nuse crate::oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n public_call::call_public_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal,\n context::get_portal_address,\n};\n\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n inputs: abi::PrivateContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n read_requests: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n nullified_commitments: BoundedVec,\n\n private_call_stack : BoundedVec,\n public_call_stack : BoundedVec,\n new_l2_to_l1_msgs : BoundedVec,\n\n block_data: HistoricBlockData,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec,\n // unencrypted_logs_preimages: Vec,\n}\n\nimpl PrivateContext {\n fn new(inputs: abi::PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n read_requests: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n nullified_commitments: BoundedVec::new(0),\n\n block_data: inputs.block_data,\n\n private_call_stack: BoundedVec::new(0),\n public_call_stack: BoundedVec::new(0),\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.private_global_variables.version\n }\n\n fn finish(self) -> abi::PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = abi::PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n read_requests: self.read_requests.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n nullified_commitments: self.nullified_commitments.storage,\n private_call_stack: self.private_call_stack.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n encrypted_logs_hash: encrypted_logs_hash,\n unencrypted_logs_hash: unencrypted_logs_hash,\n encrypted_log_preimages_length: encrypted_log_preimages_length,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.block_data,\n contract_deployment_data: self.inputs.contract_deployment_data,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version,\n };\n priv_circuit_pub_inputs\n }\n\n fn push_read_request(&mut self, read_request: Field) {\n self.read_requests.push(read_request);\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n self.nullified_commitments.push(nullified_commitment);\n }\n\n fn message_portal(&mut self, content: Field) {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, inputs: abi::PrivateContextInputs, msg_key: Field, content: Field, secret: Field) {\n let nullifier = process_l1_to_l2_message(inputs.block_data.l1_to_l2_messages_tree_root, inputs.call_context.storage_contract_address, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_private_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n fn call_private_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_private_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let fields = call_private_function_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PrivateCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PrivateCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n // TODO handle the offsets as a variable incremented during extraction?\n args_hash: fields[11],\n return_values: arr_copy_slice(fields, [0; RETURN_VALUES_LENGTH], 12),\n read_requests: arr_copy_slice(fields, [0; MAX_READ_REQUESTS_PER_CALL], 16),\n new_commitments: arr_copy_slice(fields, [0; MAX_NEW_COMMITMENTS_PER_CALL], 20),\n new_nullifiers: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 24),\n nullified_commitments: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 28),\n private_call_stack: arr_copy_slice(fields, [0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL], 32),\n public_call_stack: arr_copy_slice(fields, [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL], 36),\n new_l2_to_l1_msgs: arr_copy_slice(fields, [0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL], 40),\n encrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 42),\n unencrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 44),\n encrypted_log_preimages_length: fields[46],\n unencrypted_log_preimages_length: fields[47],\n block_data: HistoricBlockData {\n // Must match order in `private_circuit_public_inputs.hpp`\n private_data_tree_root : fields[48],\n nullifier_tree_root : fields[49],\n contract_tree_root : fields[50],\n l1_to_l2_messages_tree_root : fields[51],\n blocks_tree_root : fields[52],\n public_data_tree_root: fields[53],\n global_variables_hash: fields[54],\n },\n contract_deployment_data: ContractDeploymentData {\n deployer_public_key: Point::new(fields[55], fields[56]),\n constructor_vk_hash : fields[57],\n function_tree_root : fields[58],\n contract_address_salt : fields[59],\n portal_contract_address : fields[60],\n },\n chain_id: fields[61],\n version: fields[62],\n },\n is_execution_request: fields[63] as bool,\n };\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n assert(item.is_execution_request == false);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.private_call_stack.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n fn call_public_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) {\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)\n }\n\n fn call_public_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_public_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) {\n let fields = enqueue_public_function_call_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PublicCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PublicCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n args_hash: fields[11],\n return_values: [0; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [0; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [0; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: 0,\n block_data: HistoricBlockData::empty(),\n prover_address: 0,\n },\n is_execution_request: true,\n };\n\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n \n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.public_call_stack.push(item.hash());\n }\n}\n\nuse crate::abi::{\n ContractStorageRead,\n ContractStorageUpdateRequest\n};\n\nstruct PublicContext {\n inputs: abi::PublicContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n contract_storage_update_requests: BoundedVec,\n contract_storage_read: BoundedVec,\n public_call_stack: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n\n new_l2_to_l1_msgs: BoundedVec,\n\n unencrypted_logs_hash: BoundedVec,\n unencrypted_logs_preimages_length: Field,\n\n block_data: HistoricBlockData,\n prover_address: Field,\n}\n\nimpl PublicContext {\n fn new(inputs: abi::PublicContextInputs, args_hash: Field) -> PublicContext {\n let empty_storage_read = ContractStorageRead::empty();\n let empty_storage_update = ContractStorageUpdateRequest::empty();\n PublicContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\n contract_storage_read: BoundedVec::new(empty_storage_read),\n public_call_stack: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n \n unencrypted_logs_hash: BoundedVec::new(0),\n unencrypted_logs_preimages_length: 0,\n\n block_data: inputs.block_data,\n prover_address: 0,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_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 block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n fn finish(self) -> abi::PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = abi::PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_read: self.contract_storage_read.storage,\n return_values: self.return_values.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n unencrypted_logs_hash: unencrypted_logs_hash,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.inputs.block_data,\n prover_address: self.prover_address,\n };\n pub_circuit_pub_inputs\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n }\n\n fn message_portal(&mut self, msg: Field) {\n self.new_l2_to_l1_msgs.push(msg);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(self.block_data.l1_to_l2_messages_tree_root, this, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_public_function(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n args: [Field; ARGS_COUNT],\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = abi::hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n call_public_function_internal(\n contract_address, \n function_selector, \n args_hash,\n )\n }\n\n fn call_public_function_no_args(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n ) -> [Field; RETURN_VALUES_LENGTH] {\n call_public_function_internal(\n contract_address, \n function_selector, \n 0,\n )\n }\n\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/context" - }, - "33": { - "source": "use crate::context::PrivateContext;\nuse crate::oracle;\nuse crate::types::point::Point;\n\nfn emit_encrypted_log(\n context: &mut PrivateContext,\n contract_address: Field,\n storage_slot: Field,\n encryption_pub_key: Point,\n log: [Field; N],\n) {\n let _ = oracle::logs::emit_encrypted_log(contract_address, storage_slot, encryption_pub_key, log);\n context.accumulate_encrypted_logs(log);\n}\n\nfn emit_unencrypted_log(\n context: &mut PrivateContext,\n log: T,\n) {\n let _ = oracle::logs::emit_unencrypted_log(log);\n context.accumulate_unencrypted_logs(log);\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/log" - }, - "39": { - "source": "use dep::std::option::Option;\nuse crate::abi::PublicContextInputs;\nuse crate::context::{\n PrivateContext,\n PublicContext,\n};\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_inner_note_hash,\n};\nuse crate::oracle::create_commitment::create_commitment;\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\nuse crate::constants_gen::EMPTY_NULLIFIED_COMMITMENT;\n\nfn create_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface,\n) {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n let serialise = note_interface.serialise;\n let preimage = serialise(*note);\n assert(notify_created_note(storage_slot, preimage, inner_note_hash) == 0);\n\n context.push_new_note_hash(inner_note_hash);\n}\n\nfn create_note_hash_from_public(\n context: PublicContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface,\n) {\n let contract_address = context.this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n create_commitment(inner_note_hash);\n}\n\nfn destroy_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: Note,\n note_interface: NoteInterface,\n) {\n let mut nullifier = 0;\n let mut nullified_commitment: Field = EMPTY_NULLIFIED_COMMITMENT;\n let compute_nullifier = note_interface.compute_nullifier;\n nullifier = compute_nullifier(note);\n\n let serialise = note_interface.serialise;\n let preimage = serialise(note);\n\n // We also need the note commitment corresponding to the \"nullifier\"\n let get_header = note_interface.get_header;\n let header = get_header(note);\n // 0 nonce implies \"transient\" nullifier (must nullify a commitment in this TX).\n // `nullified_commitment` is used to inform the kernel which pending commitment\n // the nullifier corresponds to so they can be matched and both squashed/deleted.\n // nonzero nonce implies \"persistable\" nullifier (nullifies a persistent/in-tree\n // commitment) in which case `nullified_commitment` is not used since the kernel\n // just siloes and forwards the nullier to its output.\n if (header.nonce == 0) {\n // TODO(suyash): Can we reuse the note commitment computed in `compute_nullifier`?\n nullified_commitment = compute_inner_note_hash(note_interface, note);\n }\n assert(notify_nullified_note(storage_slot, nullifier, preimage, nullified_commitment) == 0);\n\n context.push_new_nullifier(nullifier, nullified_commitment)\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/lifecycle" - }, - "40": { - "source": "use dep::std::option::Option;\nuse crate::constants_gen::{\n MAX_READ_REQUESTS_PER_CALL,\n GET_NOTE_ORACLE_RETURN_LENGTH,\n GET_NOTES_ORACLE_RETURN_LENGTH,\n MAX_NOTES_PER_PAGE,\n VIEW_NOTE_ORACLE_RETURN_LENGTH,\n};\nuse crate::context::PrivateContext;\nuse crate::note::{\n note_getter_options::NoteGetterOptions,\n note_interface::NoteInterface,\n note_header::NoteHeader,\n utils::compute_note_hash_for_read_or_nullify,\n utils::compute_unique_siloed_note_hash,\n utils::compute_inner_note_hash,\n utils::compute_siloed_note_hash,\n};\nuse crate::messaging::get_commitment_getter_data::make_commitment_getter_data;\nuse crate::oracle;\n\nfn check_note_header(\n context: PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: Note,\n) {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n let contract_address = context.this_address();\n assert(header.contract_address == contract_address);\n assert(header.storage_slot == storage_slot);\n}\n\nfn ensure_note_exists(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: &mut Note,\n) {\n let saved_note = get_note_internal(storage_slot, note_interface);\n\n // Only copy over the header to the original note to make sure the preimage is the same.\n let get_header = note_interface.get_header;\n let set_header = note_interface.set_header;\n let note_header = get_header(saved_note);\n set_header(note, note_header);\n\n check_note_header(*context, storage_slot, note_interface, *note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, *note);\n context.push_read_request(note_hash_for_read_request);\n}\n\n// Ensure a note's hash exists in the tree without retrieving the entire\n// notes via the oracle.\n// Modifies the note by populating it with header info.\nfn ensure_note_hash_exists(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: &mut Note,\n) {\n // Initialize header of note. Must be done before computing note hashes as it initializes the:\n // - storage slot (used in inner note hash)\n // - the contract address (used in siloed note hash)\n // - and the nonce (used in the unique siloed note hash)\n let set_header = note_interface.set_header;\n let note_header = NoteHeader {\n contract_address: (*context).this_address(),\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // real nonce (once public kernel applies nonces).\n nonce: 0,\n storage_slot\n };\n set_header(note, note_header);\n\n // Get a note from oracle and early out if it doesn't exist.\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n let raw_oracle_ret = oracle::get_commitment::get_commitment(inner_note_hash);\n let deserialized_oracle_ret = make_commitment_getter_data(raw_oracle_ret, 0);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // unique_siloed_note_hash once public kernel applies nonces\n let saved_siloed_note_hash = deserialized_oracle_ret.message;\n\n assert(saved_siloed_note_hash != 0); // TODO(dbanks12): necessary?\n\n check_note_header(*context, storage_slot, note_interface, *note);\n\n // Ensure that the note hash retrieved from oracle matches the one computed from note.\n let computed_siloed_note_hash = compute_siloed_note_hash(note_interface, *note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // compute_note_hash_for_read_or_nullify once public kernel applies nonces\n assert(computed_siloed_note_hash == saved_siloed_note_hash);\n\n context.push_read_request(computed_siloed_note_hash);\n}\n\nfn get_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n) -> Note {\n let note = get_note_internal(storage_slot, note_interface);\n\n check_note_header(*context, storage_slot, note_interface, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n\n context.push_read_request(note_hash_for_read_request);\n note\n}\n\nfn get_notes(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n options: NoteGetterOptions,\n) -> [Option; S] {\n let opt_notes = get_notes_internal(storage_slot, note_interface, options);\n for i in 0..opt_notes.len() {\n let opt_note = opt_notes[i];\n let mut note_hash_for_read_request = 0;\n if opt_note.is_some() {\n let note = opt_note.unwrap_unchecked();\n check_note_header(*context, storage_slot, note_interface, note);\n note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n };\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_read_request(note_hash_for_read_request);\n };\n\n // TODO(#1660)\n // Move it back to get_notes_internal and only make read request for selected notes.\n let filter = options.filter;\n let filter_args = options.filter_args;\n filter(opt_notes, filter_args)\n}\n\nunconstrained fn get_note_internal(\n storage_slot: Field,\n note_interface: NoteInterface,\n) -> Note {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n [],\n [],\n 1, // limit\n 0, // offset\n placeholder_note,\n placeholder_fields,\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal(\n storage_slot: Field,\n note_interface: NoteInterface,\n options: NoteGetterOptions,\n) -> [Option; MAX_READ_REQUESTS_PER_CALL] {\n let sort_by = options.sort_by;\n let mut sort_by_indices = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sort_by.len() {\n sort_by_indices[i] = sort_by[i].field_index;\n sort_order[i] = sort_by[i].order;\n };\n let placeholder_opt_notes = [Option::none(); MAX_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n sort_by_indices,\n sort_order,\n MAX_READ_REQUESTS_PER_CALL as u32,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields,\n )\n}\n\nunconstrained fn view_notes(\n storage_slot: Field,\n note_interface: NoteInterface,\n limit: u32,\n offset: u32,\n) -> [Option; MAX_NOTES_PER_PAGE] {\n let sort_by = [0; N];\n let sort_order = [0; N];\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(storage_slot, note_interface, sort_by, sort_order, limit, offset, placeholder_opt_notes, placeholder_fields)\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_getter" - }, - "42": { - "source": "use dep::std::hash::{pedersen, pedersen_with_separator};\nuse crate::constants_gen::{GENERATOR_INDEX__UNIQUE_COMMITMENT, GENERATOR_INDEX__SILOED_COMMITMENT};\n\nfn compute_inner_hash(storage_slot: Field, note_hash: Field) -> Field {\n // TODO(#1205) Do we need a generator index here?\n pedersen([storage_slot, note_hash])[0]\n}\n\nfn compute_siloed_hash(contract_address: Field, inner_note_hash: Field) -> Field {\n let inputs = [contract_address, inner_note_hash];\n pedersen_with_separator(inputs, GENERATOR_INDEX__SILOED_COMMITMENT)[0]\n}\n\nfn compute_unique_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [nonce, siloed_note_hash];\n pedersen_with_separator(inputs, GENERATOR_INDEX__UNIQUE_COMMITMENT)[0]\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_hash" - }, - "45": { - "source": "use crate::note::{\n note_hash::{compute_inner_hash, compute_siloed_hash, compute_unique_hash},\n note_header::NoteHeader,\n note_interface::NoteInterface,\n};\nuse crate::utils::arr_copy_slice;\n\nfn compute_inner_note_hash(\n note_interface: NoteInterface,\n note: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n\n compute_inner_hash(header.storage_slot, note_hash)\n}\n\nfn compute_siloed_note_hash(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let inner_note_hash = compute_inner_note_hash(note_interface, note_with_header);\n\n compute_siloed_hash(header.contract_address, inner_note_hash)\n}\n\nfn compute_unique_siloed_note_hash(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let siloed_note_hash = compute_siloed_note_hash(note_interface, note_with_header);\n\n compute_unique_hash(header.nonce, siloed_note_hash)\n}\n\nfn compute_note_hash_for_read_or_nullify(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n if (header.nonce == 0) {\n // when nonce is zero, that means we are reading a pending note (doesn't have a nonce yet),\n // so we just read the inner_note_hash (kernel will silo by contract address)\n compute_inner_note_hash(note_interface, note_with_header)\n } else {\n // When nonce is nonzero, that means we are reading a settled note (from tree) created in a\n // previous TX. So we need the unique_siloed_note_hash which has already been hashed with\n // contract address and then nonce. This hash will match the existing leaf in the private\n // data tree, so the kernel can just perform a membership check directly on this hash/leaf.\n compute_unique_siloed_note_hash(note_interface, note_with_header)\n }\n\n}\n\nfn compute_note_hash_and_nullifier(\n note_interface: NoteInterface,\n note_header: NoteHeader,\n preimage: [Field; S],\n) -> [Field; 4] {\n let deserialise = note_interface.deserialise;\n let set_header = note_interface.set_header;\n let mut note = deserialise(arr_copy_slice(preimage, [0; N], 0));\n set_header(&mut note, note_header);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n let inner_note_hash = compute_inner_hash(note_header.storage_slot, note_hash);\n\n let siloed_note_hash = compute_siloed_hash(note_header.contract_address, inner_note_hash);\n\n let unique_siloed_note_hash = compute_unique_hash(note_header.nonce, siloed_note_hash);\n\n let compute_nullifier = note_interface.compute_nullifier;\n let inner_nullifier = compute_nullifier(note);\n\n [inner_note_hash, siloed_note_hash, unique_siloed_note_hash, inner_nullifier]\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/utils" - }, - "47": { - "source": "use dep::std::hash::pedersen_with_separator;\nuse crate::context::PrivateContext;\nuse crate::note::lifecycle::create_note;\nuse crate::note::note_getter::get_note;\nuse crate::note::note_interface::NoteInterface;\nuse crate::oracle;\nuse crate::constants_gen::{\n GENERATOR_INDEX__INITIALISATION_NULLIFIER,\n EMPTY_NULLIFIED_COMMITMENT,\n};\n\nstruct ImmutableSingleton {\n storage_slot: Field,\n note_interface: NoteInterface,\n}\n\nimpl ImmutableSingleton {\n fn new(storage_slot: Field, note_interface: NoteInterface) -> Self {\n ImmutableSingleton { storage_slot, note_interface }\n }\n\n unconstrained fn is_initialised(self) -> bool {\n let nullifier = self.compute_initialisation_nullifier();\n oracle::notes::is_nullifier_emitted(nullifier)\n }\n\n fn initialise(self, context: &mut PrivateContext, note: &mut Note) {\n // Nullify the storage slot.\n let nullifier = self.compute_initialisation_nullifier();\n context.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT);\n\n create_note(context, self.storage_slot, note, self.note_interface);\n }\n\n fn compute_initialisation_nullifier(self) -> Field {\n pedersen_with_separator([self.storage_slot], GENERATOR_INDEX__INITIALISATION_NULLIFIER)[0]\n }\n \n fn get_note(self, context: &mut PrivateContext) -> Note {\n let storage_slot = self.storage_slot;\n get_note(context, storage_slot, self.note_interface)\n }\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/state_vars/immutable_singleton" - }, - "54": { - "source": "\nstruct BoundedVec {\n storage: [T; MaxLen],\n len: Field,\n}\n\nimpl BoundedVec {\n fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\n }\n\n fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64);\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n fn push_array(&mut self, array: [T; Len]) {\n let newLen = self.len + array.len();\n assert(newLen as u64 <= MaxLen as u64);\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = newLen;\n }\n\n fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n\n let elem = self.storage[self.len - 1];\n self.len -= 1;\n elem\n }\n}\n\n// #[test]\n// fn test_vec() {\n// let vec: BoundedVec = BoundedVec::new(0);\n// assert(vec.len == 0);\n// let vec1 = vec.push(1);\n// assert(vec1.len == 1);\n// let vec2 = vec1.push(1);\n// assert(vec2.len == 2);\n// let vec3 = vec2.push(1);\n// assert(vec3.len == 3);\n// let x = vec3.pop();\n// assert(x == 1);\n// }", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/types/vec" - }, - "72": { - "source": "use crate::types::point::Point;\nuse dep::std::hash;\nuse crate::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\n\n#[oracle(getPublicKey)]\nfn get_public_key_oracle(_address: Field) -> [Field; 3] {}\n\nunconstrained fn get_public_key_internal(address: Field) -> [Field; 3] {\n get_public_key_oracle(address)\n}\n\nfn get_public_key(address: Field) -> Point {\n let result = get_public_key_internal(address);\n let pub_key_x = result[0];\n let pub_key_y = result[1];\n let partial_address = result[2];\n \n let calculated_address = hash::pedersen_with_separator([pub_key_x, pub_key_y, partial_address], GENERATOR_INDEX__CONTRACT_ADDRESS)[0];\n assert(calculated_address == address);\n \n Point::new(pub_key_x, pub_key_y)\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_public_key" - }, - "80": { - "source": "use crate::abi;\nuse crate::types::vec::BoundedVec;\nuse crate::context::PrivateContext;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem; \n\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\nglobal FUNCTION_CALL_SIZE: Field = 3;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: Field,\n target_address: Field,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector, self.target_address]\n }\n}\n\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\n\nstruct EntrypointPayload {\n // Noir doesnt support nested arrays or structs yet so we flatten everything\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n\nimpl EntrypointPayload {\n // TODO(#1207) Do we need a generator index?\n fn hash(self) -> Field {\n dep::std::hash::pedersen(self.serialize())[0]\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.flattened_args_hashes);\n fields.push_array(self.flattened_selectors);\n fields.push_array(self.flattened_targets);\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n let args_len = self.flattened_args_hashes.len();\n let selectors_len = self.flattened_selectors.len();\n let targets_len = self.flattened_targets.len();\n\n for i in 0..args_len {\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..selectors_len {\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..targets_len {\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n \n let item_bytes = self.nonce.to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\n }\n\n bytes\n }\n\n // Executes all private and public calls \n fn execute_calls(self, context: &mut PrivateContext) {\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n }\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint" - } - } - } -} diff --git a/yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json b/yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json deleted file mode 100644 index 025bfd098f0..00000000000 --- a/yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json +++ /dev/null @@ -1,19950 +0,0 @@ -{ - "name": "SchnorrSingleKeyAccount", - "functions": [ - { - "name": "constructor", - "functionType": "secret", - "isInternal": false, - "parameters": [], - "returnTypes": [], - "bytecode": "H4sIAAAAAAAA/9Xc12/aUBzFcUKTdO/svfewsQ02XWm6994roYHu3f7/5SggRXnN4eF7JQv8Yp2PAPuO3+VfLper5LZbW/3I14/2xvvmeceu887G+52teb7WeI2CYhxXS4VqGIWbQSGrpEkQJ5ViGqZhkiZbhTSKqmmclrJKVgqyMI6qYS3Jolqw3Xp2XCvYY2tlzl5Izj5Izn5IzgFIzkFIziFIzmFIzhFIzlFIzjFIznFIzglIzklIzilIzmlIzhlIzllIzjlIznlIzgVIzkVIziVIzmVIzhVIzlVIzgCSM4TkLEByRpCcMSRnAslZhOQsQXKmkJwZJGe5RTnzu3IGe2thm9F8BmLOG81nIeZ9RvM5iLndaD4PMXcYzRcg5k6jeQ1i7jGaL0LMvUbzOsTcZzRfgpj7jebLEPOA0XwFYh40mq9CzENG8zWIedhovg4xjxjNNyDmUaP5JsQ8ZjTfgpjHjebbEPOE0XwHYp40mu9CzFNG8z2Iedpovg8xzxjNDyDmWaP5IcQ8ZzQ/gpjnjebHEPOC0fwEYl40mp9CzEtG8zOIedlofg4xrxjNLyDmVaP5JcQcGM2vIObQaH4NMReM5jcQc2Q0v4WYY6P5HcScGM0bEHPRaN6EmEtGcwViTo3m9xBzZjRvQcxlo7kKMe83mmsQ8wGj+QPEfNBo/ggxHzKaP0HMh43mzxDzEaP5C8R81Gj+CjEfM5q/QczHjebvEPMJo/kHxHzSaP4JMZ8ymn9BzKeN5t8Qc5fR/Adi7jaa/7bA3N14bf5fn/ZGaa+Q9s5oL4nGhRonadygfrT6lepnqd+h57CeS7pP676l37G+112N65Yb19ZeOO0N014p7R1q7qXRXov1+qFafNWmq1Zbtcuq5VVtq2o9VfuoWkDVxqlWTLVTqiVSbY1qTVR7oVoErc1rrVprt1rL1Nqe1rq09qO1EK0NaK5cc8eaS92oH5pr09yT5mI0N6GxusauGstpbKO+vvq+6guqb6S+gp6depbo3qp7jX57+i7qs/kPVgMtpSBRAAA=", - "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" - }, - { - "name": "entrypoint", - "functionType": "secret", - "isInternal": false, - "parameters": [ - { - "name": "payload", - "type": { - "kind": "struct", - "name": "EntrypointPayload", - "fields": [ - { - "name": "flattened_args_hashes", - "type": { - "kind": "array", - "length": 4, - "type": { - "kind": "field" - } - } - }, - { - "name": "flattened_selectors", - "type": { - "kind": "array", - "length": 4, - "type": { - "kind": "field" - } - } - }, - { - "name": "flattened_targets", - "type": { - "kind": "array", - "length": 4, - "type": { - "kind": "field" - } - } - }, - { - "name": "nonce", - "type": { - "kind": "field" - } - } - ] - }, - "visibility": "public" - }, - { - "name": "owner", - "type": { - "kind": "array", - "length": 64, - "type": { - "kind": "integer", - "sign": "unsigned", - "width": 8 - } - }, - "visibility": "public" - }, - { - "name": "signature", - "type": { - "kind": "array", - "length": 64, - "type": { - "kind": "integer", - "sign": "unsigned", - "width": 8 - } - }, - "visibility": "public" - }, - { - "name": "partial_address", - "type": { - "kind": "field" - }, - "visibility": "public" - } - ], - "returnTypes": [], - "bytecode": "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", - "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" - } - ], - "debug": { - "debugSymbols": [ - { - "locations": {} - }, - { - "locations": { - "140": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "141": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "142": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "143": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "144": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "145": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "146": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "147": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "148": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "149": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "150": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "151": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "152": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "153": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "154": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "155": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "156": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "157": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13375, - "end": 13457 - }, - "file": 31 - } - ], - "159": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "160": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "161": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "162": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "163": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "164": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "165": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "166": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "167": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "168": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "169": [ - { - "span": { - "start": 1711, - "end": 1738 - }, - "file": 0 - }, - { - "span": { - "start": 13538, - "end": 13623 - }, - "file": 31 - } - ], - "172": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "173": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "174": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "175": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "176": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "177": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "178": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "179": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "180": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "181": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "182": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "183": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "184": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "185": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "186": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "187": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "188": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "189": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "190": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "191": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "192": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "193": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "194": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "195": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "196": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "197": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "198": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "199": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "200": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "201": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "202": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "203": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "204": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "205": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "206": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "207": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "208": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "209": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "210": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "211": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "212": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "213": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "214": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "215": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "216": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "217": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "218": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "219": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "220": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "221": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "222": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "223": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "224": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "225": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "226": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "227": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "228": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "229": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "230": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "231": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "232": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "233": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "234": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "235": [ - { - "span": { - "start": 2029, - "end": 2057 - }, - "file": 0 - }, - { - "span": { - "start": 347, - "end": 375 - }, - "file": 18 - } - ], - "236": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "237": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "238": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "239": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "240": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "241": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "242": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "243": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "244": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "245": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "246": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "247": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "248": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "249": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "250": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "251": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "252": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "253": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "254": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "255": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "256": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "257": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "258": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "259": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "260": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "261": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "262": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "263": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "264": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "265": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "266": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "267": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "268": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "269": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "270": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "271": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "272": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "273": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "274": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "275": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "276": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "277": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "278": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "279": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "280": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "281": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "282": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "283": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "284": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "285": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "286": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "287": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "288": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "289": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "290": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "291": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "292": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "293": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "294": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "295": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "296": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "297": [ - { - "span": { - "start": 2580, - "end": 2641 - }, - "file": 0 - } - ], - "299": [ - { - "span": { - "start": 2659, - "end": 2678 - }, - "file": 0 - } - ], - "300": [ - { - "span": { - "start": 2761, - "end": 2859 - }, - "file": 0 - } - ], - "301": [ - { - "span": { - "start": 2761, - "end": 2859 - }, - "file": 0 - } - ], - "303": [ - { - "span": { - "start": 2880, - "end": 2923 - }, - "file": 0 - } - ], - "304": [ - { - "span": { - "start": 2880, - "end": 2923 - }, - "file": 0 - } - ], - "305": [ - { - "span": { - "start": 2880, - "end": 2923 - }, - "file": 0 - } - ], - "306": [ - { - "span": { - "start": 2880, - "end": 2923 - }, - "file": 0 - } - ], - "307": [ - { - "span": { - "start": 2880, - "end": 2923 - }, - "file": 0 - } - ], - "308": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "309": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "310": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "311": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7635, - "end": 7760 - }, - "file": 32 - } - ], - "312": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "313": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "314": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "315": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "316": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "317": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "318": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "319": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "320": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "321": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "322": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "323": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "324": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "325": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "326": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "327": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "328": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "329": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "330": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "331": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "332": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "333": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "334": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "335": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "336": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "337": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "338": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "339": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "340": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "341": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "342": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "343": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "344": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "345": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "346": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "347": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "348": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "349": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "350": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "351": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "352": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "353": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "354": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "355": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "356": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "357": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "358": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "359": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "360": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "361": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "362": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "363": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "364": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "365": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "366": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "367": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "368": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "369": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "370": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "371": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "372": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "373": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "374": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "375": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "376": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "377": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "378": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "379": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "380": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "381": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "382": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "383": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "384": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "385": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "386": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "387": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "388": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "389": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "390": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "391": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "392": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "393": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "394": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "395": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "396": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "397": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "398": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "399": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "400": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "401": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "402": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "403": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "404": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "405": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "406": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "407": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "408": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "409": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "410": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "411": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "412": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "413": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "414": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "415": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "416": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "417": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "418": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "419": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "420": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "421": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "422": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "423": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "424": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "425": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "426": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "432": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11984, - "end": 11994 - }, - "file": 32 - }, - { - "span": { - "start": 374, - "end": 575 - }, - "file": 60 - } - ], - "433": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "434": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "435": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3064, - "end": 3082 - }, - "file": 80 - } - ], - "436": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7635, - "end": 7760 - }, - "file": 32 - } - ], - "437": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "438": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "439": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "440": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 7963, - "end": 7979 - }, - "file": 32 - } - ], - "441": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "442": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "443": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "444": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8010, - "end": 8026 - }, - "file": 32 - } - ], - "445": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "446": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "447": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "448": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8061, - "end": 8077 - }, - "file": 32 - } - ], - "449": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "450": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "451": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "452": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8414, - "end": 8430 - }, - "file": 32 - } - ], - "453": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "454": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "455": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "456": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8470, - "end": 8486 - }, - "file": 32 - } - ], - "457": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "458": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "459": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "460": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 8533, - "end": 8550 - }, - "file": 32 - } - ], - "461": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "462": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "463": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "464": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10835, - "end": 10852 - }, - "file": 32 - } - ], - "465": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "466": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "467": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "468": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "469": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "470": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "471": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "472": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "473": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "474": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "475": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10881, - "end": 10921 - }, - "file": 32 - } - ], - "476": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "477": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "478": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "479": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "480": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "481": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "482": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "483": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "484": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "485": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "486": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 10940, - "end": 10996 - }, - "file": 32 - } - ], - "487": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "488": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "489": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "490": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "491": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "492": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "493": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "494": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "495": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "496": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "497": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11016, - "end": 11056 - }, - "file": 32 - } - ], - "498": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "499": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "500": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "501": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "502": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "503": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "504": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "505": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11076, - "end": 11109 - }, - "file": 32 - } - ], - "506": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "507": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "508": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "509": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "510": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "511": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "512": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "513": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11525, - "end": 11581 - }, - "file": 32 - } - ], - "514": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "515": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "516": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "517": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "518": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "519": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "520": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "521": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11600, - "end": 11654 - }, - "file": 32 - } - ], - "522": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "523": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "524": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "525": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "526": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "527": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "528": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "529": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11673, - "end": 11735 - }, - "file": 32 - } - ], - "530": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "531": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "532": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "533": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "534": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "535": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "536": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "537": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "538": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "539": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "540": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11754, - "end": 11848 - }, - "file": 32 - } - ], - "541": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "542": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "543": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "544": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "545": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "546": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "547": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "548": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "549": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "550": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "551": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11867, - "end": 11942 - }, - "file": 32 - } - ], - "557": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "558": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "559": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "560": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "561": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "562": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "563": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "564": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "565": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "566": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "567": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "568": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "569": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "570": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "571": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "572": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "573": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "574": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "575": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "576": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "577": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "578": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "579": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "580": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "581": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "582": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "583": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "585": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3243, - "end": 3334 - }, - "file": 80 - }, - { - "span": { - "start": 11955, - "end": 11995 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "600": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "601": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "602": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "603": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 12843, - "end": 12975 - }, - "file": 32 - } - ], - "604": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "605": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "606": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "607": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "608": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "609": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "610": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "611": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "612": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "613": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "614": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "615": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "616": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "617": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "618": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "619": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "620": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "621": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "622": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "623": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "624": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "625": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "626": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "627": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "628": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "629": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "630": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "631": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "632": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "633": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "634": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "635": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "636": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "637": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "638": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "639": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "640": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "641": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "642": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "643": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "644": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "645": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "646": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "647": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "648": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "649": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "650": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "651": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "652": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "653": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "654": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "655": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "656": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "657": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "658": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "659": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "660": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "661": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "662": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "663": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "664": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "665": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "666": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "667": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "668": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "669": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "670": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "671": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "672": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "673": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "674": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "675": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "676": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "677": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "678": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "679": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "680": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "681": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "682": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "683": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "684": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "685": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "686": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "687": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "688": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "689": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "690": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "691": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "692": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "693": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "694": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "695": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "696": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "697": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "698": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "699": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "700": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "701": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "702": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "703": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "704": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "705": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "706": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "709": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "710": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "711": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "713": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "714": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "715": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "717": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "718": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "719": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "721": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "722": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "723": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "725": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "726": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "727": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "729": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "730": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "731": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "733": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "734": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "735": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "737": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "738": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "739": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "741": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "742": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "744": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "745": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "747": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "748": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "750": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "751": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "753": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "754": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "756": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "757": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "759": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "760": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "762": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "763": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "765": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "766": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "767": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "768": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "769": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "770": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "771": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "772": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "773": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "774": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "775": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "776": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "777": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "778": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "779": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "780": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "781": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "782": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "783": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "784": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "785": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "786": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "787": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "788": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "789": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "790": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "791": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "792": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "793": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "797": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "798": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "799": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3480, - "end": 3498 - }, - "file": 80 - } - ], - "800": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 12843, - "end": 12975 - }, - "file": 32 - } - ], - "801": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "802": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "803": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "804": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13177, - "end": 13193 - }, - "file": 32 - } - ], - "805": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "806": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "807": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "808": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13224, - "end": 13240 - }, - "file": 32 - } - ], - "809": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "810": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "811": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "812": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13275, - "end": 13291 - }, - "file": 32 - } - ], - "813": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "814": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "815": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "816": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13627, - "end": 13643 - }, - "file": 32 - } - ], - "817": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "818": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "819": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "820": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13683, - "end": 13699 - }, - "file": 32 - } - ], - "821": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "822": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "823": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "824": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 13746, - "end": 13763 - }, - "file": 32 - } - ], - "825": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "826": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "827": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "828": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "829": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "830": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "831": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "832": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "833": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "834": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "835": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14694, - "end": 14734 - }, - "file": 32 - } - ], - "836": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "837": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "838": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "839": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "840": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "841": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "842": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "843": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "844": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "845": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "846": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14753, - "end": 14809 - }, - "file": 32 - } - ], - "847": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "848": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "849": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "850": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "851": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "852": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "853": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "854": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "855": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "856": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "857": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 14837, - "end": 14877 - }, - "file": 32 - } - ], - "858": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "859": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "860": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "861": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "862": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "863": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "864": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "865": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15293, - "end": 15349 - }, - "file": 32 - } - ], - "866": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "867": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "868": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "869": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "870": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "871": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "872": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "873": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15368, - "end": 15422 - }, - "file": 32 - } - ], - "874": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "875": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "876": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "877": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "878": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "879": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "880": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "881": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15441, - "end": 15503 - }, - "file": 32 - } - ], - "882": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "883": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "884": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "885": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "886": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "887": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "888": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "889": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "890": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "891": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "892": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15522, - "end": 15616 - }, - "file": 32 - } - ], - "893": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "894": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "895": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "896": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "897": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "898": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "899": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "900": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "901": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "902": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "903": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15635, - "end": 15710 - }, - "file": 32 - } - ], - "906": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "907": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "908": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "910": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "911": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "912": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "914": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "915": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "916": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "918": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "919": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "920": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "922": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "923": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "924": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "926": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "927": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "928": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "930": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "931": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "932": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "934": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "935": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "936": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10647, - "end": 10693 - }, - "file": 31 - }, - { - "span": { - "start": 9133, - "end": 9234 - }, - "file": 31 - } - ], - "938": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "939": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "941": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "942": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "944": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "945": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "947": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "948": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "950": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "951": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "953": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "954": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "956": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "957": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "959": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "960": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 10784, - "end": 10819 - }, - "file": 31 - }, - { - "span": { - "start": 8627, - "end": 8718 - }, - "file": 31 - } - ], - "962": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "963": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "964": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "965": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "966": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "967": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "968": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "969": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "970": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "971": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "972": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "973": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "974": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "975": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "976": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "977": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "978": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "979": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "980": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "981": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "982": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "983": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "984": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "985": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "986": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "987": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "988": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "989": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "990": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15751, - "end": 15761 - }, - "file": 32 - }, - { - "span": { - "start": 669, - "end": 693 - }, - "file": 61 - }, - { - "span": { - "start": 11394, - "end": 11495 - }, - "file": 31 - } - ], - "993": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "994": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "995": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "996": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 421 - }, - "file": 54 - } - ], - "997": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "998": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "999": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1000": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1001": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1002": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1003": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1004": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1005": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1006": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1007": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1008": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1009": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1010": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1011": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1012": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1013": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1014": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1015": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1016": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1017": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1018": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1019": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ], - "1021": [ - { - "span": { - "start": 2961, - "end": 2995 - }, - "file": 0 - }, - { - "span": { - "start": 3659, - "end": 3749 - }, - "file": 80 - }, - { - "span": { - "start": 15723, - "end": 15762 - }, - "file": 32 - }, - { - "span": { - "start": 407, - "end": 437 - }, - "file": 54 - } - ] - } - } - ], - "fileMap": { - "0": { - "source": "// Account contract that uses Schnorr signatures for authentication. The signing key is the same as the\n// encryption key, and as such is not stored in the contract but part of the address preimage, so it can\n// be verified by passing in the partial address.\ncontract SchnorrSingleKeyAccount {\n use dep::std;\n use dep::aztec::entrypoint;\n use dep::aztec::entrypoint::EntrypointPayload;\n use dep::aztec::abi;\n use dep::aztec::abi::PrivateContextInputs;\n use dep::aztec::abi::CallContext;\n use dep::aztec::private_call_stack_item::PrivateCallStackItem;\n use dep::aztec::public_call_stack_item::PublicCallStackItem;\n use dep::aztec::context::PrivateContext;\n use dep::aztec::types::vec::BoundedVec;\n use dep::aztec::types::point::Point;\n use dep::aztec::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\n use dep::aztec::constants_gen::GENERATOR_INDEX__SIGNATURE_PAYLOAD;\n\n fn entrypoint(\n inputs: pub PrivateContextInputs,\n payload: pub EntrypointPayload, // contains a set of arguments, selectors, targets and a nonce\n owner: pub [u8;64], // pubkey x and y coordinates concatenated\n signature: pub [u8;64], // schnorr signature of the payload hash\n partial_address: pub Field,\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n // Initialize context\n // ENTRYPOINT_PAYLOAD_SIZE(13) + 64 + 64 + 1\n let mut args: BoundedVec = BoundedVec::new(0);\n args.push_array(payload.serialize());\n for byte in owner { args.push(byte as Field); }\n for byte in signature { args.push(byte as Field); }\n args.push(partial_address);\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\n\n // Verify payload signature\n let payload_fields: [Field; entrypoint::ENTRYPOINT_PAYLOAD_SIZE] = payload.serialize();\n let message_field: Field = std::hash::pedersen_with_separator(payload_fields, GENERATOR_INDEX__SIGNATURE_PAYLOAD)[0];\n let message_bytes = message_field.to_be_bytes(32);\n\n // Convert owner pubkey into fields\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n for i in 0..32 {\n let bytex: Field = owner[31 - i] as Field;\n x = x + (bytex * mul);\n let bytey: Field = owner[63 - i] as Field;\n y = y + (bytey * mul);\n mul *= 256;\n }\n \n // Verify signature of the payload hash\n // TODO: Find out why this signature verification never fails\n let verification = std::schnorr::verify_signature(x, y, signature, message_bytes);\n assert(verification == true);\n\n // Verify public key against address\n let reproduced_address = dep::std::hash::pedersen_with_separator([x, y, partial_address], GENERATOR_INDEX__CONTRACT_ADDRESS)[0];\n assert(reproduced_address == context.this_address());\n\n // Execute calls\n payload.execute_calls(&mut context);\n\n context.finish()\n }\n\n // Constructs the contract\n fn constructor(\n inputs: pub PrivateContextInputs,\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n // Return private circuit public inputs. All private functions need to return this as it is part of the input of the private kernel.\n PrivateContext::new(inputs, 0).finish()\n }\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/schnorr_single_key_account_contract/src/main" - }, - "18": { - "source": "\nimpl Field {\n #[builtin(to_le_bits)]\n fn to_le_bits(_x : Field, _bit_size: u32) -> [u1] {}\n #[builtin(to_be_bits)]\n fn to_be_bits(_x : Field, _bit_size: u32) -> [u1] {}\n\n fn to_le_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_le_radix(256, byte_size)\n }\n fn to_be_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_be_radix(256, byte_size)\n }\n\n #[builtin(to_le_radix)]\n //decompose _x into a _result_len vector over the _radix basis\n //_radix must be less than 256\n fn to_le_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\n #[builtin(to_be_radix)]\n fn to_be_radix(_x : Field, _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 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 fn sgn0(self) -> u1 {\n self as u1\n }\n}\n\n#[builtin(modulus_num_bits)]\nfn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\nfn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\nfn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\nfn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\nfn modulus_le_bytes() -> [u8] {}\n", - "path": "std/field" - }, - "31": { - "source": "use crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n GENERATOR_INDEX__FUNCTION_ARGS,\n HISTORIC_BLOCK_DATA_LENGTH,\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n CALL_CONTEXT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\n CONTRACT_STORAGE_READ_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__FUNCTION_DATA,\n GENERATOR_INDEX__PUBLIC_DATA_READ,\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\n GENERATOR_INDEX__CALL_CONTEXT,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n};\n\nuse crate::oracle::debug_log;\nuse crate::types::vec::BoundedVec;\nuse crate::types::point::Point;\n\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n}\n\nimpl PublicGlobalVariables {\n fn serialize(self) -> [Field; 4] {\n [self.chain_id, self.version, self.block_number, self.timestamp]\n }\n}\n\nstruct ContractDeploymentData {\n deployer_public_key: Point,\n constructor_vk_hash : Field,\n function_tree_root : Field,\n contract_address_salt : Field,\n portal_contract_address : Field,\n}\n\nimpl ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.deployer_public_key.x,\n self.deployer_public_key.y,\n self.constructor_vk_hash,\n self.function_tree_root,\n self.contract_address_salt,\n self.portal_contract_address,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)[0]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\nstruct PrivateContextInputs {\n call_context : CallContext,\n block_data: HistoricBlockData,\n\n contract_deployment_data: ContractDeploymentData,\n\n private_global_variables: PrivateGlobalVariables,\n}\n\n// PublicContextInputs are expected to be provided to each public function\nstruct PublicContextInputs {\n call_context: CallContext,\n block_data: HistoricBlockData,\n\n public_global_variables: PublicGlobalVariables,\n}\n\nstruct CallContext {\n msg_sender : Field,\n storage_contract_address : Field,\n portal_contract_address : Field,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment: bool,\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender,\n self.storage_contract_address,\n self.portal_contract_address,\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)[0]\n }\n}\n\nstruct HistoricBlockData {\n private_data_tree_root : Field,\n nullifier_tree_root : Field,\n contract_tree_root : Field,\n l1_to_l2_messages_tree_root : Field,\n blocks_tree_root: Field,\n public_data_tree_root: Field,\n global_variables_hash: Field,\n}\n\nimpl HistoricBlockData {\n // NOTE: this order must match the order in `private_circuit_public_inputs.hpp`\n fn serialize(self) -> [Field; HISTORIC_BLOCK_DATA_LENGTH] {\n [\n self.private_data_tree_root,\n self.nullifier_tree_root,\n self.contract_tree_root,\n self.l1_to_l2_messages_tree_root,\n self.blocks_tree_root,\n self.public_data_tree_root,\n self.global_variables_hash,\n ]\n }\n\n fn empty() -> Self {\n Self { private_data_tree_root: 0, nullifier_tree_root: 0, contract_tree_root: 0, l1_to_l2_messages_tree_root: 0, blocks_tree_root: 0, public_data_tree_root: 0, global_variables_hash: 0 }\n }\n}\n\nstruct FunctionData {\n function_selector: Field,\n is_internal: bool,\n is_private: bool,\n is_constructor: bool,\n}\n\nimpl FunctionData {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.function_selector,\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ], GENERATOR_INDEX__FUNCTION_DATA)[0]\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n read_requests: [Field; crate::abi::MAX_READ_REQUESTS_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n nullified_commitments: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n // Explore introducing a new type like uint256 (similar to Point), so it's more explicit that\n // we're talking about a single number backed by two field elements.\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n contract_deployment_data: ContractDeploymentData,\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.nullified_commitments);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n dep::std::hash::pedersen_with_separator(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.storage\n }\n}\n\nstruct ContractStorageRead {\n storage_slot: Field,\n value: Field,\n}\n\nimpl ContractStorageRead {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\n [self.storage_slot, self.value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, value: 0 }\n }\n}\n\nstruct ContractStorageUpdateRequest {\n storage_slot: Field,\n old_value: Field,\n new_value: Field,\n}\n\nimpl ContractStorageUpdateRequest {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\n [self.storage_slot, self.old_value, self.new_value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, old_value: 0, new_value: 0 }\n }\n}\n\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; crate::abi::MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n prover_address: Field,\n\n // TODO: include globals in here and check them elsewhere\n // https://github.com/AztecProtocol/aztec-packages/issues/1567\n}\n\nimpl PublicCircuitPublicInputs {\n \n fn hash(self) -> Field {\n let mut inputs: BoundedVec = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_read[i].hash());\n }\n inputs.push_array(self.public_call_stack);\n inputs.push_array(self.new_commitments);\n inputs.push_array(self.new_nullifiers);\n inputs.push_array(self.new_l2_to_l1_msgs);\n\n // We do not include block_data since it's not in the cpp hash\n\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.block_data.serialize()); // see https://github.com/AztecProtocol/aztec-packages/issues/1473\n inputs.push(self.prover_address);\n\n dep::std::hash::pedersen_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_read[i].serialize());\n }\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.prover_address);\n fields.storage\n }\n}\n\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\n\nfn hash_args(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = dep::std::hash::pedersen_with_separator(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS)[0];\n }\n chunks_hashes[i] = chunk_hash;\n }\n dep::std::hash::pedersen_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)[0]\n }\n}\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/abi" - }, - "32": { - "source": "use crate::constants_gen::{\n EMPTY_NULLIFIED_COMMITMENT,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_READ_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n};\n\nuse crate::abi;\n\nuse crate::abi::{\n hash_args,\n CallContext,\n ContractDeploymentData,\n HistoricBlockData,\n FunctionData,\n PrivateCircuitPublicInputs,\n PublicCircuitPublicInputs,\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\n// l1 to l2 messaging\nuse crate::messaging::process_l1_to_l2_message;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem;\n\nuse crate::types::{\n vec::BoundedVec,\n point::Point,\n};\n\nuse crate::utils::arr_copy_slice;\n\nuse crate::oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n public_call::call_public_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal,\n context::get_portal_address,\n};\n\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n inputs: abi::PrivateContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n read_requests: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n nullified_commitments: BoundedVec,\n\n private_call_stack : BoundedVec,\n public_call_stack : BoundedVec,\n new_l2_to_l1_msgs : BoundedVec,\n\n block_data: HistoricBlockData,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec,\n // unencrypted_logs_preimages: Vec,\n}\n\nimpl PrivateContext {\n fn new(inputs: abi::PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n read_requests: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n nullified_commitments: BoundedVec::new(0),\n\n block_data: inputs.block_data,\n\n private_call_stack: BoundedVec::new(0),\n public_call_stack: BoundedVec::new(0),\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.private_global_variables.version\n }\n\n fn finish(self) -> abi::PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = abi::PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n read_requests: self.read_requests.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n nullified_commitments: self.nullified_commitments.storage,\n private_call_stack: self.private_call_stack.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n encrypted_logs_hash: encrypted_logs_hash,\n unencrypted_logs_hash: unencrypted_logs_hash,\n encrypted_log_preimages_length: encrypted_log_preimages_length,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.block_data,\n contract_deployment_data: self.inputs.contract_deployment_data,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version,\n };\n priv_circuit_pub_inputs\n }\n\n fn push_read_request(&mut self, read_request: Field) {\n self.read_requests.push(read_request);\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n self.nullified_commitments.push(nullified_commitment);\n }\n\n fn message_portal(&mut self, content: Field) {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, inputs: abi::PrivateContextInputs, msg_key: Field, content: Field, secret: Field) {\n let nullifier = process_l1_to_l2_message(inputs.block_data.l1_to_l2_messages_tree_root, inputs.call_context.storage_contract_address, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_private_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n fn call_private_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_private_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let fields = call_private_function_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PrivateCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PrivateCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n // TODO handle the offsets as a variable incremented during extraction?\n args_hash: fields[11],\n return_values: arr_copy_slice(fields, [0; RETURN_VALUES_LENGTH], 12),\n read_requests: arr_copy_slice(fields, [0; MAX_READ_REQUESTS_PER_CALL], 16),\n new_commitments: arr_copy_slice(fields, [0; MAX_NEW_COMMITMENTS_PER_CALL], 20),\n new_nullifiers: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 24),\n nullified_commitments: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 28),\n private_call_stack: arr_copy_slice(fields, [0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL], 32),\n public_call_stack: arr_copy_slice(fields, [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL], 36),\n new_l2_to_l1_msgs: arr_copy_slice(fields, [0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL], 40),\n encrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 42),\n unencrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 44),\n encrypted_log_preimages_length: fields[46],\n unencrypted_log_preimages_length: fields[47],\n block_data: HistoricBlockData {\n // Must match order in `private_circuit_public_inputs.hpp`\n private_data_tree_root : fields[48],\n nullifier_tree_root : fields[49],\n contract_tree_root : fields[50],\n l1_to_l2_messages_tree_root : fields[51],\n blocks_tree_root : fields[52],\n public_data_tree_root: fields[53],\n global_variables_hash: fields[54],\n },\n contract_deployment_data: ContractDeploymentData {\n deployer_public_key: Point::new(fields[55], fields[56]),\n constructor_vk_hash : fields[57],\n function_tree_root : fields[58],\n contract_address_salt : fields[59],\n portal_contract_address : fields[60],\n },\n chain_id: fields[61],\n version: fields[62],\n },\n is_execution_request: fields[63] as bool,\n };\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n assert(item.is_execution_request == false);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.private_call_stack.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n fn call_public_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) {\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)\n }\n\n fn call_public_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_public_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) {\n let fields = enqueue_public_function_call_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PublicCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PublicCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n args_hash: fields[11],\n return_values: [0; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [0; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [0; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: 0,\n block_data: HistoricBlockData::empty(),\n prover_address: 0,\n },\n is_execution_request: true,\n };\n\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n \n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.public_call_stack.push(item.hash());\n }\n}\n\nuse crate::abi::{\n ContractStorageRead,\n ContractStorageUpdateRequest\n};\n\nstruct PublicContext {\n inputs: abi::PublicContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n contract_storage_update_requests: BoundedVec,\n contract_storage_read: BoundedVec,\n public_call_stack: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n\n new_l2_to_l1_msgs: BoundedVec,\n\n unencrypted_logs_hash: BoundedVec,\n unencrypted_logs_preimages_length: Field,\n\n block_data: HistoricBlockData,\n prover_address: Field,\n}\n\nimpl PublicContext {\n fn new(inputs: abi::PublicContextInputs, args_hash: Field) -> PublicContext {\n let empty_storage_read = ContractStorageRead::empty();\n let empty_storage_update = ContractStorageUpdateRequest::empty();\n PublicContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\n contract_storage_read: BoundedVec::new(empty_storage_read),\n public_call_stack: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n \n unencrypted_logs_hash: BoundedVec::new(0),\n unencrypted_logs_preimages_length: 0,\n\n block_data: inputs.block_data,\n prover_address: 0,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_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 block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n fn finish(self) -> abi::PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = abi::PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_read: self.contract_storage_read.storage,\n return_values: self.return_values.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n unencrypted_logs_hash: unencrypted_logs_hash,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.inputs.block_data,\n prover_address: self.prover_address,\n };\n pub_circuit_pub_inputs\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n }\n\n fn message_portal(&mut self, msg: Field) {\n self.new_l2_to_l1_msgs.push(msg);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(self.block_data.l1_to_l2_messages_tree_root, this, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_public_function(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n args: [Field; ARGS_COUNT],\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = abi::hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n call_public_function_internal(\n contract_address, \n function_selector, \n args_hash,\n )\n }\n\n fn call_public_function_no_args(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n ) -> [Field; RETURN_VALUES_LENGTH] {\n call_public_function_internal(\n contract_address, \n function_selector, \n 0,\n )\n }\n\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/context" - }, - "54": { - "source": "\nstruct BoundedVec {\n storage: [T; MaxLen],\n len: Field,\n}\n\nimpl BoundedVec {\n fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\n }\n\n fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64);\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n fn push_array(&mut self, array: [T; Len]) {\n let newLen = self.len + array.len();\n assert(newLen as u64 <= MaxLen as u64);\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = newLen;\n }\n\n fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n\n let elem = self.storage[self.len - 1];\n self.len -= 1;\n elem\n }\n}\n\n// #[test]\n// fn test_vec() {\n// let vec: BoundedVec = BoundedVec::new(0);\n// assert(vec.len == 0);\n// let vec1 = vec.push(1);\n// assert(vec1.len == 1);\n// let vec2 = vec1.push(1);\n// assert(vec2.len == 2);\n// let vec3 = vec2.push(1);\n// assert(vec3.len == 3);\n// let x = vec3.pop();\n// assert(x == 1);\n// }", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/types/vec" - }, - "60": { - "source": "use crate::abi::FunctionData;\nuse crate::abi::PrivateCircuitPublicInputs;\nuse crate::constants_gen::GENERATOR_INDEX__CALL_STACK_ITEM;\n\nstruct PrivateCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PrivateCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/private_call_stack_item" - }, - "80": { - "source": "use crate::abi;\nuse crate::types::vec::BoundedVec;\nuse crate::context::PrivateContext;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem; \n\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\nglobal FUNCTION_CALL_SIZE: Field = 3;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: Field,\n target_address: Field,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector, self.target_address]\n }\n}\n\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\n\nstruct EntrypointPayload {\n // Noir doesnt support nested arrays or structs yet so we flatten everything\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n\nimpl EntrypointPayload {\n // TODO(#1207) Do we need a generator index?\n fn hash(self) -> Field {\n dep::std::hash::pedersen(self.serialize())[0]\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.flattened_args_hashes);\n fields.push_array(self.flattened_selectors);\n fields.push_array(self.flattened_targets);\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n let args_len = self.flattened_args_hashes.len();\n let selectors_len = self.flattened_selectors.len();\n let targets_len = self.flattened_targets.len();\n\n for i in 0..args_len {\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..selectors_len {\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..targets_len {\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n \n let item_bytes = self.nonce.to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\n }\n\n bytes\n }\n\n // Executes all private and public calls \n fn execute_calls(self, context: &mut PrivateContext) {\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n }\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint" - } - } - } -} diff --git a/yarn-project/foundation/package.json b/yarn-project/foundation/package.json index 27c1bbed2d5..6a20846a05c 100644 --- a/yarn-project/foundation/package.json +++ b/yarn-project/foundation/package.json @@ -67,6 +67,7 @@ "levelup": "^5.1.1", "lodash.clonedeepwith": "^4.5.0", "memdown": "^6.1.1", + "pako": "^2.1.0", "sha3": "^2.1.4" }, "devDependencies": { @@ -86,6 +87,7 @@ "@types/lodash.clonedeepwith": "^4.5.7", "@types/memdown": "^3.0.1", "@types/node": "^18.7.23", + "@types/pako": "^2.0.0", "@types/supertest": "^2.0.12", "@typescript-eslint/eslint-plugin": "^6.2.1", "@typescript-eslint/parser": "^6.2.1", diff --git a/yarn-project/foundation/src/abi/abi.ts b/yarn-project/foundation/src/abi/abi.ts index 74605b40491..cc80fb7ef18 100644 --- a/yarn-project/foundation/src/abi/abi.ts +++ b/yarn-project/foundation/src/abi/abi.ts @@ -1,3 +1,5 @@ +import { inflate } from 'pako'; + /** * A named type. */ @@ -202,9 +204,9 @@ export type DebugFileMap = Record< */ export interface DebugMetadata { /** - * The debug information for each function. + * The debug information, serialized as JSON. */ - debugSymbols: DebugInfo[]; + debugSymbols: string[]; /** * The map of file ID to the source code and path of the file. */ @@ -254,7 +256,9 @@ export interface FunctionDebugMetadata { export function getFunctionDebugMetadata(abi: ContractAbi, functionName: string): FunctionDebugMetadata | undefined { const functionIndex = abi.functions.findIndex(f => f.name === functionName); if (abi.debug && functionIndex !== -1) { - const debugSymbols = abi.debug.debugSymbols[functionIndex]; + const debugSymbols = JSON.parse( + inflate(Buffer.from(abi.debug.debugSymbols[functionIndex], 'base64'), { to: 'string' }), + ); const files = abi.debug.fileMap; return { debugSymbols, diff --git a/yarn-project/noir-compiler/package.json b/yarn-project/noir-compiler/package.json index f6432bd3dc2..c24df172a5a 100644 --- a/yarn-project/noir-compiler/package.json +++ b/yarn-project/noir-compiler/package.json @@ -47,6 +47,7 @@ "lodash.compact": "^3.0.1", "lodash.times": "^4.3.2", "lodash.upperfirst": "^4.3.1", + "pako": "^2.1.0", "toml": "^3.0.0", "tslib": "^2.4.0" }, @@ -61,6 +62,7 @@ "@types/lodash.times": "^4.3.7", "@types/lodash.upperfirst": "^4.3.7", "@types/node": "^18.7.23", + "@types/pako": "^2.0.0", "jest": "^29.5.0", "ts-jest": "^29.1.0", "ts-node": "^10.9.1", diff --git a/yarn-project/noir-compiler/src/contract-interface-gen/abi.ts b/yarn-project/noir-compiler/src/contract-interface-gen/abi.ts index b84be691670..a6d32037717 100644 --- a/yarn-project/noir-compiler/src/contract-interface-gen/abi.ts +++ b/yarn-project/noir-compiler/src/contract-interface-gen/abi.ts @@ -1,5 +1,7 @@ import { ContractAbi, DebugMetadata, FunctionAbi, FunctionType } from '@aztec/foundation/abi'; +import { deflate } from 'pako'; + import { mockVerificationKey } from '../mocked_keys.js'; import { NoirCompilationArtifacts, NoirFunctionEntry } from '../noir_artifact.js'; @@ -45,7 +47,7 @@ export function generateAztecAbi({ contract, debug }: NoirCompilationArtifacts): parsedDebug = { debugSymbols: sortedFunctions.map(fn => { const originalIndex = originalFunctions.indexOf(fn); - return debug.debug_symbols[originalIndex]; + return Buffer.from(deflate(JSON.stringify(debug.debug_symbols[originalIndex]))).toString('base64'); }), fileMap: debug.file_map, }; diff --git a/yarn-project/yarn.lock b/yarn-project/yarn.lock index 0eacc269aa3..b5443c80b6e 100644 --- a/yarn-project/yarn.lock +++ b/yarn-project/yarn.lock @@ -438,6 +438,7 @@ __metadata: "@types/lodash.clonedeepwith": ^4.5.7 "@types/memdown": ^3.0.1 "@types/node": ^18.7.23 + "@types/pako": ^2.0.0 "@types/supertest": ^2.0.12 "@typescript-eslint/eslint-plugin": ^6.2.1 "@typescript-eslint/parser": ^6.2.1 @@ -458,6 +459,7 @@ __metadata: levelup: ^5.1.1 lodash.clonedeepwith: ^4.5.0 memdown: ^6.1.1 + pako: ^2.1.0 prettier: ^2.7.1 sha3: ^2.1.4 supertest: ^6.3.3 @@ -537,6 +539,7 @@ __metadata: "@types/lodash.times": ^4.3.7 "@types/lodash.upperfirst": ^4.3.7 "@types/node": ^18.7.23 + "@types/pako": ^2.0.0 base64-js: ^1.5.1 commander: ^9.0.0 fs-extra: ^11.1.1 @@ -546,6 +549,7 @@ __metadata: lodash.compact: ^3.0.1 lodash.times: ^4.3.2 lodash.upperfirst: ^4.3.1 + pako: ^2.1.0 toml: ^3.0.0 ts-jest: ^29.1.0 ts-node: ^10.9.1 @@ -3440,6 +3444,13 @@ __metadata: languageName: node linkType: hard +"@types/pako@npm:^2.0.0": + version: 2.0.0 + resolution: "@types/pako@npm:2.0.0" + checksum: 50240a036b5e6acabbf36ac4dca93ec9e619241f0404da8d401cdb427bec3029833324b8a04c4b1ae2ecbc33422fdec31dbf9f43653d9d07cafb82ace78dfccd + languageName: node + linkType: hard + "@types/qs@npm:*": version: 6.9.7 resolution: "@types/qs@npm:6.9.7" @@ -9863,6 +9874,13 @@ __metadata: languageName: node linkType: hard +"pako@npm:^2.1.0": + version: 2.1.0 + resolution: "pako@npm:2.1.0" + checksum: 71666548644c9a4d056bcaba849ca6fd7242c6cf1af0646d3346f3079a1c7f4a66ffec6f7369ee0dc88f61926c10d6ab05da3e1fca44b83551839e89edd75a3e + languageName: node + linkType: hard + "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" From ea2ce052083aefd98e6c980307f1c0b2b50eeb99 Mon Sep 17 00:00:00 2001 From: sirasistant Date: Wed, 23 Aug 2023 11:57:31 +0000 Subject: [PATCH 2/5] chore: update contracts --- .../src/abis/ecdsa_account_contract.json | 265 ++++++++++++++++++ .../src/abis/schnorr_account_contract.json | 253 +++++++++++++++++ .../schnorr_single_key_account_contract.json | 151 ++++++++++ 3 files changed, 669 insertions(+) create mode 100644 yarn-project/aztec.js/src/abis/ecdsa_account_contract.json create mode 100644 yarn-project/aztec.js/src/abis/schnorr_account_contract.json create mode 100644 yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json diff --git a/yarn-project/aztec.js/src/abis/ecdsa_account_contract.json b/yarn-project/aztec.js/src/abis/ecdsa_account_contract.json new file mode 100644 index 00000000000..5bee69f42f2 --- /dev/null +++ b/yarn-project/aztec.js/src/abis/ecdsa_account_contract.json @@ -0,0 +1,265 @@ +{ + "name": "EcdsaAccount", + "functions": [ + { + "name": "compute_note_hash_and_nullifier", + "functionType": "unconstrained", + "isInternal": false, + "parameters": [ + { + "name": "contract_address", + "type": { + "kind": "field" + }, + "visibility": "private" + }, + { + "name": "nonce", + "type": { + "kind": "field" + }, + "visibility": "private" + }, + { + "name": "storage_slot", + "type": { + "kind": "field" + }, + "visibility": "private" + }, + { + "name": "preimage", + "type": { + "kind": "array", + "length": 5, + "type": { + "kind": "field" + } + }, + "visibility": "private" + } + ], + "returnTypes": [ + { + "kind": "array", + "length": 4, + "type": { + "kind": "field" + } + } + ], + "bytecode": "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", + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + }, + { + "name": "constructor", + "functionType": "secret", + "isInternal": false, + "parameters": [ + { + "name": "signing_pub_key_x", + "type": { + "kind": "array", + "length": 32, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + } + }, + "visibility": "public" + }, + { + "name": "signing_pub_key_y", + "type": { + "kind": "array", + "length": 32, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + } + }, + "visibility": "public" + } + ], + "returnTypes": [], + "bytecode": "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", + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + }, + { + "name": "entrypoint", + "functionType": "secret", + "isInternal": false, + "parameters": [ + { + "name": "payload", + "type": { + "kind": "struct", + "name": "EntrypointPayload", + "fields": [ + { + "name": "flattened_args_hashes", + "type": { + "kind": "array", + "length": 4, + "type": { + "kind": "field" + } + } + }, + { + "name": "flattened_selectors", + "type": { + "kind": "array", + "length": 4, + "type": { + "kind": "field" + } + } + }, + { + "name": "flattened_targets", + "type": { + "kind": "array", + "length": 4, + "type": { + "kind": "field" + } + } + }, + { + "name": "nonce", + "type": { + "kind": "field" + } + } + ] + }, + "visibility": "public" + }, + { + "name": "signature", + "type": { + "kind": "array", + "length": 64, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + } + }, + "visibility": "public" + } + ], + "returnTypes": [], + "bytecode": "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", + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + } + ], + "debug": { + "debugSymbols": [ + "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mL0OZq+D2etg9jqYvQ5mr4PZ62D2Opi9Dmavg9nrYPY6mL0OZq+D2etk9jqZvU5mr5PZ62T2Opm9Tmavk9nrZPY6mb1OZq+T2etk9jqZvU5mr5PZ62T2Opm9Tmavk9nrZPY6mb1OZq+T2etk9jqZvU5mr5PZ62T2Opm9Tmavk9nrZPY6mb1OZq+T2etk9jqZvU5mr5PZ62T2Opm9Tmavk9nrZPY6mb1OZq+T2etk9jqZvU5mr5PZ62T2Opm9TmOva+6vbP3ycsefmV5JzPRKYqZXEjO9kpjplaTM2GvM9EpiplcSM72SmLGVGHuNGVuJsdeYsZUYe02ZsdeYsZUYe40ZW4mx15ixlRh7jRlbibHXmLGVGHuNGVuJsdeYsZUYe40ZW4mx15ixlRh7jRlbibHXmLGVGHuNGVuJsdeYsZUYe40ZW4mx15ihlSxjrzFDK1nGXmOGVrKMvcYMrWQZe40ZWsky9hozthJjrzFjKzH2GjO2EmOvMWMrMfYaM7YSY68xYysx9hozthJjrzFjKzH2GjO2EmOvMWMrMfYaM7YSY68xYysx9hozthJjrzFjKzH2GjO2EmOvMWMrMfYaM7YSY68xYysx9hozthJjrzFjKzH2GjO2EmOvMWMrMfYaM7YSZq+L2eti9rqYvS5mr4vZ62L2upi9Lmavi9nrYva6mL0uZq+L2eti9rqYvS5mr4vZ62L2upi9Lmavi9nrYva6mL0uZq+L2eti9rqYvS5mr4vZ62L2upi9Lmavi9nrYva6mL0uZq+L2eti9rqYvS5mr4vZ62L2upi9Lmavi9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2evL7PVl9voye32Zvb7MXl9m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Fx3ci/bdiw7uRfvuRQf3on33ooN70b570cG9aN+96OBetO9edHAv2ncvOrgX7bsXHdyL9t2LDu5F++5FB/eiffeig3vRvnvRwb1o373o4F607150cC/ady86uBftuxcd3Iv23YsO7kX77kUH96J996KDe9G+e9HBvWjfvejgXqDvDui7A/rugL47oO8O6LsD+u6Avjug7w7ouwP67oC+O6DvDui7A/rugL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ou8v4bhtfz5+o89lWnd5L7vRecqf3Ejvju7nTe8md3kvu9F5yp/eSO72X3MG9GN/NHdyL8d3UbeO7uWN72cZ3c8f2so3v5o7tZRvfzR3byza+mzu4F+O7uYN7Mb6bO7gX47u5g3sxvps7uBfju7mDezG+mzu4F+O7uYN7Mb6bO7gX47u5g3sxvps7uBfju7mDezG+mzu4F+O7uYN7Mb6bO7gX47u5g3sxvps7uBfju7mDezG+mzu4F+O7uYN7Mb6bO7gX47u5g3sxvps7uBfju7mDezG+mzu4F+O7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rNA2tIvGCm1Du2is0Da0i8YKbUO7aKzQNrSLxgptQ7torNA2tIvGCm1Du2is0Da0i8YKbUO7aKzQNrSLxgptQ7torNA2jIumCm0DuehCLrqQiy7kogu56EIuupCLLuSiC7noQi66kIsu5KILuehCLrqQiy7kogu56EIuupCLLnNCcX2/vvfX0xFfb+Vc2tl+/2WUSzNbiuQKUwRe5bm0saUIvMpzaUVZ36cp1vr55tzvM2lLK0qotlaUWMkFxkquIlZyFrGSu4iVHEas5DJiJacRK7KNrRUlVVpRYoW2oRUlVmgbWlFihbahFSVWaBtaUWKFtqEVJVZoG1pRYoW2oRUlVmgbWlFihbahFSVWaBtaUWKFtqEVJVZoG1pRYoW2oRUlVmgbWlFihbahFSVWaBtaUWKFtqEVJVZoG1pRYoW2oRUlVmgbWlFihbahFSVWaBtaUWKFtqEVJVZoG1pRYoW2oRUlVmgbWlFihbahFSVWaBtaUWKFtqEVJVZoG1pRYoW2oRUlVmgb+nRZrNA29OmyWKFtaFOKFdqGPl0WK7QNrV6xQtvQ7hUrtA0tX7FC29Cny2KFtqFPl8UKbUOfLosV2oY+XRYrtA19uixWchv7M36rzh/cqpLbiJXcRqhe7aKxktuIldxGrOQ2YiW3ESu5jVjJbcSKbOPVLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0DeSiL3HR+SEueiqwjVOBbZwKbONUYBunAts4FdjGqcA2TgW2cSq0DeKip0LbIC56KrQN4qKnQtsgLnoqtA3ioqdC2yAueiq0DeKip0LbIC56KrQN4qKnQtswLjq/njn5Pq+q9DZCZVw0VXobqdLbSJXeRqr0NlKlt5EqvY1U6W2kCm3DuGiojIumCm3DuGiq0DaMi6YKbcO4aKrQNoyLpgptw7hoqtA2jIumCm3DuGiq0DaMi6YKbcO4aKrQNoyLpgptw7hoqtA2jIumCm3DuGiq0DaMi6YKbcO4aKrQNoyLpgptw7hoqtA2jIumCm3DuGiq0DaMi6YKbcO4aKrQNoyLpgptw7hoqtA2jIumCm3DuGiq0DaMi6YKbcO4aKrQNoyLpgptw7hoqsg2mnHRVJFtNOOiqSLbaMZFU0W20YyLpopsoxkXTRXahnHRVKFtGBdNFdqGcdFUoW0YF00V2oZx0VShbRgXTRXahnHRVKFtGBdNFdqGcdFUoW0gF23IRRty0YZctCEXbchFG3LRhly0IRdtyEUbctGGXLQhF23IRRty0YZctCEXbchFG3LRhly0IRdtyEUbctGm1fFZX29O+fVNiF/PBzuVfpRWqvSztFKlH6YVKq1Ytb7+/avej/hpaMWKlX73X6r0u/9CpRUrVvrdf6nS7/5LlX73X6rkDmOl3/2XKrQNrVixQtvQipUqrVixQtvQihUrtA2tWLFC29CKFSu0Da1YsULb0IoVK7QNrVixQtvQihUrtA2tWLFC2zDvGk4V2cZj3jWcKrKNx7xrOFVkG49WrFiRbTzmXcOpItt4zLuGU4W2Yd41nCq0DfOu4VShbZh3DacKbcO8azhVaBtasWKFtqEVK1ZoG1qxYoW2oRUrVmgbWrFihbahFStWaBtasWKFtqEVK1ZoG1qxYoW2oRUrVmgbWrFihbahFStWaBtasWKFtqEVK1ZoG1qxYoW2oRUrVmgbWrFihbahT/fFCm1DO1us0Da0s8UKbUOf7osV2oY+3RcrtA19ui9WaBv6dF+s5Db6mr9V/Zd3NPxSyW3ESm4jVnIbsZLbSJV20VjJbcRKbiNWchuxktuIFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdlGaReNFdlGaReNFdlGaReNFdlGaReNFdlGaReNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXaBnLRQi5ayEULuWghFy3kooVctJCLFnLRQi5ayEULuWghFy3kooVctJCLFnLRQi5ayEULuWhpFx2fr2qMf3wTyqnkNmIltxEruY1UaReNldxGrOQ2YiW3ESu5jVjJbcQKbUO7aKzQNrSLhqprF40V2UbXLhorso2uXTRWZBtdu2isyDa6dtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbSAX7chFO3LRjly0IxftyEU7ctGOXLQjF+3IRTty0Y5ctCMX7chFB3LRgVx0IBcdyEUHctGBXHQgFx3IRcc/66J///v/AMEkNyE=", + "eJztnMtq40AQRf9Fa2O6u/ol/8qQhZnJQCA4w9g7o3/POLily7iQMFYrIbo7G0pV5ZOu6rOJzs3r28/96eXtcGx25ya2ze7HuTn+2R8uX4+n/d9TsxPxftM8H35dPibbbZrfL6/Pzc50m5tY+y8iXIOt+JD6aLHd06ZJpnoF+3iFILmvEJ38X8FVryDVK/jqFUL1CrF6hVS9Qq5eYYaZHq+QZ5jpiQrVZzpXn+lcfaZz9ZnO1Wc66zMdpKx8CW0crdC2seQ34vtQn7VuXLTDVZIw+NKLPv2f04u+J+7oxVrX57c5jjeTnVxjc8zDn6hVQn0qv9G3Q6iPSqjLbWnXtTK0kL0WbMqhchAqHzD0lbZOGK2+fVcKQ78oVgpDv9NWCkO/flcKQzeFlcLQpWalMB72r+8E42EB/E4waKAAgwY6wLCGCoo06KBIgxKKNGihSIMaijTooUiDIoo0aKJIgyqKNOiiQMPSRZEGXRRp0EWRBl0UadBFkQZdFGnQRZEGXRRp0EWRBl0UaDi6KNKgiyINuijSoIsiDboo0qCLIg26KNKgiyINuijSoIsCDaGLIg26KNKgiyINuijSoIsiDboo0qCLIg26KNKgiyINuijQ8HRRpEEXRRp0UaRBF0UadFGkQRdFGnRRpEEXRRp0UaTxZV00mEIjhDBFo7xFQpwbQt2dLMKXNdFPYLGsh7ZxeDeGCwjjo5llNRCbEXPTzLIWNtHMshI00cyyDjLRjK4ASVJpJoXxZiT2obCO03U+9Dv1jvTBlemL7ja9fkndkT76sl0ivIWnpNe3/lzpo75IZ0uv76bZ0uvbZrb0+v6ItpxmySaMpnfJ9AMFF0dZ3Fv17Hhf7oVgh5cPpXwdlq06Li6VHyLG3RyiuFWHYOohtb2ph9QDO/pQlK3+7x/BlH0UYW1k0z113TsvAbwc", + "eJzt3c9uI0mW5eF3yXWhQbdrf+tVBrNozPQADTS6B1O1a9S7j2dkklKF7pUd/eg0UQrfZRXiUJfGQ6PzI93537/9x3/9r3/9+7//13/+7be//vdvbfvtr//jv3/72//91//8/X/+7e//+v/+/ttft35pf/nt3/7zf//+n5b/8Zff/s+//8e//fbXyz/+8vbfmrVy/ceWS7v9a9v+8T//8ltLD/8L9vC/kB/+F8rD/0J9+F9oD/8L/eF/YTz6L/TLw//Cw5/T/eHP6f7w53R/+HO6P/w53R/+nO4Pf073hz+n+8Of0+Phz+nx8Of0ePhzehzwnC7Wb3+hJvv5LxzwnJ78hQOe05O/cMBzevIXDnhOT/7CAc/pyV844Dn9/l/YLgc8qWd/4oBn9exPHPC0nv2Jhz+vt8vDn9jb5eHP7O3y8Kf2dvGf2yPbNTW6vf8nchvXf1vscvu3uTv/OG+32fP+r1/+8eWPafx94HHT1O06TUr/NI1zy5d8e7G69PZmdH+D+Qqjb/7G9SVG9zfELzG6v9F+idH9Dfw5Rt9fwa63vO94b0b3Xxi+xOj+C86XGN1/IfsSo69+gTxw9MWvpqnm6+iW0mT0km8HMaW+up/1j9EXv5oeOHpa/Gp65OiLX00/NHqrt673rb8e3bnlVq83PCb/NPVxfalL49VzqGfvH1+uA6dX/9T+WLzFr+ffa/EWH1F8r8VbfEzzvRZv8VHV91q8xcd132vxFh9Zfq/Fe+Zj26dfvGc+un72xbNnPr5/+sU732HcsXjnO4w7Fu98h3HH4p3vMO5YvPMdxh2Ld77DuGPxzncYdyze+Q7jjsU732HwxcvnO4w7Fu98h3HH4p3vMO5YvPMdxh2Ld77DuGPxzncYdyze+Q7jjsU732HcsXjnO4w7Fu98h8EXr5zvMO5YvPMdxh2Ld77DuGPxzncYdyze+Q7jjsU732HcsXjnO4w7Fu98h3HH4p3vMO5YvPMdBl+8er7DuGPxzncYdyze+Q7jjsU732HcsXjnO4w7Fu98h3HH4p3vMO5YvPMdxh2Ld77DuGPxzncYfPHa+Q7jjsU732HcsXjnO4w7Fu98h3HH4p3vMO5YvPMdxh2Ld77DuGPxzncYdyze+Q7jjsU732HwxQuuvH4unrR45zuMOxbvu7zDKJfr4pVSZot3vVDtP42QPrp0T/z+IiVrt8Ev2/vrsW39dq22lPP7/7hfrsXrdXK7n9LnJ37f8us+KE/8fujXfVCe+H3WUzwon/CK8sTv3h74kNTryCON2fPkesnaYu31Ov9YvSd++/ax1Uvldtxjl/T+P6712tJm6c2SfJc3ZfC5WH5eEP/ncFIal9uj08qrBfmRcd9fpHy5LkzKr8ro3VW7XQv39a3v9/nHzbtH4MfdvHuUetzNu8dbx928e+Rw3M27r4HH3by7nx938+6Gd9zNu5vHUTef/B+xOe7mH/qsTf6P1xx38w991u7HII+9+Yc+a5P/YzXH3fxDn7XJ/+WZ427+sc9a/xdcjrv5xz5r/V9COe7mH/us9X9R5Libf+yz1v9ljuNu/rHPWv8XLo67+cc+a/1fijju5h/7rPV/7+C4m3/ss9a/Zv5xN//YZ61/3fXjbv6xz1r/2t3H3fxjn7X+9Z+Pu/nHPmv9awgfd/OPfdb616E97uYf+6z1r2V63M0/9lnrXw/zuJt/7LPWv6bicTf/2Getf12+427+sc9a/9pux938Y5+1/vXBjrv5xz5r/WtMHXfzj33W+tcpOu7mH/us9a91c9zNP/ZZ618v5bibD561tw829kfn8urmf2SCp+K7Gf/5VfLts4X66hOaPzP+k6aWl0wdP2f8Z0Lt149TUtvq+8t1uX1OY5f+MlP/8UvNyT+j/sg/4D8bDvwD/vPhI38g3T4jM3v109f7H3j7j1u166fKrdWXXlj6Yxr/6fOwaUa9/uM22ngzjf9s+6xp/CfnZ03jP+0/axp/Q3nUNP2yXXedfkn1zTTBVvVJ09y/CR44jX+G4KdNc//2+rFpbj8k3C+tvZlm7V48m2btXjybZu1ePJtm7V7c83Z9De/Z3rxq+ucBfdo0i/fiyTSL9+LJNIv34txuu1/ub3Y//1yKT5tm8V48mWbxXjyZZvFeXOz6j3spb1rsf3P806ZZvBdPplm8F0+mWbsXb5d+e3u3/3dJb+ZZuxvP51m7H0/nCb50+XnzrN2T9xn6dptnpO3NPGt35fk8a/fl+Txrd+b5PGv35vk8a3fn+TzL9+fJPMv358k8y/fnd+ex4Ju4nzfPc+3PFnzX93HzjNtHBvt/j5+Pmy34cvDnzbN6f57Ns3p/ns2zen+ezbN6f57Ns3p/ns2zen+ezBN85/rz5lm9P8/mebL9Ofga+MPm2S7b9ey4/b/L23kW78/TeRbvz9N5Fu/P03kW78/TeRbvz9N5Fu/Ps3mCb9d/3jyL9+fpPIv35+k8T7Y/B2cIPHCe9jLP/gr2Zp7l+/NknuX782Se5fvzZJ7l+/NknuX78/vzBOdRfN48y/fnyTyr9+eSbj6/lf7GW4JTOz5vntX782ye1fvzbJ7V+/NsntX782ye1fvzbJ7V+/NknuCMmcfNUy+39+9bLfnNPKv359k8q/fn2Tyr9+fZPKv359k8q/fn2Tyr9+fZPKv359k8q/fn2m7X39qalTfzrN6fJ/ME50Z93jzL9+fJPMv358k8y/fnyTzL9+fJPMv358k8q/fnVvJtnp77m3lW78+zeVbvz7N5Vu/Pk3kOOF/v2HlW78+zeVbvz7N5Vu/Ps3lW78+zeVbvz7N5nmx/Xnxe4D5DvV3Ndxv55+/T2uIzA+fzrN6fJ/MsPjtwPs/q/Xk2z+r9eTbP6v15Ns/q/Xk2z+r9eTbP6v15Ns+T7c+LzxbcZ+gvr19j/JO3vP3n+XYOfO4vp6RW75Zzy9frb+Tx6h/b9sf9XL3vf+h+lst1jPLqlG33fla7/UhAtfRP99OZOd8uXr6/c3uzKItPh3zcorTL7WTCtl3K+4uSUn25onsZbxZl9SvgwxZl69dnREtje3M/V7+yfuh+7i9s1/vZ0uv7+WP0+1/03r1GjB1whuXkD9z/sjT5A2tfZ96/yo0tPgvy/Wun2OJzICfTLD4DcjbN2t1vNs3q64O8d+0UW3zu42yatUf+s2kWn5M+mWbxOenvXjvFFp/zOJtm9bWa3p9m9bWa3psmLz7b8f1rp+TF5zrOpll9fZD3p1m8F0+mWbwXv3vtlLz4HMfZNKuv1fT+NKuv1fT+NIv34nevnZIXn9s4mWbxmY2zaRbvxZNpll8V5N2rpuTVZzVO51m7H8/nWX5VkMk8z3VVkLz6rMbpPM91VZC8+qzG2Tyrz2qczvNcVwXJq89qnM7zXFdtyqvPapzO81xXbcqrz2qczvNcVwXJq89qnM7zXFcFyavPapzO81xXBcmrz2qczvNcV23Kq89qnM7zXFdtyqvPapzO82T78/KzGt+/ikJeflbjZJ7lZzXO5nmuq4Lk5Wc1zuZ5rquC5OVnNc7mea6rNuXlZzXO5nmuqzbl5Wc1zuZ5rquC5OVnNc7mea6rguTlZzXO5lm+P0/mWb4/T+Z5rqs25eVnNc7mea6rguTlZzXO5nmuq4Lk5Wc1zuZZvT/P5nmuqzbl5Wc1zuZZvT/P5nmuq4Lk5Wc1zuZ5rquC5OVnNc7mWX5VkPfnWX5W42ye57pqU15+VuNsnue6KkheflbjbJ7nuipIXn5W42ye5fvzZJ7numpTXn724WSe5Sf+zeZ5rquC5OXnxs3mea6rguTFv4c4n+e5rgqSF/8m4nye57pqU179q4jTeZ7rqk159a8iTud5sv159a8iTq6ikFf/KuJ0ntX782ye57oqSF79q4jTeZ7rqiB59a8iTud5rqs2ldW/ijid57mu2lRW/yridJ7V+/PnXOWmXFbv+1/gKjdl9U8+foWr3JTVvzv5SVe5Kat/z/K4q9yU1T99uY1SXo1eJpvW5brj5lfnC5Tyx+jLr7Z12Oirf1DzyNGXX7nquNGXX4wKjm7tzejLjy2OG3354cJxoy9/UT9u9OUvvceNvvzV9LjRv8qrqTP6V3k1fTv68p8/PXD0r/Jq6oz+dV9Nl//+6oGjf91X0+W/6nrg6F/31XT5b8UeOPrXfTVd/gu0x42+/MdqDxz9uV9NXwS2Xd6M/tyvpu+O/tyvpu+O/tyvpu+O/tyvpu+O/tyvpu+O/tyvpu+NfsDpfbnfPgLJo78e/ccfuH8Lm/yB+zeayR+4fzuo5fpBgbU8Jo9u6rcubGm0n7+xWA44o+5D89jWbp9w2jbszTz3P3GPnef+Z+Ox89x/wHrsPPcfhX5snpRun0vt+9zl53kOOKPu2Hnu3xKPnef+HfTYee7fcD84Tysv87z+nPXPeRbvz9N5Vu/Ps3lW78+zeVbvzzW97Ic1v9kPDzij7th5Vu/Pk3kOOKPu2HlW78+128s84+cz+MsBZ9QdO8/q/Xk2z+r9eTbP6v255dsVIKzVt31evT/P5lm9P8/mWb0/z+ZZvD/nOm7HY7lZ/nmeA86oO3aexfvzdJ7F+/N0nsX783SexfvzdJ7F+/N0nsX783SexfvzdJ7F+/N0nifbnw84o+5j87RyO/7J/c0Vp8oBZ9QdO8/q/Xk2z+r9eTbP6v15Ns/q/Xk2z+r9eTbP6v15Ns/q/Xk2z+r9+f156gFn1B07z+r9uVt7mefNLxPWA86oO3ae1fvzbJ7V+/NsntX782ye1fvzbJ7V+/NsntX782ye1fvzZJ4DTos6dp4n258POIHpQ/OUNG6vX8Xym9evA85KOnaexfvzdJ7F+/N0nsX783SexfvzdJ7F+/N0nsX782yeA060+dg8Vvttnpx+vuJCPeDsmWPnWb0/z+ZZvT/P5lm9P8/mWb0/z+ZZvT/P5lm9P8/mWb0/53z7xcJSLj9/PlgPOMvj0HkOOHXj2HlW78+zeVbvz7N5Vu/Ps3lW78+zeVbvz7N5Vu/PJaXbPPXVTV/nWb0/z+ZZvT/P5lm9P0/mOeAX+Y6dZ/X+PJtn9f48m2f1/jybZ/X+PJtn9f48m+fJ9ucDfpHvY/Psr5i3edr28/f56wG/yHfsPKv358k8B/wi37HzrN6fZ/Os3p9n86zen2fzrN6fZ/Os3p9n86zen2fzPNn+vPr8wdLKy/udVv/p/J23/7za9dzZ1z/uU90Tkd+9gmxdfV7iB+9nvd50fXVKpXs/t0u+3dH9v19dXhNcQ7auPj3ygcuyH/rcluX1P3eXZWx2/dhhpNffqvxzWVa/Cn6RZVn9YvxFlmX1McEXWZbVhyZfZFlWHyF9kWVZfaD2RZZl9fHiF1mW5z5s/bRl+T5HuUcuy+qTzL/KspxHue6ynEe57rKcR7nuspxHue6ynEe57rKcR7nuspxHue6ynEe57rKcR7nesqy+VMdXWZbzKNddlvMo112W8yjXXZbzKNddlvMo112W8yjXXZbzKNddlvMo112W8yjXW5bVFzz6KstyHuW6y/J9jnLbyw/wXvo23l+W/nKZ2962/mZZvs9R7qHL8n2Ocg9dlu9zlHvosnyfo9xDl+X7HOUeuizf5yj30GX5Pke5By5LW33ZuK+yLN/nKPfQZTmPct1lOY9y3WU5j3LdZTmPct1lOY9y3WU5j3LdZTmPct1lOY9yvWVZffHNr7Is51GuuyznUa67LOdRrrss51GuuyznUa67LN/mKHezlx+M2fLrn+/+855+mwPX6T39Nsei03v6bQ4vZ/d0+eWAP++efpuDwOk9/TbHddN7+m0O1ab39NscfU3v6bc5oJre01/mGGn5Rag/757+MsdIyy+c/Wn3dPkluT/vnv4yx0jLLyP+eff0lzlGWn7p88+7p7/MMdLyy7V/3j39ZY6Rll9i/vPu6S9zjLT8svifd09/mWOk5Zfy/7x7+sscIy3/+YHPu6e/zDHS8p9M+NA9Lbff49lfDl/f0x+j338okPvtesx59Nej//gD978Cv/8HDvi9gckfWPx6k3q+/YBkGq28fnR/zLP4VcG2djt90bbXpy/+Oc/ivXs6z+IddjrP4n1wOs/i3cpSuu2elvLPF+xvq39AYDrP4ndH03kWv4eZzbP6CvuWWnmZZ2xv5lm8P0/nWb0/z+ZZvT/P5lm9P798UWr/7/xmP1x9+fLpPKv359k8q/fn2Tyr9+fa7WWeMd7Ms3p/nsyz+trQ03lW78+zeVbvz/v7w9s8+278Zp7V+/NsntX782ye1fvzbJ7F+3OuL/qQ2+srwvw5z+L9eTrP4v15Os/i/Xk2z+qrmk7nWbw/T+dZvD9P51m8P0/nWbw/T+dZvD9P53my/Xn1RRJzK7fjn9wvb45/Vl+dcDrP6v15Ms/q6/FN51m9P8/mWb0/z+ZZvT/P5lm9P8/mWb0/z+ZZvT/P5nmy/Xn1dbVyt/Yyz+tfVP1zntX78/vz9NVXkprOs3p/ns2zen+ezbN6f57Ns3p/ns2zen+ezbN6f57Ns3p/ns3zXPtzX34pljRur1/F8s+vX335NVBm86z+vuBsntXf6pvNs/q7d7N5Fu/P03lWf49tNs/qb5vN5ln9vXmr/TZPTunNPKu/3T6bZ/X+PJln+RUHZvOs3p9n86zen2fzrN6fZ/Os3p9n86zen3N++fZtufz8+WBfflb5bJ7V+/NsntX782ye1fvzZJ7lZzvP5lm9P8/mWb0/z+ZZvT+XlG7z1Fc3fZ1n9f48m2f1/jybZ/X+PJtn9f48m2f1/jybZ/X+PJln+ZmWs3lW78+zeVbvz7N5nmx/Xn4GYLXb97FL237+Pn9ffp7ebJ7V+/NsntX782ye1fvzbJ7V+/NkngNOCDx2ntX782ye1fvzbJ7V+/Nsnifbn1efP/jB86jteu5sLS9ffXPPo8773/7z3+bRX32Otf1xP5/6LOoPXcg53+7o/t8tvb6nztR53E4/Lu3tsnyby9Ic+TuoffVZml9lWb7NBW8OXZbV56x+lWX5NpfSOXZZvs11d45dlm9zkZ5jl2X18eIXWZbnPmz9tGX5Pke5hy7LeZTrLst5lOsuy3mU6y3L6jP/v8qynEe57rKcR7nuspxHue6ynEe57rKcR7nuspxHue6ynEe57rKcR7nuspxHud6yrL5+yldZlvMo112W8yjXXZbzKNddlvMo112W8yjXXZbzKNddlvMo112W8yjXXZbvc5R74O+399VXofoqy/J9jnIPXZbvc5R76LJ8n6PcQ5fl+xzlHros3+co99Bl+T5HuYcuy/c5yj10Wb7PUe6hy3Ie5TrLMlZfy++rLMt5lOsuy3mU6y7LeZTrLst5lOsuy3mU6y7LeZTrLst5lOsuy3mU6y7LeZTrLcvyK6J+kWU5j3LdZTmPct1l+TZHuZOfEx/LL4D7eff02xyLTu/ptzm8nN7Tb3PEOL2n3+YgcHpPv81x3eyeLr848ufd029z9DW9p9/mgGp6T3+ZY6TlF6H+vHv6yxwjLb9w9ufd01/mGGn5xb4/757+MsdIyy9Q/nn39Jc5Rlp+UfXPu6e/zDHS8gvBf949/WWOkZZfvP7z7ukvc4y0/IL7n3dPf5ljpOU/EvB59/SXOUZa/sMGn3dPn/oYqdx+j6fZeH1Pf4y+/KAn2avR0/uj58v1I86cXu5lKX+Mvvwo5rjRlx+WHDf68uOM40ZffuAAR7f2ZvTlRwKHjb789yUOHH35a/Vxoy9/8T1u9OWvpseN/lVeTZ3Rv8qrqTP6V3k1dUb/Kq+mzuhf99V0/a8+HDb6+l9mOG70r/tquv4XDo4b/eu+mq7/pYDjRv+6r6brr7h/3OjP/Wpar/84t8ub0Z/71fTd0Z/71fS90ddfAf640Z/71fTd0Z/71fTd0Z/71fSd0bdL+xf/u+al2XWi0srLn8iXW87dnIScuzPMc/63ioWc+5wQcm4hhZzbBiHnHtgIOfeoQsi5L+lCDvbF/xabkIN98b9hJeRgX/xv/wg52Bf/mylCDvbF/9aEkIN98T/RF3KwL/6nzUIO9sX/JFTIwb74H+oJOdgX/+MsIQf74n+QI+RgX/yPMIQc7IuP90IO9sVnayEH++KDrZCDffGpUsjBvvhIJ+RgX3yeEnKwLz7MCDnYF58khBzsi/9mXMjBvvhvQ4Uc7Iv/BkzIwb74P4Yk5GBf/J/TEXKwL/4Psgg52Bf/Jz2EHOyL/6MQpafyZ65eSvFyfl/mOb8v85zfl3nO78s85/dlnvP7Ms/5fZnm/ItjCzm/L/Mc7It//WEhB/viX8FWyMG++NdAFXKwL/5VNOe5zb/OpBKEjdn8axUqQdiZ7QJLs/lXhFOCsDabf1UxJQiLs/lXphKC/rWblCBtjn/9HyVIm+NfcEYJ0ub4l0NRgrQ5AfkKQdqcAH2FIG1OwL5CkDYngF8hSJsT0K8QpM0J8FcI0uYE/CsEaXMCABaCtDkBAQtB2pwAgYUgbU7AwEKQNieAYCFImxNQsBCkzQkwWAjS5gQcLARpcwIQFoK0OQEJC0HanACFhSBtTsDCQpA2J4BhIUibE9CwEKTNCXBYCNLmBDwsBGlzAiAWgrQ5ARELQdqcAImFIG1OwMRCkDYngGIhSJsTULEQpM0JsFgI0uYEXCwEaXMCMBaCtDmUjDdqxhtF442q8UbZeKNuvFE43qgcb5SON2rHG8XjjerxRvl4o368UUDeqCBvlJA3asiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4acqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ8WQuxsUmuMHheb4QaE5flBojh8UmuMHheb4QaE5flBojhtUDNkP0uYohuwHaXMUQ/aDtDmKIftB2hzFkP0gbE5RDNkPwuYUwZBrc4Pz5gTBeXOC4Lw5QXDenCA4b04QnDcnCM6b4wcFQw6C8+YEQdocwZCDIG2OYMhBkDZHMOQgSJsjGLIfFAw5CNLmCIYcBGlzBEMOgrQ5giEHQdocwZCDIG2OYMhBkDZHMOQgSJsjGHIQpM0RDDkI0uYIhhwEaXMEQw6CtDmCIQdB2hzBkIMgbY5gyEGQNkcw5CBImyMYchCkzREMOQjS5giGHARpcwRDDoK0OYIhB0HaHMGQgyBtjmDIQZA2RzDkIEibIxhyEKTNEQw5CNLmCIYcBGlzBEMOgrQ5giEHQdocwZCDIG2OYMhBkDZHMOQgSJsjGHIQpM0RDDkI0uYIhhwEaXMEQw6CtDmCIQdB2hzBkIMgbY5gyEGQNkcw5CBImyMYchCEzamCIQdB2JxKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFD7tSQOzXkTg25U0Pu1JA7NeRODblTQ+7UkDs15E4NuVND7tSQt40er+xJWIE9CTuwJ2EJ9iRswZ6ENdg2etSyJ2ER9iRugn/gklKvfyZT3l4uwdP6q6TbISnpdkhKuh2Skm6HpKTbISnpdkhJ+scvUtLtkJR0OyQlcYf8YxgpiTvkH8VISdwh/zhGStIOJf9IRkrSDiX/WEZK0g4l/2hGStIOJf94RkrSDiX/iEZK4g75xzRSEnfIP6qRkrhD/mfjUhJ3yP90XEriDvmfj0tJ3CH/E3IpiTvkf0YuJXGH/E/JpSTukP85uZTEHfI/KZeSuEP+Z+VSEnfI/7RcSuIO+Z+XS0ncIf8TcymJO+R/Zi4lcYf8T82lJO6Q/7m5lMQd8j85l5K4Q/5n51ISd8j/9FxK4g75n59LSdwh/xN0KYk75H+GLiVxh/xP0aUk7pD/ObqUxB3yP0mXkrhD/mfpUhJ3yP80XUriDvmfp0tJ3CH/E3UpiTvkf6YuJXGH/E/VpSTukO/UUhJ3yHdqKYk75Du1lMQd8p1aSuIO+U4tJXGHsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUFjh1ztstmYef9DukJP0OKUm/Q6+TpfpJv0NK0u9QfrW2I/tJv0NK0u+QkvQ7VLfb/azW3GQgv0rSf1SUpP+oKEn/UVGS/qOiJP1HRUj6Cms2rt9U+f0//WSwQiXd/mbxnyuBayrJYIVeJdvmJ/19aNj1fu7Hd35vA2NUkv4+NLY0TfqNV5J+48e4JvejtIuf9B9PJek+nvsL8q1Dm/mPp2+MUtJt/H740G/JHEzr7kNS0u3QPyf91zLfGKWk+3juLze3ZCrJT7qPp5T0H890aS9J85P+46kk/cdTSfqPp5L0H08h6XuflHT3BCnp7glSMuiQkAw6JCRxh3zvk5K4Q773SUncId/7pCTukO99UhJ3yPc+KYk75HuflMQd8r1PSuIO+d4nJXGHfO+TkrhDvvdJSdwh3/ukJO6Q731SknYo+94nJWmHsu99UpJ2KPveJyVph7LvfVKSdij73iclcYd875OSuEO+90lJ3CHf+6Qk7pDvfVISd8j3PimJO+R7n5TEHfK9T0riDvneJyVxh3zvk5K4Q773SUncIf97qVISd8jXSSmJO+TrpJTEHfJ1UkriDvnfS5WSuEOBiCpJ3CH/e6lSEnfI91spiTvk+62UxB3yv5cqJXGHfDOWkrhDvhlLSdwh34ylJO5QYMZKEncoMGMliTsUmLGSxB3yv5cqJXGHIqcWkrhD2KkzduqMnTpjp87YqTN26oydOmOnztipM3bqjJ06Y6fO2KkzduqMnTpjp87YqTN26oydOmOnztipM3bqjJ06Y6fO2KkzduqMnTpjp87YqTN26oydOmOnztipM3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqWvk1P2WtIt7JaoaObWQDDokJIMOCcmgQ/Nk5NRCMuiQkAw6JCSDDgnJoENCEncocmohiTsUObWQxB2KnFpI4g5FTi0kcYcipxaSuEORUwtJ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rtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6ce2KkHduqBnXpgpx7YqQd26oGdemCnHtipB3bqgZ16YKce2KkHduqBnXpgpx7YqQd26oGdemCnHtipB3bqgZ16YKce2KlH9DuKo1yT+3/6yeD3y4Rk8PtlQjL4/TIhGfx+2TwZ/Y6ikAx+v0xIBr+BJySD38ATkn6HlCTuUPQ7ikISdyj6HUUhiTsU/Y6ikMQdin5HUUjiDkW/oygkcYei31EUkrhD0e8oCkncoeh3FIUk7lDg1EoSdyhwaiWJOxQ4tZLE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" + ], + "fileMap": { + "0": { + "source": "mod storage;\nmod ecdsa_public_key_note;\n\n// Account contract that uses ECDSA signatures for authentication on the same curve as Ethereum.\n// The signing key is stored in an immutable private note and should be different from the signing key.\ncontract EcdsaAccount {\n use dep::std;\n use dep::aztec::entrypoint;\n use dep::aztec::entrypoint::EntrypointPayload;\n use dep::aztec::abi;\n use dep::aztec::abi::PrivateContextInputs;\n use dep::aztec::abi::CallContext;\n use dep::aztec::context::PrivateContext;\n use dep::aztec::log::emit_encrypted_log;\n use dep::aztec::oracle::get_public_key::get_public_key;\n use dep::aztec::types::vec::BoundedVec;\n use dep::aztec::types::point::Point;\n use dep::aztec::constants_gen::GENERATOR_INDEX__SIGNATURE_PAYLOAD;\n\n use dep::aztec::constants_gen::MAX_NOTE_FIELDS_LENGTH;\n use dep::aztec::note::{\n note_header::{NoteHeader},\n utils as note_utils,\n };\n\n use crate::storage::Storage;\n use crate::ecdsa_public_key_note::EcdsaPublicKeyNote;\n use crate::ecdsa_public_key_note::EcdsaPublicKeyNoteInterface;\n use crate::ecdsa_public_key_note::ECDSA_PUBLIC_KEY_NOTE_LEN;\n\n // All calls made by this account will be routed through this entrypoint\n fn entrypoint( \n inputs: pub PrivateContextInputs,\n payload: pub EntrypointPayload, // contains a set of arguments, selectors, targets and a nonce\n signature: pub [u8;64],\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n \n // Initialise context\n // ENTRYPOINT_PAYLOAD_SIZE(13) + 64\n let mut args: BoundedVec = BoundedVec::new(0);\n args.push_array(payload.serialize());\n for byte in signature { args.push(byte as Field); }\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\n\n // Load public key from storage\n let storage = Storage::init();\n let public_key = storage.public_key.get_note(&mut context);\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let payload_fields: [Field; entrypoint::ENTRYPOINT_PAYLOAD_SIZE] = payload.serialize();\n let message_field: Field = std::hash::pedersen_with_separator(payload_fields, GENERATOR_INDEX__SIGNATURE_PAYLOAD)[0];\n let message_bytes = message_field.to_be_bytes(32);\n let hashed_message: [u8; 32] = std::hash::sha256(message_bytes);\n let verification = std::ecdsa_secp256k1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n payload.execute_calls(&mut context);\n\n context.finish()\n }\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n fn constructor(\n inputs: pub PrivateContextInputs,\n signing_pub_key_x: pub [u8;32],\n signing_pub_key_y: pub [u8;32],\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n let storage = Storage::init();\n \n let mut args: BoundedVec = BoundedVec::new(0);\n for byte in signing_pub_key_x { args.push(byte as Field); }\n for byte in signing_pub_key_y { args.push(byte as Field); }\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\n \n let this = context.this_address();\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n storage.public_key.initialise(&mut context, &mut pub_key_note);\n \n emit_encrypted_log(\n &mut context,\n this,\n storage.public_key.storage_slot,\n get_public_key(this),\n pub_key_note.serialise(),\n );\n\n context.finish()\n }\n\n // Computes note hash and nullifier.\n // Note 1: Needs to be defined by every contract producing logs.\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\n unconstrained fn compute_note_hash_and_nullifier(contract_address: Field, nonce: Field, storage_slot: Field, preimage: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> [Field; 4] {\n assert(storage_slot == 1);\n let note_header = NoteHeader { contract_address, nonce, storage_slot };\n note_utils::compute_note_hash_and_nullifier(EcdsaPublicKeyNoteInterface, note_header, preimage)\n }\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/main" + }, + "3": { + "source": "mod poseidon;\n\n#[foreign(sha256)]\nfn sha256(_input : [u8; N]) -> [u8; 32] {}\n\n#[foreign(blake2s)]\nfn blake2s(_input : [u8; N]) -> [u8; 32] {}\n\nfn pedersen(input : [Field; N]) -> [Field; 2] {\n pedersen_with_separator(input, 0)\n}\n\n#[foreign(pedersen)]\nfn pedersen_with_separator(_input : [Field; N], _separator : u32) -> [Field; 2] {}\n\n#[foreign(hash_to_field_128_security)]\nfn hash_to_field(_input : [Field; N]) -> Field {}\n\n#[foreign(keccak256)]\nfn keccak256(_input : [u8; N], _message_size: u32) -> [u8; 32] {}\n\n// mimc-p/p implementation\n// constants are (publicly generated) random numbers, for instance using keccak as a ROM.\n// You must use constants generated for the native field\n// Rounds number should be ~ log(p)/log(exp)\n// For 254 bit primes, exponent 7 and 91 rounds seems to be recommended\nfn mimc(x: Field, k: Field, constants: [Field; N], exp : Field) -> Field {\n //round 0\n let mut t = x + k;\n let mut h = t.pow_32(exp);\n //next rounds\n for i in 1 .. constants.len() {\n t = h + k + constants[i];\n h = t.pow_32(exp);\n };\n h + k\n}\n\nglobal MIMC_BN254_ROUNDS = 91;\n\n//mimc implementation with hardcoded parameters for BN254 curve.\nfn mimc_bn254(array: [Field; N]) -> Field {\n //mimc parameters\n let exponent = 7;\n //generated from seed \"mimc\" using keccak256 \n let constants: [Field; MIMC_BN254_ROUNDS] = [\n 0, \n 20888961410941983456478427210666206549300505294776164667214940546594746570981,\n 15265126113435022738560151911929040668591755459209400716467504685752745317193,\n 8334177627492981984476504167502758309043212251641796197711684499645635709656,\n 1374324219480165500871639364801692115397519265181803854177629327624133579404,\n 11442588683664344394633565859260176446561886575962616332903193988751292992472,\n 2558901189096558760448896669327086721003508630712968559048179091037845349145,\n 11189978595292752354820141775598510151189959177917284797737745690127318076389,\n 3262966573163560839685415914157855077211340576201936620532175028036746741754,\n 17029914891543225301403832095880481731551830725367286980611178737703889171730,\n 4614037031668406927330683909387957156531244689520944789503628527855167665518,\n 19647356996769918391113967168615123299113119185942498194367262335168397100658,\n 5040699236106090655289931820723926657076483236860546282406111821875672148900,\n 2632385916954580941368956176626336146806721642583847728103570779270161510514,\n 17691411851977575435597871505860208507285462834710151833948561098560743654671,\n 11482807709115676646560379017491661435505951727793345550942389701970904563183,\n 8360838254132998143349158726141014535383109403565779450210746881879715734773,\n 12663821244032248511491386323242575231591777785787269938928497649288048289525,\n 3067001377342968891237590775929219083706800062321980129409398033259904188058,\n 8536471869378957766675292398190944925664113548202769136103887479787957959589,\n 19825444354178182240559170937204690272111734703605805530888940813160705385792,\n 16703465144013840124940690347975638755097486902749048533167980887413919317592,\n 13061236261277650370863439564453267964462486225679643020432589226741411380501,\n 10864774797625152707517901967943775867717907803542223029967000416969007792571,\n 10035653564014594269791753415727486340557376923045841607746250017541686319774,\n 3446968588058668564420958894889124905706353937375068998436129414772610003289,\n 4653317306466493184743870159523234588955994456998076243468148492375236846006,\n 8486711143589723036499933521576871883500223198263343024003617825616410932026,\n 250710584458582618659378487568129931785810765264752039738223488321597070280,\n 2104159799604932521291371026105311735948154964200596636974609406977292675173,\n 16313562605837709339799839901240652934758303521543693857533755376563489378839,\n 6032365105133504724925793806318578936233045029919447519826248813478479197288,\n 14025118133847866722315446277964222215118620050302054655768867040006542798474,\n 7400123822125662712777833064081316757896757785777291653271747396958201309118,\n 1744432620323851751204287974553233986555641872755053103823939564833813704825,\n 8316378125659383262515151597439205374263247719876250938893842106722210729522,\n 6739722627047123650704294650168547689199576889424317598327664349670094847386,\n 21211457866117465531949733809706514799713333930924902519246949506964470524162,\n 13718112532745211817410303291774369209520657938741992779396229864894885156527,\n 5264534817993325015357427094323255342713527811596856940387954546330728068658,\n 18884137497114307927425084003812022333609937761793387700010402412840002189451,\n 5148596049900083984813839872929010525572543381981952060869301611018636120248,\n 19799686398774806587970184652860783461860993790013219899147141137827718662674,\n 19240878651604412704364448729659032944342952609050243268894572835672205984837,\n 10546185249390392695582524554167530669949955276893453512788278945742408153192,\n 5507959600969845538113649209272736011390582494851145043668969080335346810411,\n 18177751737739153338153217698774510185696788019377850245260475034576050820091,\n 19603444733183990109492724100282114612026332366576932662794133334264283907557,\n 10548274686824425401349248282213580046351514091431715597441736281987273193140,\n 1823201861560942974198127384034483127920205835821334101215923769688644479957,\n 11867589662193422187545516240823411225342068709600734253659804646934346124945,\n 18718569356736340558616379408444812528964066420519677106145092918482774343613,\n 10530777752259630125564678480897857853807637120039176813174150229243735996839,\n 20486583726592018813337145844457018474256372770211860618687961310422228379031,\n 12690713110714036569415168795200156516217175005650145422920562694422306200486,\n 17386427286863519095301372413760745749282643730629659997153085139065756667205,\n 2216432659854733047132347621569505613620980842043977268828076165669557467682,\n 6309765381643925252238633914530877025934201680691496500372265330505506717193,\n 20806323192073945401862788605803131761175139076694468214027227878952047793390,\n 4037040458505567977365391535756875199663510397600316887746139396052445718861,\n 19948974083684238245321361840704327952464170097132407924861169241740046562673,\n 845322671528508199439318170916419179535949348988022948153107378280175750024,\n 16222384601744433420585982239113457177459602187868460608565289920306145389382,\n 10232118865851112229330353999139005145127746617219324244541194256766741433339,\n 6699067738555349409504843460654299019000594109597429103342076743347235369120,\n 6220784880752427143725783746407285094967584864656399181815603544365010379208,\n 6129250029437675212264306655559561251995722990149771051304736001195288083309,\n 10773245783118750721454994239248013870822765715268323522295722350908043393604,\n 4490242021765793917495398271905043433053432245571325177153467194570741607167,\n 19596995117319480189066041930051006586888908165330319666010398892494684778526,\n 837850695495734270707668553360118467905109360511302468085569220634750561083,\n 11803922811376367215191737026157445294481406304781326649717082177394185903907,\n 10201298324909697255105265958780781450978049256931478989759448189112393506592,\n 13564695482314888817576351063608519127702411536552857463682060761575100923924,\n 9262808208636973454201420823766139682381973240743541030659775288508921362724,\n 173271062536305557219323722062711383294158572562695717740068656098441040230,\n 18120430890549410286417591505529104700901943324772175772035648111937818237369,\n 20484495168135072493552514219686101965206843697794133766912991150184337935627,\n 19155651295705203459475805213866664350848604323501251939850063308319753686505,\n 11971299749478202793661982361798418342615500543489781306376058267926437157297,\n 18285310723116790056148596536349375622245669010373674803854111592441823052978,\n 7069216248902547653615508023941692395371990416048967468982099270925308100727,\n 6465151453746412132599596984628739550147379072443683076388208843341824127379,\n 16143532858389170960690347742477978826830511669766530042104134302796355145785,\n 19362583304414853660976404410208489566967618125972377176980367224623492419647,\n 1702213613534733786921602839210290505213503664731919006932367875629005980493,\n 10781825404476535814285389902565833897646945212027592373510689209734812292327,\n 4212716923652881254737947578600828255798948993302968210248673545442808456151,\n 7594017890037021425366623750593200398174488805473151513558919864633711506220,\n 18979889247746272055963929241596362599320706910852082477600815822482192194401,\n 13602139229813231349386885113156901793661719180900395818909719758150455500533,\n ];\n\n let mut r = 0;\n for elem in array {\n let h = mimc(elem, r, constants, exponent);\n r = r + elem + h;\n }\n r\n}\n", + "path": "std/hash" + }, + "18": { + "source": "\nimpl Field {\n #[builtin(to_le_bits)]\n fn to_le_bits(_x : Field, _bit_size: u32) -> [u1] {}\n #[builtin(to_be_bits)]\n fn to_be_bits(_x : Field, _bit_size: u32) -> [u1] {}\n\n fn to_le_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_le_radix(256, byte_size)\n }\n fn to_be_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_be_radix(256, byte_size)\n }\n\n #[builtin(to_le_radix)]\n //decompose _x into a _result_len vector over the _radix basis\n //_radix must be less than 256\n fn to_le_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\n #[builtin(to_be_radix)]\n fn to_be_radix(_x : Field, _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 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 fn sgn0(self) -> u1 {\n self as u1\n }\n}\n\n#[builtin(modulus_num_bits)]\nfn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\nfn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\nfn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\nfn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\nfn modulus_le_bytes() -> [u8] {}\n", + "path": "std/field" + }, + "29": { + "source": "struct Option {\n _is_some: bool,\n _value: T,\n}\n\nimpl Option {\n /// Constructs a None value\n fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n 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 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 fn unwrap_or(self, default: T) -> T {\n if self._is_some {\n self._value\n } else {\n default\n }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n fn unwrap_or_else(self, default: fn() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n fn map(self, f: fn(T) -> U) -> Option {\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 fn map_or(self, default: U, f: fn(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 fn map_or_else(self, default: fn() -> U, f: fn(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 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 fn and_then(self, f: fn(T) -> Option) -> Option {\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 fn or(self, other: Self) -> Self {\n if self._is_some {\n self\n } else {\n other\n }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n fn or_else(self, default: fn() -> Self) -> Self {\n if self._is_some {\n self\n } else {\n default()\n }\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 fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some {\n Option::none()\n } else {\n self\n }\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 fn filter(self, predicate: fn(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> into a Option.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n fn flatten(option: Option>) -> Option {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n", + "path": "std/option" + }, + "31": { + "source": "use crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n GENERATOR_INDEX__FUNCTION_ARGS,\n HISTORIC_BLOCK_DATA_LENGTH,\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n CALL_CONTEXT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\n CONTRACT_STORAGE_READ_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__FUNCTION_DATA,\n GENERATOR_INDEX__PUBLIC_DATA_READ,\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\n GENERATOR_INDEX__CALL_CONTEXT,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n};\n\nuse crate::oracle::debug_log;\nuse crate::types::vec::BoundedVec;\nuse crate::types::point::Point;\n\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n}\n\nimpl PublicGlobalVariables {\n fn serialize(self) -> [Field; 4] {\n [self.chain_id, self.version, self.block_number, self.timestamp]\n }\n}\n\nstruct ContractDeploymentData {\n deployer_public_key: Point,\n constructor_vk_hash : Field,\n function_tree_root : Field,\n contract_address_salt : Field,\n portal_contract_address : Field,\n}\n\nimpl ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.deployer_public_key.x,\n self.deployer_public_key.y,\n self.constructor_vk_hash,\n self.function_tree_root,\n self.contract_address_salt,\n self.portal_contract_address,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)[0]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\nstruct PrivateContextInputs {\n call_context : CallContext,\n block_data: HistoricBlockData,\n\n contract_deployment_data: ContractDeploymentData,\n\n private_global_variables: PrivateGlobalVariables,\n}\n\n// PublicContextInputs are expected to be provided to each public function\nstruct PublicContextInputs {\n call_context: CallContext,\n block_data: HistoricBlockData,\n\n public_global_variables: PublicGlobalVariables,\n}\n\nstruct CallContext {\n msg_sender : Field,\n storage_contract_address : Field,\n portal_contract_address : Field,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment: bool,\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender,\n self.storage_contract_address,\n self.portal_contract_address,\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)[0]\n }\n}\n\nstruct HistoricBlockData {\n private_data_tree_root : Field,\n nullifier_tree_root : Field,\n contract_tree_root : Field,\n l1_to_l2_messages_tree_root : Field,\n blocks_tree_root: Field,\n public_data_tree_root: Field,\n global_variables_hash: Field,\n}\n\nimpl HistoricBlockData {\n // NOTE: this order must match the order in `private_circuit_public_inputs.hpp`\n fn serialize(self) -> [Field; HISTORIC_BLOCK_DATA_LENGTH] {\n [\n self.private_data_tree_root,\n self.nullifier_tree_root,\n self.contract_tree_root,\n self.l1_to_l2_messages_tree_root,\n self.blocks_tree_root,\n self.public_data_tree_root,\n self.global_variables_hash,\n ]\n }\n\n fn empty() -> Self {\n Self { private_data_tree_root: 0, nullifier_tree_root: 0, contract_tree_root: 0, l1_to_l2_messages_tree_root: 0, blocks_tree_root: 0, public_data_tree_root: 0, global_variables_hash: 0 }\n }\n}\n\nstruct FunctionData {\n function_selector: Field,\n is_internal: bool,\n is_private: bool,\n is_constructor: bool,\n}\n\nimpl FunctionData {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.function_selector,\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ], GENERATOR_INDEX__FUNCTION_DATA)[0]\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n read_requests: [Field; crate::abi::MAX_READ_REQUESTS_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n nullified_commitments: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n // Explore introducing a new type like uint256 (similar to Point), so it's more explicit that\n // we're talking about a single number backed by two field elements.\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n contract_deployment_data: ContractDeploymentData,\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.nullified_commitments);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n dep::std::hash::pedersen_with_separator(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.storage\n }\n}\n\nstruct ContractStorageRead {\n storage_slot: Field,\n value: Field,\n}\n\nimpl ContractStorageRead {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\n [self.storage_slot, self.value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, value: 0 }\n }\n}\n\nstruct ContractStorageUpdateRequest {\n storage_slot: Field,\n old_value: Field,\n new_value: Field,\n}\n\nimpl ContractStorageUpdateRequest {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\n [self.storage_slot, self.old_value, self.new_value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, old_value: 0, new_value: 0 }\n }\n}\n\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; crate::abi::MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n prover_address: Field,\n\n // TODO: include globals in here and check them elsewhere\n // https://github.com/AztecProtocol/aztec-packages/issues/1567\n}\n\nimpl PublicCircuitPublicInputs {\n \n fn hash(self) -> Field {\n let mut inputs: BoundedVec = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_read[i].hash());\n }\n inputs.push_array(self.public_call_stack);\n inputs.push_array(self.new_commitments);\n inputs.push_array(self.new_nullifiers);\n inputs.push_array(self.new_l2_to_l1_msgs);\n\n // We do not include block_data since it's not in the cpp hash\n\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.block_data.serialize()); // see https://github.com/AztecProtocol/aztec-packages/issues/1473\n inputs.push(self.prover_address);\n\n dep::std::hash::pedersen_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_read[i].serialize());\n }\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.prover_address);\n fields.storage\n }\n}\n\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\n\nfn hash_args(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = dep::std::hash::pedersen_with_separator(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS)[0];\n }\n chunks_hashes[i] = chunk_hash;\n }\n dep::std::hash::pedersen_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)[0]\n }\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/abi" + }, + "32": { + "source": "use crate::constants_gen::{\n EMPTY_NULLIFIED_COMMITMENT,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_READ_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n};\n\nuse crate::abi;\n\nuse crate::abi::{\n hash_args,\n CallContext,\n ContractDeploymentData,\n HistoricBlockData,\n FunctionData,\n PrivateCircuitPublicInputs,\n PublicCircuitPublicInputs,\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\n// l1 to l2 messaging\nuse crate::messaging::process_l1_to_l2_message;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem;\n\nuse crate::types::{\n vec::BoundedVec,\n point::Point,\n};\n\nuse crate::utils::arr_copy_slice;\n\nuse crate::oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n public_call::call_public_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal,\n context::get_portal_address,\n};\n\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n inputs: abi::PrivateContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n read_requests: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n nullified_commitments: BoundedVec,\n\n private_call_stack : BoundedVec,\n public_call_stack : BoundedVec,\n new_l2_to_l1_msgs : BoundedVec,\n\n block_data: HistoricBlockData,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec,\n // unencrypted_logs_preimages: Vec,\n}\n\nimpl PrivateContext {\n fn new(inputs: abi::PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n read_requests: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n nullified_commitments: BoundedVec::new(0),\n\n block_data: inputs.block_data,\n\n private_call_stack: BoundedVec::new(0),\n public_call_stack: BoundedVec::new(0),\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.private_global_variables.version\n }\n\n fn finish(self) -> abi::PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = abi::PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n read_requests: self.read_requests.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n nullified_commitments: self.nullified_commitments.storage,\n private_call_stack: self.private_call_stack.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n encrypted_logs_hash: encrypted_logs_hash,\n unencrypted_logs_hash: unencrypted_logs_hash,\n encrypted_log_preimages_length: encrypted_log_preimages_length,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.block_data,\n contract_deployment_data: self.inputs.contract_deployment_data,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version,\n };\n priv_circuit_pub_inputs\n }\n\n fn push_read_request(&mut self, read_request: Field) {\n self.read_requests.push(read_request);\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n self.nullified_commitments.push(nullified_commitment);\n }\n\n fn message_portal(&mut self, content: Field) {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, inputs: abi::PrivateContextInputs, msg_key: Field, content: Field, secret: Field) {\n let nullifier = process_l1_to_l2_message(inputs.block_data.l1_to_l2_messages_tree_root, inputs.call_context.storage_contract_address, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_private_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n fn call_private_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_private_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let fields = call_private_function_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PrivateCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PrivateCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n // TODO handle the offsets as a variable incremented during extraction?\n args_hash: fields[11],\n return_values: arr_copy_slice(fields, [0; RETURN_VALUES_LENGTH], 12),\n read_requests: arr_copy_slice(fields, [0; MAX_READ_REQUESTS_PER_CALL], 16),\n new_commitments: arr_copy_slice(fields, [0; MAX_NEW_COMMITMENTS_PER_CALL], 20),\n new_nullifiers: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 24),\n nullified_commitments: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 28),\n private_call_stack: arr_copy_slice(fields, [0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL], 32),\n public_call_stack: arr_copy_slice(fields, [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL], 36),\n new_l2_to_l1_msgs: arr_copy_slice(fields, [0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL], 40),\n encrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 42),\n unencrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 44),\n encrypted_log_preimages_length: fields[46],\n unencrypted_log_preimages_length: fields[47],\n block_data: HistoricBlockData {\n // Must match order in `private_circuit_public_inputs.hpp`\n private_data_tree_root : fields[48],\n nullifier_tree_root : fields[49],\n contract_tree_root : fields[50],\n l1_to_l2_messages_tree_root : fields[51],\n blocks_tree_root : fields[52],\n public_data_tree_root: fields[53],\n global_variables_hash: fields[54],\n },\n contract_deployment_data: ContractDeploymentData {\n deployer_public_key: Point::new(fields[55], fields[56]),\n constructor_vk_hash : fields[57],\n function_tree_root : fields[58],\n contract_address_salt : fields[59],\n portal_contract_address : fields[60],\n },\n chain_id: fields[61],\n version: fields[62],\n },\n is_execution_request: fields[63] as bool,\n };\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n assert(item.is_execution_request == false);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.private_call_stack.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n fn call_public_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) {\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)\n }\n\n fn call_public_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_public_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) {\n let fields = enqueue_public_function_call_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PublicCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PublicCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n args_hash: fields[11],\n return_values: [0; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [0; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [0; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: 0,\n block_data: HistoricBlockData::empty(),\n prover_address: 0,\n },\n is_execution_request: true,\n };\n\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n \n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.public_call_stack.push(item.hash());\n }\n}\n\nuse crate::abi::{\n ContractStorageRead,\n ContractStorageUpdateRequest\n};\n\nstruct PublicContext {\n inputs: abi::PublicContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n contract_storage_update_requests: BoundedVec,\n contract_storage_read: BoundedVec,\n public_call_stack: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n\n new_l2_to_l1_msgs: BoundedVec,\n\n unencrypted_logs_hash: BoundedVec,\n unencrypted_logs_preimages_length: Field,\n\n block_data: HistoricBlockData,\n prover_address: Field,\n}\n\nimpl PublicContext {\n fn new(inputs: abi::PublicContextInputs, args_hash: Field) -> PublicContext {\n let empty_storage_read = ContractStorageRead::empty();\n let empty_storage_update = ContractStorageUpdateRequest::empty();\n PublicContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\n contract_storage_read: BoundedVec::new(empty_storage_read),\n public_call_stack: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n \n unencrypted_logs_hash: BoundedVec::new(0),\n unencrypted_logs_preimages_length: 0,\n\n block_data: inputs.block_data,\n prover_address: 0,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_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 block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n fn finish(self) -> abi::PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = abi::PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_read: self.contract_storage_read.storage,\n return_values: self.return_values.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n unencrypted_logs_hash: unencrypted_logs_hash,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.inputs.block_data,\n prover_address: self.prover_address,\n };\n pub_circuit_pub_inputs\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n }\n\n fn message_portal(&mut self, msg: Field) {\n self.new_l2_to_l1_msgs.push(msg);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(self.block_data.l1_to_l2_messages_tree_root, this, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_public_function(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n args: [Field; ARGS_COUNT],\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = abi::hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n call_public_function_internal(\n contract_address, \n function_selector, \n args_hash,\n )\n }\n\n fn call_public_function_no_args(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n ) -> [Field; RETURN_VALUES_LENGTH] {\n call_public_function_internal(\n contract_address, \n function_selector, \n 0,\n )\n }\n\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/context" + }, + "33": { + "source": "use crate::context::PrivateContext;\nuse crate::oracle;\nuse crate::types::point::Point;\n\nfn emit_encrypted_log(\n context: &mut PrivateContext,\n contract_address: Field,\n storage_slot: Field,\n encryption_pub_key: Point,\n log: [Field; N],\n) {\n let _ = oracle::logs::emit_encrypted_log(contract_address, storage_slot, encryption_pub_key, log);\n context.accumulate_encrypted_logs(log);\n}\n\nfn emit_unencrypted_log(\n context: &mut PrivateContext,\n log: T,\n) {\n let _ = oracle::logs::emit_unencrypted_log(log);\n context.accumulate_unencrypted_logs(log);\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/log" + }, + "39": { + "source": "use dep::std::option::Option;\nuse crate::abi::PublicContextInputs;\nuse crate::context::{\n PrivateContext,\n PublicContext,\n};\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_inner_note_hash,\n};\nuse crate::oracle::create_commitment::create_commitment;\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\nuse crate::constants_gen::EMPTY_NULLIFIED_COMMITMENT;\n\nfn create_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface,\n) {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n let serialise = note_interface.serialise;\n let preimage = serialise(*note);\n assert(notify_created_note(storage_slot, preimage, inner_note_hash) == 0);\n\n context.push_new_note_hash(inner_note_hash);\n}\n\nfn create_note_hash_from_public(\n context: PublicContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface,\n) {\n let contract_address = context.this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n create_commitment(inner_note_hash);\n}\n\nfn destroy_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: Note,\n note_interface: NoteInterface,\n) {\n let mut nullifier = 0;\n let mut nullified_commitment: Field = EMPTY_NULLIFIED_COMMITMENT;\n let compute_nullifier = note_interface.compute_nullifier;\n nullifier = compute_nullifier(note);\n\n let serialise = note_interface.serialise;\n let preimage = serialise(note);\n\n // We also need the note commitment corresponding to the \"nullifier\"\n let get_header = note_interface.get_header;\n let header = get_header(note);\n // 0 nonce implies \"transient\" nullifier (must nullify a commitment in this TX).\n // `nullified_commitment` is used to inform the kernel which pending commitment\n // the nullifier corresponds to so they can be matched and both squashed/deleted.\n // nonzero nonce implies \"persistable\" nullifier (nullifies a persistent/in-tree\n // commitment) in which case `nullified_commitment` is not used since the kernel\n // just siloes and forwards the nullier to its output.\n if (header.nonce == 0) {\n // TODO(suyash): Can we reuse the note commitment computed in `compute_nullifier`?\n nullified_commitment = compute_inner_note_hash(note_interface, note);\n }\n assert(notify_nullified_note(storage_slot, nullifier, preimage, nullified_commitment) == 0);\n\n context.push_new_nullifier(nullifier, nullified_commitment)\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/lifecycle" + }, + "40": { + "source": "use dep::std::option::Option;\nuse crate::constants_gen::{\n MAX_READ_REQUESTS_PER_CALL,\n GET_NOTE_ORACLE_RETURN_LENGTH,\n GET_NOTES_ORACLE_RETURN_LENGTH,\n MAX_NOTES_PER_PAGE,\n VIEW_NOTE_ORACLE_RETURN_LENGTH,\n};\nuse crate::context::PrivateContext;\nuse crate::note::{\n note_getter_options::{NoteGetterOptions, Select, Sort},\n note_interface::NoteInterface,\n note_header::NoteHeader,\n note_viewer_options::NoteViewerOptions,\n utils::compute_note_hash_for_read_or_nullify,\n utils::compute_unique_siloed_note_hash,\n utils::compute_inner_note_hash,\n utils::compute_siloed_note_hash,\n};\nuse crate::messaging::get_commitment_getter_data::make_commitment_getter_data;\nuse crate::oracle;\nuse crate::types::vec::BoundedVec;\n\nfn check_note_header(\n context: PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: Note,\n) {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n let contract_address = context.this_address();\n assert(header.contract_address == contract_address);\n assert(header.storage_slot == storage_slot);\n}\n\nfn ensure_note_exists(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: &mut Note,\n) {\n let saved_note = get_note_internal(storage_slot, note_interface);\n\n // Only copy over the header to the original note to make sure the preimage is the same.\n let get_header = note_interface.get_header;\n let set_header = note_interface.set_header;\n let note_header = get_header(saved_note);\n set_header(note, note_header);\n\n check_note_header(*context, storage_slot, note_interface, *note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, *note);\n context.push_read_request(note_hash_for_read_request);\n}\n\n// Ensure a note's hash exists in the tree without retrieving the entire\n// notes via the oracle.\n// Modifies the note by populating it with header info.\nfn ensure_note_hash_exists(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: &mut Note,\n) {\n // Initialize header of note. Must be done before computing note hashes as it initializes the:\n // - storage slot (used in inner note hash)\n // - the contract address (used in siloed note hash)\n // - and the nonce (used in the unique siloed note hash)\n let set_header = note_interface.set_header;\n let note_header = NoteHeader {\n contract_address: (*context).this_address(),\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // real nonce (once public kernel applies nonces).\n nonce: 0,\n storage_slot\n };\n set_header(note, note_header);\n\n // Get a note from oracle and early out if it doesn't exist.\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n let raw_oracle_ret = oracle::get_commitment::get_commitment(inner_note_hash);\n let deserialized_oracle_ret = make_commitment_getter_data(raw_oracle_ret, 0);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // unique_siloed_note_hash once public kernel applies nonces\n let saved_siloed_note_hash = deserialized_oracle_ret.message;\n\n assert(saved_siloed_note_hash != 0); // TODO(dbanks12): necessary?\n\n check_note_header(*context, storage_slot, note_interface, *note);\n\n // Ensure that the note hash retrieved from oracle matches the one computed from note.\n let computed_siloed_note_hash = compute_siloed_note_hash(note_interface, *note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // compute_note_hash_for_read_or_nullify once public kernel applies nonces\n assert(computed_siloed_note_hash == saved_siloed_note_hash);\n\n context.push_read_request(computed_siloed_note_hash);\n}\n\nfn get_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n) -> Note {\n let note = get_note_internal(storage_slot, note_interface);\n\n check_note_header(*context, storage_slot, note_interface, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n\n context.push_read_request(note_hash_for_read_request);\n note\n}\n\nfn get_notes(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n options: NoteGetterOptions,\n) -> [Option; MAX_READ_REQUESTS_PER_CALL] {\n let opt_notes = get_notes_internal(storage_slot, note_interface, options);\n for i in 0..opt_notes.len() {\n let opt_note = opt_notes[i];\n let mut note_hash_for_read_request = 0;\n if opt_note.is_some() {\n let note = opt_note.unwrap_unchecked();\n check_note_header(*context, storage_slot, note_interface, note);\n note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n };\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_read_request(note_hash_for_read_request);\n };\n\n // TODO(#1660)\n // Move it back to get_notes_internal and only make read request for selected notes.\n let filter = options.filter;\n let filter_args = options.filter_args;\n filter(opt_notes, filter_args)\n}\n\nunconstrained fn get_note_internal(\n storage_slot: Field,\n note_interface: NoteInterface,\n) -> Note {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n 0,\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n placeholder_note,\n placeholder_fields,\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal(\n storage_slot: Field,\n note_interface: NoteInterface,\n options: NoteGetterOptions,\n) -> [Option; MAX_READ_REQUESTS_PER_CALL] {\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n num_selects,\n select_by,\n select_values,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields,\n )\n}\n\nunconstrained fn view_notes(\n storage_slot: Field,\n note_interface: NoteInterface,\n options: NoteViewerOptions,\n) -> [Option; MAX_NOTES_PER_PAGE] {\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n num_selects,\n select_by,\n select_values,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields,\n )\n}\n\nunconstrained fn flatten_options(\n selects: BoundedVec, N>,\n sorts: BoundedVec, N>,\n) -> (u8, [u8; N], [Field; N], [u8; N], [u2; N]) {\n let mut num_selects = 0;\n let mut select_by = [0; N];\n let mut select_values = [0; N];\n for i in 0..selects.len {\n let select = selects.get(i);\n if select.is_some() {\n select_by[num_selects] = select.unwrap_unchecked().field_index;\n select_values[num_selects] = select.unwrap_unchecked().value;\n num_selects += 1;\n };\n };\n\n let mut sort_by = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sorts.len {\n let sort = sorts.get(i);\n if sort.is_some() {\n sort_by[i] = sort.unwrap_unchecked().field_index;\n sort_order[i] = sort.unwrap_unchecked().order;\n };\n };\n\n (num_selects, select_by, select_values, sort_by, sort_order)\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_getter" + }, + "42": { + "source": "use dep::std::hash::{pedersen, pedersen_with_separator};\nuse crate::constants_gen::{GENERATOR_INDEX__UNIQUE_COMMITMENT, GENERATOR_INDEX__SILOED_COMMITMENT};\n\nfn compute_inner_hash(storage_slot: Field, note_hash: Field) -> Field {\n // TODO(#1205) Do we need a generator index here?\n pedersen([storage_slot, note_hash])[0]\n}\n\nfn compute_siloed_hash(contract_address: Field, inner_note_hash: Field) -> Field {\n let inputs = [contract_address, inner_note_hash];\n pedersen_with_separator(inputs, GENERATOR_INDEX__SILOED_COMMITMENT)[0]\n}\n\nfn compute_unique_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [nonce, siloed_note_hash];\n pedersen_with_separator(inputs, GENERATOR_INDEX__UNIQUE_COMMITMENT)[0]\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_hash" + }, + "46": { + "source": "use crate::note::{\n note_hash::{compute_inner_hash, compute_siloed_hash, compute_unique_hash},\n note_header::NoteHeader,\n note_interface::NoteInterface,\n};\nuse crate::utils::arr_copy_slice;\n\nfn compute_inner_note_hash(\n note_interface: NoteInterface,\n note: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n\n compute_inner_hash(header.storage_slot, note_hash)\n}\n\nfn compute_siloed_note_hash(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let inner_note_hash = compute_inner_note_hash(note_interface, note_with_header);\n\n compute_siloed_hash(header.contract_address, inner_note_hash)\n}\n\nfn compute_unique_siloed_note_hash(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let siloed_note_hash = compute_siloed_note_hash(note_interface, note_with_header);\n\n compute_unique_hash(header.nonce, siloed_note_hash)\n}\n\nfn compute_note_hash_for_read_or_nullify(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n if (header.nonce == 0) {\n // when nonce is zero, that means we are reading a pending note (doesn't have a nonce yet),\n // so we just read the inner_note_hash (kernel will silo by contract address)\n compute_inner_note_hash(note_interface, note_with_header)\n } else {\n // When nonce is nonzero, that means we are reading a settled note (from tree) created in a\n // previous TX. So we need the unique_siloed_note_hash which has already been hashed with\n // contract address and then nonce. This hash will match the existing leaf in the private\n // data tree, so the kernel can just perform a membership check directly on this hash/leaf.\n compute_unique_siloed_note_hash(note_interface, note_with_header)\n }\n\n}\n\nfn compute_note_hash_and_nullifier(\n note_interface: NoteInterface,\n note_header: NoteHeader,\n preimage: [Field; S],\n) -> [Field; 4] {\n let deserialise = note_interface.deserialise;\n let set_header = note_interface.set_header;\n let mut note = deserialise(arr_copy_slice(preimage, [0; N], 0));\n set_header(&mut note, note_header);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n let inner_note_hash = compute_inner_hash(note_header.storage_slot, note_hash);\n\n let siloed_note_hash = compute_siloed_hash(note_header.contract_address, inner_note_hash);\n\n let unique_siloed_note_hash = compute_unique_hash(note_header.nonce, siloed_note_hash);\n\n let compute_nullifier = note_interface.compute_nullifier;\n let inner_nullifier = compute_nullifier(note);\n\n [inner_note_hash, siloed_note_hash, unique_siloed_note_hash, inner_nullifier]\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/utils" + }, + "48": { + "source": "use dep::std::hash::pedersen_with_separator;\nuse crate::context::PrivateContext;\nuse crate::note::{\n lifecycle::create_note,\n note_getter::{get_note, view_notes},\n note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions,\n};\nuse crate::oracle;\nuse crate::constants_gen::{\n GENERATOR_INDEX__INITIALISATION_NULLIFIER,\n EMPTY_NULLIFIED_COMMITMENT,\n};\n\nstruct ImmutableSingleton {\n storage_slot: Field,\n note_interface: NoteInterface,\n}\n\nimpl ImmutableSingleton {\n fn new(storage_slot: Field, note_interface: NoteInterface) -> Self {\n ImmutableSingleton { storage_slot, note_interface }\n }\n\n unconstrained fn is_initialised(self) -> bool {\n let nullifier = self.compute_initialisation_nullifier();\n oracle::notes::is_nullifier_emitted(nullifier)\n }\n\n fn initialise(self, context: &mut PrivateContext, note: &mut Note) {\n // Nullify the storage slot.\n let nullifier = self.compute_initialisation_nullifier();\n context.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT);\n\n create_note(context, self.storage_slot, note, self.note_interface);\n }\n\n fn compute_initialisation_nullifier(self) -> Field {\n pedersen_with_separator([self.storage_slot], GENERATOR_INDEX__INITIALISATION_NULLIFIER)[0]\n }\n \n fn get_note(self, context: &mut PrivateContext) -> Note {\n let storage_slot = self.storage_slot;\n get_note(context, storage_slot, self.note_interface)\n }\n\n unconstrained fn view_note(self) -> Note {\n let options = NoteViewerOptions::new().set_limit(1);\n view_notes(self.storage_slot, self.note_interface, options)[0].unwrap()\n }\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/state_vars/immutable_singleton" + }, + "55": { + "source": "\nstruct BoundedVec {\n storage: [T; MaxLen],\n len: Field,\n}\n\nimpl BoundedVec {\n fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\n }\n\n fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64);\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n fn push_array(&mut self, array: [T; Len]) {\n let newLen = self.len + array.len();\n assert(newLen as u64 <= MaxLen as u64);\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = newLen;\n }\n\n fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n\n let elem = self.storage[self.len - 1];\n self.len -= 1;\n elem\n }\n}\n\n// #[test]\n// fn test_vec() {\n// let vec: BoundedVec = BoundedVec::new(0);\n// assert(vec.len == 0);\n// let vec1 = vec.push(1);\n// assert(vec1.len == 1);\n// let vec2 = vec1.push(1);\n// assert(vec2.len == 2);\n// let vec3 = vec2.push(1);\n// assert(vec3.len == 3);\n// let x = vec3.pop();\n// assert(x == 1);\n// }", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/types/vec" + }, + "60": { + "source": "fn arr_copy_slice(\n src: [T; N],\n mut dst: [T; M],\n offset: Field,\n) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/utils" + }, + "61": { + "source": "use crate::abi::FunctionData;\nuse crate::abi::PrivateCircuitPublicInputs;\nuse crate::constants_gen::GENERATOR_INDEX__CALL_STACK_ITEM;\n\nstruct PrivateCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PrivateCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/private_call_stack_item" + }, + "62": { + "source": "use crate::{\n abi,\n abi::{\n PublicCircuitPublicInputs,\n FunctionData,\n },\n};\nuse crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__CALL_STACK_ITEM,\n};\n\n// oracles\nuse crate::oracle::{\n enqueue_public_function_call::enqueue_public_function_call_internal,\n};\n\nstruct PublicCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PublicCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PublicCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}\n\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/public_call_stack_item" + }, + "65": { + "source": "use crate::constants_gen::CALL_PRIVATE_FUNCTION_RETURN_SIZE;\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: Field,\n _function_selector: Field,\n _args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {}\n\nunconstrained fn call_private_function_internal(\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {\n call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n )\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/call_private_function" + }, + "73": { + "source": "use crate::types::point::Point;\nuse dep::std::hash;\nuse crate::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\n\n#[oracle(getPublicKey)]\nfn get_public_key_oracle(_address: Field) -> [Field; 3] {}\n\nunconstrained fn get_public_key_internal(address: Field) -> [Field; 3] {\n get_public_key_oracle(address)\n}\n\nfn get_public_key(address: Field) -> Point {\n let result = get_public_key_internal(address);\n let pub_key_x = result[0];\n let pub_key_y = result[1];\n let partial_address = result[2];\n \n let calculated_address = hash::pedersen_with_separator([pub_key_x, pub_key_y, partial_address], GENERATOR_INDEX__CONTRACT_ADDRESS)[0];\n assert(calculated_address == address);\n \n Point::new(pub_key_x, pub_key_y)\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_public_key" + }, + "74": { + "source": "use crate::types::point::Point;\n\n#[oracle(getSecretKey)]\nfn get_secret_key_oracle(_owner: Point) -> Field {}\n\nunconstrained fn get_secret_key(owner: Point) -> Field {\n get_secret_key_oracle(owner)\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_secret_key" + }, + "76": { + "source": "\n// contract_address + \n// args_hash +\n// crate::abi::FUNCTION_DATA_SIZE +\n// crate::abi::CALL_CONTEXT_SIZE +\n// = 2 + 4 + 6\nglobal ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE: Field = 12;\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: Field, \n _function_selector: Field, \n _args_hash: Field,\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {}\n\nunconstrained fn enqueue_public_function_call_internal(\n contract_address: Field, \n function_selector: Field,\n args_hash: Field\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {\n enqueue_public_function_call_oracle(\n contract_address, \n function_selector, \n args_hash,\n )\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/enqueue_public_function_call" + }, + "78": { + "source": "use dep::std::option::Option;\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n};\nuse crate::utils::arr_copy_slice;\n\n#[oracle(notifyCreatedNote)]\nfn notify_created_note_oracle(\n _storage_slot: Field,\n _preimage: [Field; N],\n _inner_note_hash: Field,\n) -> Field {}\n\nunconstrained fn notify_created_note(\n storage_slot: Field,\n preimage: [Field; N],\n inner_note_hash: Field,\n) -> Field {\n notify_created_note_oracle(storage_slot, preimage, inner_note_hash)\n}\n\n#[oracle(notifyNullifiedNote)]\nfn notify_nullified_note_oracle(\n _storage_slot: Field,\n _nullifier: Field,\n _preimage: [Field; N],\n _inner_note_hash: Field,\n) -> Field {}\n\nunconstrained fn notify_nullified_note(\n storage_slot: Field,\n nullifier: Field,\n preimage: [Field; N],\n inner_note_hash: Field,\n) -> Field {\n notify_nullified_note_oracle(storage_slot, nullifier, preimage, inner_note_hash)\n}\n\n#[oracle(getNotes)]\nfn get_notes_oracle(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by: [u8; N],\n _select_values: [Field; N],\n _sort_by: [u8; N],\n _sort_order: [u2; N],\n _limit: u32,\n _offset: u32,\n _return_size: u32,\n _placeholder_fields: [Field; S],\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper(\n storage_slot: Field,\n num_selects: u8,\n select_by: [u8; N],\n select_values: [Field; N],\n sort_by: [u8; N],\n sort_order: [u2; N],\n limit: u32,\n offset: u32,\n mut placeholder_fields: [Field; S],\n)-> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(storage_slot, num_selects, select_by, select_values, sort_by, sort_order, limit, offset, return_size, placeholder_fields)\n}\n\nunconstrained fn get_notes(\n storage_slot: Field,\n note_interface: NoteInterface,\n num_selects: u8,\n select_by: [u8; M],\n select_values: [Field; M],\n sort_by: [u8; M],\n sort_order: [u2; M],\n limit: u32,\n offset: u32,\n mut placeholder_opt_notes: [Option; S], // TODO: Remove it and use `limit` to initialise the note array.\n placeholder_fields: [Field; NS], // TODO: Remove it and use `limit` to initialise the note array.\n) -> [Option; S] {\n let fields = get_notes_oracle_wrapper(storage_slot, num_selects, select_by, select_values, sort_by, sort_order, limit, offset, placeholder_fields);\n let num_notes = fields[0] as u32;\n let contract_address = fields[1];\n let deserialise = note_interface.deserialise;\n let set_header = note_interface.set_header;\n for i in 0..placeholder_opt_notes.len() {\n if i as u32 < num_notes {\n // lengths named as per typescript.\n let return_header_length: Field = 2; // num_notes & contract_address.\n let extra_preimage_length: Field = 2; // nonce & is_some.\n let read_offset: Field = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let header = NoteHeader { contract_address, nonce, storage_slot };\n let is_some = fields[read_offset + 1] as bool;\n if is_some {\n let preimage = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = deserialise(preimage);\n set_header(&mut note, header);\n placeholder_opt_notes[i] = Option::some(note);\n }\n };\n };\n placeholder_opt_notes\n}\n\nunconstrained fn is_nullifier_emitted(nullifier: Field) -> bool {\n // TODO\n nullifier == 0\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/notes" + }, + "80": { + "source": "use crate::types::point::Point;\nuse crate::constants_gen::NUM_FIELDS_PER_SHA256;\n\n// TODO: Should take encrypted data.\n#[oracle(emitEncryptedLog)]\nfn emit_encrypted_log_oracle(\n _contract_address: Field,\n _storage_slot: Field,\n _encryption_pub_key: Point,\n _preimage: [Field; N],\n) -> Field {}\n\nunconstrained fn emit_encrypted_log(\n contract_address: Field,\n storage_slot: Field,\n encryption_pub_key: Point,\n preimage: [Field; N],\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n [emit_encrypted_log_oracle(\n contract_address,\n storage_slot,\n encryption_pub_key,\n preimage,\n ), 0]\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle(_message: T) -> Field {}\n\nunconstrained fn emit_unencrypted_log(message: T) -> [Field; NUM_FIELDS_PER_SHA256] {\n // https://github.com/AztecProtocol/aztec-packages/issues/885\n [emit_unencrypted_log_oracle(message), 0]\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/logs" + }, + "81": { + "source": "use crate::abi;\nuse crate::types::vec::BoundedVec;\nuse crate::context::PrivateContext;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem; \n\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\nglobal FUNCTION_CALL_SIZE: Field = 3;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: Field,\n target_address: Field,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector, self.target_address]\n }\n}\n\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\n\nstruct EntrypointPayload {\n // Noir doesnt support nested arrays or structs yet so we flatten everything\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n\nimpl EntrypointPayload {\n // TODO(#1207) Do we need a generator index?\n fn hash(self) -> Field {\n dep::std::hash::pedersen(self.serialize())[0]\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.flattened_args_hashes);\n fields.push_array(self.flattened_selectors);\n fields.push_array(self.flattened_targets);\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n let args_len = self.flattened_args_hashes.len();\n let selectors_len = self.flattened_selectors.len();\n let targets_len = self.flattened_targets.len();\n\n for i in 0..args_len {\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..selectors_len {\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..targets_len {\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n \n let item_bytes = self.nonce.to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\n }\n\n bytes\n }\n\n // Executes all private and public calls \n fn execute_calls(self, context: &mut PrivateContext) {\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n }\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint" + }, + "84": { + "source": "use dep::std::hash::pedersen;\nuse dep::aztec::note::note_interface::NoteInterface;\nuse dep::aztec::note::note_header::NoteHeader;\nuse dep::aztec::note::utils::compute_unique_siloed_note_hash;\nuse dep::aztec::oracle::get_secret_key::get_secret_key;\nuse dep::aztec::oracle::get_public_key::get_public_key;\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n owner: Field, // We store the owner address only to get the secret key to compute the nullifier\n header: NoteHeader,\n}\n\nimpl EcdsaPublicKeyNote {\n fn new(x: [u8; 32], y: [u8; 32], owner: Field) -> Self {\n EcdsaPublicKeyNote {\n x,\n y,\n owner,\n header: NoteHeader::empty(),\n }\n }\n\n // Serialise the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = owner\n fn serialise(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let bytex: Field = self.x[31 - i] as Field;\n x = x + (bytex * mul);\n let bytey: Field = self.y[31 - i] as Field;\n y = y + (bytey * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n let res: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] = [x, last_x, y, last_y, self.owner];\n res\n }\n\n fn compute_nullifier(self) -> Field {\n let unique_siloed_note_hash = compute_unique_siloed_note_hash(EcdsaPublicKeyNoteInterface, self);\n let owner_nullifying_public_key = get_public_key(self.owner);\n let secret = get_secret_key(owner_nullifying_public_key);\n dep::std::hash::pedersen([\n unique_siloed_note_hash,\n secret,\n ])[0]\n }\n\n fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n}\n\nfn deserialise(preimage: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0;32];\n let mut y: [u8; 32] = [0;32];\n\n let part_x = preimage[0].to_be_bytes(32);\n for i in 0..31 { x[i] = part_x[i + 1]; }\n x[31] = preimage[1].to_be_bytes(32)[31];\n\n let part_y = preimage[2].to_be_bytes(32);\n for i in 0..31 { y[i] = part_y[i + 1]; }\n y[31] = preimage[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote {\n x,\n y,\n owner: preimage[4],\n header: NoteHeader::empty(),\n }\n}\n\nfn serialise(note: EcdsaPublicKeyNote) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n note.serialise()\n}\n\nfn compute_note_hash(note: EcdsaPublicKeyNote) -> Field {\n dep::std::hash::pedersen(note.serialise())[0]\n}\n\nfn compute_nullifier(note: EcdsaPublicKeyNote) -> Field {\n note.compute_nullifier()\n}\n\nfn get_header(note: EcdsaPublicKeyNote) -> NoteHeader {\n note.header\n}\n\nfn set_header(note: &mut EcdsaPublicKeyNote, header: NoteHeader) {\n note.set_header(header);\n}\n\nglobal EcdsaPublicKeyNoteInterface = NoteInterface {\n deserialise,\n serialise,\n compute_note_hash,\n compute_nullifier,\n get_header,\n set_header,\n};\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/ecdsa_public_key_note" + } + } + } +} diff --git a/yarn-project/aztec.js/src/abis/schnorr_account_contract.json b/yarn-project/aztec.js/src/abis/schnorr_account_contract.json new file mode 100644 index 00000000000..3e6ee6adc11 --- /dev/null +++ b/yarn-project/aztec.js/src/abis/schnorr_account_contract.json @@ -0,0 +1,253 @@ +{ + "name": "SchnorrAccount", + "functions": [ + { + "name": "compute_note_hash_and_nullifier", + "functionType": "unconstrained", + "isInternal": false, + "parameters": [ + { + "name": "contract_address", + "type": { + "kind": "field" + }, + "visibility": "private" + }, + { + "name": "nonce", + "type": { + "kind": "field" + }, + "visibility": "private" + }, + { + "name": "storage_slot", + "type": { + "kind": "field" + }, + "visibility": "private" + }, + { + "name": "preimage", + "type": { + "kind": "array", + "length": 3, + "type": { + "kind": "field" + } + }, + "visibility": "private" + } + ], + "returnTypes": [ + { + "kind": "array", + "length": 4, + "type": { + "kind": "field" + } + } + ], + "bytecode": "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", + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + }, + { + "name": "constructor", + "functionType": "secret", + "isInternal": false, + "parameters": [ + { + "name": "signing_pub_key_x", + "type": { + "kind": "field" + }, + "visibility": "public" + }, + { + "name": "signing_pub_key_y", + "type": { + "kind": "field" + }, + "visibility": "public" + } + ], + "returnTypes": [], + "bytecode": "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", + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + }, + { + "name": "entrypoint", + "functionType": "secret", + "isInternal": false, + "parameters": [ + { + "name": "payload", + "type": { + "kind": "struct", + "name": "EntrypointPayload", + "fields": [ + { + "name": "flattened_args_hashes", + "type": { + "kind": "array", + "length": 4, + "type": { + "kind": "field" + } + } + }, + { + "name": "flattened_selectors", + "type": { + "kind": "array", + "length": 4, + "type": { + "kind": "field" + } + } + }, + { + "name": "flattened_targets", + "type": { + "kind": "array", + "length": 4, + "type": { + "kind": "field" + } + } + }, + { + "name": "nonce", + "type": { + "kind": "field" + } + } + ] + }, + "visibility": "public" + }, + { + "name": "signature", + "type": { + "kind": "array", + "length": 64, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + } + }, + "visibility": "public" + } + ], + "returnTypes": [], + "bytecode": "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", + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + } + ], + "debug": { + "debugSymbols": [ + "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dPZ6Ons9nb2ezl5PZ6+ns9fT2evp7PV09no6ez2dvZ7OXk9nr6ez1+nsdTp7nc5ep7PX6ex1Onudzl6ns9fp7HU6e53OXqez1+nsdTp7nc5ep7PX6ex1Onudzl6ns9fp7HU6e53OXqez1+nsdTp7nc5ep7PX6ex1Onudzl6ns9fp7HU6e53OXqez1+nsdTp7nc5ep7PX6ex1Onudzl6ns9dZ7HXN6ytb9ydkeSWY5ZVglleCWV4JZnkllBV7xSyvBLO8EszySjBzKyn2iplbSbFXzNxKir1SVuwVM7eSYq+YuZUUe8XMraTYK2ZuJcVeMXMrKfaKmVtJsVfM3EqKvWLmVlLsFTO3kmKvmLmVFHvFzK2k2CtmbiXFXjFzKyn2iplbSbFXzNxKir1i5lZS7BUzt5Jir5i5lRR7xcytpNgrZmolq9grZmolq9grZmolq9grZmolq9grZmolq9grZm4lxV4xcysp9oqZW0mxV8zcSoq9YuZWUuwVM7eSYq+YuZUUe8XMraTYK2ZuJcVeMXMrKfaKmVtJsVfM3EqKvWLmVlLsFTO3kmKvmLmVFHvFzK2k2CtmbiXFXjFzK3H2upy9Lmevy9nrcva6nL0uZ6/L2ety9rqcvS5nr8vZ63L2upy9Lmevy9nrcva6nL0uZ6/L2ety9rqcvS5nr8vZ63L2upy9Lmevy9nrcva6nL0uZ6/L2ety9rqcvS5nr8vZ63L2upy9Lmevy9nrcva6nL0uZ6/L2ety9rqcvS5nr8vZ63L2upy9Lmevy9nrcva6nL0uZ6/L2evl7PVy9no5e72cvV7OXi9nr5ez18vZ6+Xs9XL2ejl7vZy9Xs5eL2evl7PXy9nr5ez1cvZ6OXu9nL1ezl4vZ6+Xs9fL2evl7PVy9no5e72cvV7OXi9nr5ez18vZ6+Xs9XL2ejl7vZy9Xs5eL2evl7PXy9nr5ez1cvZ6OXu9nL1ezl4vZ6+Xs9fL2evl7PVy9no5e72cvV7OXi9nr5ez18vZ6+Xs9XL2ejl7vZy9Xs5eL2evl7PXy9nr5ez1cvZ6OXu9nL1ezl4vZ6+Xs9fL2evl7PVy9no5e72cvV7OXi9nr5ez18vZ6+Xs9XL2ejl7vZy9Xs5eL2evl7PXy9nr5ez1cvZ6OXu9nL1ezl4vZ6+Xs9fL2evl7PVy9no5e72cvd7OXm9nr7ez19vZ6+3s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l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5F+m7p/TdU/ruKX33lL57St89pe+e0ndP6bun9N1T+u4pffeUvntK3z2l757Sd0/pu6f03VP67il995S+e0rfPaXvntJ3T+m7p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03VV8dzu/7p8Yz3eVurwX7vJeuMt7wa74Lnd5L9zlvXCX98Jd3gt3eS/cyb0U3+VO7qX4LnbFd7mTeym+y53cS/Fd7uReiu9yJ/dSfJc7t5er+C53bi9X8V3u3F6u4rvcub1cxXe5c3u5iu9yJ/dSfJc7uZfiu9zJvRTf5U7upfgud3IvxXe5k3spvsud3EvxXe7kXorvcif3UnyXO7mX4rvcyb0U3+VO7qX4LndyL8V3uZN7Kb7LndxL8V3u5F6K73In91J8lzu5l+K73Mm9FN/lTu6l+C53ci/Fd7mTeym+y53cS/Fd7uReiu9yJ/dSfJc7uZfiu9zJvRTf5U7upfgud3IvxXe5k3spvsud3EvxXe7kXorvcif3UnyXO7kX6buX9N1L+u4lffeSvntJ372k717Sdy/pu5f03Uv67iV995K+e0nfvaTvXtJ3L+m7l/TdS/ruJX33kr57Sd+9pO9e0ndv6bu39N1b+u4tffeWvntL372l797Sd2/pu7f03Vv67i1995a+e0vfvaXv3tJ3b+m7t/TdW/ruLX33lr57S9+9pe/e0ndv6bu39N1b+u4tffeWvntL372l797Sd2/pu7f03Vv67i1995a+e0vfvaXv3tJ3b+m7t/TdW/ruLX33lr57S9+9pe/e0ndv6bu39N1b+u4tffeWvntL372l797Sd2/pu7f03Vv67i1995a+e0vfvaXv3tJ3b+m7t/TdW/ruLX33lr57S9+9pe/e0ndv6bu39N1b+u4tffeWvntL372l797Sd2/pu7f03Vv67i1995a+e0vfvaXv3tJ3b+m7t/TdW/ruLX33lr57S9+9pe/e0ndv6bu39N1b+u7tfHf/ON99OrWXp1N7eTq1l6dTe3k6tZenU3t5OrWXp1N7eTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0ci/Od59O7sX57tPJvTjffTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0ci/Od59O7sX57tPJvTjffTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0ci/Od59O7sX57tPJvTjffTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0ci/Od59O7sX57tPJvTjffTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0ci/Od59O7sX57tPJvTjffTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0bi+b9N1N+u4mfXeTvrtJ392k727Sdzfpu5v03U367iZ9d5O+u0nf3aTvbtJ3N+m7m/TdTfruJn13k767Sd/dpO9u0nc36bub9N1N+u4mfXeTvrtJ392k727SdzfpGpt0jU26xiZdY5OusUnX2KRrbNI1NukaW3aN5x/Hv2TPD/Z3NT/fVfwWsIrfAVbxG6AqOwFW8dPHKn72WMWfnG3cX9W4U6U+jfxb8HZcX9W5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", + "eJzt3d1uI0mSpuF7qePGgGFm/te3stiDxu4MMMCgZ7DdZ426943KSlKqojnd9GbQRCp5VgXkJxpDXzidjxjBf/3yX//9f/72z//877//45e//uuXtv3y1//1r1/+8T9/+/tv//uPf/7t//3zl79u41T/8su///3//vafqr/+5Zf/+M//+vdf/nr69S/X/1a1lfM/Vivt8q91+/V//+WXJnd/BL37I9jdH6Hc/RHq3R+h3f0R+t0fYdz7Efrp7o9w93O63/2c7nc/p/vdz+l+93O63/2c7nc/p/vdz+l+93N63P2cHnc/p8fdz+lxwDldtF8eoYr++REOOKcXj3DAOb14hAPO6cUjHHBOLx7hgHN68QgHnNO3H2E7HXBSrx7igLN69RAHnNarh7j7eb2d7n5ib6e7n9nb6e6n9nZyz205mXxPyWmcbj+EtXF+hKJv/9a6849tf8Dv/9j2f/32j0+/T+OuA3ecpm7naUT+MI3zk092ebE69XY1urvAPMXom7twPcfo7oL4HKO7C+1zjO4u4A8y+v4Kdv7J+4p3Nbr7wvAco7svOM8xuvtC9hyjZ79AHjh68qupVDuPriKL0Yu1y0+u755n/X305FfTA0eX5FfTI0dPfjX90OitXrret/5+dOcnt/MO2cbin269XiYe29vE3Zx/vB+K85F4d7rp7wcv+fX8bgevXN5elFJu/1Pp5zcXfxhBPnrokvcTHzl0+yLcLoOftkWZtn45v8Ts9j/up/Meq9fFz/2UPifvlJ7ul/IJ50nyDvBBfiWXQg8Zq/PkvHkq2t4f529HL3kTer+jJ+WymutJbv/jWs8tbSpXhyR5c/tor1nl6oD4W2a5bMpFrb47IN8y/l5V++mcsVO/eRD1sivT9jbS/px/+/Hq7ycP+/H+nu+wH+/vig778f7O4bAf778GHvbj/fX8sB/vL3iH/Xh/8Tjsx/un4mE//r5nrd33rLX7nrV237PW7nvW2n3PWrvvWWv3PWvtvmet3festfueteW+Z22571lb7nvWlvueteW+Z22571lb7nvWlvueteW+Z22571lb73vW1vuetfW+Z22971lb73vW1vuetfW+Z22971lb73vW1vuete2+Z61/ocJxP/6+Z61/icJxP/6+Z61/ccJxP/6+Z61/WcJxP/6+Z61/QcJhP96/GuG4H3/fs9a/DuG4H3/f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" + ], + "fileMap": { + "0": { + "source": "mod storage;\nmod public_key_note;\n\n// Account contract that uses Schnorr signatures for authentication.\n// The signing key is stored in an immutable private note and should be different from the encryption/nullifying key.\ncontract SchnorrAccount {\n use dep::std;\n use dep::aztec::entrypoint;\n use dep::aztec::entrypoint::EntrypointPayload;\n use dep::aztec::abi;\n use dep::aztec::abi::PrivateContextInputs;\n use dep::aztec::abi::CallContext;\n use dep::aztec::private_call_stack_item::PrivateCallStackItem;\n use dep::aztec::public_call_stack_item::PublicCallStackItem;\n use dep::aztec::context::PrivateContext;\n use dep::aztec::log::emit_encrypted_log;\n use dep::aztec::oracle::get_public_key::get_public_key;\n use dep::aztec::types::vec::BoundedVec;\n use dep::aztec::types::point::Point;\n use dep::aztec::note::utils as note_utils;\n use dep::aztec::note::note_header::NoteHeader;\n use dep::aztec::constants_gen::MAX_NOTE_FIELDS_LENGTH;\n use dep::aztec::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\n use dep::aztec::constants_gen::GENERATOR_INDEX__SIGNATURE_PAYLOAD;\n\n use crate::storage::Storage;\n use crate::public_key_note::PublicKeyNote;\n use crate::public_key_note::PublicKeyNoteMethods;\n use crate::public_key_note::PUBLIC_KEY_NOTE_LEN;\n\n fn entrypoint(\n inputs: pub PrivateContextInputs,\n payload: pub EntrypointPayload, // contains a set of arguments, selectors, targets and a nonce\n signature: pub [u8;64], // schnorr signature of the payload hash\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n // Initialize context\n // ENTRYPOINT_PAYLOAD_SIZE(13) + 64\n let mut args: BoundedVec = BoundedVec::new(0);\n args.push_array(payload.serialize());\n for byte in signature { args.push(byte as Field); }\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\n\n // Load public key from storage\n let storage = Storage::init();\n let public_key = storage.signing_public_key.get_note(&mut context);\n\n // Verify payload signature\n let payload_fields: [Field; entrypoint::ENTRYPOINT_PAYLOAD_SIZE] = payload.serialize();\n let message_field: Field = std::hash::pedersen_with_separator(payload_fields, GENERATOR_INDEX__SIGNATURE_PAYLOAD)[0];\n let message_bytes = message_field.to_be_bytes(32);\n\n // Verify signature of the payload bytes\n let verification = std::schnorr::verify_signature(public_key.x, public_key.y, signature, message_bytes);\n assert(verification == true);\n\n // Execute calls\n payload.execute_calls(&mut context);\n\n context.finish()\n }\n\n // Constructs the contract\n fn constructor(\n inputs: pub PrivateContextInputs,\n signing_pub_key_x: pub Field,\n signing_pub_key_y: pub Field,\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n let storage = Storage::init();\n \n let mut context = PrivateContext::new(inputs, abi::hash_args([signing_pub_key_x, signing_pub_key_y]));\n \n let this = context.this_address();\n let mut pub_key_note = PublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n storage.signing_public_key.initialise(&mut context, &mut pub_key_note);\n \n emit_encrypted_log(\n &mut context,\n this,\n storage.signing_public_key.storage_slot,\n get_public_key(this),\n pub_key_note.serialise(),\n );\n\n context.finish()\n }\n\n // Computes notes hash and nullifier.\n // Note 1: Needs to be defined by every contract producing logs.\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\n unconstrained fn compute_note_hash_and_nullifier(contract_address: Field, nonce: Field, storage_slot: Field, preimage: [Field; PUBLIC_KEY_NOTE_LEN]) -> [Field; 4] {\n assert(storage_slot == 1);\n let note_header = NoteHeader { contract_address, nonce, storage_slot };\n note_utils::compute_note_hash_and_nullifier(PublicKeyNoteMethods, note_header, preimage)\n }\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/main" + }, + "3": { + "source": "mod poseidon;\n\n#[foreign(sha256)]\nfn sha256(_input : [u8; N]) -> [u8; 32] {}\n\n#[foreign(blake2s)]\nfn blake2s(_input : [u8; N]) -> [u8; 32] {}\n\nfn pedersen(input : [Field; N]) -> [Field; 2] {\n pedersen_with_separator(input, 0)\n}\n\n#[foreign(pedersen)]\nfn pedersen_with_separator(_input : [Field; N], _separator : u32) -> [Field; 2] {}\n\n#[foreign(hash_to_field_128_security)]\nfn hash_to_field(_input : [Field; N]) -> Field {}\n\n#[foreign(keccak256)]\nfn keccak256(_input : [u8; N], _message_size: u32) -> [u8; 32] {}\n\n// mimc-p/p implementation\n// constants are (publicly generated) random numbers, for instance using keccak as a ROM.\n// You must use constants generated for the native field\n// Rounds number should be ~ log(p)/log(exp)\n// For 254 bit primes, exponent 7 and 91 rounds seems to be recommended\nfn mimc(x: Field, k: Field, constants: [Field; N], exp : Field) -> Field {\n //round 0\n let mut t = x + k;\n let mut h = t.pow_32(exp);\n //next rounds\n for i in 1 .. constants.len() {\n t = h + k + constants[i];\n h = t.pow_32(exp);\n };\n h + k\n}\n\nglobal MIMC_BN254_ROUNDS = 91;\n\n//mimc implementation with hardcoded parameters for BN254 curve.\nfn mimc_bn254(array: [Field; N]) -> Field {\n //mimc parameters\n let exponent = 7;\n //generated from seed \"mimc\" using keccak256 \n let constants: [Field; MIMC_BN254_ROUNDS] = [\n 0, \n 20888961410941983456478427210666206549300505294776164667214940546594746570981,\n 15265126113435022738560151911929040668591755459209400716467504685752745317193,\n 8334177627492981984476504167502758309043212251641796197711684499645635709656,\n 1374324219480165500871639364801692115397519265181803854177629327624133579404,\n 11442588683664344394633565859260176446561886575962616332903193988751292992472,\n 2558901189096558760448896669327086721003508630712968559048179091037845349145,\n 11189978595292752354820141775598510151189959177917284797737745690127318076389,\n 3262966573163560839685415914157855077211340576201936620532175028036746741754,\n 17029914891543225301403832095880481731551830725367286980611178737703889171730,\n 4614037031668406927330683909387957156531244689520944789503628527855167665518,\n 19647356996769918391113967168615123299113119185942498194367262335168397100658,\n 5040699236106090655289931820723926657076483236860546282406111821875672148900,\n 2632385916954580941368956176626336146806721642583847728103570779270161510514,\n 17691411851977575435597871505860208507285462834710151833948561098560743654671,\n 11482807709115676646560379017491661435505951727793345550942389701970904563183,\n 8360838254132998143349158726141014535383109403565779450210746881879715734773,\n 12663821244032248511491386323242575231591777785787269938928497649288048289525,\n 3067001377342968891237590775929219083706800062321980129409398033259904188058,\n 8536471869378957766675292398190944925664113548202769136103887479787957959589,\n 19825444354178182240559170937204690272111734703605805530888940813160705385792,\n 16703465144013840124940690347975638755097486902749048533167980887413919317592,\n 13061236261277650370863439564453267964462486225679643020432589226741411380501,\n 10864774797625152707517901967943775867717907803542223029967000416969007792571,\n 10035653564014594269791753415727486340557376923045841607746250017541686319774,\n 3446968588058668564420958894889124905706353937375068998436129414772610003289,\n 4653317306466493184743870159523234588955994456998076243468148492375236846006,\n 8486711143589723036499933521576871883500223198263343024003617825616410932026,\n 250710584458582618659378487568129931785810765264752039738223488321597070280,\n 2104159799604932521291371026105311735948154964200596636974609406977292675173,\n 16313562605837709339799839901240652934758303521543693857533755376563489378839,\n 6032365105133504724925793806318578936233045029919447519826248813478479197288,\n 14025118133847866722315446277964222215118620050302054655768867040006542798474,\n 7400123822125662712777833064081316757896757785777291653271747396958201309118,\n 1744432620323851751204287974553233986555641872755053103823939564833813704825,\n 8316378125659383262515151597439205374263247719876250938893842106722210729522,\n 6739722627047123650704294650168547689199576889424317598327664349670094847386,\n 21211457866117465531949733809706514799713333930924902519246949506964470524162,\n 13718112532745211817410303291774369209520657938741992779396229864894885156527,\n 5264534817993325015357427094323255342713527811596856940387954546330728068658,\n 18884137497114307927425084003812022333609937761793387700010402412840002189451,\n 5148596049900083984813839872929010525572543381981952060869301611018636120248,\n 19799686398774806587970184652860783461860993790013219899147141137827718662674,\n 19240878651604412704364448729659032944342952609050243268894572835672205984837,\n 10546185249390392695582524554167530669949955276893453512788278945742408153192,\n 5507959600969845538113649209272736011390582494851145043668969080335346810411,\n 18177751737739153338153217698774510185696788019377850245260475034576050820091,\n 19603444733183990109492724100282114612026332366576932662794133334264283907557,\n 10548274686824425401349248282213580046351514091431715597441736281987273193140,\n 1823201861560942974198127384034483127920205835821334101215923769688644479957,\n 11867589662193422187545516240823411225342068709600734253659804646934346124945,\n 18718569356736340558616379408444812528964066420519677106145092918482774343613,\n 10530777752259630125564678480897857853807637120039176813174150229243735996839,\n 20486583726592018813337145844457018474256372770211860618687961310422228379031,\n 12690713110714036569415168795200156516217175005650145422920562694422306200486,\n 17386427286863519095301372413760745749282643730629659997153085139065756667205,\n 2216432659854733047132347621569505613620980842043977268828076165669557467682,\n 6309765381643925252238633914530877025934201680691496500372265330505506717193,\n 20806323192073945401862788605803131761175139076694468214027227878952047793390,\n 4037040458505567977365391535756875199663510397600316887746139396052445718861,\n 19948974083684238245321361840704327952464170097132407924861169241740046562673,\n 845322671528508199439318170916419179535949348988022948153107378280175750024,\n 16222384601744433420585982239113457177459602187868460608565289920306145389382,\n 10232118865851112229330353999139005145127746617219324244541194256766741433339,\n 6699067738555349409504843460654299019000594109597429103342076743347235369120,\n 6220784880752427143725783746407285094967584864656399181815603544365010379208,\n 6129250029437675212264306655559561251995722990149771051304736001195288083309,\n 10773245783118750721454994239248013870822765715268323522295722350908043393604,\n 4490242021765793917495398271905043433053432245571325177153467194570741607167,\n 19596995117319480189066041930051006586888908165330319666010398892494684778526,\n 837850695495734270707668553360118467905109360511302468085569220634750561083,\n 11803922811376367215191737026157445294481406304781326649717082177394185903907,\n 10201298324909697255105265958780781450978049256931478989759448189112393506592,\n 13564695482314888817576351063608519127702411536552857463682060761575100923924,\n 9262808208636973454201420823766139682381973240743541030659775288508921362724,\n 173271062536305557219323722062711383294158572562695717740068656098441040230,\n 18120430890549410286417591505529104700901943324772175772035648111937818237369,\n 20484495168135072493552514219686101965206843697794133766912991150184337935627,\n 19155651295705203459475805213866664350848604323501251939850063308319753686505,\n 11971299749478202793661982361798418342615500543489781306376058267926437157297,\n 18285310723116790056148596536349375622245669010373674803854111592441823052978,\n 7069216248902547653615508023941692395371990416048967468982099270925308100727,\n 6465151453746412132599596984628739550147379072443683076388208843341824127379,\n 16143532858389170960690347742477978826830511669766530042104134302796355145785,\n 19362583304414853660976404410208489566967618125972377176980367224623492419647,\n 1702213613534733786921602839210290505213503664731919006932367875629005980493,\n 10781825404476535814285389902565833897646945212027592373510689209734812292327,\n 4212716923652881254737947578600828255798948993302968210248673545442808456151,\n 7594017890037021425366623750593200398174488805473151513558919864633711506220,\n 18979889247746272055963929241596362599320706910852082477600815822482192194401,\n 13602139229813231349386885113156901793661719180900395818909719758150455500533,\n ];\n\n let mut r = 0;\n for elem in array {\n let h = mimc(elem, r, constants, exponent);\n r = r + elem + h;\n }\n r\n}\n", + "path": "std/hash" + }, + "18": { + "source": "\nimpl Field {\n #[builtin(to_le_bits)]\n fn to_le_bits(_x : Field, _bit_size: u32) -> [u1] {}\n #[builtin(to_be_bits)]\n fn to_be_bits(_x : Field, _bit_size: u32) -> [u1] {}\n\n fn to_le_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_le_radix(256, byte_size)\n }\n fn to_be_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_be_radix(256, byte_size)\n }\n\n #[builtin(to_le_radix)]\n //decompose _x into a _result_len vector over the _radix basis\n //_radix must be less than 256\n fn to_le_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\n #[builtin(to_be_radix)]\n fn to_be_radix(_x : Field, _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 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 fn sgn0(self) -> u1 {\n self as u1\n }\n}\n\n#[builtin(modulus_num_bits)]\nfn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\nfn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\nfn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\nfn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\nfn modulus_le_bytes() -> [u8] {}\n", + "path": "std/field" + }, + "29": { + "source": "struct Option {\n _is_some: bool,\n _value: T,\n}\n\nimpl Option {\n /// Constructs a None value\n fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n 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 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 fn unwrap_or(self, default: T) -> T {\n if self._is_some {\n self._value\n } else {\n default\n }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n fn unwrap_or_else(self, default: fn() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n fn map(self, f: fn(T) -> U) -> Option {\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 fn map_or(self, default: U, f: fn(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 fn map_or_else(self, default: fn() -> U, f: fn(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 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 fn and_then(self, f: fn(T) -> Option) -> Option {\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 fn or(self, other: Self) -> Self {\n if self._is_some {\n self\n } else {\n other\n }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n fn or_else(self, default: fn() -> Self) -> Self {\n if self._is_some {\n self\n } else {\n default()\n }\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 fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some {\n Option::none()\n } else {\n self\n }\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 fn filter(self, predicate: fn(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> into a Option.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n fn flatten(option: Option>) -> Option {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n", + "path": "std/option" + }, + "31": { + "source": "use crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n GENERATOR_INDEX__FUNCTION_ARGS,\n HISTORIC_BLOCK_DATA_LENGTH,\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n CALL_CONTEXT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\n CONTRACT_STORAGE_READ_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__FUNCTION_DATA,\n GENERATOR_INDEX__PUBLIC_DATA_READ,\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\n GENERATOR_INDEX__CALL_CONTEXT,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n};\n\nuse crate::oracle::debug_log;\nuse crate::types::vec::BoundedVec;\nuse crate::types::point::Point;\n\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n}\n\nimpl PublicGlobalVariables {\n fn serialize(self) -> [Field; 4] {\n [self.chain_id, self.version, self.block_number, self.timestamp]\n }\n}\n\nstruct ContractDeploymentData {\n deployer_public_key: Point,\n constructor_vk_hash : Field,\n function_tree_root : Field,\n contract_address_salt : Field,\n portal_contract_address : Field,\n}\n\nimpl ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.deployer_public_key.x,\n self.deployer_public_key.y,\n self.constructor_vk_hash,\n self.function_tree_root,\n self.contract_address_salt,\n self.portal_contract_address,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)[0]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\nstruct PrivateContextInputs {\n call_context : CallContext,\n block_data: HistoricBlockData,\n\n contract_deployment_data: ContractDeploymentData,\n\n private_global_variables: PrivateGlobalVariables,\n}\n\n// PublicContextInputs are expected to be provided to each public function\nstruct PublicContextInputs {\n call_context: CallContext,\n block_data: HistoricBlockData,\n\n public_global_variables: PublicGlobalVariables,\n}\n\nstruct CallContext {\n msg_sender : Field,\n storage_contract_address : Field,\n portal_contract_address : Field,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment: bool,\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender,\n self.storage_contract_address,\n self.portal_contract_address,\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)[0]\n }\n}\n\nstruct HistoricBlockData {\n private_data_tree_root : Field,\n nullifier_tree_root : Field,\n contract_tree_root : Field,\n l1_to_l2_messages_tree_root : Field,\n blocks_tree_root: Field,\n public_data_tree_root: Field,\n global_variables_hash: Field,\n}\n\nimpl HistoricBlockData {\n // NOTE: this order must match the order in `private_circuit_public_inputs.hpp`\n fn serialize(self) -> [Field; HISTORIC_BLOCK_DATA_LENGTH] {\n [\n self.private_data_tree_root,\n self.nullifier_tree_root,\n self.contract_tree_root,\n self.l1_to_l2_messages_tree_root,\n self.blocks_tree_root,\n self.public_data_tree_root,\n self.global_variables_hash,\n ]\n }\n\n fn empty() -> Self {\n Self { private_data_tree_root: 0, nullifier_tree_root: 0, contract_tree_root: 0, l1_to_l2_messages_tree_root: 0, blocks_tree_root: 0, public_data_tree_root: 0, global_variables_hash: 0 }\n }\n}\n\nstruct FunctionData {\n function_selector: Field,\n is_internal: bool,\n is_private: bool,\n is_constructor: bool,\n}\n\nimpl FunctionData {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.function_selector,\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ], GENERATOR_INDEX__FUNCTION_DATA)[0]\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n read_requests: [Field; crate::abi::MAX_READ_REQUESTS_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n nullified_commitments: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n // Explore introducing a new type like uint256 (similar to Point), so it's more explicit that\n // we're talking about a single number backed by two field elements.\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n contract_deployment_data: ContractDeploymentData,\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.nullified_commitments);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n dep::std::hash::pedersen_with_separator(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.storage\n }\n}\n\nstruct ContractStorageRead {\n storage_slot: Field,\n value: Field,\n}\n\nimpl ContractStorageRead {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\n [self.storage_slot, self.value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, value: 0 }\n }\n}\n\nstruct ContractStorageUpdateRequest {\n storage_slot: Field,\n old_value: Field,\n new_value: Field,\n}\n\nimpl ContractStorageUpdateRequest {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\n [self.storage_slot, self.old_value, self.new_value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, old_value: 0, new_value: 0 }\n }\n}\n\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; crate::abi::MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n prover_address: Field,\n\n // TODO: include globals in here and check them elsewhere\n // https://github.com/AztecProtocol/aztec-packages/issues/1567\n}\n\nimpl PublicCircuitPublicInputs {\n \n fn hash(self) -> Field {\n let mut inputs: BoundedVec = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_read[i].hash());\n }\n inputs.push_array(self.public_call_stack);\n inputs.push_array(self.new_commitments);\n inputs.push_array(self.new_nullifiers);\n inputs.push_array(self.new_l2_to_l1_msgs);\n\n // We do not include block_data since it's not in the cpp hash\n\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.block_data.serialize()); // see https://github.com/AztecProtocol/aztec-packages/issues/1473\n inputs.push(self.prover_address);\n\n dep::std::hash::pedersen_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_read[i].serialize());\n }\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.prover_address);\n fields.storage\n }\n}\n\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\n\nfn hash_args(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = dep::std::hash::pedersen_with_separator(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS)[0];\n }\n chunks_hashes[i] = chunk_hash;\n }\n dep::std::hash::pedersen_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)[0]\n }\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/abi" + }, + "32": { + "source": "use crate::constants_gen::{\n EMPTY_NULLIFIED_COMMITMENT,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_READ_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n};\n\nuse crate::abi;\n\nuse crate::abi::{\n hash_args,\n CallContext,\n ContractDeploymentData,\n HistoricBlockData,\n FunctionData,\n PrivateCircuitPublicInputs,\n PublicCircuitPublicInputs,\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\n// l1 to l2 messaging\nuse crate::messaging::process_l1_to_l2_message;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem;\n\nuse crate::types::{\n vec::BoundedVec,\n point::Point,\n};\n\nuse crate::utils::arr_copy_slice;\n\nuse crate::oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n public_call::call_public_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal,\n context::get_portal_address,\n};\n\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n inputs: abi::PrivateContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n read_requests: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n nullified_commitments: BoundedVec,\n\n private_call_stack : BoundedVec,\n public_call_stack : BoundedVec,\n new_l2_to_l1_msgs : BoundedVec,\n\n block_data: HistoricBlockData,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec,\n // unencrypted_logs_preimages: Vec,\n}\n\nimpl PrivateContext {\n fn new(inputs: abi::PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n read_requests: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n nullified_commitments: BoundedVec::new(0),\n\n block_data: inputs.block_data,\n\n private_call_stack: BoundedVec::new(0),\n public_call_stack: BoundedVec::new(0),\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.private_global_variables.version\n }\n\n fn finish(self) -> abi::PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = abi::PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n read_requests: self.read_requests.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n nullified_commitments: self.nullified_commitments.storage,\n private_call_stack: self.private_call_stack.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n encrypted_logs_hash: encrypted_logs_hash,\n unencrypted_logs_hash: unencrypted_logs_hash,\n encrypted_log_preimages_length: encrypted_log_preimages_length,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.block_data,\n contract_deployment_data: self.inputs.contract_deployment_data,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version,\n };\n priv_circuit_pub_inputs\n }\n\n fn push_read_request(&mut self, read_request: Field) {\n self.read_requests.push(read_request);\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n self.nullified_commitments.push(nullified_commitment);\n }\n\n fn message_portal(&mut self, content: Field) {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, inputs: abi::PrivateContextInputs, msg_key: Field, content: Field, secret: Field) {\n let nullifier = process_l1_to_l2_message(inputs.block_data.l1_to_l2_messages_tree_root, inputs.call_context.storage_contract_address, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_private_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n fn call_private_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_private_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let fields = call_private_function_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PrivateCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PrivateCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n // TODO handle the offsets as a variable incremented during extraction?\n args_hash: fields[11],\n return_values: arr_copy_slice(fields, [0; RETURN_VALUES_LENGTH], 12),\n read_requests: arr_copy_slice(fields, [0; MAX_READ_REQUESTS_PER_CALL], 16),\n new_commitments: arr_copy_slice(fields, [0; MAX_NEW_COMMITMENTS_PER_CALL], 20),\n new_nullifiers: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 24),\n nullified_commitments: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 28),\n private_call_stack: arr_copy_slice(fields, [0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL], 32),\n public_call_stack: arr_copy_slice(fields, [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL], 36),\n new_l2_to_l1_msgs: arr_copy_slice(fields, [0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL], 40),\n encrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 42),\n unencrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 44),\n encrypted_log_preimages_length: fields[46],\n unencrypted_log_preimages_length: fields[47],\n block_data: HistoricBlockData {\n // Must match order in `private_circuit_public_inputs.hpp`\n private_data_tree_root : fields[48],\n nullifier_tree_root : fields[49],\n contract_tree_root : fields[50],\n l1_to_l2_messages_tree_root : fields[51],\n blocks_tree_root : fields[52],\n public_data_tree_root: fields[53],\n global_variables_hash: fields[54],\n },\n contract_deployment_data: ContractDeploymentData {\n deployer_public_key: Point::new(fields[55], fields[56]),\n constructor_vk_hash : fields[57],\n function_tree_root : fields[58],\n contract_address_salt : fields[59],\n portal_contract_address : fields[60],\n },\n chain_id: fields[61],\n version: fields[62],\n },\n is_execution_request: fields[63] as bool,\n };\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n assert(item.is_execution_request == false);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.private_call_stack.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n fn call_public_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) {\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)\n }\n\n fn call_public_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_public_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) {\n let fields = enqueue_public_function_call_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PublicCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PublicCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n args_hash: fields[11],\n return_values: [0; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [0; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [0; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: 0,\n block_data: HistoricBlockData::empty(),\n prover_address: 0,\n },\n is_execution_request: true,\n };\n\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n \n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.public_call_stack.push(item.hash());\n }\n}\n\nuse crate::abi::{\n ContractStorageRead,\n ContractStorageUpdateRequest\n};\n\nstruct PublicContext {\n inputs: abi::PublicContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n contract_storage_update_requests: BoundedVec,\n contract_storage_read: BoundedVec,\n public_call_stack: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n\n new_l2_to_l1_msgs: BoundedVec,\n\n unencrypted_logs_hash: BoundedVec,\n unencrypted_logs_preimages_length: Field,\n\n block_data: HistoricBlockData,\n prover_address: Field,\n}\n\nimpl PublicContext {\n fn new(inputs: abi::PublicContextInputs, args_hash: Field) -> PublicContext {\n let empty_storage_read = ContractStorageRead::empty();\n let empty_storage_update = ContractStorageUpdateRequest::empty();\n PublicContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\n contract_storage_read: BoundedVec::new(empty_storage_read),\n public_call_stack: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n \n unencrypted_logs_hash: BoundedVec::new(0),\n unencrypted_logs_preimages_length: 0,\n\n block_data: inputs.block_data,\n prover_address: 0,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_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 block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n fn finish(self) -> abi::PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = abi::PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_read: self.contract_storage_read.storage,\n return_values: self.return_values.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n unencrypted_logs_hash: unencrypted_logs_hash,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.inputs.block_data,\n prover_address: self.prover_address,\n };\n pub_circuit_pub_inputs\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n }\n\n fn message_portal(&mut self, msg: Field) {\n self.new_l2_to_l1_msgs.push(msg);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(self.block_data.l1_to_l2_messages_tree_root, this, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_public_function(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n args: [Field; ARGS_COUNT],\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = abi::hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n call_public_function_internal(\n contract_address, \n function_selector, \n args_hash,\n )\n }\n\n fn call_public_function_no_args(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n ) -> [Field; RETURN_VALUES_LENGTH] {\n call_public_function_internal(\n contract_address, \n function_selector, \n 0,\n )\n }\n\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/context" + }, + "33": { + "source": "use crate::context::PrivateContext;\nuse crate::oracle;\nuse crate::types::point::Point;\n\nfn emit_encrypted_log(\n context: &mut PrivateContext,\n contract_address: Field,\n storage_slot: Field,\n encryption_pub_key: Point,\n log: [Field; N],\n) {\n let _ = oracle::logs::emit_encrypted_log(contract_address, storage_slot, encryption_pub_key, log);\n context.accumulate_encrypted_logs(log);\n}\n\nfn emit_unencrypted_log(\n context: &mut PrivateContext,\n log: T,\n) {\n let _ = oracle::logs::emit_unencrypted_log(log);\n context.accumulate_unencrypted_logs(log);\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/log" + }, + "39": { + "source": "use dep::std::option::Option;\nuse crate::abi::PublicContextInputs;\nuse crate::context::{\n PrivateContext,\n PublicContext,\n};\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_inner_note_hash,\n};\nuse crate::oracle::create_commitment::create_commitment;\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\nuse crate::constants_gen::EMPTY_NULLIFIED_COMMITMENT;\n\nfn create_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface,\n) {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n let serialise = note_interface.serialise;\n let preimage = serialise(*note);\n assert(notify_created_note(storage_slot, preimage, inner_note_hash) == 0);\n\n context.push_new_note_hash(inner_note_hash);\n}\n\nfn create_note_hash_from_public(\n context: PublicContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface,\n) {\n let contract_address = context.this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n create_commitment(inner_note_hash);\n}\n\nfn destroy_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: Note,\n note_interface: NoteInterface,\n) {\n let mut nullifier = 0;\n let mut nullified_commitment: Field = EMPTY_NULLIFIED_COMMITMENT;\n let compute_nullifier = note_interface.compute_nullifier;\n nullifier = compute_nullifier(note);\n\n let serialise = note_interface.serialise;\n let preimage = serialise(note);\n\n // We also need the note commitment corresponding to the \"nullifier\"\n let get_header = note_interface.get_header;\n let header = get_header(note);\n // 0 nonce implies \"transient\" nullifier (must nullify a commitment in this TX).\n // `nullified_commitment` is used to inform the kernel which pending commitment\n // the nullifier corresponds to so they can be matched and both squashed/deleted.\n // nonzero nonce implies \"persistable\" nullifier (nullifies a persistent/in-tree\n // commitment) in which case `nullified_commitment` is not used since the kernel\n // just siloes and forwards the nullier to its output.\n if (header.nonce == 0) {\n // TODO(suyash): Can we reuse the note commitment computed in `compute_nullifier`?\n nullified_commitment = compute_inner_note_hash(note_interface, note);\n }\n assert(notify_nullified_note(storage_slot, nullifier, preimage, nullified_commitment) == 0);\n\n context.push_new_nullifier(nullifier, nullified_commitment)\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/lifecycle" + }, + "40": { + "source": "use dep::std::option::Option;\nuse crate::constants_gen::{\n MAX_READ_REQUESTS_PER_CALL,\n GET_NOTE_ORACLE_RETURN_LENGTH,\n GET_NOTES_ORACLE_RETURN_LENGTH,\n MAX_NOTES_PER_PAGE,\n VIEW_NOTE_ORACLE_RETURN_LENGTH,\n};\nuse crate::context::PrivateContext;\nuse crate::note::{\n note_getter_options::{NoteGetterOptions, Select, Sort},\n note_interface::NoteInterface,\n note_header::NoteHeader,\n note_viewer_options::NoteViewerOptions,\n utils::compute_note_hash_for_read_or_nullify,\n utils::compute_unique_siloed_note_hash,\n utils::compute_inner_note_hash,\n utils::compute_siloed_note_hash,\n};\nuse crate::messaging::get_commitment_getter_data::make_commitment_getter_data;\nuse crate::oracle;\nuse crate::types::vec::BoundedVec;\n\nfn check_note_header(\n context: PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: Note,\n) {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n let contract_address = context.this_address();\n assert(header.contract_address == contract_address);\n assert(header.storage_slot == storage_slot);\n}\n\nfn ensure_note_exists(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: &mut Note,\n) {\n let saved_note = get_note_internal(storage_slot, note_interface);\n\n // Only copy over the header to the original note to make sure the preimage is the same.\n let get_header = note_interface.get_header;\n let set_header = note_interface.set_header;\n let note_header = get_header(saved_note);\n set_header(note, note_header);\n\n check_note_header(*context, storage_slot, note_interface, *note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, *note);\n context.push_read_request(note_hash_for_read_request);\n}\n\n// Ensure a note's hash exists in the tree without retrieving the entire\n// notes via the oracle.\n// Modifies the note by populating it with header info.\nfn ensure_note_hash_exists(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n note: &mut Note,\n) {\n // Initialize header of note. Must be done before computing note hashes as it initializes the:\n // - storage slot (used in inner note hash)\n // - the contract address (used in siloed note hash)\n // - and the nonce (used in the unique siloed note hash)\n let set_header = note_interface.set_header;\n let note_header = NoteHeader {\n contract_address: (*context).this_address(),\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // real nonce (once public kernel applies nonces).\n nonce: 0,\n storage_slot\n };\n set_header(note, note_header);\n\n // Get a note from oracle and early out if it doesn't exist.\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n let raw_oracle_ret = oracle::get_commitment::get_commitment(inner_note_hash);\n let deserialized_oracle_ret = make_commitment_getter_data(raw_oracle_ret, 0);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // unique_siloed_note_hash once public kernel applies nonces\n let saved_siloed_note_hash = deserialized_oracle_ret.message;\n\n assert(saved_siloed_note_hash != 0); // TODO(dbanks12): necessary?\n\n check_note_header(*context, storage_slot, note_interface, *note);\n\n // Ensure that the note hash retrieved from oracle matches the one computed from note.\n let computed_siloed_note_hash = compute_siloed_note_hash(note_interface, *note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\n // compute_note_hash_for_read_or_nullify once public kernel applies nonces\n assert(computed_siloed_note_hash == saved_siloed_note_hash);\n\n context.push_read_request(computed_siloed_note_hash);\n}\n\nfn get_note(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n) -> Note {\n let note = get_note_internal(storage_slot, note_interface);\n\n check_note_header(*context, storage_slot, note_interface, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n\n context.push_read_request(note_hash_for_read_request);\n note\n}\n\nfn get_notes(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface,\n options: NoteGetterOptions,\n) -> [Option; MAX_READ_REQUESTS_PER_CALL] {\n let opt_notes = get_notes_internal(storage_slot, note_interface, options);\n for i in 0..opt_notes.len() {\n let opt_note = opt_notes[i];\n let mut note_hash_for_read_request = 0;\n if opt_note.is_some() {\n let note = opt_note.unwrap_unchecked();\n check_note_header(*context, storage_slot, note_interface, note);\n note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n };\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_read_request(note_hash_for_read_request);\n };\n\n // TODO(#1660)\n // Move it back to get_notes_internal and only make read request for selected notes.\n let filter = options.filter;\n let filter_args = options.filter_args;\n filter(opt_notes, filter_args)\n}\n\nunconstrained fn get_note_internal(\n storage_slot: Field,\n note_interface: NoteInterface,\n) -> Note {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n 0,\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n placeholder_note,\n placeholder_fields,\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal(\n storage_slot: Field,\n note_interface: NoteInterface,\n options: NoteGetterOptions,\n) -> [Option; MAX_READ_REQUESTS_PER_CALL] {\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n num_selects,\n select_by,\n select_values,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields,\n )\n}\n\nunconstrained fn view_notes(\n storage_slot: Field,\n note_interface: NoteInterface,\n options: NoteViewerOptions,\n) -> [Option; MAX_NOTES_PER_PAGE] {\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n num_selects,\n select_by,\n select_values,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields,\n )\n}\n\nunconstrained fn flatten_options(\n selects: BoundedVec, N>,\n sorts: BoundedVec, N>,\n) -> (u8, [u8; N], [Field; N], [u8; N], [u2; N]) {\n let mut num_selects = 0;\n let mut select_by = [0; N];\n let mut select_values = [0; N];\n for i in 0..selects.len {\n let select = selects.get(i);\n if select.is_some() {\n select_by[num_selects] = select.unwrap_unchecked().field_index;\n select_values[num_selects] = select.unwrap_unchecked().value;\n num_selects += 1;\n };\n };\n\n let mut sort_by = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sorts.len {\n let sort = sorts.get(i);\n if sort.is_some() {\n sort_by[i] = sort.unwrap_unchecked().field_index;\n sort_order[i] = sort.unwrap_unchecked().order;\n };\n };\n\n (num_selects, select_by, select_values, sort_by, sort_order)\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_getter" + }, + "42": { + "source": "use dep::std::hash::{pedersen, pedersen_with_separator};\nuse crate::constants_gen::{GENERATOR_INDEX__UNIQUE_COMMITMENT, GENERATOR_INDEX__SILOED_COMMITMENT};\n\nfn compute_inner_hash(storage_slot: Field, note_hash: Field) -> Field {\n // TODO(#1205) Do we need a generator index here?\n pedersen([storage_slot, note_hash])[0]\n}\n\nfn compute_siloed_hash(contract_address: Field, inner_note_hash: Field) -> Field {\n let inputs = [contract_address, inner_note_hash];\n pedersen_with_separator(inputs, GENERATOR_INDEX__SILOED_COMMITMENT)[0]\n}\n\nfn compute_unique_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [nonce, siloed_note_hash];\n pedersen_with_separator(inputs, GENERATOR_INDEX__UNIQUE_COMMITMENT)[0]\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_hash" + }, + "46": { + "source": "use crate::note::{\n note_hash::{compute_inner_hash, compute_siloed_hash, compute_unique_hash},\n note_header::NoteHeader,\n note_interface::NoteInterface,\n};\nuse crate::utils::arr_copy_slice;\n\nfn compute_inner_note_hash(\n note_interface: NoteInterface,\n note: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n\n compute_inner_hash(header.storage_slot, note_hash)\n}\n\nfn compute_siloed_note_hash(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let inner_note_hash = compute_inner_note_hash(note_interface, note_with_header);\n\n compute_siloed_hash(header.contract_address, inner_note_hash)\n}\n\nfn compute_unique_siloed_note_hash(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let siloed_note_hash = compute_siloed_note_hash(note_interface, note_with_header);\n\n compute_unique_hash(header.nonce, siloed_note_hash)\n}\n\nfn compute_note_hash_for_read_or_nullify(\n note_interface: NoteInterface,\n note_with_header: Note,\n) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n if (header.nonce == 0) {\n // when nonce is zero, that means we are reading a pending note (doesn't have a nonce yet),\n // so we just read the inner_note_hash (kernel will silo by contract address)\n compute_inner_note_hash(note_interface, note_with_header)\n } else {\n // When nonce is nonzero, that means we are reading a settled note (from tree) created in a\n // previous TX. So we need the unique_siloed_note_hash which has already been hashed with\n // contract address and then nonce. This hash will match the existing leaf in the private\n // data tree, so the kernel can just perform a membership check directly on this hash/leaf.\n compute_unique_siloed_note_hash(note_interface, note_with_header)\n }\n\n}\n\nfn compute_note_hash_and_nullifier(\n note_interface: NoteInterface,\n note_header: NoteHeader,\n preimage: [Field; S],\n) -> [Field; 4] {\n let deserialise = note_interface.deserialise;\n let set_header = note_interface.set_header;\n let mut note = deserialise(arr_copy_slice(preimage, [0; N], 0));\n set_header(&mut note, note_header);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n let inner_note_hash = compute_inner_hash(note_header.storage_slot, note_hash);\n\n let siloed_note_hash = compute_siloed_hash(note_header.contract_address, inner_note_hash);\n\n let unique_siloed_note_hash = compute_unique_hash(note_header.nonce, siloed_note_hash);\n\n let compute_nullifier = note_interface.compute_nullifier;\n let inner_nullifier = compute_nullifier(note);\n\n [inner_note_hash, siloed_note_hash, unique_siloed_note_hash, inner_nullifier]\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/utils" + }, + "48": { + "source": "use dep::std::hash::pedersen_with_separator;\nuse crate::context::PrivateContext;\nuse crate::note::{\n lifecycle::create_note,\n note_getter::{get_note, view_notes},\n note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions,\n};\nuse crate::oracle;\nuse crate::constants_gen::{\n GENERATOR_INDEX__INITIALISATION_NULLIFIER,\n EMPTY_NULLIFIED_COMMITMENT,\n};\n\nstruct ImmutableSingleton {\n storage_slot: Field,\n note_interface: NoteInterface,\n}\n\nimpl ImmutableSingleton {\n fn new(storage_slot: Field, note_interface: NoteInterface) -> Self {\n ImmutableSingleton { storage_slot, note_interface }\n }\n\n unconstrained fn is_initialised(self) -> bool {\n let nullifier = self.compute_initialisation_nullifier();\n oracle::notes::is_nullifier_emitted(nullifier)\n }\n\n fn initialise(self, context: &mut PrivateContext, note: &mut Note) {\n // Nullify the storage slot.\n let nullifier = self.compute_initialisation_nullifier();\n context.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT);\n\n create_note(context, self.storage_slot, note, self.note_interface);\n }\n\n fn compute_initialisation_nullifier(self) -> Field {\n pedersen_with_separator([self.storage_slot], GENERATOR_INDEX__INITIALISATION_NULLIFIER)[0]\n }\n \n fn get_note(self, context: &mut PrivateContext) -> Note {\n let storage_slot = self.storage_slot;\n get_note(context, storage_slot, self.note_interface)\n }\n\n unconstrained fn view_note(self) -> Note {\n let options = NoteViewerOptions::new().set_limit(1);\n view_notes(self.storage_slot, self.note_interface, options)[0].unwrap()\n }\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/state_vars/immutable_singleton" + }, + "55": { + "source": "\nstruct BoundedVec {\n storage: [T; MaxLen],\n len: Field,\n}\n\nimpl BoundedVec {\n fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\n }\n\n fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64);\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n fn push_array(&mut self, array: [T; Len]) {\n let newLen = self.len + array.len();\n assert(newLen as u64 <= MaxLen as u64);\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = newLen;\n }\n\n fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n\n let elem = self.storage[self.len - 1];\n self.len -= 1;\n elem\n }\n}\n\n// #[test]\n// fn test_vec() {\n// let vec: BoundedVec = BoundedVec::new(0);\n// assert(vec.len == 0);\n// let vec1 = vec.push(1);\n// assert(vec1.len == 1);\n// let vec2 = vec1.push(1);\n// assert(vec2.len == 2);\n// let vec3 = vec2.push(1);\n// assert(vec3.len == 3);\n// let x = vec3.pop();\n// assert(x == 1);\n// }", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/types/vec" + }, + "60": { + "source": "fn arr_copy_slice(\n src: [T; N],\n mut dst: [T; M],\n offset: Field,\n) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/utils" + }, + "61": { + "source": "use crate::abi::FunctionData;\nuse crate::abi::PrivateCircuitPublicInputs;\nuse crate::constants_gen::GENERATOR_INDEX__CALL_STACK_ITEM;\n\nstruct PrivateCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PrivateCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/private_call_stack_item" + }, + "62": { + "source": "use crate::{\n abi,\n abi::{\n PublicCircuitPublicInputs,\n FunctionData,\n },\n};\nuse crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__CALL_STACK_ITEM,\n};\n\n// oracles\nuse crate::oracle::{\n enqueue_public_function_call::enqueue_public_function_call_internal,\n};\n\nstruct PublicCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PublicCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PublicCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}\n\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/public_call_stack_item" + }, + "65": { + "source": "use crate::constants_gen::CALL_PRIVATE_FUNCTION_RETURN_SIZE;\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: Field,\n _function_selector: Field,\n _args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {}\n\nunconstrained fn call_private_function_internal(\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {\n call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n )\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/call_private_function" + }, + "73": { + "source": "use crate::types::point::Point;\nuse dep::std::hash;\nuse crate::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\n\n#[oracle(getPublicKey)]\nfn get_public_key_oracle(_address: Field) -> [Field; 3] {}\n\nunconstrained fn get_public_key_internal(address: Field) -> [Field; 3] {\n get_public_key_oracle(address)\n}\n\nfn get_public_key(address: Field) -> Point {\n let result = get_public_key_internal(address);\n let pub_key_x = result[0];\n let pub_key_y = result[1];\n let partial_address = result[2];\n \n let calculated_address = hash::pedersen_with_separator([pub_key_x, pub_key_y, partial_address], GENERATOR_INDEX__CONTRACT_ADDRESS)[0];\n assert(calculated_address == address);\n \n Point::new(pub_key_x, pub_key_y)\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_public_key" + }, + "74": { + "source": "use crate::types::point::Point;\n\n#[oracle(getSecretKey)]\nfn get_secret_key_oracle(_owner: Point) -> Field {}\n\nunconstrained fn get_secret_key(owner: Point) -> Field {\n get_secret_key_oracle(owner)\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_secret_key" + }, + "76": { + "source": "\n// contract_address + \n// args_hash +\n// crate::abi::FUNCTION_DATA_SIZE +\n// crate::abi::CALL_CONTEXT_SIZE +\n// = 2 + 4 + 6\nglobal ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE: Field = 12;\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: Field, \n _function_selector: Field, \n _args_hash: Field,\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {}\n\nunconstrained fn enqueue_public_function_call_internal(\n contract_address: Field, \n function_selector: Field,\n args_hash: Field\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {\n enqueue_public_function_call_oracle(\n contract_address, \n function_selector, \n args_hash,\n )\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/enqueue_public_function_call" + }, + "78": { + "source": "use dep::std::option::Option;\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n};\nuse crate::utils::arr_copy_slice;\n\n#[oracle(notifyCreatedNote)]\nfn notify_created_note_oracle(\n _storage_slot: Field,\n _preimage: [Field; N],\n _inner_note_hash: Field,\n) -> Field {}\n\nunconstrained fn notify_created_note(\n storage_slot: Field,\n preimage: [Field; N],\n inner_note_hash: Field,\n) -> Field {\n notify_created_note_oracle(storage_slot, preimage, inner_note_hash)\n}\n\n#[oracle(notifyNullifiedNote)]\nfn notify_nullified_note_oracle(\n _storage_slot: Field,\n _nullifier: Field,\n _preimage: [Field; N],\n _inner_note_hash: Field,\n) -> Field {}\n\nunconstrained fn notify_nullified_note(\n storage_slot: Field,\n nullifier: Field,\n preimage: [Field; N],\n inner_note_hash: Field,\n) -> Field {\n notify_nullified_note_oracle(storage_slot, nullifier, preimage, inner_note_hash)\n}\n\n#[oracle(getNotes)]\nfn get_notes_oracle(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by: [u8; N],\n _select_values: [Field; N],\n _sort_by: [u8; N],\n _sort_order: [u2; N],\n _limit: u32,\n _offset: u32,\n _return_size: u32,\n _placeholder_fields: [Field; S],\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper(\n storage_slot: Field,\n num_selects: u8,\n select_by: [u8; N],\n select_values: [Field; N],\n sort_by: [u8; N],\n sort_order: [u2; N],\n limit: u32,\n offset: u32,\n mut placeholder_fields: [Field; S],\n)-> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(storage_slot, num_selects, select_by, select_values, sort_by, sort_order, limit, offset, return_size, placeholder_fields)\n}\n\nunconstrained fn get_notes(\n storage_slot: Field,\n note_interface: NoteInterface,\n num_selects: u8,\n select_by: [u8; M],\n select_values: [Field; M],\n sort_by: [u8; M],\n sort_order: [u2; M],\n limit: u32,\n offset: u32,\n mut placeholder_opt_notes: [Option; S], // TODO: Remove it and use `limit` to initialise the note array.\n placeholder_fields: [Field; NS], // TODO: Remove it and use `limit` to initialise the note array.\n) -> [Option; S] {\n let fields = get_notes_oracle_wrapper(storage_slot, num_selects, select_by, select_values, sort_by, sort_order, limit, offset, placeholder_fields);\n let num_notes = fields[0] as u32;\n let contract_address = fields[1];\n let deserialise = note_interface.deserialise;\n let set_header = note_interface.set_header;\n for i in 0..placeholder_opt_notes.len() {\n if i as u32 < num_notes {\n // lengths named as per typescript.\n let return_header_length: Field = 2; // num_notes & contract_address.\n let extra_preimage_length: Field = 2; // nonce & is_some.\n let read_offset: Field = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let header = NoteHeader { contract_address, nonce, storage_slot };\n let is_some = fields[read_offset + 1] as bool;\n if is_some {\n let preimage = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = deserialise(preimage);\n set_header(&mut note, header);\n placeholder_opt_notes[i] = Option::some(note);\n }\n };\n };\n placeholder_opt_notes\n}\n\nunconstrained fn is_nullifier_emitted(nullifier: Field) -> bool {\n // TODO\n nullifier == 0\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/notes" + }, + "80": { + "source": "use crate::types::point::Point;\nuse crate::constants_gen::NUM_FIELDS_PER_SHA256;\n\n// TODO: Should take encrypted data.\n#[oracle(emitEncryptedLog)]\nfn emit_encrypted_log_oracle(\n _contract_address: Field,\n _storage_slot: Field,\n _encryption_pub_key: Point,\n _preimage: [Field; N],\n) -> Field {}\n\nunconstrained fn emit_encrypted_log(\n contract_address: Field,\n storage_slot: Field,\n encryption_pub_key: Point,\n preimage: [Field; N],\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n [emit_encrypted_log_oracle(\n contract_address,\n storage_slot,\n encryption_pub_key,\n preimage,\n ), 0]\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle(_message: T) -> Field {}\n\nunconstrained fn emit_unencrypted_log(message: T) -> [Field; NUM_FIELDS_PER_SHA256] {\n // https://github.com/AztecProtocol/aztec-packages/issues/885\n [emit_unencrypted_log_oracle(message), 0]\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/logs" + }, + "81": { + "source": "use crate::abi;\nuse crate::types::vec::BoundedVec;\nuse crate::context::PrivateContext;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem; \n\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\nglobal FUNCTION_CALL_SIZE: Field = 3;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: Field,\n target_address: Field,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector, self.target_address]\n }\n}\n\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\n\nstruct EntrypointPayload {\n // Noir doesnt support nested arrays or structs yet so we flatten everything\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n\nimpl EntrypointPayload {\n // TODO(#1207) Do we need a generator index?\n fn hash(self) -> Field {\n dep::std::hash::pedersen(self.serialize())[0]\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.flattened_args_hashes);\n fields.push_array(self.flattened_selectors);\n fields.push_array(self.flattened_targets);\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n let args_len = self.flattened_args_hashes.len();\n let selectors_len = self.flattened_selectors.len();\n let targets_len = self.flattened_targets.len();\n\n for i in 0..args_len {\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..selectors_len {\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..targets_len {\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n \n let item_bytes = self.nonce.to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\n }\n\n bytes\n }\n\n // Executes all private and public calls \n fn execute_calls(self, context: &mut PrivateContext) {\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n }\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint" + }, + "84": { + "source": "use dep::std::hash::pedersen;\nuse dep::aztec::note::note_interface::NoteInterface;\nuse dep::aztec::note::note_header::NoteHeader;\nuse dep::aztec::oracle::get_secret_key::get_secret_key;\nuse dep::aztec::oracle::get_public_key::get_public_key;\nuse dep::aztec::note::utils::compute_unique_siloed_note_hash;\n\nglobal PUBLIC_KEY_NOTE_LEN: Field = 3;\n\n// Stores a public key composed of two fields\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\nstruct PublicKeyNote {\n x: Field,\n y: Field,\n owner: Field, // We store the owner address only to get the secret key to compute the nullifier\n header: NoteHeader,\n}\n\nimpl PublicKeyNote {\n fn new(x: Field, y: Field, owner: Field) -> Self {\n PublicKeyNote {\n x,\n y,\n owner,\n header: NoteHeader::empty(),\n }\n }\n\n // Serialise the note as 3 fields\n fn serialise(self) -> [Field; PUBLIC_KEY_NOTE_LEN] {\n [self.x, self.y, self.owner]\n }\n\n fn compute_nullifier(self) -> Field {\n let unique_siloed_note_hash = compute_unique_siloed_note_hash(PublicKeyNoteMethods, self);\n let owner_nullifying_public_key = get_public_key(self.owner);\n let secret = get_secret_key(owner_nullifying_public_key);\n dep::std::hash::pedersen([\n unique_siloed_note_hash,\n secret,\n ])[0]\n }\n\n fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n}\n\nfn deserialise(preimage: [Field; PUBLIC_KEY_NOTE_LEN]) -> PublicKeyNote {\n PublicKeyNote {\n x: preimage[0],\n y: preimage[1],\n owner: preimage[2],\n header: NoteHeader::empty(),\n }\n}\n\nfn serialise(note: PublicKeyNote) -> [Field; PUBLIC_KEY_NOTE_LEN] {\n note.serialise()\n}\n\nfn compute_note_hash(note: PublicKeyNote) -> Field {\n dep::std::hash::pedersen(note.serialise())[0]\n}\n\nfn compute_nullifier(note: PublicKeyNote) -> Field {\n note.compute_nullifier()\n}\n\nfn get_header(note: PublicKeyNote) -> NoteHeader {\n note.header\n}\n\nfn set_header(note: &mut PublicKeyNote, header: NoteHeader) {\n note.set_header(header);\n}\n\nglobal PublicKeyNoteMethods = NoteInterface {\n deserialise,\n serialise,\n compute_note_hash,\n compute_nullifier,\n get_header,\n set_header,\n};\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/public_key_note" + } + } + } +} diff --git a/yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json b/yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json new file mode 100644 index 00000000000..15d584e01e7 --- /dev/null +++ b/yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json @@ -0,0 +1,151 @@ +{ + "name": "SchnorrSingleKeyAccount", + "functions": [ + { + "name": "constructor", + "functionType": "secret", + "isInternal": false, + "parameters": [], + "returnTypes": [], + "bytecode": "H4sIAAAAAAAA/9Xc12/aUBzFcUKTdO/svfewsQ02XWm6994roYHu3f7/5SggRXnN4eF7JQv8Yp2PAPuO3+VfLper5LZbW/3I14/2xvvmeceu887G+52teb7WeI2CYhxXS4VqGIWbQSGrpEkQJ5ViGqZhkiZbhTSKqmmclrJKVgqyMI6qYS3Jolqw3Xp2XCvYY2tlzl5Izj5Izn5IzgFIzkFIziFIzmFIzhFIzlFIzjFIznFIzglIzklIzilIzmlIzhlIzllIzjlIznlIzgVIzkVIziVIzmVIzhVIzlVIzgCSM4TkLEByRpCcMSRnAslZhOQsQXKmkJwZJGe5RTnzu3IGe2thm9F8BmLOG81nIeZ9RvM5iLndaD4PMXcYzRcg5k6jeQ1i7jGaL0LMvUbzOsTcZzRfgpj7jebLEPOA0XwFYh40mq9CzENG8zWIedhovg4xjxjNNyDmUaP5JsQ8ZjTfgpjHjebbEPOE0XwHYp40mu9CzFNG8z2Iedpovg8xzxjNDyDmWaP5IcQ8ZzQ/gpjnjebHEPOC0fwEYl40mp9CzEtG8zOIedlofg4xrxjNLyDmVaP5JcQcGM2vIObQaH4NMReM5jcQc2Q0v4WYY6P5HcScGM0bEHPRaN6EmEtGcwViTo3m9xBzZjRvQcxlo7kKMe83mmsQ8wGj+QPEfNBo/ggxHzKaP0HMh43mzxDzEaP5C8R81Gj+CjEfM5q/QczHjebvEPMJo/kHxHzSaP4JMZ8ymn9BzKeN5t8Qc5fR/Adi7jaa/7bA3N14bf5fn/ZGaa+Q9s5oL4nGhRonadygfrT6lepnqd+h57CeS7pP676l37G+112N65Yb19ZeOO0N014p7R1q7qXRXov1+qFafNWmq1Zbtcuq5VVtq2o9VfuoWkDVxqlWTLVTqiVSbY1qTVR7oVoErc1rrVprt1rL1Nqe1rq09qO1EK0NaK5cc8eaS92oH5pr09yT5mI0N6GxusauGstpbKO+vvq+6guqb6S+gp6depbo3qp7jX57+i7qs/kPVgMtpSBRAAA=", + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + }, + { + "name": "entrypoint", + "functionType": "secret", + "isInternal": false, + "parameters": [ + { + "name": "payload", + "type": { + "kind": "struct", + "name": "EntrypointPayload", + "fields": [ + { + "name": "flattened_args_hashes", + "type": { + "kind": "array", + "length": 4, + "type": { + "kind": "field" + } + } + }, + { + "name": "flattened_selectors", + "type": { + "kind": "array", + "length": 4, + "type": { + "kind": "field" + } + } + }, + { + "name": "flattened_targets", + "type": { + "kind": "array", + "length": 4, + "type": { + "kind": "field" + } + } + }, + { + "name": "nonce", + "type": { + "kind": "field" + } + } + ] + }, + "visibility": "public" + }, + { + "name": "owner", + "type": { + "kind": "array", + "length": 64, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + } + }, + "visibility": "public" + }, + { + "name": "signature", + "type": { + "kind": "array", + "length": 64, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + } + }, + "visibility": "public" + }, + { + "name": "partial_address", + "type": { + "kind": "field" + }, + "visibility": "public" + } + ], + "returnTypes": [], + "bytecode": "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", + "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" + } + ], + "debug": { + "debugSymbols": [ + "eJyrVsrJT04syczPK1ayqq6tBQAz9wY7", + "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" + ], + "fileMap": { + "0": { + "source": "// Account contract that uses Schnorr signatures for authentication. The signing key is the same as the\n// encryption key, and as such is not stored in the contract but part of the address preimage, so it can\n// be verified by passing in the partial address.\ncontract SchnorrSingleKeyAccount {\n use dep::std;\n use dep::aztec::entrypoint;\n use dep::aztec::entrypoint::EntrypointPayload;\n use dep::aztec::abi;\n use dep::aztec::abi::PrivateContextInputs;\n use dep::aztec::abi::CallContext;\n use dep::aztec::private_call_stack_item::PrivateCallStackItem;\n use dep::aztec::public_call_stack_item::PublicCallStackItem;\n use dep::aztec::context::PrivateContext;\n use dep::aztec::types::vec::BoundedVec;\n use dep::aztec::types::point::Point;\n use dep::aztec::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\n use dep::aztec::constants_gen::GENERATOR_INDEX__SIGNATURE_PAYLOAD;\n\n fn entrypoint(\n inputs: pub PrivateContextInputs,\n payload: pub EntrypointPayload, // contains a set of arguments, selectors, targets and a nonce\n owner: pub [u8;64], // pubkey x and y coordinates concatenated\n signature: pub [u8;64], // schnorr signature of the payload hash\n partial_address: pub Field,\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n // Initialize context\n // ENTRYPOINT_PAYLOAD_SIZE(13) + 64 + 64 + 1\n let mut args: BoundedVec = BoundedVec::new(0);\n args.push_array(payload.serialize());\n for byte in owner { args.push(byte as Field); }\n for byte in signature { args.push(byte as Field); }\n args.push(partial_address);\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\n\n // Verify payload signature\n let payload_fields: [Field; entrypoint::ENTRYPOINT_PAYLOAD_SIZE] = payload.serialize();\n let message_field: Field = std::hash::pedersen_with_separator(payload_fields, GENERATOR_INDEX__SIGNATURE_PAYLOAD)[0];\n let message_bytes = message_field.to_be_bytes(32);\n\n // Convert owner pubkey into fields\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n for i in 0..32 {\n let bytex: Field = owner[31 - i] as Field;\n x = x + (bytex * mul);\n let bytey: Field = owner[63 - i] as Field;\n y = y + (bytey * mul);\n mul *= 256;\n }\n \n // Verify signature of the payload hash\n // TODO: Find out why this signature verification never fails\n let verification = std::schnorr::verify_signature(x, y, signature, message_bytes);\n assert(verification == true);\n\n // Verify public key against address\n let reproduced_address = dep::std::hash::pedersen_with_separator([x, y, partial_address], GENERATOR_INDEX__CONTRACT_ADDRESS)[0];\n assert(reproduced_address == context.this_address());\n\n // Execute calls\n payload.execute_calls(&mut context);\n\n context.finish()\n }\n\n // Constructs the contract\n fn constructor(\n inputs: pub PrivateContextInputs,\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\n // Return private circuit public inputs. All private functions need to return this as it is part of the input of the private kernel.\n PrivateContext::new(inputs, 0).finish()\n }\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/schnorr_single_key_account_contract/src/main" + }, + "18": { + "source": "\nimpl Field {\n #[builtin(to_le_bits)]\n fn to_le_bits(_x : Field, _bit_size: u32) -> [u1] {}\n #[builtin(to_be_bits)]\n fn to_be_bits(_x : Field, _bit_size: u32) -> [u1] {}\n\n fn to_le_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_le_radix(256, byte_size)\n }\n fn to_be_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_be_radix(256, byte_size)\n }\n\n #[builtin(to_le_radix)]\n //decompose _x into a _result_len vector over the _radix basis\n //_radix must be less than 256\n fn to_le_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\n #[builtin(to_be_radix)]\n fn to_be_radix(_x : Field, _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 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 fn sgn0(self) -> u1 {\n self as u1\n }\n}\n\n#[builtin(modulus_num_bits)]\nfn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\nfn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\nfn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\nfn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\nfn modulus_le_bytes() -> [u8] {}\n", + "path": "std/field" + }, + "31": { + "source": "use crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n GENERATOR_INDEX__FUNCTION_ARGS,\n HISTORIC_BLOCK_DATA_LENGTH,\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n CALL_CONTEXT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\n CONTRACT_STORAGE_READ_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__FUNCTION_DATA,\n GENERATOR_INDEX__PUBLIC_DATA_READ,\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\n GENERATOR_INDEX__CALL_CONTEXT,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n};\n\nuse crate::oracle::debug_log;\nuse crate::types::vec::BoundedVec;\nuse crate::types::point::Point;\n\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n}\n\nimpl PublicGlobalVariables {\n fn serialize(self) -> [Field; 4] {\n [self.chain_id, self.version, self.block_number, self.timestamp]\n }\n}\n\nstruct ContractDeploymentData {\n deployer_public_key: Point,\n constructor_vk_hash : Field,\n function_tree_root : Field,\n contract_address_salt : Field,\n portal_contract_address : Field,\n}\n\nimpl ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.deployer_public_key.x,\n self.deployer_public_key.y,\n self.constructor_vk_hash,\n self.function_tree_root,\n self.contract_address_salt,\n self.portal_contract_address,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)[0]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\nstruct PrivateContextInputs {\n call_context : CallContext,\n block_data: HistoricBlockData,\n\n contract_deployment_data: ContractDeploymentData,\n\n private_global_variables: PrivateGlobalVariables,\n}\n\n// PublicContextInputs are expected to be provided to each public function\nstruct PublicContextInputs {\n call_context: CallContext,\n block_data: HistoricBlockData,\n\n public_global_variables: PublicGlobalVariables,\n}\n\nstruct CallContext {\n msg_sender : Field,\n storage_contract_address : Field,\n portal_contract_address : Field,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment: bool,\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender,\n self.storage_contract_address,\n self.portal_contract_address,\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)[0]\n }\n}\n\nstruct HistoricBlockData {\n private_data_tree_root : Field,\n nullifier_tree_root : Field,\n contract_tree_root : Field,\n l1_to_l2_messages_tree_root : Field,\n blocks_tree_root: Field,\n public_data_tree_root: Field,\n global_variables_hash: Field,\n}\n\nimpl HistoricBlockData {\n // NOTE: this order must match the order in `private_circuit_public_inputs.hpp`\n fn serialize(self) -> [Field; HISTORIC_BLOCK_DATA_LENGTH] {\n [\n self.private_data_tree_root,\n self.nullifier_tree_root,\n self.contract_tree_root,\n self.l1_to_l2_messages_tree_root,\n self.blocks_tree_root,\n self.public_data_tree_root,\n self.global_variables_hash,\n ]\n }\n\n fn empty() -> Self {\n Self { private_data_tree_root: 0, nullifier_tree_root: 0, contract_tree_root: 0, l1_to_l2_messages_tree_root: 0, blocks_tree_root: 0, public_data_tree_root: 0, global_variables_hash: 0 }\n }\n}\n\nstruct FunctionData {\n function_selector: Field,\n is_internal: bool,\n is_private: bool,\n is_constructor: bool,\n}\n\nimpl FunctionData {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.function_selector,\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ], GENERATOR_INDEX__FUNCTION_DATA)[0]\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n read_requests: [Field; crate::abi::MAX_READ_REQUESTS_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n nullified_commitments: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n // Explore introducing a new type like uint256 (similar to Point), so it's more explicit that\n // we're talking about a single number backed by two field elements.\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n contract_deployment_data: ContractDeploymentData,\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.nullified_commitments);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n dep::std::hash::pedersen_with_separator(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.storage\n }\n}\n\nstruct ContractStorageRead {\n storage_slot: Field,\n value: Field,\n}\n\nimpl ContractStorageRead {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\n [self.storage_slot, self.value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, value: 0 }\n }\n}\n\nstruct ContractStorageUpdateRequest {\n storage_slot: Field,\n old_value: Field,\n new_value: Field,\n}\n\nimpl ContractStorageUpdateRequest {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\n [self.storage_slot, self.old_value, self.new_value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, old_value: 0, new_value: 0 }\n }\n}\n\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; crate::abi::MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n prover_address: Field,\n\n // TODO: include globals in here and check them elsewhere\n // https://github.com/AztecProtocol/aztec-packages/issues/1567\n}\n\nimpl PublicCircuitPublicInputs {\n \n fn hash(self) -> Field {\n let mut inputs: BoundedVec = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_read[i].hash());\n }\n inputs.push_array(self.public_call_stack);\n inputs.push_array(self.new_commitments);\n inputs.push_array(self.new_nullifiers);\n inputs.push_array(self.new_l2_to_l1_msgs);\n\n // We do not include block_data since it's not in the cpp hash\n\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.block_data.serialize()); // see https://github.com/AztecProtocol/aztec-packages/issues/1473\n inputs.push(self.prover_address);\n\n dep::std::hash::pedersen_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_read[i].serialize());\n }\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.prover_address);\n fields.storage\n }\n}\n\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\n\nfn hash_args(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = dep::std::hash::pedersen_with_separator(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS)[0];\n }\n chunks_hashes[i] = chunk_hash;\n }\n dep::std::hash::pedersen_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)[0]\n }\n}\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/abi" + }, + "32": { + "source": "use crate::constants_gen::{\n EMPTY_NULLIFIED_COMMITMENT,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_READ_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n};\n\nuse crate::abi;\n\nuse crate::abi::{\n hash_args,\n CallContext,\n ContractDeploymentData,\n HistoricBlockData,\n FunctionData,\n PrivateCircuitPublicInputs,\n PublicCircuitPublicInputs,\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\n// l1 to l2 messaging\nuse crate::messaging::process_l1_to_l2_message;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem;\n\nuse crate::types::{\n vec::BoundedVec,\n point::Point,\n};\n\nuse crate::utils::arr_copy_slice;\n\nuse crate::oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n public_call::call_public_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal,\n context::get_portal_address,\n};\n\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n inputs: abi::PrivateContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n read_requests: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n nullified_commitments: BoundedVec,\n\n private_call_stack : BoundedVec,\n public_call_stack : BoundedVec,\n new_l2_to_l1_msgs : BoundedVec,\n\n block_data: HistoricBlockData,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec,\n // unencrypted_logs_preimages: Vec,\n}\n\nimpl PrivateContext {\n fn new(inputs: abi::PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n read_requests: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n nullified_commitments: BoundedVec::new(0),\n\n block_data: inputs.block_data,\n\n private_call_stack: BoundedVec::new(0),\n public_call_stack: BoundedVec::new(0),\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.private_global_variables.version\n }\n\n fn finish(self) -> abi::PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = abi::PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n read_requests: self.read_requests.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n nullified_commitments: self.nullified_commitments.storage,\n private_call_stack: self.private_call_stack.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n encrypted_logs_hash: encrypted_logs_hash,\n unencrypted_logs_hash: unencrypted_logs_hash,\n encrypted_log_preimages_length: encrypted_log_preimages_length,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.block_data,\n contract_deployment_data: self.inputs.contract_deployment_data,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version,\n };\n priv_circuit_pub_inputs\n }\n\n fn push_read_request(&mut self, read_request: Field) {\n self.read_requests.push(read_request);\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n self.nullified_commitments.push(nullified_commitment);\n }\n\n fn message_portal(&mut self, content: Field) {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, inputs: abi::PrivateContextInputs, msg_key: Field, content: Field, secret: Field) {\n let nullifier = process_l1_to_l2_message(inputs.block_data.l1_to_l2_messages_tree_root, inputs.call_context.storage_contract_address, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_private_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n fn call_private_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_private_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let fields = call_private_function_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PrivateCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PrivateCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n // TODO handle the offsets as a variable incremented during extraction?\n args_hash: fields[11],\n return_values: arr_copy_slice(fields, [0; RETURN_VALUES_LENGTH], 12),\n read_requests: arr_copy_slice(fields, [0; MAX_READ_REQUESTS_PER_CALL], 16),\n new_commitments: arr_copy_slice(fields, [0; MAX_NEW_COMMITMENTS_PER_CALL], 20),\n new_nullifiers: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 24),\n nullified_commitments: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 28),\n private_call_stack: arr_copy_slice(fields, [0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL], 32),\n public_call_stack: arr_copy_slice(fields, [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL], 36),\n new_l2_to_l1_msgs: arr_copy_slice(fields, [0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL], 40),\n encrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 42),\n unencrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 44),\n encrypted_log_preimages_length: fields[46],\n unencrypted_log_preimages_length: fields[47],\n block_data: HistoricBlockData {\n // Must match order in `private_circuit_public_inputs.hpp`\n private_data_tree_root : fields[48],\n nullifier_tree_root : fields[49],\n contract_tree_root : fields[50],\n l1_to_l2_messages_tree_root : fields[51],\n blocks_tree_root : fields[52],\n public_data_tree_root: fields[53],\n global_variables_hash: fields[54],\n },\n contract_deployment_data: ContractDeploymentData {\n deployer_public_key: Point::new(fields[55], fields[56]),\n constructor_vk_hash : fields[57],\n function_tree_root : fields[58],\n contract_address_salt : fields[59],\n portal_contract_address : fields[60],\n },\n chain_id: fields[61],\n version: fields[62],\n },\n is_execution_request: fields[63] as bool,\n };\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n assert(item.is_execution_request == false);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.private_call_stack.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n fn call_public_function(\n &mut self,\n contract_address: Field, \n function_selector: Field, \n args: [Field; ARGS_COUNT]\n ) {\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)\n }\n\n fn call_public_function_no_args(\n &mut self,\n contract_address: Field, \n function_selector: Field,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n fn call_public_function_with_packed_args(\n &mut self,\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n ) {\n let fields = enqueue_public_function_call_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PublicCallStackItem {\n contract_address: fields[0],\n function_data: FunctionData {\n function_selector: fields[1],\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PublicCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : fields[5],\n storage_contract_address : fields[6],\n portal_contract_address : fields[7],\n \n is_delegate_call : fields[8] as bool,\n is_static_call : fields[9] as bool,\n is_contract_deployment: fields[10] as bool,\n },\n args_hash: fields[11],\n return_values: [0; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [0; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [0; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: 0,\n block_data: HistoricBlockData::empty(),\n prover_address: 0,\n },\n is_execution_request: true,\n };\n\n assert(contract_address == item.contract_address);\n assert(function_selector == item.function_data.function_selector);\n \n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\n\n self.public_call_stack.push(item.hash());\n }\n}\n\nuse crate::abi::{\n ContractStorageRead,\n ContractStorageUpdateRequest\n};\n\nstruct PublicContext {\n inputs: abi::PublicContextInputs,\n\n args_hash : Field,\n return_values : BoundedVec,\n\n contract_storage_update_requests: BoundedVec,\n contract_storage_read: BoundedVec,\n public_call_stack: BoundedVec,\n\n new_commitments: BoundedVec,\n new_nullifiers: BoundedVec,\n\n new_l2_to_l1_msgs: BoundedVec,\n\n unencrypted_logs_hash: BoundedVec,\n unencrypted_logs_preimages_length: Field,\n\n block_data: HistoricBlockData,\n prover_address: Field,\n}\n\nimpl PublicContext {\n fn new(inputs: abi::PublicContextInputs, args_hash: Field) -> PublicContext {\n let empty_storage_read = ContractStorageRead::empty();\n let empty_storage_update = ContractStorageUpdateRequest::empty();\n PublicContext {\n inputs: inputs,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\n contract_storage_read: BoundedVec::new(empty_storage_read),\n public_call_stack: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(0),\n new_nullifiers: BoundedVec::new(0),\n\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n \n unencrypted_logs_hash: BoundedVec::new(0),\n unencrypted_logs_preimages_length: 0,\n\n block_data: inputs.block_data,\n prover_address: 0,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n fn msg_sender(self) -> Field {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> Field {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> Field {\n self.inputs.call_context.portal_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 block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n fn finish(self) -> abi::PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = abi::PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_read: self.contract_storage_read.storage,\n return_values: self.return_values.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack: self.public_call_stack.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n unencrypted_logs_hash: unencrypted_logs_hash,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_data: self.inputs.block_data,\n prover_address: self.prover_address,\n };\n pub_circuit_pub_inputs\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n self.new_commitments.push(note_hash);\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n self.new_nullifiers.push(nullifier);\n }\n\n fn message_portal(&mut self, msg: Field) {\n self.new_l2_to_l1_msgs.push(msg);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(self.block_data.l1_to_l2_messages_tree_root, this, msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\n }\n\n fn accumulate_encrypted_logs(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn accumulate_unencrypted_logs(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n fn call_public_function(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n args: [Field; ARGS_COUNT],\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = abi::hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n call_public_function_internal(\n contract_address, \n function_selector, \n args_hash,\n )\n }\n\n fn call_public_function_no_args(\n _self: Self,\n contract_address: Field, \n function_selector: Field,\n ) -> [Field; RETURN_VALUES_LENGTH] {\n call_public_function_internal(\n contract_address, \n function_selector, \n 0,\n )\n }\n\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/context" + }, + "55": { + "source": "\nstruct BoundedVec {\n storage: [T; MaxLen],\n len: Field,\n}\n\nimpl BoundedVec {\n fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\n }\n\n fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64);\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n fn push_array(&mut self, array: [T; Len]) {\n let newLen = self.len + array.len();\n assert(newLen as u64 <= MaxLen as u64);\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = newLen;\n }\n\n fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n\n let elem = self.storage[self.len - 1];\n self.len -= 1;\n elem\n }\n}\n\n// #[test]\n// fn test_vec() {\n// let vec: BoundedVec = BoundedVec::new(0);\n// assert(vec.len == 0);\n// let vec1 = vec.push(1);\n// assert(vec1.len == 1);\n// let vec2 = vec1.push(1);\n// assert(vec2.len == 2);\n// let vec3 = vec2.push(1);\n// assert(vec3.len == 3);\n// let x = vec3.pop();\n// assert(x == 1);\n// }", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/types/vec" + }, + "61": { + "source": "use crate::abi::FunctionData;\nuse crate::abi::PrivateCircuitPublicInputs;\nuse crate::constants_gen::GENERATOR_INDEX__CALL_STACK_ITEM;\n\nstruct PrivateCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PrivateCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/private_call_stack_item" + }, + "62": { + "source": "use crate::{\n abi,\n abi::{\n PublicCircuitPublicInputs,\n FunctionData,\n },\n};\nuse crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__CALL_STACK_ITEM,\n};\n\n// oracles\nuse crate::oracle::{\n enqueue_public_function_call::enqueue_public_function_call_internal,\n};\n\nstruct PublicCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PublicCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PublicCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}\n\n", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/public_call_stack_item" + }, + "65": { + "source": "use crate::constants_gen::CALL_PRIVATE_FUNCTION_RETURN_SIZE;\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: Field,\n _function_selector: Field,\n _args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {}\n\nunconstrained fn call_private_function_internal(\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {\n call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n )\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/call_private_function" + }, + "76": { + "source": "\n// contract_address + \n// args_hash +\n// crate::abi::FUNCTION_DATA_SIZE +\n// crate::abi::CALL_CONTEXT_SIZE +\n// = 2 + 4 + 6\nglobal ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE: Field = 12;\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: Field, \n _function_selector: Field, \n _args_hash: Field,\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {}\n\nunconstrained fn enqueue_public_function_call_internal(\n contract_address: Field, \n function_selector: Field,\n args_hash: Field\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {\n enqueue_public_function_call_oracle(\n contract_address, \n function_selector, \n args_hash,\n )\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/enqueue_public_function_call" + }, + "81": { + "source": "use crate::abi;\nuse crate::types::vec::BoundedVec;\nuse crate::context::PrivateContext;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem; \n\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\nglobal FUNCTION_CALL_SIZE: Field = 3;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: Field,\n target_address: Field,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector, self.target_address]\n }\n}\n\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\n\nstruct EntrypointPayload {\n // Noir doesnt support nested arrays or structs yet so we flatten everything\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n\nimpl EntrypointPayload {\n // TODO(#1207) Do we need a generator index?\n fn hash(self) -> Field {\n dep::std::hash::pedersen(self.serialize())[0]\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.flattened_args_hashes);\n fields.push_array(self.flattened_selectors);\n fields.push_array(self.flattened_targets);\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n let args_len = self.flattened_args_hashes.len();\n let selectors_len = self.flattened_selectors.len();\n let targets_len = self.flattened_targets.len();\n\n for i in 0..args_len {\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..selectors_len {\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..targets_len {\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n \n let item_bytes = self.nonce.to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\n }\n\n bytes\n }\n\n // Executes all private and public calls \n fn execute_calls(self, context: &mut PrivateContext) {\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n }\n}", + "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint" + } + } + } +} From 119207c2c85a66ba0c9fda4f75fb5ef013833a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Rodr=C3=ADguez?= Date: Wed, 23 Aug 2023 14:06:36 +0200 Subject: [PATCH 3/5] Update yarn-project/foundation/src/abi/abi.ts --- yarn-project/foundation/src/abi/abi.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn-project/foundation/src/abi/abi.ts b/yarn-project/foundation/src/abi/abi.ts index cc80fb7ef18..931ea383b8d 100644 --- a/yarn-project/foundation/src/abi/abi.ts +++ b/yarn-project/foundation/src/abi/abi.ts @@ -204,7 +204,7 @@ export type DebugFileMap = Record< */ export interface DebugMetadata { /** - * The debug information, serialized as JSON. + * The debug information, serialized as JSON and compressed in gzip. */ debugSymbols: string[]; /** From ee469dc2e80dbfda0cc14ee37f28e8edaed548f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Rodr=C3=ADguez?= Date: Wed, 23 Aug 2023 14:08:24 +0200 Subject: [PATCH 4/5] Update yarn-project/foundation/src/abi/abi.ts --- yarn-project/foundation/src/abi/abi.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn-project/foundation/src/abi/abi.ts b/yarn-project/foundation/src/abi/abi.ts index 931ea383b8d..0fecd88c5cd 100644 --- a/yarn-project/foundation/src/abi/abi.ts +++ b/yarn-project/foundation/src/abi/abi.ts @@ -204,7 +204,7 @@ export type DebugFileMap = Record< */ export interface DebugMetadata { /** - * The debug information, serialized as JSON and compressed in gzip. + * The DebugInfo object, deflated as JSON, compressed using gzip and serialized with base64. */ debugSymbols: string[]; /** From c1384a3c98cc321fd4ebd9797f495966c922ff25 Mon Sep 17 00:00:00 2001 From: sirasistant Date: Wed, 23 Aug 2023 12:39:00 +0000 Subject: [PATCH 5/5] chore: use aztec version for compiling --- .../src/abis/ecdsa_account_contract.json | 50 ++----------------- .../src/abis/schnorr_account_contract.json | 48 ++---------------- .../schnorr_single_key_account_contract.json | 16 +----- 3 files changed, 11 insertions(+), 103 deletions(-) diff --git a/yarn-project/aztec.js/src/abis/ecdsa_account_contract.json b/yarn-project/aztec.js/src/abis/ecdsa_account_contract.json index 5bee69f42f2..84495445db9 100644 --- a/yarn-project/aztec.js/src/abis/ecdsa_account_contract.json +++ b/yarn-project/aztec.js/src/abis/ecdsa_account_contract.json @@ -48,7 +48,7 @@ } } ], - "bytecode": "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", + "bytecode": "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", "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" }, { @@ -153,15 +153,15 @@ } ], "returnTypes": [], - "bytecode": "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", + "bytecode": "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", "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" } ], "debug": { "debugSymbols": [ - "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mL0OZq+D2etg9jqYvQ5mr4PZ62D2Opi9Dmavg9nrYPY6mL0OZq+D2etk9jqZvU5mr5PZ62T2Opm9Tmavk9nrZPY6mb1OZq+T2etk9jqZvU5mr5PZ62T2Opm9Tmavk9nrZPY6mb1OZq+T2etk9jqZvU5mr5PZ62T2Opm9Tmavk9nrZPY6mb1OZq+T2etk9jqZvU5mr5PZ62T2Opm9Tmavk9nrZPY6mb1OZq+T2etk9jqZvU5mr5PZ62T2Opm9TmOva+6vbP3ycsefmV5JzPRKYqZXEjO9kpjplaTM2GvM9EpiplcSM72SmLGVGHuNGVuJsdeYsZUYe02ZsdeYsZUYe40ZW4mx15ixlRh7jRlbibHXmLGVGHuNGVuJsdeYsZUYe40ZW4mx15ixlRh7jRlbibHXmLGVGHuNGVuJsdeYsZUYe40ZW4mx15ihlSxjrzFDK1nGXmOGVrKMvcYMrWQZe40ZWsky9hozthJjrzFjKzH2GjO2EmOvMWMrMfYaM7YSY68xYysx9hozthJjrzFjKzH2GjO2EmOvMWMrMfYaM7YSY68xYysx9hozthJjrzFjKzH2GjO2EmOvMWMrMfYaM7YSY68xYysx9hozthJjrzFjKzH2GjO2EmOvMWMrMfYaM7YSZq+L2eti9rqYvS5mr4vZ62L2upi9Lmavi9nrYva6mL0uZq+L2eti9rqYvS5mr4vZ62L2upi9Lmavi9nrYva6mL0uZq+L2eti9rqYvS5mr4vZ62L2upi9Lmavi9nrYva6mL0uZq+L2eti9rqYvS5mr4vZ62L2upi9Lmavi9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2etm9rqZvW5mr5vZ62b2upm9bmavm9nrZva6mb1uZq+b2evL7PVl9voye32Zvb7MXl9m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Fx3ci/bdiw7uRfvuRQf3on33ooN70b570cG9aN+96OBetO9edHAv2ncvOrgX7bsXHdyL9t2LDu5F++5FB/eiffeig3vRvnvRwb1o373o4F607150cC/ady86uBftuxcd3Iv23YsO7kX77kUH96J996KDe9G+e9HBvWjfvejgXqDvDui7A/rugL47oO8O6LsD+u6Avjug7w7ouwP67oC+O6DvDui7A/rugL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evjuh707ouxP67oS+O6HvTui7E/ruhL47oe9O6LsT+u6Evrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ouwv67oK+u6DvLui7C/rugr67oO8u6LsL+u6Cvrug7y7ou8v4bhtfz5+o89lWnd5L7vRecqf3Ejvju7nTe8md3kvu9F5yp/eSO72X3MG9GN/NHdyL8d3UbeO7uWN72cZ3c8f2so3v5o7tZRvfzR3byza+mzu4F+O7uYN7Mb6bO7gX47u5g3sxvps7uBfju7mDezG+mzu4F+O7uYN7Mb6bO7gX47u5g3sxvps7uBfju7mDezG+mzu4F+O7uYN7Mb6bO7gX47u5g3sxvps7uBfju7mDezG+mzu4F+O7uYN7Mb6bO7gX47u5g3sxvps7uBfju7mDezG+mzu4F+O7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rNA2tIvGCm1Du2is0Da0i8YKbUO7aKzQNrSLxgptQ7torNA2tIvGCm1Du2is0Da0i8YKbUO7aKzQNrSLxgptQ7torNA2jIumCm0DuehCLrqQiy7kogu56EIuupCLLuSiC7noQi66kIsu5KILuehCLrqQiy7kogu56EIuupCLLnNCcX2/vvfX0xFfb+Vc2tl+/2WUSzNbiuQKUwRe5bm0saUIvMpzaUVZ36cp1vr55tzvM2lLK0qotlaUWMkFxkquIlZyFrGSu4iVHEas5DJiJacRK7KNrRUlVVpRYoW2oRUlVmgbWlFihbahFSVWaBtaUWKFtqEVJVZoG1pRYoW2oRUlVmgbWlFihbahFSVWaBtaUWKFtqEVJVZoG1pRYoW2oRUlVmgbWlFihbahFSVWaBtaUWKFtqEVJVZoG1pRYoW2oRUlVmgbWlFihbahFSVWaBtaUWKFtqEVJVZoG1pRYoW2oRUlVmgbWlFihbahFSVWaBtaUWKFtqEVJVZoG1pRYoW2oRUlVmgb+nRZrNA29OmyWKFtaFOKFdqGPl0WK7QNrV6xQtvQ7hUrtA0tX7FC29Cny2KFtqFPl8UKbUOfLosV2oY+XRYrtA19uixWchv7M36rzh/cqpLbiJXcRqhe7aKxktuIldxGrOQ2YiW3ESu5jVjJbcSKbOPVLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0De2isULb0C4aK7QN7aKxQtvQLhortA3torFC29AuGiu0DeSiL3HR+SEueiqwjVOBbZwKbONUYBunAts4FdjGqcA2TgW2cSq0DeKip0LbIC56KrQN4qKnQtsgLnoqtA3ioqdC2yAueiq0DeKip0LbIC56KrQN4qKnQtswLjq/njn5Pq+q9DZCZVw0VXobqdLbSJXeRqr0NlKlt5EqvY1U6W2kCm3DuGiojIumCm3DuGiq0DaMi6YKbcO4aKrQNoyLpgptw7hoqtA2jIumCm3DuGiq0DaMi6YKbcO4aKrQNoyLpgptw7hoqtA2jIumCm3DuGiq0DaMi6YKbcO4aKrQNoyLpgptw7hoqtA2jIumCm3DuGiq0DaMi6YKbcO4aKrQNoyLpgptw7hoqtA2jIumCm3DuGiq0DaMi6YKbcO4aKrQNoyLpgptw7hoqsg2mnHRVJFtNOOiqSLbaMZFU0W20YyLpopsoxkXTRXahnHRVKFtGBdNFdqGcdFUoW0YF00V2oZx0VShbRgXTRXahnHRVKFtGBdNFdqGcdFUoW0gF23IRRty0YZctCEXbchFG3LRhly0IRdtyEUbctGGXLQhF23IRRty0YZctCEXbchFG3LRhly0IRdtyEUbctGm1fFZX29O+fVNiF/PBzuVfpRWqvSztFKlH6YVKq1Ytb7+/avej/hpaMWKlX73X6r0u/9CpRUrVvrdf6nS7/5LlX73X6rkDmOl3/2XKrQNrVixQtvQipUqrVixQtvQihUrtA2tWLFC29CKFSu0Da1YsULb0IoVK7QNrVixQtvQihUrtA2tWLFC2zDvGk4V2cZj3jWcKrKNx7xrOFVkG49WrFiRbTzmXcOpItt4zLuGU4W2Yd41nCq0DfOu4VShbZh3DacKbcO8azhVaBtasWKFtqEVK1ZoG1qxYoW2oRUrVmgbWrFihbahFStWaBtasWKFtqEVK1ZoG1qxYoW2oRUrVmgbWrFihbahFStWaBtasWKFtqEVK1ZoG1qxYoW2oRUrVmgbWrFihbahT/fFCm1DO1us0Da0s8UKbUOf7osV2oY+3RcrtA19ui9WaBv6dF+s5Db6mr9V/Zd3NPxSyW3ESm4jVnIbsZLbSJV20VjJbcRKbiNWchuxktuIFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdlGaReNFdlGaReNFdlGaReNFdlGaReNFdlGaReNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXaBnLRQi5ayEULuWghFy3kooVctJCLFnLRQi5ayEULuWghFy3kooVctJCLFnLRQi5ayEULuWhpFx2fr2qMf3wTyqnkNmIltxEruY1UaReNldxGrOQ2YiW3ESu5jVjJbcQKbUO7aKzQNrSLhqprF40V2UbXLhorso2uXTRWZBtdu2isyDa6dtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbWgXjRXahnbRWKFtaBeNFdqGdtFYoW1oF40V2oZ20VihbSAX7chFO3LRjly0IxftyEU7ctGOXLQjF+3IRTty0Y5ctCMX7chFB3LRgVx0IBcdyEUHctGBXHQgFx3IRcc/66J///v/AMEkNyE=", - "eJztnMtq40AQRf9Fa2O6u/ol/8qQhZnJQCA4w9g7o3/POLily7iQMFYrIbo7G0pV5ZOu6rOJzs3r28/96eXtcGx25ya2ze7HuTn+2R8uX4+n/d9TsxPxftM8H35dPibbbZrfL6/Pzc50m5tY+y8iXIOt+JD6aLHd06ZJpnoF+3iFILmvEJ38X8FVryDVK/jqFUL1CrF6hVS9Qq5eYYaZHq+QZ5jpiQrVZzpXn+lcfaZz9ZnO1Wc66zMdpKx8CW0crdC2seQ34vtQn7VuXLTDVZIw+NKLPv2f04u+J+7oxVrX57c5jjeTnVxjc8zDn6hVQn0qv9G3Q6iPSqjLbWnXtTK0kL0WbMqhchAqHzD0lbZOGK2+fVcKQ78oVgpDv9NWCkO/flcKQzeFlcLQpWalMB72r+8E42EB/E4waKAAgwY6wLCGCoo06KBIgxKKNGihSIMaijTooUiDIoo0aKJIgyqKNOiiQMPSRZEGXRRp0EWRBl0UadBFkQZdFGnQRZEGXRRp0EWRBl0UaDi6KNKgiyINuijSoIsiDboo0qCLIg26KNKgiyINuijSoIsCDaGLIg26KNKgiyINuijSoIsiDboo0qCLIg26KNKgiyINuijQ8HRRpEEXRRp0UaRBF0UadFGkQRdFGnRRpEEXRRp0UaTxZV00mEIjhDBFo7xFQpwbQt2dLMKXNdFPYLGsh7ZxeDeGCwjjo5llNRCbEXPTzLIWNtHMshI00cyyDjLRjK4ASVJpJoXxZiT2obCO03U+9Dv1jvTBlemL7ja9fkndkT76sl0ivIWnpNe3/lzpo75IZ0uv76bZ0uvbZrb0+v6ItpxmySaMpnfJ9AMFF0dZ3Fv17Hhf7oVgh5cPpXwdlq06Li6VHyLG3RyiuFWHYOohtb2ph9QDO/pQlK3+7x/BlH0UYW1k0z113TsvAbwc", - "eJzt3c9uI0mW5eF3yXWhQbdrf+tVBrNozPQADTS6B1O1a9S7j2dkklKF7pUd/eg0UQrfZRXiUJfGQ6PzI93537/9x3/9r3/9+7//13/+7be//vdvbfvtr//jv3/72//91//8/X/+7e//+v/+/ttft35pf/nt3/7zf//+n5b/8Zff/s+//8e//fbXyz/+8vbfmrVy/ceWS7v9a9v+8T//8ltLD/8L9vC/kB/+F8rD/0J9+F9oD/8L/eF/YTz6L/TLw//Cw5/T/eHP6f7w53R/+HO6P/w53R/+nO4Pf073hz+n+8Of0+Phz+nx8Of0ePhzehzwnC7Wb3+hJvv5LxzwnJ78hQOe05O/cMBzevIXDnhOT/7CAc/pyV844Dn9/l/YLgc8qWd/4oBn9exPHPC0nv2Jhz+vt8vDn9jb5eHP7O3y8Kf2dvGf2yPbNTW6vf8nchvXf1vscvu3uTv/OG+32fP+r1/+8eWPafx94HHT1O06TUr/NI1zy5d8e7G69PZmdH+D+Qqjb/7G9SVG9zfELzG6v9F+idH9Dfw5Rt9fwa63vO94b0b3Xxi+xOj+C86XGN1/IfsSo69+gTxw9MWvpqnm6+iW0mT0km8HMaW+up/1j9EXv5oeOHpa/Gp65OiLX00/NHqrt673rb8e3bnlVq83PCb/NPVxfalL49VzqGfvH1+uA6dX/9T+WLzFr+ffa/EWH1F8r8VbfEzzvRZv8VHV91q8xcd132vxFh9Zfq/Fe+Zj26dfvGc+un72xbNnPr5/+sU732HcsXjnO4w7Fu98h3HH4p3vMO5YvPMdxh2Ld77DuGPxzncYdyze+Q7jjsU732HwxcvnO4w7Fu98h3HH4p3vMO5YvPMdxh2Ld77DuGPxzncYdyze+Q7jjsU732HcsXjnO4w7Fu98h8EXr5zvMO5YvPMdxh2Ld77DuGPxzncYdyze+Q7jjsU732HcsXjnO4w7Fu98h3HH4p3vMO5YvPMdBl+8er7DuGPxzncYdyze+Q7jjsU732HcsXjnO4w7Fu98h3HH4p3vMO5YvPMdxh2Ld77DuGPxzncYfPHa+Q7jjsU732HcsXjnO4w7Fu98h3HH4p3vMO5YvPMdxh2Ld77DuGPxzncYdyze+Q7jjsU732HwxQuuvH4unrR45zuMOxbvu7zDKJfr4pVSZot3vVDtP42QPrp0T/z+IiVrt8Ev2/vrsW39dq22lPP7/7hfrsXrdXK7n9LnJ37f8us+KE/8fujXfVCe+H3WUzwon/CK8sTv3h74kNTryCON2fPkesnaYu31Ov9YvSd++/ax1Uvldtxjl/T+P6712tJm6c2SfJc3ZfC5WH5eEP/ncFIal9uj08qrBfmRcd9fpHy5LkzKr8ro3VW7XQv39a3v9/nHzbtH4MfdvHuUetzNu8dbx928e+Rw3M27r4HH3by7nx938+6Gd9zNu5vHUTef/B+xOe7mH/qsTf6P1xx38w991u7HII+9+Yc+a5P/YzXH3fxDn7XJ/+WZ427+sc9a/xdcjrv5xz5r/V9COe7mH/us9X9R5Libf+yz1v9ljuNu/rHPWv8XLo67+cc+a/1fijju5h/7rPV/7+C4m3/ss9a/Zv5xN//YZ61/3fXjbv6xz1r/2t3H3fxjn7X+9Z+Pu/nHPmv9awgfd/OPfdb616E97uYf+6z1r2V63M0/9lnrXw/zuJt/7LPWv6bicTf/2Getf12+427+sc9a/9pux938Y5+1/vXBjrv5xz5r/WtMHXfzj33W+tcpOu7mH/us9a91c9zNP/ZZ618v5bibD561tw829kfn8urmf2SCp+K7Gf/5VfLts4X66hOaPzP+k6aWl0wdP2f8Z0Lt149TUtvq+8t1uX1OY5f+MlP/8UvNyT+j/sg/4D8bDvwD/vPhI38g3T4jM3v109f7H3j7j1u166fKrdWXXlj6Yxr/6fOwaUa9/uM22ngzjf9s+6xp/CfnZ03jP+0/axp/Q3nUNP2yXXedfkn1zTTBVvVJ09y/CR44jX+G4KdNc//2+rFpbj8k3C+tvZlm7V48m2btXjybZu1ePJtm7V7c83Z9De/Z3rxq+ucBfdo0i/fiyTSL9+LJNIv34txuu1/ub3Y//1yKT5tm8V48mWbxXjyZZvFeXOz6j3spb1rsf3P806ZZvBdPplm8F0+mWbsXb5d+e3u3/3dJb+ZZuxvP51m7H0/nCb50+XnzrN2T9xn6dptnpO3NPGt35fk8a/fl+Txrd+b5PGv35vk8a3fn+TzL9+fJPMv358k8y/fnd+ex4Ju4nzfPc+3PFnzX93HzjNtHBvt/j5+Pmy34cvDnzbN6f57Ns3p/ns2zen+ezbN6f57Ns3p/ns2zen+ezBN85/rz5lm9P8/mebL9Ofga+MPm2S7b9ey4/b/L23kW78/TeRbvz9N5Fu/P03kW78/TeRbvz9N5Fu/Ps3mCb9d/3jyL9+fpPIv35+k8T7Y/B2cIPHCe9jLP/gr2Zp7l+/NknuX782Se5fvzZJ7l+/NknuX78/vzBOdRfN48y/fnyTyr9+eSbj6/lf7GW4JTOz5vntX782ye1fvzbJ7V+/NsntX782ye1fvzbJ7V+/NknuCMmcfNUy+39+9bLfnNPKv359k8q/fn2Tyr9+fZPKv359k8q/fn2Tyr9+fZPKv359k8q/fn2m7X39qalTfzrN6fJ/ME50Z93jzL9+fJPMv358k8y/fnyTzL9+fJPMv358k8q/fnVvJtnp77m3lW78+zeVbvz7N5Vu/Pk3kOOF/v2HlW78+zeVbvz7N5Vu/Ps3lW78+zeVbvz7N5nmx/Xnxe4D5DvV3Ndxv55+/T2uIzA+fzrN6fJ/MsPjtwPs/q/Xk2z+r9eTbP6v15Ns/q/Xk2z+r9eTbP6v15Ns+T7c+LzxbcZ+gvr19j/JO3vP3n+XYOfO4vp6RW75Zzy9frb+Tx6h/b9sf9XL3vf+h+lst1jPLqlG33fla7/UhAtfRP99OZOd8uXr6/c3uzKItPh3zcorTL7WTCtl3K+4uSUn25onsZbxZl9SvgwxZl69dnREtje3M/V7+yfuh+7i9s1/vZ0uv7+WP0+1/03r1GjB1whuXkD9z/sjT5A2tfZ96/yo0tPgvy/Wun2OJzICfTLD4DcjbN2t1vNs3q64O8d+0UW3zu42yatUf+s2kWn5M+mWbxOenvXjvFFp/zOJtm9bWa3p9m9bWa3psmLz7b8f1rp+TF5zrOpll9fZD3p1m8F0+mWbwXv3vtlLz4HMfZNKuv1fT+NKuv1fT+NIv34nevnZIXn9s4mWbxmY2zaRbvxZNpll8V5N2rpuTVZzVO51m7H8/nWX5VkMk8z3VVkLz6rMbpPM91VZC8+qzG2Tyrz2qczvNcVwXJq89qnM7zXFdtyqvPapzO81xXbcqrz2qczvNcVwXJq89qnM7zXFcFyavPapzO81xXBcmrz2qczvNcV23Kq89qnM7zXFdtyqvPapzO82T78/KzGt+/ikJeflbjZJ7lZzXO5nmuq4Lk5Wc1zuZ5rquC5OVnNc7mea6rNuXlZzXO5nmuqzbl5Wc1zuZ5rquC5OVnNc7mea6rguTlZzXO5lm+P0/mWb4/T+Z5rqs25eVnNc7mea6rguTlZzXO5nmuq4Lk5Wc1zuZZvT/P5nmuqzbl5Wc1zuZZvT/P5nmuq4Lk5Wc1zuZ5rquC5OVnNc7mWX5VkPfnWX5W42ye57pqU15+VuNsnue6KkheflbjbJ7nuipIXn5W42ye5fvzZJ7numpTXn724WSe5Sf+zeZ5rquC5OXnxs3mea6rguTFv4c4n+e5rgqSF/8m4nye57pqU179q4jTeZ7rqk159a8iTud5sv159a8iTq6ikFf/KuJ0ntX782ye57oqSF79q4jTeZ7rqiB59a8iTud5rqs2ldW/ijid57mu2lRW/yridJ7V+/PnXOWmXFbv+1/gKjdl9U8+foWr3JTVvzv5SVe5Kat/z/K4q9yU1T99uY1SXo1eJpvW5brj5lfnC5Tyx+jLr7Z12Oirf1DzyNGXX7nquNGXX4wKjm7tzejLjy2OG3354cJxoy9/UT9u9OUvvceNvvzV9LjRv8qrqTP6V3k1fTv68p8/PXD0r/Jq6oz+dV9Nl//+6oGjf91X0+W/6nrg6F/31XT5b8UeOPrXfTVd/gu0x42+/MdqDxz9uV9NXwS2Xd6M/tyvpu+O/tyvpu+O/tyvpu+O/tyvpu+O/tyvpu+O/tyvpu+NfsDpfbnfPgLJo78e/ccfuH8Lm/yB+zeayR+4fzuo5fpBgbU8Jo9u6rcubGm0n7+xWA44o+5D89jWbp9w2jbszTz3P3GPnef+Z+Ox89x/wHrsPPcfhX5snpRun0vt+9zl53kOOKPu2Hnu3xKPnef+HfTYee7fcD84Tysv87z+nPXPeRbvz9N5Vu/Ps3lW78+zeVbvzzW97Ic1v9kPDzij7th5Vu/Pk3kOOKPu2HlW78+128s84+cz+MsBZ9QdO8/q/Xk2z+r9eTbP6v255dsVIKzVt31evT/P5lm9P8/mWb0/z+ZZvD/nOm7HY7lZ/nmeA86oO3aexfvzdJ7F+/N0nsX783SexfvzdJ7F+/N0nsX783SexfvzdJ7F+/N0nifbnw84o+5j87RyO/7J/c0Vp8oBZ9QdO8/q/Xk2z+r9eTbP6v15Ns/q/Xk2z+r9eTbP6v15Ns/q/Xk2z+r9+f156gFn1B07z+r9uVt7mefNLxPWA86oO3ae1fvzbJ7V+/NsntX782ye1fvzbJ7V+/NsntX782ye1fvzZJ4DTos6dp4n258POIHpQ/OUNG6vX8Xym9evA85KOnaexfvzdJ7F+/N0nsX783SexfvzdJ7F+/N0nsX782yeA060+dg8Vvttnpx+vuJCPeDsmWPnWb0/z+ZZvT/P5lm9P8/mWb0/z+ZZvT/P5lm9P8/mWb0/53z7xcJSLj9/PlgPOMvj0HkOOHXj2HlW78+zeVbvz7N5Vu/Ps3lW78+zeVbvz7N5Vu/PJaXbPPXVTV/nWb0/z+ZZvT/P5lm9P0/mOeAX+Y6dZ/X+PJtn9f48m2f1/jybZ/X+PJtn9f48m+fJ9ucDfpHvY/Psr5i3edr28/f56wG/yHfsPKv358k8B/wi37HzrN6fZ/Os3p9n86zen2fzrN6fZ/Os3p9n86zen2fzPNn+vPr8wdLKy/udVv/p/J23/7za9dzZ1z/uU90Tkd+9gmxdfV7iB+9nvd50fXVKpXs/t0u+3dH9v19dXhNcQ7auPj3ygcuyH/rcluX1P3eXZWx2/dhhpNffqvxzWVa/Cn6RZVn9YvxFlmX1McEXWZbVhyZfZFlWHyF9kWVZfaD2RZZl9fHiF1mW5z5s/bRl+T5HuUcuy+qTzL/KspxHue6ynEe57rKcR7nuspxHue6ynEe57rKcR7nuspxHue6ynEe57rKcR7nesqy+VMdXWZbzKNddlvMo112W8yjXXZbzKNddlvMo112W8yjXXZbzKNddlvMo112W8yjXW5bVFzz6KstyHuW6y/J9jnLbyw/wXvo23l+W/nKZ2962/mZZvs9R7qHL8n2Ocg9dlu9zlHvosnyfo9xDl+X7HOUeuizf5yj30GX5Pke5By5LW33ZuK+yLN/nKPfQZTmPct1lOY9y3WU5j3LdZTmPct1lOY9y3WU5j3LdZTmPct1lOY9yvWVZffHNr7Is51GuuyznUa67LOdRrrss51GuuyznUa67LN/mKHezlx+M2fLrn+/+855+mwPX6T39Nsei03v6bQ4vZ/d0+eWAP++efpuDwOk9/TbHddN7+m0O1ab39NscfU3v6bc5oJre01/mGGn5Rag/757+MsdIyy+c/Wn3dPkluT/vnv4yx0jLLyP+eff0lzlGWn7p88+7p7/MMdLyy7V/3j39ZY6Rll9i/vPu6S9zjLT8svifd09/mWOk5Zfy/7x7+sscIy3/+YHPu6e/zDHS8p9M+NA9Lbff49lfDl/f0x+j338okPvtesx59Nej//gD978Cv/8HDvi9gckfWPx6k3q+/YBkGq28fnR/zLP4VcG2djt90bbXpy/+Oc/ivXs6z+IddjrP4n1wOs/i3cpSuu2elvLPF+xvq39AYDrP4ndH03kWv4eZzbP6CvuWWnmZZ2xv5lm8P0/nWb0/z+ZZvT/P5lm9P798UWr/7/xmP1x9+fLpPKv359k8q/fn2Tyr9+fa7WWeMd7Ms3p/nsyz+trQ03lW78+zeVbvz/v7w9s8+278Zp7V+/NsntX782ye1fvzbJ7F+3OuL/qQ2+srwvw5z+L9eTrP4v15Os/i/Xk2z+qrmk7nWbw/T+dZvD9P51m8P0/nWbw/T+dZvD9P53my/Xn1RRJzK7fjn9wvb45/Vl+dcDrP6v15Ms/q6/FN51m9P8/mWb0/z+ZZvT/P5lm9P8/mWb0/z+ZZvT/P5nmy/Xn1dbVyt/Yyz+tfVP1zntX78/vz9NVXkprOs3p/ns2zen+ezbN6f57Ns3p/ns2zen+ezbN6f57Ns3p/ns3zXPtzX34pljRur1/F8s+vX335NVBm86z+vuBsntXf6pvNs/q7d7N5Fu/P03lWf49tNs/qb5vN5ln9vXmr/TZPTunNPKu/3T6bZ/X+PJln+RUHZvOs3p9n86zen2fzrN6fZ/Os3p9n86zen3N++fZtufz8+WBfflb5bJ7V+/NsntX782ye1fvzZJ7lZzvP5lm9P8/mWb0/z+ZZvT+XlG7z1Fc3fZ1n9f48m2f1/jybZ/X+PJtn9f48m2f1/jybZ/X+PJln+ZmWs3lW78+zeVbvz7N5nmx/Xn4GYLXb97FL237+Pn9ffp7ebJ7V+/NsntX782ye1fvzbJ7V+/NkngNOCDx2ntX782ye1fvzbJ7V+/Nsnifbn1efP/jB86jteu5sLS9ffXPPo8773/7z3+bRX32Otf1xP5/6LOoPXcg53+7o/t8tvb6nztR53E4/Lu3tsnyby9Ic+TuoffVZml9lWb7NBW8OXZbV56x+lWX5NpfSOXZZvs11d45dlm9zkZ5jl2X18eIXWZbnPmz9tGX5Pke5hy7LeZTrLst5lOsuy3mU6y3L6jP/v8qynEe57rKcR7nuspxHue6ynEe57rKcR7nuspxHue6ynEe57rKcR7nuspxHud6yrL5+yldZlvMo112W8yjXXZbzKNddlvMo112W8yjXXZbzKNddlvMo112W8yjXXZbvc5R74O+399VXofoqy/J9jnIPXZbvc5R76LJ8n6PcQ5fl+xzlHros3+co99Bl+T5HuYcuy/c5yj10Wb7PUe6hy3Ie5TrLMlZfy++rLMt5lOsuy3mU6y7LeZTrLst5lOsuy3mU6y7LeZTrLst5lOsuy3mU6y7LeZTrLcvyK6J+kWU5j3LdZTmPct1l+TZHuZOfEx/LL4D7eff02xyLTu/ptzm8nN7Tb3PEOL2n3+YgcHpPv81x3eyeLr848ufd029z9DW9p9/mgGp6T3+ZY6TlF6H+vHv6yxwjLb9w9ufd01/mGGn5xb4/757+MsdIyy9Q/nn39Jc5Rlp+UfXPu6e/zDHS8gvBf949/WWOkZZfvP7z7ukvc4y0/IL7n3dPf5ljpOU/EvB59/SXOUZa/sMGn3dPn/oYqdx+j6fZeH1Pf4y+/KAn2avR0/uj58v1I86cXu5lKX+Mvvwo5rjRlx+WHDf68uOM40ZffuAAR7f2ZvTlRwKHjb789yUOHH35a/Vxoy9/8T1u9OWvpseN/lVeTZ3Rv8qrqTP6V3k1dUb/Kq+mzuhf99V0/a8+HDb6+l9mOG70r/tquv4XDo4b/eu+mq7/pYDjRv+6r6brr7h/3OjP/Wpar/84t8ub0Z/71fTd0Z/71fS90ddfAf640Z/71fTd0Z/71fTd0Z/71fSd0bdL+xf/u+al2XWi0srLn8iXW87dnIScuzPMc/63ioWc+5wQcm4hhZzbBiHnHtgIOfeoQsi5L+lCDvbF/xabkIN98b9hJeRgX/xv/wg52Bf/mylCDvbF/9aEkIN98T/RF3KwL/6nzUIO9sX/JFTIwb74H+oJOdgX/+MsIQf74n+QI+RgX/yPMIQc7IuP90IO9sVnayEH++KDrZCDffGpUsjBvvhIJ+RgX3yeEnKwLz7MCDnYF58khBzsi/9mXMjBvvhvQ4Uc7Iv/BkzIwb74P4Yk5GBf/J/TEXKwL/4Psgg52Bf/Jz2EHOyL/6MQpafyZ65eSvFyfl/mOb8v85zfl3nO78s85/dlnvP7Ms/5fZnm/ItjCzm/L/Mc7It//WEhB/viX8FWyMG++NdAFXKwL/5VNOe5zb/OpBKEjdn8axUqQdiZ7QJLs/lXhFOCsDabf1UxJQiLs/lXphKC/rWblCBtjn/9HyVIm+NfcEYJ0ub4l0NRgrQ5AfkKQdqcAH2FIG1OwL5CkDYngF8hSJsT0K8QpM0J8FcI0uYE/CsEaXMCABaCtDkBAQtB2pwAgYUgbU7AwEKQNieAYCFImxNQsBCkzQkwWAjS5gQcLARpcwIQFoK0OQEJC0HanACFhSBtTsDCQpA2J4BhIUibE9CwEKTNCXBYCNLmBDwsBGlzAiAWgrQ5ARELQdqcAImFIG1OwMRCkDYngGIhSJsTULEQpM0JsFgI0uYEXCwEaXMCMBaCtDmUjDdqxhtF442q8UbZeKNuvFE43qgcb5SON2rHG8XjjerxRvl4o368UUDeqCBvlJA3asiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyIkacqKGnKghJ2rIiRpyooacqCEnasiJGnKihpyoISdqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4Zs1JCNGrJRQzZqyEYN2aghGzVko4acqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ2rImRpypoacqSFnasiZGnKmhpypIWdqyJkacqaGnKkhZ8WQuxsUmuMHheb4QaE5flBojh8UmuMHheb4QaE5flBojhtUDNkP0uYohuwHaXMUQ/aDtDmKIftB2hzFkP0gbE5RDNkPwuYUwZBrc4Pz5gTBeXOC4Lw5QXDenCA4b04QnDcnCM6b4wcFQw6C8+YEQdocwZCDIG2OYMhBkDZHMOQgSJsjGLIfFAw5CNLmCIYcBGlzBEMOgrQ5giEHQdocwZCDIG2OYMhBkDZHMOQgSJsjGHIQpM0RDDkI0uYIhhwEaXMEQw6CtDmCIQdB2hzBkIMgbY5gyEGQNkcw5CBImyMYchCkzREMOQjS5giGHARpcwRDDoK0OYIhB0HaHMGQgyBtjmDIQZA2RzDkIEibIxhyEKTNEQw5CNLmCIYcBGlzBEMOgrQ5giEHQdocwZCDIG2OYMhBkDZHMOQgSJsjGHIQpM0RDDkI0uYIhhwEaXMEQw6CtDmCIQdB2hzBkIMgbY5gyEGQNkcw5CBImyMYchCEzamCIQdB2JxKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ67UkCs15EoNuVJDrtSQKzXkSg25UkOu1JArNeRKDblSQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFDbtSQGzXkRg25UUNu1JAbNeRGDblRQ27UkBs15EYNuVFD7tSQOzXkTg25U0Pu1JA7NeRODblTQ+7UkDs15E4NuVND7tSQt40er+xJWIE9CTuwJ2EJ9iRswZ6ENdg2etSyJ2ER9iRugn/gklKvfyZT3l4uwdP6q6TbISnpdkhKuh2Skm6HpKTbISnpdkhJ+scvUtLtkJR0OyQlcYf8YxgpiTvkH8VISdwh/zhGStIOJf9IRkrSDiX/WEZK0g4l/2hGStIOJf94RkrSDiX/iEZK4g75xzRSEnfIP6qRkrhD/mfjUhJ3yP90XEriDvmfj0tJ3CH/E3IpiTvkf0YuJXGH/E/JpSTukP85uZTEHfI/KZeSuEP+Z+VSEnfI/7RcSuIO+Z+XS0ncIf8TcymJO+R/Zi4lcYf8T82lJO6Q/7m5lMQd8j85l5K4Q/5n51ISd8j/9FxK4g75n59LSdwh/xN0KYk75H+GLiVxh/xP0aUk7pD/ObqUxB3yP0mXkrhD/mfpUhJ3yP80XUriDvmfp0tJ3CH/E3UpiTvkf6YuJXGH/E/VpSTukO/UUhJ3yHdqKYk75Du1lMQd8p1aSuIO+U4tJXGHsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUFjh1ztstmYef9DukJP0OKUm/Q6+TpfpJv0NK0u9QfrW2I/tJv0NK0u+QkvQ7VLfb/azW3GQgv0rSf1SUpP+oKEn/UVGS/qOiJP1HRUj6Cms2rt9U+f0//WSwQiXd/mbxnyuBayrJYIVeJdvmJ/19aNj1fu7Hd35vA2NUkv4+NLY0TfqNV5J+48e4JvejtIuf9B9PJek+nvsL8q1Dm/mPp2+MUtJt/H740G/JHEzr7kNS0u3QPyf91zLfGKWk+3juLze3ZCrJT7qPp5T0H890aS9J85P+46kk/cdTSfqPp5L0H08h6XuflHT3BCnp7glSMuiQkAw6JCRxh3zvk5K4Q773SUncId/7pCTukO99UhJ3yPc+KYk75HuflMQd8r1PSuIO+d4nJXGHfO+TkrhDvvdJSdwh3/ukJO6Q731SknYo+94nJWmHsu99UpJ2KPveJyVph7LvfVKSdij73iclcYd875OSuEO+90lJ3CHf+6Qk7pDvfVISd8j3PimJO+R7n5TEHfK9T0riDvneJyVxh3zvk5K4Q773SUncIf97qVISd8jXSSmJO+TrpJTEHfJ1UkriDvnfS5WSuEOBiCpJ3CH/e6lSEnfI91spiTvk+62UxB3yv5cqJXGHfDOWkrhDvhlLSdwh34ylJO5QYMZKEncoMGMliTsUmLGSxB3yv5cqJXGHIqcWkrhD2KkzduqMnTpjp87YqTN26oydOmOnztipM3bqjJ06Y6fO2KkzduqMnTpjp87YqTN26oydOmOnztipM3bqjJ06Y6fO2KkzduqMnTpjp87YqTN26oydOmOnztipM3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqCnbpgpy7YqQt26oKdumCnLtipC3bqgp26YKcu2KkLduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqWvk1P2WtIt7JaoaObWQDDokJIMOCcmgQ/Nk5NRCMuiQkAw6JCSDDgnJoENCEncocmohiTsUObWQxB2KnFpI4g5FTi0kcYcipxaSuEORUwtJ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rtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip67YqSt26oqdumKnrtipK3bqip26Yqeu2KkrduqKnbpip27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6fu2Kk7duqOnbpjp+7YqTt26o6dumOn7tipO3bqjp26Y6ce2KkHduqBnXpgpx7YqQd26oGdemCnHtipB3bqgZ16YKce2KkHduqBnXpgpx7YqQd26oGdemCnHtipB3bqgZ16YKce2KlH9DuKo1yT+3/6yeD3y4Rk8PtlQjL4/TIhGfx+2TwZ/Y6ikAx+v0xIBr+BJySD38ATkn6HlCTuUPQ7ikISdyj6HUUhiTsU/Y6ikMQdin5HUUjiDkW/oygkcYei31EUkrhD0e8oCkncoeh3FIUk7lDg1EoSdyhwaiWJOxQ4tZLEHQqcWkniDgVOrSRxhwKnVpK4Q4FTK0ncocCplSTuUODUShJ3KHBqJYk7FDi1ksQdCpxaSeIOBU6tJHGHAqdWkrhDgVMrSdyhwKmVJO5Q4NRKEncocGoliTsUOLWSxB0KnFpJ4g4FTq0kcYcCp1aSuEOBUytJ3KHAqZUk7JBdAqdWkrBDexJ2aE/CDu1J2KE9CTu0J2GH9iTs0J6EHdqTuEOBUytJ3KHAqZUk7lDg1EoSdyhwaiWJOxQ4tZLEHQqcWkniDgVOrSRxhwKnVpK4Q9Sp9yTuEHXqPYk7RJ16T+IOUafek7hD1Kn3JO4Qdeo9iTtEnXpP4g5Rp96TuEPUqfck7hB16j2JO0Sdek/iDlGn3pO4Q9Sp9yTuEHXqPYk7RJ16T+IOUafek7hD1Kn3JO4Qdeo9iTtEnXpP4g5Rp96TuEPUjPckfjx9v605/RmsJd9yabzKuSs7z/mStdn4M7f/1y1XL69y7toIOXdl5jnfsISc23Ih5z4OQs59HISc228h57ZbyLn7o5Dz+1JavQbrpbrN9tVqq5tdk61c/KTfmXly89VKSvq9UZJ+c5Qkfc3asANt2IE27EAbdqANO9CGHWjDDrRhB9p8B9r/72uFknnPzs13lXnOVxUh5z9L5jn/OTLP+bvrPOfvrvMce3XcfCeY/z1fCbbcr7nS/Jy/Ljnfct3P+esyz7FXnc3XASFHHwd2lLL5LjDP+Sog5NhRyuaLgJBjRymbrwFCDvbFlwAhB/viK4CQg33xBUDIwb747/6FHOyL/85fyMG++O/6hRzsi/+OX8jBvvjv9oUc7Iv/rvv3aw39Gfz9gii3ZM+vku4jKCXdx1BKuo+ilHQfRynpPpJK0v92mJR0H00p6T7/paS7A0hJ3CH/22FSEnfI/3aYlMQd8r8dpiT9b4dJSdwh/9thUhJ3yP92mJTEHfK/HSYlcYd8VZOSuEO+rElJ3CFf16Qk7pAvbFISd8hXNimJO+Q7m5SkHUq+s0lJ2qHkO5uUpB1KF9qh5H87TErSDiVfBaUk7VDyVVBJ+iooJXGHfBWUkrhDvgpKSdwh/9thUhJ3yP92mJTEHfIdU0riDvmWKSVxh3zPlJK4Q/63w6Qk7pD/7TApiTvkfztMSuIO+e4rJXGHfPuVkrhDvv9KSdwh34ClJO6Q78BSEnfIt2ApiTvke7CUxB3yTVhK4g75LiwlcYd8G5aSuEO+D0tJ3CHfiKUk7pDvxFISd8i3YimJO+R7sZTEHfK/HSYlcYewUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUhp3asFMbdmrDTm3YqQ07tWGnNuzUGTt1xk6dsVNn7NQZO3XGTp2xU2fs1Bk7dcZOnbFTZ+zUGTt1xk6dsVNn7NQZO3XGTp2xU2fs1Bk7dcZOnbFTZ+zUGTt1xk6dsVNn7NQZO3XGTp2xU2fs1Bk7dcZOnbFTZ+zUGTt1xk6dsVNn7NQZO3XGTp2xU2fs1Bk7dcZOnbFTZ+zUGTt1xk6dsVNn7NQZO3XGTp2xU2fs1Bk7dcZOnbFTZ+zUGTt1xk6dsVNn7NQZO3XGTp2xU2fs1Bk7dcZOnbFTZ+zUGTt1xk6dsVNn7NQZO3XGTp2xU2fs1Bk7dcZOnbFTZ+zUGTt1xk6dsVNn7NQZO3XGTp2xU2fs1Bk7dcZOnbFTZ+zUGTt1xk6dsVNn7NQFO3XBTl2wUxfs1AU7dcFOXbBTF+zUBTt1wU5dAqe2cr10ebKa/KTfISXpd0hJ+h16nWzB/fQ7pCT9DilJv0NK0u+QkvQ7pCT9DgnJwKmV5LxDUXLeoSiJOxQ4tZLEHQqcWkniDgVOrSRxhwKnVpK4Q4FTK0ncocCplSTuUODUShJ3KHBqJYk7FDi1ksQdCpxaSeIOBU6tJHGHAqdWkrhDgVMrSdyhwKmVJO5Q4NRKEncocGoliTsUOLWSxB0KnFpJ4g4FTq0kcYcCp1aSuEOBUytJ3KHAqZUk7lDg1EoSdyhwaiWJOxQ4tZLEHQqcWkniDgVOrSRxhwKnVpK4Q4FTK0ncocCplSTuUODUShJ3KHBqJYk7FDi1ksQdCpxaSeIOBU6tJHGHAqdWkrhDgVMrSdyhwKmVJO1QDZxaSdIO1cCplSTtUA2cWknSDtXAqZUk7VANnFpJ4g4JTh0lg0dltFtyBMngURGSwaMiJINHRUgGj4qQDB6VeTJQ2Hy5/oTZ7//pJ/1nWbZ+S+bgb/qPp5L0H08l6T+er5M1uJ/+46kk/cdTSfqPp5AMFFZJ+ju1kgw6JCTnHYqS8w5FyXmHoiTuUKCwShJ3KFBYIRkorJLEHQoUVkniDgUKqyRxhwKFVZK4Q4HCKkncoUBhlSTuUKCwShJ3KFBYJYk7FCisksQdChRWSeIOBQqrJHGHAoVVkrhDgcIqSdyhQGGVJO5QoLBKEncoUFgliTsUKKySxB0KFFZJ4g4FCqskcYcChVWSuEOBwipJ3KFAYZUk7lCgsEoSdyhQWCWJOxQorJLEHQoUVkniDgUKqyRxhwKFVZK4Q4HCKkncoUBhlSTtUAsUVknSDrVAYZUk7VALFFZJ0g61QGGVJO1QCxRWSeIOBQqrJHGHgm8LK0ncocCMlSTuUGDGShJ3KDBjJYk7FHxbWEniDkVOLSRxhwSnjpK4Q9ipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26oadumGnbtipG3bqhp26Yadu2KkbduqGnbphp27YqRt26qY4tfvttaY4dZAUOhQkhQ65ya44dZAUOhQkhQ4FSaFDQVLoUJCMOnT7Lmw285NRh+bJqEPzZNSheTLq0DQZOvU8GXVonow6NE9GHZonow7Nk7hDoVPPk7hDoVPPk7hDoVPPk7hDoVPPk7hDoVPPk7hDoVPPk7hDoVPPk0GH+rglx3CTkVMLyaBDQjLo0EuybMVPBh0SkkGHhGTQISEZdEhIBh0SkkGHhOS0Q1EycmohOe1QmMQdipxaSOIORU4tJHGHIqcWkrhDkVPPk5FTC0ncociphSTuUOTUQhJ3KHJqIYk7FDm1kMQdipxaSOIORU4tJHGHIqcWkrhDkVMLSdyhyKmFJO5Q5NRCEncocmohiTsUObWQxB2KnFpI4g5FTi0kcYcipxaSuEORUwtJ3KHIqYUk7lDk1EISdyhyaiGJOxQ5tZDEHYqcWkjiDkVOLSRxhyKnFpK4Q5FTC0naoRE5tZCkHRqRUwtJ2qERObWQpB0akVMLSdqhETm1kMQdipxaSOIORU4tJHGHIqcWkrhDkVMLSdyhyKmFJO5Q5NRCEncocmohiTsUObWQxB2KnFpI4g5FTi0kcYfmTh0mcYewUw/s1AM79cBOPbBTD+zUAzv1wE49sFMP7NQDO/XATj2wUw/s1AM79cBOPbBTD+zUAzv1wE49sFMP7NQDO/XATj2wUw/s1AM79cBOPbBTD+zUAzv1wE49sFMP7NQDO/XATj2wUw/s1AM79cBOPbBTD+zUAzv1wE49sFMP7NQDO/XATj2wUw/s1AM79cBOPbBTD+zUAzv1wE49sFMP7NQDO/XATj2wUw/s1AM79cBOPbBTD+zUAzv1oE6dL9Sp9yTs0J6EHdqTsEN7EnZoT8IO7UnYoT0JO7QnYYf2JO4Qdeo9iTtEnXpP4g5Rp96TuEPUqfck7hB16j2JO0Sdek/iDlGn3pO4Q9Sp9yTuEHXqPYk7RJ16T+IOUafek7hD1Kn3JO4Qdeo9iTtEnXpP4g5Rp96TuEPUqfck7hB16j2JO0Sdek/iDlGn3pO4Q9Sp9yTuEHXqPYk7RJ16T+IOUafek7hD1Kn3JO4Qdeo9iTtEnXpP4g4F8lvs9nsdxYKk/6goSf9RUZL+o6Ik/UdFSAbyqyT9Z1nJ2y2ZNz/pP8tKK7dkD/5m8HgKyeDxFJLB4/mSrJfgfgaPp5AMHs95MlBYJek/y5Skv1MryaBDQnLaoTA57VCYnHYoTOIOBQqrJHGHAoVVkrhDgcIqSdyhQGGVJO5QoLBKEncoUFglSTu0BQqrJGmHtkBhlSTt0BYorJKkHdoChVWStENboLBKEncoUFgliTsUKKySxB0KFFZJ4g4FCqskcYcChVWSuEOBwipJ3KFAYZUk7lCgsEoSdyhQWCWJOxQorJLEHQoUVkniDgUKqyRxhwKFVZK4Q4HCKkncoUBhlSTuUKCwShJ3KFBYJYk7FCisksQdChRWSeIOBQqrJHGHAoVVkrhDgcIqSdyhQGGVJO5QoLBKEncoUFgliTsUKKySxB0Kvi2sJHGHgm8LK0ncociMhSTuUGTGQhJ3KDJjIYk7FHxbWEniDs2dOkziDs2dOkziDmGn3rBTb9ipN+zUG3bqDTv1hp16w069YafesFNv2Kk37NQbduoNO/WGnXrDTr1hp96wU2/YqTfs1Bt26g07dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTt1wk6dsFMn7NQJO3XCTp2wUyfs1Ak7dcJOnbBTJ+zUCTu1Yac27NSGndqwUxt2asNObdipDTu1Yac27NSGndqwUxt2asNObdipDTu1Yac27NSGndqwUxt2asNObdipDTu1Yac27NSGndqwUxt2asNObdipDTu1Yac27NSGndqwUxt2asNObdipDTu1Yac27NSGndqwUxt2asNObdipDTu1Yac27NSGndqwUxt2asNObdipDTu1Yac27NSGndqwUxt2asNObdipDTu1Yac27NSGndqwUxt2asNObdipDTu1Yac2xandK2mY4tRBUuhQkBQ6FCSFDgVJoUNBUuiQn1ScOkgKHQqSQYfqy3V52sVPBh0SkkGHhGTQISEZdEhIBh0SkkGHhGTQoXkycmohGXRISOIORU4tJHGHIqcWkrhDkVMLSdyhyKmnyRw5tZCkHcqRUwtJ2qEcObWQpB3KkVMLSdqhHDh1bberfNXuHifkwKmFZODUStLvULtcrsm2dT/pd0hJ+h1Skn6HlKTfISXpd0hJ+h1Skn6HlKTfISEZOLWSxB0KnFpJ4g4FTq0kcYcCp1aSuEOBUytJ3KHAqZUk7lDg1EoSdyhwaiWJOxQ4tZLEHQqcWkniDgVOrSRxhwKnVpK4Q4FTK0ncocCplSTuUODUShJ3KHBqJYk7FDi1ksQdCpxaSeIOBU6tJHGHAqdWkrhDgVMrSdyhwKmVJO5Q4NRKEncocGoliTsUOLWSxB0KnFpJ4g4FTq0kcYcCp1aSuEOBUytJ3KHAqZUk7lDg1EoSdyhwaiWJOxQ4tZLEHQqcWkniDgVOrSRxhwKnVpK4Q4FTK0ncocCplSTuUODUShJ3KHBqJUk7VAKnVpK0QyVwaiVJO1QCp1aStEMlcGolSTtUAqdWkrhDgVMrSdwh7NQFO3XBTl2wUxfs1AU7dcFOXbBTF+zUBTt1wU5dsFMX7NQFO3XBTl2wUxfs1AU7dcFOXbBTF+zUBTt1wU5dsFMX7NQFO3XBTl2wUxfs1AU7dcFOXbBTF+zUBTt1wU5dsFMX7NQFO3XBTl2wUxfs1AU7dcFOXbBTF+zUBTt1wU5dsFMX7NQFO3XBTl2wUxfs1AU7dcFOXbBTF+zUBTt1wU5dsFMX7NQFO3XBTl2wUxfs1AU7dcFOXbBTF+zUBTt1wU5dsFMX7NQFO3XBTl2wUxfs1AU7dcFOXbBTF+zUBTt1wU5dsFMX7NQFO3XBTl2wU1fs1BU7dcVOXbFTV+zUFTt1xU5dsVNX7NQVO3XFTl2xU1fs1BU7dcVOXbFTV+zUFTt1xU5dsVNX7NQVO3XFTl2xU1fs1BU7dcVOXbFTV+zUFTt1xU5dsVNX7NQVO3XFTl2xU1fs1BU7dcVOXbFTV+zUFTt1xU5dsVNX7NQVO3XFTl2xU1fs1BU7dcVOXbFTV+zUFTt1xU5dsVNX7NQVO3XFTl2xU1fs1BU7dcVOXbFTV+zUFTt1xU5dsVNX7NQVO3XFTl2xU1fs1BU7dcVOXbFTV+zUFTt1xU5dsVNX7NQVO3XFTl2xU1fs1BU7dcVOXbFTV+zUFTt1xU5dsVNX7NQVO3XFTl2xU1fs1BU7dcVOXbFTN+zUDTt1w07dsFM37NQNO3XDTt2wUzfs1A07dcNO3bBTN+zUDTt1w07dsFM37NQNO3XDTt2wUzfs1A07dcNO3bBTN+zUDTt1w07dsFM37NQNO3XDTt2wUzfs1A07dcNO3bBTN+zUDTt1w07dsFM37NQNO3XDTt2wUzfs1A07dcNO3bBTN+zUDTt1w07dsFM37NQNO3XDTt2wUzfs1A07dcNO3bBTN+zUDTt1w07dsFM37NQNO3XDTt2wUzfs1A07dcNO3bBTN+zUDTt1i67Wa/maLOZeCblFV+stdkuW5ieDK63Ok9HVenN9Sfr3M7par5AMrrQqJIMrrQpJ/5mtJIMrrQrJ4EqrQjLoUL5du3T/Tz8ZdEhIBh2aJnt0tV4hGXVonow6NE9GHZonow7Nk1GH5smoQ/Mk7VCPflVOSOIORb8qJyRxh6JflROSuEPRr8oJSdyh6FflhCTuUPSrckISdyj6VTkhiTsU/aqckMQdCgTNRrsmbbivKz0QtLzdXpFycq/g3QNBU5L+45kv4yXp389A0JSk/3gqSf/xVJL+46kk/T1BSfp7gpL0O5Qvt6PU/T/9ZNAhIRl0SEhGHZomA0FTklGH5smoQ/Nk1KF5MurQPBl1aJ7EHQoETUniDgWCJiQDQVOSuEOBoClJ3KFA0JQk7lAgaEoSdygQNCWJOxQImpLEHQoETUm6j6dt/aofli7JT7qPp5R0H08p6T6eUtJ9PJWkr1lS0n08paT7eEpJd0+Qku6eICVxh/xvXUpJ3CH/W5dSEnfI/9allMQd8r91KSVxh/xvXUpJ3CH/W5dSEnfI91spiTvk+62UxB3y/VZK4g75fislcYd8v5WSuEO+30pJ2qHh+62UpB0avt9KSdqh4futlKQdGr7fSknaoeH7rZTEHfL9VkriDvl+KyVxh3y/lZK4Q77fSkncId9vpSTukO+3UhJ3yPdbKYk75H/rUkriDvlmLCVxh3wzlpK4Q74ZS0ncId+MpSTukG/GUhJ3yDdjKYk75JuxlMQd8s1YSuIO+WYsJXGHfDOWkrhD/nezLF8/urL28t2Yrb/K+bPOc/6k85zf9XnOb/o85/d8nvNbPs0FfjXP+Q2f5/x+z3OwL4FbzXOwL4FZzXOwL4FXzXOwL4FVzXOwL4FTzXOwL4FRzXOwL4FPzXOwL4FNzXOwL4FLzXOwL4FJzXOwL4FHzXOwL4FFzXOwL4FDzXOoL+USGNQ8h/qy51Bf9hzqy55DfSkX+v50T8Ljwj0Jjwv3JDwu3JPwvcWehO8t9iR8b7En4XuLcqHvT/ckfG+xJ3GH6PvTPYk7RN+f7kncIfr+dE/iDtH3p+VC35/uSdwh+v50T+IO0fenexJ3yP9Ok5TEHfK/0yQlcYf87zRJSdwh/ztNUhJ3yP9Ok5TEHfK/0yQlcYf87zRJSdwh/ztNUhJ3yP9Ok5QEHUo1/Yu7sDlfv0NVysvXnmu5htw1nYX8z9CmKXct30tZbx+/V7+HPnyvfg99/F79SH34XpWS/XtVL9eD7JZeHuBWryH3Xs1C/r2aptx79V6qle3j9+r30Ifv1e+hj9+rH6kP3qt//OP/A461sO8=" + "eJyrVsrJT04syczPK1ayqq6tBQAz9wY7", + "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" ], "fileMap": { "0": { @@ -176,10 +176,6 @@ "source": "\nimpl Field {\n #[builtin(to_le_bits)]\n fn to_le_bits(_x : Field, _bit_size: u32) -> [u1] {}\n #[builtin(to_be_bits)]\n fn to_be_bits(_x : Field, _bit_size: u32) -> [u1] {}\n\n fn to_le_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_le_radix(256, byte_size)\n }\n fn to_be_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_be_radix(256, byte_size)\n }\n\n #[builtin(to_le_radix)]\n //decompose _x into a _result_len vector over the _radix basis\n //_radix must be less than 256\n fn to_le_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\n #[builtin(to_be_radix)]\n fn to_be_radix(_x : Field, _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 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 fn sgn0(self) -> u1 {\n self as u1\n }\n}\n\n#[builtin(modulus_num_bits)]\nfn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\nfn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\nfn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\nfn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\nfn modulus_le_bytes() -> [u8] {}\n", "path": "std/field" }, - "29": { - "source": "struct Option {\n _is_some: bool,\n _value: T,\n}\n\nimpl Option {\n /// Constructs a None value\n fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n 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 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 fn unwrap_or(self, default: T) -> T {\n if self._is_some {\n self._value\n } else {\n default\n }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n fn unwrap_or_else(self, default: fn() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n fn map(self, f: fn(T) -> U) -> Option {\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 fn map_or(self, default: U, f: fn(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 fn map_or_else(self, default: fn() -> U, f: fn(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 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 fn and_then(self, f: fn(T) -> Option) -> Option {\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 fn or(self, other: Self) -> Self {\n if self._is_some {\n self\n } else {\n other\n }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n fn or_else(self, default: fn() -> Self) -> Self {\n if self._is_some {\n self\n } else {\n default()\n }\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 fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some {\n Option::none()\n } else {\n self\n }\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 fn filter(self, predicate: fn(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> into a Option.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n fn flatten(option: Option>) -> Option {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n", - "path": "std/option" - }, "31": { "source": "use crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n GENERATOR_INDEX__FUNCTION_ARGS,\n HISTORIC_BLOCK_DATA_LENGTH,\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n CALL_CONTEXT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\n CONTRACT_STORAGE_READ_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__FUNCTION_DATA,\n GENERATOR_INDEX__PUBLIC_DATA_READ,\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\n GENERATOR_INDEX__CALL_CONTEXT,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n};\n\nuse crate::oracle::debug_log;\nuse crate::types::vec::BoundedVec;\nuse crate::types::point::Point;\n\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n}\n\nimpl PublicGlobalVariables {\n fn serialize(self) -> [Field; 4] {\n [self.chain_id, self.version, self.block_number, self.timestamp]\n }\n}\n\nstruct ContractDeploymentData {\n deployer_public_key: Point,\n constructor_vk_hash : Field,\n function_tree_root : Field,\n contract_address_salt : Field,\n portal_contract_address : Field,\n}\n\nimpl ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.deployer_public_key.x,\n self.deployer_public_key.y,\n self.constructor_vk_hash,\n self.function_tree_root,\n self.contract_address_salt,\n self.portal_contract_address,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)[0]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\nstruct PrivateContextInputs {\n call_context : CallContext,\n block_data: HistoricBlockData,\n\n contract_deployment_data: ContractDeploymentData,\n\n private_global_variables: PrivateGlobalVariables,\n}\n\n// PublicContextInputs are expected to be provided to each public function\nstruct PublicContextInputs {\n call_context: CallContext,\n block_data: HistoricBlockData,\n\n public_global_variables: PublicGlobalVariables,\n}\n\nstruct CallContext {\n msg_sender : Field,\n storage_contract_address : Field,\n portal_contract_address : Field,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment: bool,\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender,\n self.storage_contract_address,\n self.portal_contract_address,\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)[0]\n }\n}\n\nstruct HistoricBlockData {\n private_data_tree_root : Field,\n nullifier_tree_root : Field,\n contract_tree_root : Field,\n l1_to_l2_messages_tree_root : Field,\n blocks_tree_root: Field,\n public_data_tree_root: Field,\n global_variables_hash: Field,\n}\n\nimpl HistoricBlockData {\n // NOTE: this order must match the order in `private_circuit_public_inputs.hpp`\n fn serialize(self) -> [Field; HISTORIC_BLOCK_DATA_LENGTH] {\n [\n self.private_data_tree_root,\n self.nullifier_tree_root,\n self.contract_tree_root,\n self.l1_to_l2_messages_tree_root,\n self.blocks_tree_root,\n self.public_data_tree_root,\n self.global_variables_hash,\n ]\n }\n\n fn empty() -> Self {\n Self { private_data_tree_root: 0, nullifier_tree_root: 0, contract_tree_root: 0, l1_to_l2_messages_tree_root: 0, blocks_tree_root: 0, public_data_tree_root: 0, global_variables_hash: 0 }\n }\n}\n\nstruct FunctionData {\n function_selector: Field,\n is_internal: bool,\n is_private: bool,\n is_constructor: bool,\n}\n\nimpl FunctionData {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.function_selector,\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ], GENERATOR_INDEX__FUNCTION_DATA)[0]\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n read_requests: [Field; crate::abi::MAX_READ_REQUESTS_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n nullified_commitments: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n // Explore introducing a new type like uint256 (similar to Point), so it's more explicit that\n // we're talking about a single number backed by two field elements.\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n contract_deployment_data: ContractDeploymentData,\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.nullified_commitments);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n dep::std::hash::pedersen_with_separator(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.storage\n }\n}\n\nstruct ContractStorageRead {\n storage_slot: Field,\n value: Field,\n}\n\nimpl ContractStorageRead {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\n [self.storage_slot, self.value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, value: 0 }\n }\n}\n\nstruct ContractStorageUpdateRequest {\n storage_slot: Field,\n old_value: Field,\n new_value: Field,\n}\n\nimpl ContractStorageUpdateRequest {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\n [self.storage_slot, self.old_value, self.new_value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, old_value: 0, new_value: 0 }\n }\n}\n\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; crate::abi::MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n prover_address: Field,\n\n // TODO: include globals in here and check them elsewhere\n // https://github.com/AztecProtocol/aztec-packages/issues/1567\n}\n\nimpl PublicCircuitPublicInputs {\n \n fn hash(self) -> Field {\n let mut inputs: BoundedVec = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_read[i].hash());\n }\n inputs.push_array(self.public_call_stack);\n inputs.push_array(self.new_commitments);\n inputs.push_array(self.new_nullifiers);\n inputs.push_array(self.new_l2_to_l1_msgs);\n\n // We do not include block_data since it's not in the cpp hash\n\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.block_data.serialize()); // see https://github.com/AztecProtocol/aztec-packages/issues/1473\n inputs.push(self.prover_address);\n\n dep::std::hash::pedersen_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_read[i].serialize());\n }\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.prover_address);\n fields.storage\n }\n}\n\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\n\nfn hash_args(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = dep::std::hash::pedersen_with_separator(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS)[0];\n }\n chunks_hashes[i] = chunk_hash;\n }\n dep::std::hash::pedersen_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)[0]\n }\n}\n", "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/abi" @@ -216,49 +212,13 @@ "source": "\nstruct BoundedVec {\n storage: [T; MaxLen],\n len: Field,\n}\n\nimpl BoundedVec {\n fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\n }\n\n fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64);\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n fn push_array(&mut self, array: [T; Len]) {\n let newLen = self.len + array.len();\n assert(newLen as u64 <= MaxLen as u64);\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = newLen;\n }\n\n fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n\n let elem = self.storage[self.len - 1];\n self.len -= 1;\n elem\n }\n}\n\n// #[test]\n// fn test_vec() {\n// let vec: BoundedVec = BoundedVec::new(0);\n// assert(vec.len == 0);\n// let vec1 = vec.push(1);\n// assert(vec1.len == 1);\n// let vec2 = vec1.push(1);\n// assert(vec2.len == 2);\n// let vec3 = vec2.push(1);\n// assert(vec3.len == 3);\n// let x = vec3.pop();\n// assert(x == 1);\n// }", "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/types/vec" }, - "60": { - "source": "fn arr_copy_slice(\n src: [T; N],\n mut dst: [T; M],\n offset: Field,\n) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/utils" - }, - "61": { - "source": "use crate::abi::FunctionData;\nuse crate::abi::PrivateCircuitPublicInputs;\nuse crate::constants_gen::GENERATOR_INDEX__CALL_STACK_ITEM;\n\nstruct PrivateCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PrivateCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/private_call_stack_item" - }, - "62": { - "source": "use crate::{\n abi,\n abi::{\n PublicCircuitPublicInputs,\n FunctionData,\n },\n};\nuse crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__CALL_STACK_ITEM,\n};\n\n// oracles\nuse crate::oracle::{\n enqueue_public_function_call::enqueue_public_function_call_internal,\n};\n\nstruct PublicCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PublicCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PublicCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}\n\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/public_call_stack_item" - }, - "65": { - "source": "use crate::constants_gen::CALL_PRIVATE_FUNCTION_RETURN_SIZE;\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: Field,\n _function_selector: Field,\n _args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {}\n\nunconstrained fn call_private_function_internal(\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {\n call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n )\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/call_private_function" - }, "73": { "source": "use crate::types::point::Point;\nuse dep::std::hash;\nuse crate::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\n\n#[oracle(getPublicKey)]\nfn get_public_key_oracle(_address: Field) -> [Field; 3] {}\n\nunconstrained fn get_public_key_internal(address: Field) -> [Field; 3] {\n get_public_key_oracle(address)\n}\n\nfn get_public_key(address: Field) -> Point {\n let result = get_public_key_internal(address);\n let pub_key_x = result[0];\n let pub_key_y = result[1];\n let partial_address = result[2];\n \n let calculated_address = hash::pedersen_with_separator([pub_key_x, pub_key_y, partial_address], GENERATOR_INDEX__CONTRACT_ADDRESS)[0];\n assert(calculated_address == address);\n \n Point::new(pub_key_x, pub_key_y)\n}\n", "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_public_key" }, - "74": { - "source": "use crate::types::point::Point;\n\n#[oracle(getSecretKey)]\nfn get_secret_key_oracle(_owner: Point) -> Field {}\n\nunconstrained fn get_secret_key(owner: Point) -> Field {\n get_secret_key_oracle(owner)\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_secret_key" - }, - "76": { - "source": "\n// contract_address + \n// args_hash +\n// crate::abi::FUNCTION_DATA_SIZE +\n// crate::abi::CALL_CONTEXT_SIZE +\n// = 2 + 4 + 6\nglobal ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE: Field = 12;\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: Field, \n _function_selector: Field, \n _args_hash: Field,\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {}\n\nunconstrained fn enqueue_public_function_call_internal(\n contract_address: Field, \n function_selector: Field,\n args_hash: Field\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {\n enqueue_public_function_call_oracle(\n contract_address, \n function_selector, \n args_hash,\n )\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/enqueue_public_function_call" - }, - "78": { - "source": "use dep::std::option::Option;\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n};\nuse crate::utils::arr_copy_slice;\n\n#[oracle(notifyCreatedNote)]\nfn notify_created_note_oracle(\n _storage_slot: Field,\n _preimage: [Field; N],\n _inner_note_hash: Field,\n) -> Field {}\n\nunconstrained fn notify_created_note(\n storage_slot: Field,\n preimage: [Field; N],\n inner_note_hash: Field,\n) -> Field {\n notify_created_note_oracle(storage_slot, preimage, inner_note_hash)\n}\n\n#[oracle(notifyNullifiedNote)]\nfn notify_nullified_note_oracle(\n _storage_slot: Field,\n _nullifier: Field,\n _preimage: [Field; N],\n _inner_note_hash: Field,\n) -> Field {}\n\nunconstrained fn notify_nullified_note(\n storage_slot: Field,\n nullifier: Field,\n preimage: [Field; N],\n inner_note_hash: Field,\n) -> Field {\n notify_nullified_note_oracle(storage_slot, nullifier, preimage, inner_note_hash)\n}\n\n#[oracle(getNotes)]\nfn get_notes_oracle(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by: [u8; N],\n _select_values: [Field; N],\n _sort_by: [u8; N],\n _sort_order: [u2; N],\n _limit: u32,\n _offset: u32,\n _return_size: u32,\n _placeholder_fields: [Field; S],\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper(\n storage_slot: Field,\n num_selects: u8,\n select_by: [u8; N],\n select_values: [Field; N],\n sort_by: [u8; N],\n sort_order: [u2; N],\n limit: u32,\n offset: u32,\n mut placeholder_fields: [Field; S],\n)-> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(storage_slot, num_selects, select_by, select_values, sort_by, sort_order, limit, offset, return_size, placeholder_fields)\n}\n\nunconstrained fn get_notes(\n storage_slot: Field,\n note_interface: NoteInterface,\n num_selects: u8,\n select_by: [u8; M],\n select_values: [Field; M],\n sort_by: [u8; M],\n sort_order: [u2; M],\n limit: u32,\n offset: u32,\n mut placeholder_opt_notes: [Option; S], // TODO: Remove it and use `limit` to initialise the note array.\n placeholder_fields: [Field; NS], // TODO: Remove it and use `limit` to initialise the note array.\n) -> [Option; S] {\n let fields = get_notes_oracle_wrapper(storage_slot, num_selects, select_by, select_values, sort_by, sort_order, limit, offset, placeholder_fields);\n let num_notes = fields[0] as u32;\n let contract_address = fields[1];\n let deserialise = note_interface.deserialise;\n let set_header = note_interface.set_header;\n for i in 0..placeholder_opt_notes.len() {\n if i as u32 < num_notes {\n // lengths named as per typescript.\n let return_header_length: Field = 2; // num_notes & contract_address.\n let extra_preimage_length: Field = 2; // nonce & is_some.\n let read_offset: Field = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let header = NoteHeader { contract_address, nonce, storage_slot };\n let is_some = fields[read_offset + 1] as bool;\n if is_some {\n let preimage = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = deserialise(preimage);\n set_header(&mut note, header);\n placeholder_opt_notes[i] = Option::some(note);\n }\n };\n };\n placeholder_opt_notes\n}\n\nunconstrained fn is_nullifier_emitted(nullifier: Field) -> bool {\n // TODO\n nullifier == 0\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/notes" - }, - "80": { - "source": "use crate::types::point::Point;\nuse crate::constants_gen::NUM_FIELDS_PER_SHA256;\n\n// TODO: Should take encrypted data.\n#[oracle(emitEncryptedLog)]\nfn emit_encrypted_log_oracle(\n _contract_address: Field,\n _storage_slot: Field,\n _encryption_pub_key: Point,\n _preimage: [Field; N],\n) -> Field {}\n\nunconstrained fn emit_encrypted_log(\n contract_address: Field,\n storage_slot: Field,\n encryption_pub_key: Point,\n preimage: [Field; N],\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n [emit_encrypted_log_oracle(\n contract_address,\n storage_slot,\n encryption_pub_key,\n preimage,\n ), 0]\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle(_message: T) -> Field {}\n\nunconstrained fn emit_unencrypted_log(message: T) -> [Field; NUM_FIELDS_PER_SHA256] {\n // https://github.com/AztecProtocol/aztec-packages/issues/885\n [emit_unencrypted_log_oracle(message), 0]\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/logs" - }, "81": { "source": "use crate::abi;\nuse crate::types::vec::BoundedVec;\nuse crate::context::PrivateContext;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem; \n\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\nglobal FUNCTION_CALL_SIZE: Field = 3;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: Field,\n target_address: Field,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector, self.target_address]\n }\n}\n\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\n\nstruct EntrypointPayload {\n // Noir doesnt support nested arrays or structs yet so we flatten everything\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n\nimpl EntrypointPayload {\n // TODO(#1207) Do we need a generator index?\n fn hash(self) -> Field {\n dep::std::hash::pedersen(self.serialize())[0]\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.flattened_args_hashes);\n fields.push_array(self.flattened_selectors);\n fields.push_array(self.flattened_targets);\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n let args_len = self.flattened_args_hashes.len();\n let selectors_len = self.flattened_selectors.len();\n let targets_len = self.flattened_targets.len();\n\n for i in 0..args_len {\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..selectors_len {\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..targets_len {\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n \n let item_bytes = self.nonce.to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\n }\n\n bytes\n }\n\n // Executes all private and public calls \n fn execute_calls(self, context: &mut PrivateContext) {\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n }\n}", "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint" - }, - "84": { - "source": "use dep::std::hash::pedersen;\nuse dep::aztec::note::note_interface::NoteInterface;\nuse dep::aztec::note::note_header::NoteHeader;\nuse dep::aztec::note::utils::compute_unique_siloed_note_hash;\nuse dep::aztec::oracle::get_secret_key::get_secret_key;\nuse dep::aztec::oracle::get_public_key::get_public_key;\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n owner: Field, // We store the owner address only to get the secret key to compute the nullifier\n header: NoteHeader,\n}\n\nimpl EcdsaPublicKeyNote {\n fn new(x: [u8; 32], y: [u8; 32], owner: Field) -> Self {\n EcdsaPublicKeyNote {\n x,\n y,\n owner,\n header: NoteHeader::empty(),\n }\n }\n\n // Serialise the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = owner\n fn serialise(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let bytex: Field = self.x[31 - i] as Field;\n x = x + (bytex * mul);\n let bytey: Field = self.y[31 - i] as Field;\n y = y + (bytey * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n let res: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] = [x, last_x, y, last_y, self.owner];\n res\n }\n\n fn compute_nullifier(self) -> Field {\n let unique_siloed_note_hash = compute_unique_siloed_note_hash(EcdsaPublicKeyNoteInterface, self);\n let owner_nullifying_public_key = get_public_key(self.owner);\n let secret = get_secret_key(owner_nullifying_public_key);\n dep::std::hash::pedersen([\n unique_siloed_note_hash,\n secret,\n ])[0]\n }\n\n fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n}\n\nfn deserialise(preimage: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0;32];\n let mut y: [u8; 32] = [0;32];\n\n let part_x = preimage[0].to_be_bytes(32);\n for i in 0..31 { x[i] = part_x[i + 1]; }\n x[31] = preimage[1].to_be_bytes(32)[31];\n\n let part_y = preimage[2].to_be_bytes(32);\n for i in 0..31 { y[i] = part_y[i + 1]; }\n y[31] = preimage[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote {\n x,\n y,\n owner: preimage[4],\n header: NoteHeader::empty(),\n }\n}\n\nfn serialise(note: EcdsaPublicKeyNote) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n note.serialise()\n}\n\nfn compute_note_hash(note: EcdsaPublicKeyNote) -> Field {\n dep::std::hash::pedersen(note.serialise())[0]\n}\n\nfn compute_nullifier(note: EcdsaPublicKeyNote) -> Field {\n note.compute_nullifier()\n}\n\nfn get_header(note: EcdsaPublicKeyNote) -> NoteHeader {\n note.header\n}\n\nfn set_header(note: &mut EcdsaPublicKeyNote, header: NoteHeader) {\n note.set_header(header);\n}\n\nglobal EcdsaPublicKeyNoteInterface = NoteInterface {\n deserialise,\n serialise,\n compute_note_hash,\n compute_nullifier,\n get_header,\n set_header,\n};\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/ecdsa_public_key_note" } } } diff --git a/yarn-project/aztec.js/src/abis/schnorr_account_contract.json b/yarn-project/aztec.js/src/abis/schnorr_account_contract.json index 3e6ee6adc11..347492e8a56 100644 --- a/yarn-project/aztec.js/src/abis/schnorr_account_contract.json +++ b/yarn-project/aztec.js/src/abis/schnorr_account_contract.json @@ -141,15 +141,15 @@ } ], "returnTypes": [], - "bytecode": "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", + "bytecode": "H4sIAAAAAAAA/+2dB5hURfLA38xsns277JLZJWdmNrBLHoKIiIiAAQGJi+IhGMCc06lnzjnnnHPO+czx1NPzPM98nhf0DP/upUpqeh+rONVD9X/e+77+ql/PTPevqrura2b6vXdWluf9FPFaj5BKYZWyII/n2cZ5DuSz136s9f36qFKpWqWOKnUin8PXO6vURaWuKnWD18Pk9e4q9VCpRqVa0l4vlfLIeW/jvI9x3tc472ec9zfOBxjnA43zQcb5YON8iHE+1DgfZpzHjPO4cV5nnNcb5w3GeaNxPtw4bzLOm43zEcb5SON8lHE+2jgfY5yPNc7HGecJ43y8cT7BOJ9onE8yzjcxzicb55sa51OM882M86nG+ebG+TTjfAvjfLpxvqVxPsM438o4n2mczzLOZxvnWxvn2xjn2xrn2xnnc4zz7Y3zucb5PON8vnG+g3G+wDhfaJwvMs4Xw7n2D9o1Jby1h/YDeu7r+a7nuJ7X/b2181fPWT1P9dzU81HPQT3v9FzT80vPKT2P9NzR80XPET0v9FzQ41+PeT3O9djW41mP4XHQth6fekzqcajHnh5veozpcaXHkh4/eszocaLHhh4PegxsCX29FfTpLOi7raGPtoW+mAM2nwu2nQ82XAC2WgQ20fbRvrcG7KH97Y/eWp+rZUeQnUB2BtkFZFeQ3UB2B9kDZA3IWpA9QfYC2RtkH5B9QfYD2R/kAJADQQ4CORjkEJBDQQ4DGQMZB1kHsh5kA8hGUt8SlZb62GY4vKcJZDPIESBHghwFcjTIMSDHghwHMgFyPMgJICeCnARyE5CTQW4KcgrIzUBOBbk5yGkgtwA5HeSWIGeA3ArkTJCzQM4GuTWxTYtKy7zkIwQyAbI+NryhoaWpriVeH18UqxuxuLkx1tC4eHhzvDne2Ny4tK65vr6luaG5acTiEU2xEfGG+pb4ssYR9ctia48dSV2xFA+bnDs5wrncEc6dHeH8nSOcKxzh3MURzpWOcK5yhHNXRzh3c4Rzd0c493CEc7UjnGsc4dzTEc69HOHc2xHOfRg5ze9k+juv/m6yLcjtQM4BuT3IuSDngZwPcgeQC0AuBLkI5GKQO4LcCeRykDuD/B3IFSB3AbkS5CqQu4LcDeTuIPcAuRrkGpB7gtwL5N4g9/HWfSfbV6X9vOSDuw/399wYawc4wnmgI5wHOcJ5sCOchzjCeagjnIc5wnm4I5xHOMJ5pCOcv3eE8yiPP0Yrhfr07+k6VmkBuS/I/UEeAPJAkAeBPBjkISAPBXkYyMNBHgHySJC/B3mUty5GOlqlY7y1//3keus/Ejw2iNuru6HeYt0NFututFj3cIt1N1msuzmH1PkHkMeCPA7k8SBPAHki+czX0bUy31v7/6Y+sE5dhmM9m5Th61mkDF+PkDJ8PUzK8PUQKcPXPaN9fSRAxlI8cry2Pi+W4qF1LiN6eD76hnzsEvaxH76e7WM/2h/4OvZLsUpRn7ZzCFOCR994yEs+EiSPbVGWiCCWLEEs2YJYcgSx5ApiyRPEEtrILNSP4aHH8MjIutcxVqO+D30j9X3lkKe+r4LUiWWVRGcs6wD5XFJWBfk8UobcpaSsAPLUX6ONy0lZIeQrSFkR5CtJWTHkO5CyEshX+fDRPsTPJEDGUjta+5C2kyDn2FYBYagSwJIniCVXEEuOIJZsQSxZglgigljC9llaY+cK5jqpj/eInvRIkHwF0a/cgn5lFvQr3wD9yoh+pRb0q7agX+kG6FdN9OtoQb9OFvTruAH6dSL6dbagH3OdcV1nFwuc3XjrbNL90NX79f3QjfRDd2b9dB09SFvIhe1Eyev5hKMHc9+FSJtYL55Tvl/LWuAQa9Qh1kKHWIscYi12iLVkI7Pytxtv9cm0XX2055MpSw0ry9o1p5a5Tl1HT8KPuiJ7lLxeS3TrycvR2r81XrJN8bwnaTfQn7XdQH8v0D/QP9A/0D/QP9A/0D/QP9A/0D/QvybQP9A/0D/QP9A/0D/QP9BfgP7r2/tbY4HFM1g8H7vgERHEkiWIJVsQS44gllxBLHmCWPIFsRQIYokKYikUxFIkiKVYEEuJIJZSQSxlgljKBbFUCGKpFMTSQRBLlSCWakEsHQWxdBLE0lkQSxdBLF0FsXQTxNJdEIvFPXQbzFIriCW0kVn8ro3MJ6+HSRn+ZkOvh+wFeXo9ZG/I0+sh+xA9sawv5On1kP0gT6+H7A95eq3iAMjTaxoHQp5eDzkI8vRaysGQ70jKhkC+MykbCvkupGwY5LuSMrwxSXdShnarIWVot56kDO3Wi5Sh3XqTMrRbH1KGdutLytBu/UgZfgfvT8rwu/AAUobjciApw++Gg0gZfkcbTMrwu9IQUobfWYaSMuyHYaQMY3i0o9Z/Brk2F99Lx2LMpx7M0zmFbSewDYY5RdtJkHNsi16rOkwAS60glh6CWLoLYukmiKWrIJYuglg6C2LpJIiloyCWakEsVYJYOghiqRTEUiGIpVwQS5kgllJBLCWCWIoFsRQJYikUxBIVxFIgiCVfEEueIJZcQSw5gliyBbFkCWKJCGIJ+7DU8rK0/uyDvzG11geylnAg0xDCMZjZJrqOQT4cgwkHtj+IcAzk5dCP8/v5NzzKMZBwYPsDCEd/Xo7We/L28+HoTziw/X6Eoy8vR+v9e/v4cPQlHNg+/U26Ny9H671+e/lw9CYc2H4vwtGTl6P1vsA1Phw9CQe2j+8L9mT+MkuwJzPYk7khLMGezGBP5oawBHsygz2ZG8IS7MkM9mRuCEuwJzPYk7khLMGezGBP5oawBHsygz2ZG8JSK4ilpyCWXoJYegti6SOIpa8gln6CWPoLYhkgiGWgIJZBglgGC2IZIohlqCCWYYJYYoJYQhuZ5Zeu46B78PHhnHSvfh3k6T5/fNAmvUYAH5BJry/AB1vSaxPwgZT0uoawDzP+pxMnZfjfSh0pw/846kkZ/tfQQMrwN/9GUoa/vSOTruvGgnWv10B5mHwGH3pJr3Vphjy91mUEqRPLRkKeXusyCvL0WhfkqSFlyN1EylC/ZlKGdhhBytBeI0kZ2nWUDwsds/iZBMhYakfrmKXtJMg5tkWvkxglgCUmiGWYIJahgliGCGIZLIhlkCCWgYJYBghi6S+IpZ8glr6CWPoIYuktiKWXIJaeglhqBbH0EMTSXRBLN0EsXQWxdBHE0lkQSydBLB0FsVQLYqkSxNJBEEulIJYKQSzlgljKBLGUCmIpEcRSLIilSBBLoSCWqCCWAkEs+YJY8gSx5ApiyRHEki2IJUsQS0QQS9hgof8zDSdl+H8Q/f8L/zei/5Ph/0v0/7QayNP/3UZDnv4/Fzb46P949P8o7Ev6vxWONfr/Fs6FGlKGcxXbz4X3YdsJkLEUjxzCHtSZOXXS++LR/31xHaf/+0Z9ygp9yop8yop9ykp8yigDSny9gJThnIqSMpxThaQM51QRKcM5VUzKcH1GJpxn+N0tATKW2lGn28LvYHi0t6+hgjDid1p6LUcHXr5WP1xpsOA5thUlDKX2WJqi62kbjzBpu9KCHTzDDnhU+rBEBLFkCWLJFsSSI4glVxBLniCWfEEsBYJYooJYCgWxFAliKRbEUiKIpVQQS5kglnJBLBWCWEIbmWV9e4jxdfodhd6LHSX+J0e/r1Qbeuoy/E+Tfl/B/1zp95XOkKffV7pAvoSU4X/qZaQs7KMbxqqUHWPGKlKGsVs1KcMYit4zHmOZTqQMYwp6H3m0URdShjZCdt3mAwVt9Qz76EnrwTwdO9h2AmQstaN17NB2EuQc26J7ebsIYKkQxFIuiKVMEEupIJYSQSzFgliKBLEUCmKJCmIpEMSSL4glTxBLriCWHEEs2YJYsgSxRASxhH1YOvGytF56hbG1PjDW7UQ4kInei6aamSNkcNSQdun9eKqY+0LX0cFHf/qdCtvvQMowT79Tc/cN/Q6Ideu58kXEnj0sXEfb2re4L10fBxG9aoj9bLTbw2i3ymhXv4fep+YgwoqfjZD3fBdZ1w//hnwBqY8+A63WaIt+P8bX8H+/nhZ0xzaQAW3ek+jek+heQz7TkeiO7/mJ6H5twbrP2byHb5hw0/ug9OVts3XrBb1/MdZP7yXcn+TRT+Bn6LVd9P4bNvwV5cD2q0jZQB9Ov/tB0/thDOLlbB1/lCNE2sW2IuQ9RRAEaHENGVs2+nmQ19Z+fYkthvC2Wa/n/WAv+Wjvd0F6Dwzme8rHbMUQwwg/6orsUfI6vYfcMF6O1rhqqJdsUzyn988I9Gdt1yn917efw8azGzyDxfOxCx4RQSxZgliyBbHkCGLJFcSSJ4glXxBLgSCWqCCWQkEsRYJYigWxlAhiKRXEUiaIpVwQS4UglkpBLB0EsVQJYqkWxNJREEsnQSydBbF0EcTSVRBLN0Es3QWx9BDEUiOIpVYQS09BLL0EsfQWxNJHEEtfQSz9BLH0F8QyQBDLQEEsgwSxDBbEYvG/rg1mCW1klvVdB4CvdyVl+H/GYFKG91Gm9xIP+7RhPrua7sfHOvTv7i8VtG0v7NPeMB8u27b8Nc/FDhl8G5NliCCWwYJYBgliGSiIZYAglv6CWPoJYukriKWPIJbeglh6CWLpKYilVhBLjSCWHoJYugti6SaIpasgli6CWDoLYukkiKWjIJZqQSxVglg6CGKpFMRSIYilXBBLmSCWUkEsJYJYigWxFAliKRTEEhXEUiCIJV8QS54gllxBLDmCWLIFsWQJYokIYgkbLMG1IL/MElwL4s8SXAvizxJcC+LPElwL4s8SXAviz1IsiKVEEEtwLYg/S3AtiD9LcC2IP0twLYg/S3AtiD9LcC2IP0twLYg/S3AtiD9LjSCWWkEsPQWxBNeC+LME14L4swTXgvizBNeC+LMMEsQSXAviz2L7/4oNYYkJYgltZJZfukYmRsrCxmf1/weF0XWv4/M7w+Qz+HxM+oxAfI5mFikbQerEspGQzyFloyCf68NKnx+Kz/mkz+fE54HS53jic0Pp8z4bIE+fC4rPIR3lw0L7cGM9VzVk8G1MlpgglmGCWIYIYhksiGWQIJaBglgGCGLpL4ilnyCWvoJY+ghi6S2IpZcglp6CWGoFsdQIYukhiKW7IJZugli6CmLpIoilsyCWToJYOgpiqRbEUiWIpYMglkpBLBWCWMoFsZQJYikVxFIiiKVYEEuRIJZCQSxRQSwFgljyBbHkCWLJFcSSI4glWxBLliCWiCCWsA/LCF6WOvrflUeY6JEgefrfU7PBrPmaLNiq2WDBc2wrShiGWmSJ+rRtoZ26fENnfbTXJ/R/Q/xfsZnwjWa2Q4i0g/XiObZFbRW3yBL1adtCO3X5hs76aK9PsH39uTGQH074xjLbIUTawXrxHNuitqqzyBL1adtCO3X5hs76aK9PsH39uXGQH0P4Esx2CJF2sN5xRhvUVvUWWaI+bVtop47aFo/2+gTz+nPjIT+O8E1gtkOItIP14jm2RW3VYJEl6tO2hXbq8g2d9dFen2D7+nMTIT+e8E1itkOItIP14jm2RW3VaJElup628QiTtidasINn2AGPiT4sEUEsWYJYsgWx5AhiyRXEkieIJV8QS4EglqgglkJBLEWCWIoFsZQIYikVxFImiKVcEEuFIJZKQSwdBLFUCWKpFsTSURBLJ0EsnQWxdBHE0lUQSzdBLN0FsfQQxFIjiKVWEEtPQSy9BLH0FsTSRxBLX0Es/QSx9BfEMkAQy0BBLIMEsQwWxDJEEMtQQSzDBLHEBLHEBbHUCWKpF8TSIIilURDLcEEsTYJYmgWxjBDEMlIQyyhBLKMFsYwRxDJWEMs4QSwJQSzjBbFMEMQS2sgs67sfEb5O78mDe4no/Xw2gTy9F9BkyI8hZZtCfhwpmwL58aRsM8hXk7KpkO9HyjaHfJiUhX10i0B+EinDfT6bkDLcbzOZlOG+l01JGe4/mULKcB/IZqQM92NMJWW4LwLZdZtzo211omMCP58AGUvtaB0TtJ0EOce26P2NNhfAMkEQy3hBLAlBLOMEsYwVxDJGEMtoQSyjBLGMFMQyQhBLsyCWJkEswwWxNApiaRDEUi+IpU4QS1wQS0wQyzBBLEMFsQwRxDJYEMsgQSwDBbEMEMTSXxBLP0EsfQWx9BHE0lsQSy9BLD0FsdQKYqkRxNJDEEt3QSzdBLF0FcTSRRBLZ0EsnQSxdBTEUi2IpUoQSwdBLJWCWCoEsZQLYikTxFIqiKVEEEuxIJYiQSyFgliiglgKBLHkC2LJE8SSK4glRxBLtiCWLEEsEUEsYYOlgLxeTspw/xG9/ybuU2omZbifaTgpmwz5MaQM90eNI2W4j2o8SPTDnhfcV2p9LMF9pfxZcgSxBPeV8mcJ7ivlzxIVxBLcV8qfJbivlD9LcF8pf5bgvlL+LMF9pfxZgvtK+bME95XyZwnuK+XPEtxXyp8luK+UP0uNIJZaQSw9BbH0EsQS3FfKn6WvIJbgvlL+LMF9pfxZBgliCe4r5c8S3FfKnyW4r5Q/S3BfKX+W4L5S/izBfaX8WYL7SvmzBPeV8mcJ7ivlzxLcV8qfJSGIZbwglgmCWCYJYtlEEMtkQSybCmKZIohlM0EsUwWxbC6IJbSRWX7pvnX0XmzTIE/v2bYF5Om93aZDfjIp2xLy9F5xMyBP7ykX9uGLQH4aKcO9gFuQMtyTN52U4d64LUkZ7lHD9vXnrouue30mlIfJZ2ZBPkLKZkM+i5RtTerEsm0gn0PKtoV8LinbDvJ5pAwZZ5Iy1GUWKUOdZ5MytM3WpAxtuA0pQ1tvS8q2gvx2Pnx0zOJnEiBjqR2tY5a2kyDn2FYBYdhOAMvmglimCmLZTBDLFEEsmwpimSyIZRNBLJMEsUwQxDJeEEtCEMs4QSxjBbGMEcQyWhDLKEEsIwWxjBDE0iyIpUkQy3BBLI2CWBoEsdQLYqkTxBIXxBITxDJMEMtQQSxDBLEMFsQySBDLQEEsAwSx9BfE0k8QS19BLH0EsfQWxNJLEEtPQSy1glhqBLH0EMTSXRBLN0EsXQWxdBHE0lkQSydBLB0FsVQLYqkSxNJBEEulIJYKQSzlgljKBLGUCmIpEcRSLIilSBBLoSCWqCCWAkEs+YJY8gSx5ApiyRHEki2IJUsQS0QQS9iHZRtelibapm4PY0m6d3M2c5t0v6hH7ECPBMnPJiwzeVliut05pP4EaYO2uz1vu3HabggStoHlEZIfiosNeZ8+poJEZv22WT7vo/mtjc9EyeuzLOs8k3AkyDm2pX1BL6LrLB/ubQk3vj6DcFcxc+s6ZhMObJ/ev4t5XDbRvdd4tDdHZhIW5n5rnSNzSf0J0gZtdx6z3Wm7OEewDSyPkPx4Mm7mrcv+PG6QWb9tjs/7aN6cQ1Hy+hzLOtO5miDn2JaeI8OJrnN8uGcTbnx9S8JtY47QuY3t0znCPC5b5wjVXR/tzZHtCQtzv7XOkfmk/gRpg7a7A7Pdabs4R7ANLI+Q/GwybnZYl/153CCzfttcn/fRvDmHouT1uZZ1pnM1Qc6xLT1HNiO6zvXhpusfvj6dcNuYI3RuY/t0jjCPy9Y5QnXXR3tzZB5hYe631jmygNSfIG3Qdhfythun7eIcwTawPELyO5Jxs3Bd9udxg8z6bfN93kfz5hyKktfnW9aZztUEOce29ByZR3Sd78NN1z98fQvCbWOO0LmN7dM5wjwuW+cI1V0f7c2RHQjLQl6W1jmyiNSfIG3Qdhfzthun7eIcwTawPELy+5Jxs3hd9udxsxCkftsCn/fRvDmHouT1BZZ1Xkg4EuQc29JzZBXRdYEPN13/8PVphNvGHKFzG9unc2Qhb5utc4Tqro/25shCwsLcb61zZAmpP0HaoO0u5W03TtvFOYJtYHmE5I8j42bpuuzP4waZ9dsW+byP5s05FCWvL7KsM52rCXKObek5cijRdZEPN13/8PWJhNvGHFlIOLB9OkeYx2XrHKG666O9ObKYsDD3W+scaSH1J0gbtN1lvO3Gabs4R7ANLI+Q/IVk3Cxbl/153CCzftsSn/fRvDmHouT1JZZ1pnM1Qc6xLT1HTiO6LvHhXki48fWtCLeNOULnNraP7eQTDvpsA5t+FevFc9qX5Ya9LLA0RX3a1n13TcG6/LUFdvuE2qLSp0+wbAnh+wL+uNAC/ze4GTiL4HP4H2GE1FVA6sAy/I+V3suBPiMGy/A/anovB/wPnd7LIUzyKJGhgJQhQ5SUIUMhKUOGIlKGDMWEKYd8LgEyltpRR+2DR3s+nnIXGfrlEF4mvta5VGSwFBm2iRKGAmss8da5ZLZd4GOHAoMNeUqYeXSdZcx16n7F/TR4tDcesP08b90c2bFl9fRVq1v2CJHPY53VxEZ4hEk+Qj6T5bXlyPYpy/Epy/XaHnkkn0/yJeRzxQanfh/66VJShsz4Gs5PZEmAjKV21FGfQfWjR4LkqT9DG9Bn3OXx8sVNWyfIObYVJQwReyz1UZ+2C9Zjh3zetmP5XvIaoY8sld4ja2uUWV8L/rY1zkYfr4+DiF70+WE22i0y2o0a7Ya8ZP9+EGHFz0bIez4lMc7fIE99M40HSoy26BzH13K95D1+dF5Sn4n2yiJl5SQfNj5D91PSuBT3niZAxlI76vMNDn2050voM7c68LK09jf97pogbdB2q3nbjdN28fsctoHlEZL/kSxU1euyP48BZKb7lun7aL7c+EyUvF5pWecOhCNBzrEtPVb/SXSt9OGm/hxfp8+rq2Tm1nVUEI48gy2f6EF9O/d3mPbsV0Vskm3YywJL6xpntm3L9h1+wfZYhu8z17ssXqbWy+ypzw2TdvVB97vR8cAck7XaJteHI4dwYPv0ObrM8U4d9oPJ4Rf74PvW93xq5nio3XtW+rFEBLFkCWKxGLNuMEuOIJZcQSx5glhCG5nF7z60egzfR+7LijE7/R2Nxu9YhrF4FinDdujvUBi20N/PzO8OtD5qoyJDl1hqRzxktJMg59gWve9psQCWPEEsuYJYcgSxZAtiyRLEEhHEEjZY1ufX0Hf5/f5A4zX6eyPKMtIeluH3Dfo/Q9jgo/9RUN+JfVlCypCLto9zoYyUISv9DXR98SXzb1/trkVRQ3pecny5sVmyBLFkC2LJEcSSK4glTxBLviCWAkEsoY3M4hd30ziYxtro/+mahOsEjbXb+52c/s+E6wRdu+j/glhWTvIo8fc9up6FfXRrb+2ia5wZJ9G1i65xyErXOGSlaxyyUnZkRXbd5hPRtjrRMYGfT4CMpXa0jgnaToKcY1v0e0aFAJYCQSz5gljyBLHkCmLJEcSSLYglSxBLRBBL2GDBPRncex7oukDXN/RvdK3FNczv+x9da3ENo2st/U6LZX7fE2l7KG3vR6PrJWXKITwJkLEUD1fqpPYM+9gz7GNPWoZ5Ogbo91YsyyL2RknvJYP10Hvd0PFgxnp+eyLoPgf6v1Z7sR79vm/DB2A7WK+5ZyLqtY0dbbBEfdqmdogIsIMZL28MO2QJsIP5HWFj2CFbgB2QIW8j2iFHgB2oH91YdsgVYAdkKEizHXS75u8UrBsz8IgYddfHhjc0tDTVtcTr44tidSMWNzfGGhoXD2+ON8cbmxuX1jXX17c0NzQ3jVg8oik2It5Q3xJf1jiifhlUHmbkPJ6R6yQ+rljEr3NIGZf+nMyU92SSR8cf9hkTORZ08ox2TDsWe5YHvo1OOtlCvad4fIPflt6n8PdRjPa7dJviwfwNKX4iI+epjHWly/Gd6tlxfKeRfOD4UqzzVDAod72ne7Idn9b7dP4+sur4OG2aLidwgmfHCZxB8oETSLHOE8Cg3PWe6cl2AlrvM/n7KIbXaeIg/INKP6p0LMjjQOrjLJXO9tZd24mD+ER4z1nkveeodC5576+p/zyVzm+n/vPIey9Q6UKf9x4P77kApJ5wF6l0sc97T4D3XARSM16i0qVe8mFGW6mOD86xdpnH+xsF3adXBXapBtkRZCeQnUF2AdkVZDeQ3UH2AFkDshZkTyIvV+kKsDV1jtzz6HK+umI1UM+VKl2l0tUqXaPStSpdp9L1Kt2g0o0q3aTSzSrdotKtKt2m0u0q3aHSnSrdpdLdKt2j0r0q3afS/So9oNKDKj2k0sMqPaLSoyo9ptLjKj0BRgqB3TRLnrfu/Crj/Grj/Brj/Frj/Drj/Hrj/Abj/Ebj/Cbj/Gbj/Bbj/Fbj/Dbj/Hbj/A7j/E7j/C7j/G7j/B7j/F7j/D7j/H7j/AHj/EHj/CHj/GHj/BHj/FHj/DHj/HHj/Akv+fp5fZg/scVSO5LmTKr+6krGuv4dsRMMc/1E2bJMH7H4VUx16b64mtF+/xFvv9aq49ekXlcd6By/ltF+/5Vsv4afOePXpVZXjOgcv57Rft9KtV9dEmf8ht9eV8zQOX4jo/2+E2i/4cvacMZv+m11NfvoHL+Z0X7/k2a/Zl/O+C0bXlfTenSO38pov+8l2a9pvZzx2zasrrp2dI7fzmi/H6TYr6ldzvgdv76uJb+gc/xORvv9KMF+Tb/IGb/r19UV+xU6x+9mtN9PG9t+sV/FGb/nl+tq/JU6x+9ltJ/+cWmj2a/hV3PG72u3roZlG6Bz/H5G+4U2lv2aNogz/sD662reQJ3jDzLaL7wR7Ddi2QZzxh/yryv2G3SOP8xov0i67Rf7TZzxR9rWFf+NOscfZbRfVjrtt/Q3c8YfS66rPgWd448z2i87TfarW5YSZ/wJj++3RPqbXar2y0mT/WKpHXHG39ni/2W0X64j9mP8nSj+HaP98hyxH+PvHPHvGe2X74j9GL+nx39ktF+BI/Zj/J4Zp9+5UrVf1BH7MX5PiocZ7VfoiP0Y4/x4FqP9ihyxH2OcGs9htF+xI/ZjjLPieYz2K3HEfoxxQryA0X6ljtiPcZ2LFzLar8wR+zH66Xgxo/3KHbEfo5+JlzLar8IR+zHOkzjjmIlz2k/vZ9PXQpv7g7H+Xt7afW69QfYB2RdkP5D9QQ4AORDkIJCDQQ4BORTkMJAxkHGQdSDrQTaAbAQ5HGQTyGaQI0COBDkK5GiQY0COBTkOZALkeJATQE4EOQnkJiAng9wU5BSQm4GcCnJzkNNAbgFyOsgtQc4AuRXImSBngZwNcmuQ24DcFuR2IOeA3B7kXJDzQM4HuQPIBSAXglwEcjHIGm/tgfsdcR8k7o/EfZO4n/JhkLj/8kGQuF8T93Hi/k7c94n7QXGfKO4fxX2luN8U96Hi/lTct4r7WXGfK+5/xX2xuF8W99Hi/lrcd4v7cXGfLu7fvRLkk17ywb0/+kmP8f8VLz0X7nT3eP0QHk+RfHDhTop1dgeDctf7tMc3YG3p/TR/H7VOrojX9pA8uWxydnaEs8rjd1YhUuczKj2r0nMqPa/SH1V6QaUXVXpJpZdVekWlV1V6TaXXVXpDpTdVekult1X6k0rvqPSuSu+p9GeV3lfpA5X+otKHKv1VpY9U+ptKH6v0d5U+UelTlT5T6XOVvlDpS5W+UukfKn2t0j9V+kalf6n0b5X+o9J/VfpWpe9U+p9K36v0g7c2APwJFAypFFYpolKWStkq5aiUq1KeSvkqFRCPSG8qajpvegOvECmjzl0fOSSfABlL8bCwWMR04JxH9PAMfYs9Gw/caUi6sZpn2NO0G7WnZsWbAS5ZtGLFjN2X77lodcvkNSuXrF6+aiUd1tlGNREf9cxyev8+8xmDtJvpfdpCJn8CZKprCl2fYqkd8XT5/Oc8O77U4+Wss1h3nA6uKBi4kAxunGdhr+2DpkKkn/Rg/Mlr21chkg/DeyLtvCe0nnrofKcPXXDFd1kNZPEqOd2BP3jrrporDLVtlPtXGzqJUruCbNkyzZ9qXT//axdyLwh93gscEnVIRWDg4sAhuemQigyHVJwGh0QnUaoOqYjRIRU76JD+6AUOiTqkEjBwaeCQ3HRIJYZDKk2DQ6KTKFWHVMLokEoddEgve4FDog6pDAxcHjgkNx1SmeGQytPgkOgkStUhlTE6pHIHHdIrXuCQqEOqAANXBg7JTYdUYTikyjQ4JDqJUnVIFYwOqdJBh/SqFzgk6pA6gIGrAofkpkPqYDikqjQ4JDqJUnVIHRgdUpWDDqkgFDgk6pCqwcAdA4fkpkOqNhxSxzQ4pIIQn0OqZnRIHS1Nbm770e1dqer8DGNdnZgdepvB7/E7dE5mytuZnAT7UFOsU3dS5xB/vV0YnYctvbuE2Puo3cfScO6dSrWuriHZ41L3TdcQ//6zOkcucuLs626MfV3HeMFZuhaibpYWou7BQsTbSd0tLEQ9hC9EWu8elhci6Tb1yEDm5KQXQaTK+SxjXTUORvM1lpxobeBEeTup1oIT7SnciWq9e2ZwNN9LeDSv+6aXhWi+IQOj+d6Mfd3gYDTf29JC1CdYiHg7qY+Fhaiv8IVI693XsWie26YeGcicnPRS4VQ5X2Osq5+D0Xw/S060f+BEeTupvwUnOkC4E9V6D8jgaH6g8Ghe981AC9H88AyM5gcx9vVwB6P5QZYWosHBQsTbSYMtLERDhC9EWu8hjkXz3DbFg3vB7MjIOTRkZ/JKDhKGCQ8SdJ8MsxAkNGdgkBBj7OtmB4OEmKUgIR4ECbydFLcQJNQJDxK03nWOBQl1jgQJ5Yyc9RkYJDQIDxJ0nzRYCBJGZmCQ0MjY1yMdDBIaLQUJw4MggbeThlsIEpqEBwla7ybHgoQmR4KESkbO5gwMEkYIDxJ0n4ywECSMzsAgYSRjX492MEgYaSlIGBUECbydNMpCkDBaeJCg9R7tWJAw2pEgoYqRc0wGBgljhQcJuk/GWggSxmZgkDCOsa/HOhgkjLMUJCSCIIG5kywECeOFBwla7/GOBQnjLQUJphNNte4wo84vMHJNYHRI6XKiEyw50YmBE+XtpIkWnOgk4U5U6z3JshOVHM1vIjya132ziYVoPpGB0fxkxr5OOBjNT7a0EG0aLES8nbSphYVoivCFSOs9xbFontumHhnIlDPVuhkf1Rp/kZFrMwej+c0sOdGpgRPl7aSpFpzo5sKdqNZ78wyO5qcJj+Z130yzEM1PyMBofgvGvp7gYDS/haWFaHqwEPF20nQLC9GWwhcirfeWjkXznDbVbHqC4ATS98zTD63Xz9jVshhkKcgClWao/FYwVuhD2V+Az74I8iWQ5fDZSpBVIMtUmqnys3zqCsN7IiCzQGaDzAGZC7JQpdkqvzWpCzthJrznNeB5HeQbIN8E+RbIt0H+CeQ7IN8F+R7IP4N8H+QHIP8C8kOQfwX5Eci/gfwY5N9BfgLyU5Cfgfwc5BcgvwT5Fch/gPwa5D9BfgPyXyD/DfI/IP8L8luQ34H8H8jvQf4AEtNPID2wawjkbJB5IPNBDlRpG5XflvQNOudnoK4Z8N5tQJartJ3KzzG8qOSgbnvGhT5di3MPz87iPDdYnHk7aa6FxXme8MVZ6z3PwuKcrufjcE4um5xdHOGs9vidVYjUOV+d7KDSApUWqrRIpcUqLVFpqUotKi1TaUeVdlJpuUo7q/Q7lVaotItKK1VapdKuKu2m0u4q7aHSapXWqLSnSnuptLdK+6i0r0r7qbS/SgeodKBKB6l0sEqHqHSoSoepdLhKR6h0pEq/V+kolY5W6RiV/qDSsSodp9LxKp2g0okqnaTSySqdotKpKp2m0ukqnaHSmSqdpdLZKp2j0rlknpWA1M8MMp13vtf2+UP5XrJz14crzxXKVnXkET08Q198RlIOa7sNMd1Wtpd8mItSwseemrUC8ksWrVgxY/fley5a3TJ5zcolq5evWkmHdbZRTcRHPbM8i5giF/LZpAw/l0tkyORPgEx1TZnHHFClw+cvCNnxpR4vZ9qeiXYeGPh8MriDZ6Lx1JmWZ6LpDqTPRDs/1LZR7p9fFzAEpvhMtPMYg9zzGSd3uhzSwsAhJTmkC8DAFwYOyU2HdIHhkC5Mg0NayOiQLmB0SBc66JAWBQ4pySFdBAa+OHBIbjqkiwyHdHEaHNIiRod0EaNDuthBh9QSOKQkh3QJGPjSwCG56ZAuMRzSpWlwSC2MDukSRod0qYMOaVngkJIc0mVg4MsDh+SmQ7rMcEiXp8EhLWN0SJcxOqTLHXRIOwYOKckhXQEGvjJwSG46pCsMh3RlGhzSjowO6QpGh3Slgw7p3MAhJTmkq8DAVwcOyU2HdJXhkK5Og0M6l9EhXcXokK62NLm57Ue3d6Wq83xG+13D7NDbDH6P36FzMlPea8lJsA81xTp1J10b4q/3OsbBb0vv60LsfWT1akXOvb3Xh2SPS90314f4959NcuRqRc6+voGxryc5eLXiDZYWohuDhYi3k260sBDdJHwh0nrfZHkhkm5TjwxkTk56EUSqnDsw6nyzg9H8zZac6C2BE+XtpFssONFbhTtRrfetGRzN3yY8mtd9c5uFaH5yBkbztzP29WQHo/nbLS1EdwQLEW8n3WFhIbpT+EKk9b7TsWie26YeGcicnPRS4VQ5d2LU+S4Ho/m7LDnRuwMnyttJd1twovcId6Ja73syOJq/V3g0r/vmXgvR/JQMjObvY+zrKQ5G8/dZWojuDxYi3k6638JC9IDwhUjr/YBj0Ty3TfHgXjCvZuR8MGRn8koOEh4SHiToPnnIQpAwNQODhIcZ+3qqg0HCw5aChEeCIIG3kx6xECQ8KjxI0Ho/6liQ8KgjQcKljJyPZWCQ8LjwIEH3yeMWgoRpGRgkPMHY19McDBKesBQkPBkECbyd9KSFIOEp4UGC1vspx4KEpxwJEi5n5Hw6A4OEZ4QHCbpPnrEQJEzPwCDhWca+nu5gkPCspSDhuSBI4O2k5ywECc8LDxK03s87FiQ870iQcCUj5x8zMEh4QXiQoPvkBQtBwowMDBJeZOzrGQ4GCS9aChJeCoIE3k56yUKQ8LLwIEHr/bJjQcLLloIE7meVhxl1Xsyo8yuMDildTvQVS0701cCJ8nbSqxac6GvCnajW+zXLTlRyNP+68Ghe983rFqL5mRkYzb/B2NczHYzm37C0EL0ZLES8nfSmhYXoLeELkdb7LceieW6bemQgU85U62Z8VGt8CaPObzsYzb9tyYn+KXCivJ30JwtO9B3hTlTr/U4GR/PvCo/mdd+8ayGan52B0fx7jH0928Fo/j1LC9Gfg4WIt5P+bGEhel/4QqT1ft+xaJ7TpppNTxCcQPqeeT96a58vrOWFIC8GWaDSByr/Fxgr9KHsi+E9S0AuBXkpyMtBXgmyTKUPVf6vPnWdCu85DeTpIM8AeSbIs0AWqvSRyv+N1IWd8CG8ZyeQy0HuDPJ3IFeA3AXkSpCrQO4KcjeQu4PcA+RqkGtA7glyL5B7g9wH5L4g9wO5P8gDQB4I8iCQB4M8BOShIA8DeTjII0AeCfL3II8CeTTIY0D+AeSxII8DeTzIE0CeCPIkkCeDPAXkRyDPBnkOyIEqfazyfyd9g855PrznA5AfgyxX6ROV/zS09r2/5nEWKe8k9ewsEJ7BGduwI24WMNbdpi26gH4GBv6c+MfgcRY8dablcRa6A++HhvT552ThMI2H5ZyTaAPrihl1xT9jXOg+Z4zC0/V8nVSYlyUfS3xwrTgkbqc8L2THuX0BoF/+Ruc2wUdn07lN8H7ZufnV8//KuUkeEOgYvwit6xh9rgfFeC/54HaUnHp8yegovwrxOQa051fEnjbGw+ehlPvHXHwaOfvnc8b+2Yb5J7QUJ3+bPtd2w/nE2c/bytLbPFp/MvzSgt7bpekn01SDtS8YxzinP5vjyE/OjPM6vi3jz8TbO2I/xnkSZxwz8VTs114Qz/33Fuf8/Qfj2mlTZ86/eb5m1pl7fdJ98rWF9WlhBv6l90/Gvl7o4F96jPon/aX3DTkJ/tJLsU7dSd+E+Ov9F+NEsqX3v0LsfWT1Lz3pNt1OVbi9hcXj36H09E+qnP9xhPO/jnB+y8iZ7a1dLHDB0GNK95e2xbeGx+YOIJ9mrOs7xqCC2oMeXPWvb1zEUjvi31kYv9yMnzgyx/7HyGl5PFnrq/85MJ6+tzSeJH9Z/kH4l2Vb8c6PjviOn9xZi6zNy58c8B16knMz6kOy7wiFeX3H+vom5VsT8HHWuTqHwmH5jJEMnENZjsyhbD7OelfnULYDcygnA+dQLuMcStcP9zV8dSX9cJ8XXpcPfrhPsc4aMCh3vflh2T8ya73zw+x9FEvXdt0az44T5Obs6ghnR4/fWWlZCPkCNdaiKhWqVKRSsUolKpWqVKZSuUoVKlWq1IGMyxKQepuu6ezyvbZbfvO9ZGeoD1e28uof1/OIHp6hL25LzuFtd4luK9tLPkwnnvCxp2btBPmWlbutaVnTMmPN4hXLl0xes3LJ6uWrVk5ctGIFHQzYCA6KiI+SZnkWMUgu5LNJGX4ul8iQqUUCZKqeOJ85DEmHpyy0FC56vJx1FutOuhihCk6qSWFwpRVPnWm50kp34A/eugsIqsNtG+Xe0FTIEM61wM7CKsbQsJpxcqfLIRUFDinJIXWEk06BQ3LTIXU0HFKnNDikIkaH1JHRIXVy0CEVBw4pySF1hpMugUNy0yF1NhxSlzQ4pGJGh9SZ0SF1cdAhlQcOKckhdYWTboFDctMhdTUcUrc0OKRyRofUldEhdXPQIVUEDinJIXWHkx6BQ3LTIXU3HFKPNDikCkaH1J3RIfVw0CFVBg4pySHVwElt4JDcdEg1hkOqTYNDqmR0SDWMDqnW0uTmtl+Nx6dzAaP9ejI79DaD3+N36JzMlLcXcYjBZqkU69Sd1CvMX29vxsFvS+/eYfY+srr7knMDWp+w7HGp+6ZPmH+7x2JHbrfB2dd9Gft6sYO322DUP2kh6hcsRLyd1M/CQtRf+EKk9e5veSGSblOPDGROTrpTN1XOKKPOAxyM5gdYcqIDAyfK20kDLTjRQcKdqNZ7UAZH84OFR/O6bwZbiOaXZmA0P4Sxr5c6GM0z6p+0EA0NFiLeThpqYSEaJnwh0noPcyya57apRwYyJye9ni1Vzg6MOsccjOZjlpxoPHCivJ0Ut+BE64Q7Ua13XQZH8/XCo3ndN/UWovllGRjNNzD29TIHo3lG/ZMWosZgIeLtpEYLC9Fw4QuR1nu4Y9E8t03x4F4wuzFyNoXtTF7JQUKz8CBB90mzhSBhpwwMEkYw9vVODgYJjPonBQkjgyCBt5NGWggSRgkPErTeoxwLErhtigf3gtmDkXN0BgYJY4QHCbpPxlgIEnbOwCBhLGNf7+xgkMCof1KQMC4IEng7aZyFICEhPEhoHZyOBQncNsWDe8GsZeQcn4FBwgThQYLukwkWgoQVGRgkTGTs6xUOBgmM+icFCZOCIIG3kyZZCBI2ER4kaL03cSxI4LapRwYy5Uz5aTKMOpcw6jyZ0SGly4lOtuRENw2cKG8nbWrBiU4R7kS13lMsO1HJ0fxmwqN53TebWYjmV2ZgND+Vsa9XOhjNM+qftBBtHixEvJ20uYWFaJrwhUjrPc2xaJ7bph4ZyJQz1bprGHUuZdR5Cwej+S0sOdHpgRPl7aTpFpzolsKdqNZ7ywyO5mcIj+Z138ywEM3vmoHR/FaMfb2rg9E8o/5JC9HMYCHi7aSZFhaiWcIXIq33LMeieU6bajY9QXAC6dvh/OitfVKXlp1AdgFZoNJsld8axgp9yGEJvKcUZBnIbiB7gKzF11XaRuW3pbPW4190tgunp19T5ZzjCOf2zA5djx901tvB2JgDcnuQ+s7Ec1V+nuWxMt+RPtjBEc4FFsfKfBgbO4BcQMbKQpVfZHmsLHakD5Y4wrnU4lhZDGNjCcilZKy0qPwyy2NlR0f6YCdHOJdbHCs7wtjYCeRyMlZ2VvnfWR4rKxzpg10c4VxpcaysgLGxC8iVZKysUvldLY+V3Rzpg90d4dzD4ljZDcbG7iD3IGNltcqvsTxW9nSkD/ZyhHNvi2NlTxgbe4Hcm4yVfVR+X8tjZT9H+mB/RzgPsDhW9oOxsT/IA8hYOVDlD7I8Vg52pA8OsdAHaNqDweaHgMxT6VCVP8yy7Q93xPZHWLT94WDzI4jtj1T531u2/VGO2P5oi7Y/Cmx+NLH9MSr/B8u2P9YR2x9n0fbHgs2PI7Y/XuVPsGz7Ex2x/UkWbX8i2PwkYvuTVf4Uy7Y/1RHbn2bR9qeCzU8jtj9d5c+wbPszHbH9WRZtfybY/Cxi+7NV/hzLtj/XEdufZ9H254LNzyO2P1/lL7Bs+wsdsf1FjnBe7AjnJY5wXuoI52WOcF7uCOcVjnBe6QjnVY5wXu0I5zWOcF7rCOd1jnBe7wjnDY5w3ugI502OcN7sCOctjnDe6gjnbY5w3u4I5x2OcN7pCOddjnDe7QjnPY5w3mvhN7NhUN828FtZB5AXgrwI5MUgLwE5F+RCkC0gdwa5CuRqkPuAPBDkoSCPBHkMyONBngzydJBngzwf5KUgLwN5OcgrQF4J8iqQV4O8BuS1IK8DeT3IG0DeCPImkDeDvAXkrSBvA3k7yDtA3gnyLpB3g7wH5L0gB6l0n8rfH153nQjuVyiA98wGeR/IcpUeUPkHw17SEWYeb5wX9z3EN3bj6bogr9bjnW94PEz6LbggL8U6a8Gg3PU+wjj4ben9SJi9j1qvdo14bQ/Jk8smZzdHODt5/M5Ky0LIP6rG2mMqPa7SEyo9qdJTKj2t0jMqPavScyo9r9IfybgsAak32ZnOLp+MtRApM9a1ny+cZLRXzIJzjWV7a/9sRD08Q99iL/lCUKZ2l+i2sr3kw3TiCR97atZOkG9ZudualjUtM9YsXrF8yeQ1K5esXr5q5cRFK1bQwYCN4KCI+ChplmcRg+RCPpuU4edyiQyZWiRApuqJH2EOQ9LhKR+39PXE4+Wss1g3fayu9wKcvEgKcbaFvXUDKof0B/aTHow/eW37KkTyYXhPpJ33hNZTD531+Hmc9cw2seLBrIZ/ITCu7sAfoCF9/mK4baPcNyp5nCGca1m29niBMTR8kXFyp8shPRE4pCSH9BKcvBw4JDcd0kuGQ3o5DQ7pCUaH9BKjQ3rZQYf0ZOCQkhzSK3DyauCQ3HRIrxgO6dU0OKQnGR3SK4wO6VUHHdKzgUNKckivwcnrgUNy0yG9Zjik19PgkJ5ldEivMTqk1x10SM8FDinJIb0BJ28GDslNh/SG4ZDeTINDeo7RIb3B6JDedNAhPR84pCSH9BacvB04JDcd0luGQ3o7DQ7peUaH9BajQ3rb0uTmtl+tx6fzo4z2+xOzQ28z+D1+h87JTHnfIQ4x2CyVYp26k94J89f7LuPgt6X3u2H2PrL6GA3ODWjvhWWPS90374X5t3vs7shjNDj7+s+Mfb27g4/RYNQ/aSF6P1iIeDvpfQsL0QfCFyKt9weWFyLpNvXIQObkpDt1U+V8jFHnvzgYzf/FkhP9MHCivJ30oQUn+lfhTlTr/dcMjuY/Eh7N6775yEI0vzoDo/m/Mfb1agejeUb9kxaij4OFiLeTPrawEP1d+EKk9f67Y9E8t009MpA5Oen1bKly/pFR508cjOY/seREPw2cKG8nfWrBiX4m3IlqvT/L4Gj+c+HRvO6bzy1E83tmYDT/BWNf7+lgNM+of9JC9GWwEPF20pcWFqKvhC9EWu+vHIvmuW2KB/eC+Toj5z/Cdiav5CDha+FBgu6Try0ECXtnYJDwT8a+3tvBIIFR/6Qg4ZsgSODtpG8sBAn/Eh4kaL3/5ViQwG1TPLgXzDcZOf+dgUHCf4QHCbpP/mMhSNg3A4OE/zL29b4OBgmM+icFCd8GQQJvJ31rIUj4TniQoPX+zrEggdumeHAvmG8zcv4vA4OE74UHCbpPvrcQJOyfgUHCD4x9vb+DQQKj/klBwo9BkMDbST9aCBJ+Eh4kaL1/cixI4LapRwYy5Uy17jCjzk9x6hxxb/MQJzPlDZHbTARONNU6I2sNyl1vOCLbiWq9wxH2PnJm81AkIntc6r6JRPij+QMzMJrPYuzrAx2M5rMsLUTZwULE20nZFhaiHOELkdY7x/JCJN2mHhnIlDPVumsZdX6a0SHnOhjN51pyonmBE+XtpDwLTjRfuBPVeudncDRfIDya131TYCGaPzgDo/koY18f7GA0H7W0EBUGCxFvJxVaWIiKhC9EWu8ix6J5TptqNj1BcALp2+HoJw+/CPJlkK+CLNCDW7VfAmOFPuTwKXjP0yCfAfk6yDdBvg2yTKVSVU9ZxPPas1eqOpZH0tOvqXJWOMJZyezQ6ZOwdV/psVEBshKkvjNxB5WvsjxWqh3pg46OcHayOFaqYWx0BNmJjJXOKt/F8ljp6kgfdHOEs7vFsdIVxkY3kN3JWOmh8jWWx0qtI33Q0xHOXhbHSi2MjZ4ge5Gx0lvl+1geK30d6YN+jnD2tzhW+sLY6AeyPxkrA1R+oOWxMsiRPhjsCOcQi2NlEIyNwSCHkLEyVOWHWR4rMUf6IO4IZ53FsRKDsREHWUfGSr3KN1geK42O9MFwRzibLI6VRhgbw0E2kbHSrPIjLI+VkY70wSgLfYA/OI8Em48CmafSaJUfY9n2Yx2x/TiLth8LNh9HbJ9Q+fGWbT/BEdtPtGj7CWDzicT2k1R+E8u2n+yI7Te1aPvJYPNNie2nqPxmlm0/1RHbb27R9lPB5psT209T+S0s2366I7bf0qLtp4PNtyS2n6HyW1m2/UxHbD/Lou1ngs1nEdvPVvmtLdt+G0dsv61F228DNt+W2H47lZ9j2fbbO2L7uY5wznOEc74jnDs4wrnAEc6FjnAucoRzsSOcSxzhXOoIZ4sjnMsc4dzREc6dHOFc7gjnzo5w/s4RzhWOcO7iCOdKRzhXOcK5qyOcuznCubsjnHs4wrnaEc41jnDuaeE3s2FQXyn8VqYfDKbl9nA+F+Q8kPNBdgDZGWQPkL1BDgA5FGQ9yGaQo0EmQE4COQXkNJAzQM4GuR3IHUAuALkQ5CKQi0EuAbkUZAvIZSB3BLkTyOUgdwb5O5ArQO4CciXIVSB3BbkbyN1B7gFyNcg1IPcEOUilvVR+78i660TwZ8pHoS+K4b17gSxXaR+V3zey9r0Rr+3BPfbyw2xjL+6D+1vrjpsFjHW3aStM6twPjL4/MX4+yLC37rfoHNIf+FZ9DdFPXtu+CpF8GN4Taec9ofXUk0/K8PPFhIXRJjELFw3GrF4UGALj6g68HxrS5/sT52oaD8s5J9EG1hUz6orvF+Hj2p9vYYn/WocUS+2Ip8K8LPlY4oNrxSFxO+VHwnac2wHQgQf+Ruc2wUdn07lN8H7ZufnV8//KuUkeEOgYD4is6xh9rgfFeC/54HaUnHocyOgoD4rwOQa050HEnjbGw/6RlPvHXHwaOftnf8b+OZT5thkpTv42fa7thvOJs58Pk6W3ebTeJuRAC3ofnqbbpKQarB3AOMY5/dkRjtxmhnFexw9jvDXMkY7Yj3GexBnHTDwV+7UXxIdTm79t+plz/h7M+GXLps6ct3Y6hFln7vVJ98khFtanYzPwNl6HMvb1sQ7exotR/6TbeB1GvowHt/FKsU7dSYdF+Os9nHGhsKX34RH2PrJ6Gy/pNn1AzcKHwvyLxxGO/C15pCOcv3eE8yhGzmxVh064YOgxpftL2+Io42d67gAynzGoOJoxqMgCm5gHV/3rGxex1I740RbGLzfjPo7MsWMYOS2PJ2t9dYwD4+kPlsaT5C/Lxwr/smwr3jnOEd9xvDtrkbV5ebwDvuOEDPQdJ1r6cZF7Dp3Ex1nn6hw6yYE5dHIGzqFTHJlDp/Jx1rs6h051YA6dloFz6HRH5tAZjsScZzrCeZYjnGczc3L7jDNVHedY0Pt44RuFLlF1XGZB7xNkbhRqw3kOo99k7Ou4Lftx9/O5jvif8xzhPN8Rzgsc4bzQEc6LHOG82BHOSxzhvNQRzssc4bzcEc4rHOG80hHOqxzhvFr496B5qsIfQ/x6nyz8e9D3qsIfLOh9iiPfg65h/B7E2NfxU4SPG/2jYMjCf7PXCvcTEaVzlgW9rxOud47SOdeC3tcL11v/Vn2chQ37pwuf33o/zLEW9D7DkXXhBsZ1gbGv42cIHzd6L8SJFsbNjcL9hP7/+hQLet8kXG/9n+PpFvS+2ZHvNbc4wnmrI5y3OcJ5uyOcdzjCeacjnHc5wnl3mvaCxFI7Wm/+wqXzPY7oHGbU+V5HdI4w6nyfIzpnMep8vyM6ZzPq/IAjOucw6vygIzofzajzQ47ofAbj9cEPO6LzmYw6P+KIzmcx6vyoIzqfzajzY47ofA6jzo87ovO5jDo/4YjO5zHq/KQjOp/PqPNTjuh8AaPOTzui84WMOj/jiM4XMer8rCM6X8yo83OO6HwJo87PO6LzpYw6/9ERnS9j1PkFR3S+nFHnFx3R+QpGnV9yROcrGXV+2RGdr2LU+RVHdL6aUedXHdH5GkadX3NE52sZdX7dEZ2vY9T5DUd0vp5R5zcd0fkGRp3fckTnGxl1ftsRnW9i1PlPjuh8M6PO7zii8y2MOr/riM63Mur8niM638ao858d0fl2Rp3fd0TnOxh1/sARne9k1Pkvjuh8F6POHzqi892MOv/VEZ1zPT6dP3JE5zxGnf/miM75jDp/7IjOBYw6/90RnaOMOn/iiM6FjDp/6ojORYw6f+aIzsWMOn/uiM4ljDp/4YjOpYw6f+mIzmWMOn/liM7ljDr/wxGdKxh1/toRnSsZdf6nIzp3YNT5Gws6LwaJD+bW10bhfbH1tST6e6H+nqS/N+g4WseVOs7ScYdeh/W6pP209lt6HutxrftZ612lUrVKHVXqpFJnlbqo1FWlbip1V6mHSjUq1arUU6VeKvVWqY9KfVXqp1J/lQaoNFClQSoNVmmISkNVGqZtoZK+YXKdtrFKDSo1qjRcpSaVmlUaodJIlUapNFqlMSqNVWkc9M94lSaoNFGlSSptotJklTZVaYpKm6k0VaXNVZqm0hYqTVdpS5VmqLSVSjNVmqXSbJW2VmkblbZVaTuV5qi0vUpzVZqn0nyVdlBpgUoLVVoEfTES+kNfP6ivp9PXl+nrrfT1R/p6HH19ir5eQ1+/oPfz6/3ter+33v+s9wPr/bF6v6jeP6n3E+r9dXq/md5/pfcj6f05er+K3r+h9zPo//f1/936/1/9f6j+f1D/X6b/P9L/p+j/F/Tv7fr3Z/17rP59Uv9ep3+/0r/n6N839Pd9/f1Xfx/U34/09wUdP+t4UsdXOt7Q669ej7R/1v5Kz189nv8PwWhs076DBQA=", "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" } ], "debug": { "debugSymbols": [ - "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dPZ6Ons9nb2ezl5PZ6+ns9fT2evp7PV09no6ez2dvZ7OXk9nr6ez1+nsdTp7nc5ep7PX6ex1Onudzl6ns9fp7HU6e53OXqez1+nsdTp7nc5ep7PX6ex1Onudzl6ns9fp7HU6e53OXqez1+nsdTp7nc5ep7PX6ex1Onudzl6ns9fp7HU6e53OXqez1+nsdTp7nc5ep7PX6ex1Onudzl6ns9dZ7HXN6ytb9ydkeSWY5ZVglleCWV4JZnkllBV7xSyvBLO8EszySjBzKyn2iplbSbFXzNxKir1SVuwVM7eSYq+YuZUUe8XMraTYK2ZuJcVeMXMrKfaKmVtJsVfM3EqKvWLmVlLsFTO3kmKvmLmVFHvFzK2k2CtmbiXFXjFzKyn2iplbSbFXzNxKir1i5lZS7BUzt5Jir5i5lRR7xcytpNgrZmolq9grZmolq9grZmolq9grZmolq9grZmolq9grZm4lxV4xcysp9oqZW0mxV8zcSoq9YuZWUuwVM7eSYq+YuZUUe8XMraTYK2ZuJcVeMXMrKfaKmVtJsVfM3EqKvWLmVlLsFTO3kmKvmLmVFHvFzK2k2CtmbiXFXjFzK3H2upy9Lmevy9nrcva6nL0uZ6/L2ety9rqcvS5nr8vZ63L2upy9Lmevy9nrcva6nL0uZ6/L2ety9rqcvS5nr8vZ63L2upy9Lmevy9nrcva6nL0uZ6/L2ety9rqcvS5nr8vZ63L2upy9Lmevy9nrcva6nL0uZ6/L2ety9rqcvS5nr8vZ63L2upy9Lmevy9nrcva6nL0uZ6/L2evl7PVy9no5e72cvV7OXi9nr5ez18vZ6+Xs9XL2ejl7vZy9Xs5eL2evl7PXy9nr5ez1cvZ6OXu9nL1ezl4vZ6+Xs9fL2evl7PVy9no5e72cvV7OXi9nr5ez18vZ6+Xs9XL2ejl7vZy9Xs5eL2evl7PXy9nr5ez1cvZ6OXu9nL1ezl4vZ6+Xs9fL2evl7PVy9no5e72cvV7OXi9nr5ez18vZ6+Xs9XL2ejl7vZy9Xs5eL2evl7PXy9nr5ez1cvZ6OXu9nL1ezl4vZ6+Xs9fL2evl7PVy9no5e72cvV7OXi9nr5ez18vZ6+Xs9XL2ejl7vZy9Xs5eL2evl7PXy9nr5ez1cvZ6OXu9nL1ezl4vZ6+Xs9fL2evl7PVy9no5e72cvd7OXm9nr7ez19vZ6+3s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l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5l+y7Lzq5F+m7p/TdU/ruKX33lL57St89pe+e0ndP6bun9N1T+u4pffeUvntK3z2l757Sd0/pu6f03VP67il995S+e0rfPaXvntJ3T+m7p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0pfXdK353Sd6f03Sl9d0rfndJ3p/TdKX13St+d0nen9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03SV9d0nfXdJ3l/TdJX13Sd9d0neX9N0lfXdJ313Sd5f03VV8dzu/7p8Yz3eVurwX7vJeuMt7wa74Lnd5L9zlvXCX98Jd3gt3eS/cyb0U3+VO7qX4LnbFd7mTeym+y53cS/Fd7uReiu9yJ/dSfJc7t5er+C53bi9X8V3u3F6u4rvcub1cxXe5c3u5iu9yJ/dSfJc7uZfiu9zJvRTf5U7upfgud3IvxXe5k3spvsud3EvxXe7kXorvcif3UnyXO7mX4rvcyb0U3+VO7qX4LndyL8V3uZN7Kb7LndxL8V3u5F6K73In91J8lzu5l+K73Mm9FN/lTu6l+C53ci/Fd7mTeym+y53cS/Fd7uReiu9yJ/dSfJc7uZfiu9zJvRTf5U7upfgud3IvxXe5k3spvsud3EvxXe7kXorvcif3UnyXO7kX6buX9N1L+u4lffeSvntJ372k717Sdy/pu5f03Uv67iV995K+e0nfvaTvXtJ3L+m7l/TdS/ruJX33kr57Sd+9pO9e0ndv6bu39N1b+u4tffeWvntL372l797Sd2/pu7f03Vv67i1995a+e0vfvaXv3tJ3b+m7t/TdW/ruLX33lr57S9+9pe/e0ndv6bu39N1b+u4tffeWvntL372l797Sd2/pu7f03Vv67i1995a+e0vfvaXv3tJ3b+m7t/TdW/ruLX33lr57S9+9pe/e0ndv6bu39N1b+u4tffeWvntL372l797Sd2/pu7f03Vv67i1995a+e0vfvaXv3tJ3b+m7t/TdW/ruLX33lr57S9+9pe/e0ndv6bu39N1b+u4tffeWvntL372l797Sd2/pu7f03Vv67i1995a+e0vfvaXv3tJ3b+m7t/TdW/ruLX33lr57S9+9pe/e0ndv6bu39N1b+u7tfHf/ON99OrWXp1N7eTq1l6dTe3k6tZenU3t5OrWXp1N7eTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0ci/Od59O7sX57tPJvTjffTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0ci/Od59O7sX57tPJvTjffTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0ci/Od59O7sX57tPJvTjffTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0ci/Od59O7sX57tPJvTjffTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0ci/Od59O7sX57tPJvTjffTq5F+e7Tyf34nz36eRenO8+ndyL892nk3txvvt0bi+b9N1N+u4mfXeTvrtJ392k727Sdzfpu5v03U367iZ9d5O+u0nf3aTvbtJ3N+m7m/TdTfruJn13k767Sd/dpO9u0nc36bub9N1N+u4mfXeTvrtJ392k727SdzfpGpt0jU26xiZdY5OusUnX2KRrbNI1NukaW3aN5x/Hv2TPD/Z3NT/fVfwWsIrfAVbxG6AqOwFW8dPHKn72WMWfnG3cX9W4U6U+jfxb8HZcX9W5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", - "eJzt3d1uI0mSpuF7qePGgGFm/te3stiDxu4MMMCgZ7DdZ426943KSlKqojnd9GbQRCp5VgXkJxpDXzidjxjBf/3yX//9f/72z//877//45e//uuXtv3y1//1r1/+8T9/+/tv//uPf/7t//3zl79u41T/8su///3//vafqr/+5Zf/+M//+vdf/nr69S/X/1a1lfM/Vivt8q91+/V//+WXJnd/BL37I9jdH6Hc/RHq3R+h3f0R+t0fYdz7Efrp7o9w93O63/2c7nc/p/vdz+l+93O63/2c7nc/p/vdz+l+93N63P2cHnc/p8fdz+lxwDldtF8eoYr++REOOKcXj3DAOb14hAPO6cUjHHBOLx7hgHN68QgHnNO3H2E7HXBSrx7igLN69RAHnNarh7j7eb2d7n5ib6e7n9nb6e6n9nZyz205mXxPyWmcbj+EtXF+hKJv/9a6849tf8Dv/9j2f/32j0+/T+OuA3ecpm7naUT+MI3zk092ebE69XY1urvAPMXom7twPcfo7oL4HKO7C+1zjO4u4A8y+v4Kdv7J+4p3Nbr7wvAco7svOM8xuvtC9hyjZ79AHjh68qupVDuPriKL0Yu1y0+u755n/X305FfTA0eX5FfTI0dPfjX90OitXrret/5+dOcnt/MO2cbin269XiYe29vE3Zx/vB+K85F4d7rp7wcv+fX8bgevXN5elFJu/1Pp5zcXfxhBPnrokvcTHzl0+yLcLoOftkWZtn45v8Ts9j/up/Meq9fFz/2UPifvlJ7ul/IJ50nyDvBBfiWXQg8Zq/PkvHkq2t4f529HL3kTer+jJ+WymutJbv/jWs8tbSpXhyR5c/tor1nl6oD4W2a5bMpFrb47IN8y/l5V++mcsVO/eRD1sivT9jbS/px/+/Hq7ycP+/H+nu+wH+/vig778f7O4bAf778GHvbj/fX8sB/vL3iH/Xh/8Tjsx/un4mE//r5nrd33rLX7nrV237PW7nvW2n3PWrvvWWv3PWvtvmet3festfueteW+Z22571lb7nvWlvueteW+Z22571lb7nvWlvueteW+Z22571lb73vW1vuetfW+Z22971lb73vW1vuetfW+Z22971lb73vW1vuete2+Z61/ocJxP/6+Z61/icJxP/6+Z61/ccJxP/6+Z61/WcJxP/6+Z61/QcJhP96/GuG4H3/fs9a/DuG4H3/f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" + "eJyrVsrJT04syczPK1ayqq6tBQAz9wY7", + "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" ], "fileMap": { "0": { @@ -164,10 +164,6 @@ "source": "\nimpl Field {\n #[builtin(to_le_bits)]\n fn to_le_bits(_x : Field, _bit_size: u32) -> [u1] {}\n #[builtin(to_be_bits)]\n fn to_be_bits(_x : Field, _bit_size: u32) -> [u1] {}\n\n fn to_le_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_le_radix(256, byte_size)\n }\n fn to_be_bytes(x : Field, byte_size: u32) -> [u8] {\n x.to_be_radix(256, byte_size)\n }\n\n #[builtin(to_le_radix)]\n //decompose _x into a _result_len vector over the _radix basis\n //_radix must be less than 256\n fn to_le_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\n #[builtin(to_be_radix)]\n fn to_be_radix(_x : Field, _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 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 fn sgn0(self) -> u1 {\n self as u1\n }\n}\n\n#[builtin(modulus_num_bits)]\nfn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\nfn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\nfn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\nfn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\nfn modulus_le_bytes() -> [u8] {}\n", "path": "std/field" }, - "29": { - "source": "struct Option {\n _is_some: bool,\n _value: T,\n}\n\nimpl Option {\n /// Constructs a None value\n fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n 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 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 fn unwrap_or(self, default: T) -> T {\n if self._is_some {\n self._value\n } else {\n default\n }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n fn unwrap_or_else(self, default: fn() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n fn map(self, f: fn(T) -> U) -> Option {\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 fn map_or(self, default: U, f: fn(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 fn map_or_else(self, default: fn() -> U, f: fn(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 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 fn and_then(self, f: fn(T) -> Option) -> Option {\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 fn or(self, other: Self) -> Self {\n if self._is_some {\n self\n } else {\n other\n }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n fn or_else(self, default: fn() -> Self) -> Self {\n if self._is_some {\n self\n } else {\n default()\n }\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 fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some {\n Option::none()\n } else {\n self\n }\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 fn filter(self, predicate: fn(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> into a Option.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n fn flatten(option: Option>) -> Option {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n", - "path": "std/option" - }, "31": { "source": "use crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n GENERATOR_INDEX__FUNCTION_ARGS,\n HISTORIC_BLOCK_DATA_LENGTH,\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n CALL_CONTEXT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\n CONTRACT_STORAGE_READ_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__FUNCTION_DATA,\n GENERATOR_INDEX__PUBLIC_DATA_READ,\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\n GENERATOR_INDEX__CALL_CONTEXT,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n};\n\nuse crate::oracle::debug_log;\nuse crate::types::vec::BoundedVec;\nuse crate::types::point::Point;\n\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n}\n\nimpl PublicGlobalVariables {\n fn serialize(self) -> [Field; 4] {\n [self.chain_id, self.version, self.block_number, self.timestamp]\n }\n}\n\nstruct ContractDeploymentData {\n deployer_public_key: Point,\n constructor_vk_hash : Field,\n function_tree_root : Field,\n contract_address_salt : Field,\n portal_contract_address : Field,\n}\n\nimpl ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.deployer_public_key.x,\n self.deployer_public_key.y,\n self.constructor_vk_hash,\n self.function_tree_root,\n self.contract_address_salt,\n self.portal_contract_address,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)[0]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\nstruct PrivateContextInputs {\n call_context : CallContext,\n block_data: HistoricBlockData,\n\n contract_deployment_data: ContractDeploymentData,\n\n private_global_variables: PrivateGlobalVariables,\n}\n\n// PublicContextInputs are expected to be provided to each public function\nstruct PublicContextInputs {\n call_context: CallContext,\n block_data: HistoricBlockData,\n\n public_global_variables: PublicGlobalVariables,\n}\n\nstruct CallContext {\n msg_sender : Field,\n storage_contract_address : Field,\n portal_contract_address : Field,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment: bool,\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender,\n self.storage_contract_address,\n self.portal_contract_address,\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n ]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)[0]\n }\n}\n\nstruct HistoricBlockData {\n private_data_tree_root : Field,\n nullifier_tree_root : Field,\n contract_tree_root : Field,\n l1_to_l2_messages_tree_root : Field,\n blocks_tree_root: Field,\n public_data_tree_root: Field,\n global_variables_hash: Field,\n}\n\nimpl HistoricBlockData {\n // NOTE: this order must match the order in `private_circuit_public_inputs.hpp`\n fn serialize(self) -> [Field; HISTORIC_BLOCK_DATA_LENGTH] {\n [\n self.private_data_tree_root,\n self.nullifier_tree_root,\n self.contract_tree_root,\n self.l1_to_l2_messages_tree_root,\n self.blocks_tree_root,\n self.public_data_tree_root,\n self.global_variables_hash,\n ]\n }\n\n fn empty() -> Self {\n Self { private_data_tree_root: 0, nullifier_tree_root: 0, contract_tree_root: 0, l1_to_l2_messages_tree_root: 0, blocks_tree_root: 0, public_data_tree_root: 0, global_variables_hash: 0 }\n }\n}\n\nstruct FunctionData {\n function_selector: Field,\n is_internal: bool,\n is_private: bool,\n is_constructor: bool,\n}\n\nimpl FunctionData {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.function_selector,\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ], GENERATOR_INDEX__FUNCTION_DATA)[0]\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n read_requests: [Field; crate::abi::MAX_READ_REQUESTS_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n nullified_commitments: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n // Explore introducing a new type like uint256 (similar to Point), so it's more explicit that\n // we're talking about a single number backed by two field elements.\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n contract_deployment_data: ContractDeploymentData,\n chain_id: Field,\n version: Field,\n}\n\nimpl PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.nullified_commitments);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n dep::std::hash::pedersen_with_separator(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n fields.push_array(self.read_requests);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.private_call_stack);\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.storage\n }\n}\n\nstruct ContractStorageRead {\n storage_slot: Field,\n value: Field,\n}\n\nimpl ContractStorageRead {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\n [self.storage_slot, self.value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, value: 0 }\n }\n}\n\nstruct ContractStorageUpdateRequest {\n storage_slot: Field,\n old_value: Field,\n new_value: Field,\n}\n\nimpl ContractStorageUpdateRequest {\n fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\n [self.storage_slot, self.old_value, self.new_value]\n }\n\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)[0]\n }\n\n fn empty() -> Self {\n Self { storage_slot: 0, old_value: 0, new_value: 0 }\n }\n}\n\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [ContractStorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_read: [ContractStorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [Field; crate::abi::MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: Field,\n block_data: HistoricBlockData,\n prover_address: Field,\n\n // TODO: include globals in here and check them elsewhere\n // https://github.com/AztecProtocol/aztec-packages/issues/1567\n}\n\nimpl PublicCircuitPublicInputs {\n \n fn hash(self) -> Field {\n let mut inputs: BoundedVec = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_read[i].hash());\n }\n inputs.push_array(self.public_call_stack);\n inputs.push_array(self.new_commitments);\n inputs.push_array(self.new_nullifiers);\n inputs.push_array(self.new_l2_to_l1_msgs);\n\n // We do not include block_data since it's not in the cpp hash\n\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.block_data.serialize()); // see https://github.com/AztecProtocol/aztec-packages/issues/1473\n inputs.push(self.prover_address);\n\n dep::std::hash::pedersen_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)[0]\n }\n\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_read[i].serialize());\n }\n fields.push_array(self.public_call_stack);\n fields.push_array(self.new_commitments);\n fields.push_array(self.new_nullifiers);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_data.serialize());\n fields.push(self.prover_address);\n fields.storage\n }\n}\n\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\n\nfn hash_args(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = dep::std::hash::pedersen_with_separator(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS)[0];\n }\n chunks_hashes[i] = chunk_hash;\n }\n dep::std::hash::pedersen_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)[0]\n }\n}\n", "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/abi" @@ -204,49 +200,13 @@ "source": "\nstruct BoundedVec {\n storage: [T; MaxLen],\n len: Field,\n}\n\nimpl BoundedVec {\n fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\n }\n\n fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64);\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n fn push_array(&mut self, array: [T; Len]) {\n let newLen = self.len + array.len();\n assert(newLen as u64 <= MaxLen as u64);\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = newLen;\n }\n\n fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n\n let elem = self.storage[self.len - 1];\n self.len -= 1;\n elem\n }\n}\n\n// #[test]\n// fn test_vec() {\n// let vec: BoundedVec = BoundedVec::new(0);\n// assert(vec.len == 0);\n// let vec1 = vec.push(1);\n// assert(vec1.len == 1);\n// let vec2 = vec1.push(1);\n// assert(vec2.len == 2);\n// let vec3 = vec2.push(1);\n// assert(vec3.len == 3);\n// let x = vec3.pop();\n// assert(x == 1);\n// }", "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/types/vec" }, - "60": { - "source": "fn arr_copy_slice(\n src: [T; N],\n mut dst: [T; M],\n offset: Field,\n) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/utils" - }, - "61": { - "source": "use crate::abi::FunctionData;\nuse crate::abi::PrivateCircuitPublicInputs;\nuse crate::constants_gen::GENERATOR_INDEX__CALL_STACK_ITEM;\n\nstruct PrivateCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PrivateCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/private_call_stack_item" - }, - "62": { - "source": "use crate::{\n abi,\n abi::{\n PublicCircuitPublicInputs,\n FunctionData,\n },\n};\nuse crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__CALL_STACK_ITEM,\n};\n\n// oracles\nuse crate::oracle::{\n enqueue_public_function_call::enqueue_public_function_call_internal,\n};\n\nstruct PublicCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PublicCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PublicCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}\n\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/public_call_stack_item" - }, - "65": { - "source": "use crate::constants_gen::CALL_PRIVATE_FUNCTION_RETURN_SIZE;\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: Field,\n _function_selector: Field,\n _args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {}\n\nunconstrained fn call_private_function_internal(\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {\n call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n )\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/call_private_function" - }, "73": { "source": "use crate::types::point::Point;\nuse dep::std::hash;\nuse crate::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\n\n#[oracle(getPublicKey)]\nfn get_public_key_oracle(_address: Field) -> [Field; 3] {}\n\nunconstrained fn get_public_key_internal(address: Field) -> [Field; 3] {\n get_public_key_oracle(address)\n}\n\nfn get_public_key(address: Field) -> Point {\n let result = get_public_key_internal(address);\n let pub_key_x = result[0];\n let pub_key_y = result[1];\n let partial_address = result[2];\n \n let calculated_address = hash::pedersen_with_separator([pub_key_x, pub_key_y, partial_address], GENERATOR_INDEX__CONTRACT_ADDRESS)[0];\n assert(calculated_address == address);\n \n Point::new(pub_key_x, pub_key_y)\n}\n", "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_public_key" }, - "74": { - "source": "use crate::types::point::Point;\n\n#[oracle(getSecretKey)]\nfn get_secret_key_oracle(_owner: Point) -> Field {}\n\nunconstrained fn get_secret_key(owner: Point) -> Field {\n get_secret_key_oracle(owner)\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_secret_key" - }, - "76": { - "source": "\n// contract_address + \n// args_hash +\n// crate::abi::FUNCTION_DATA_SIZE +\n// crate::abi::CALL_CONTEXT_SIZE +\n// = 2 + 4 + 6\nglobal ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE: Field = 12;\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: Field, \n _function_selector: Field, \n _args_hash: Field,\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {}\n\nunconstrained fn enqueue_public_function_call_internal(\n contract_address: Field, \n function_selector: Field,\n args_hash: Field\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {\n enqueue_public_function_call_oracle(\n contract_address, \n function_selector, \n args_hash,\n )\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/enqueue_public_function_call" - }, - "78": { - "source": "use dep::std::option::Option;\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n};\nuse crate::utils::arr_copy_slice;\n\n#[oracle(notifyCreatedNote)]\nfn notify_created_note_oracle(\n _storage_slot: Field,\n _preimage: [Field; N],\n _inner_note_hash: Field,\n) -> Field {}\n\nunconstrained fn notify_created_note(\n storage_slot: Field,\n preimage: [Field; N],\n inner_note_hash: Field,\n) -> Field {\n notify_created_note_oracle(storage_slot, preimage, inner_note_hash)\n}\n\n#[oracle(notifyNullifiedNote)]\nfn notify_nullified_note_oracle(\n _storage_slot: Field,\n _nullifier: Field,\n _preimage: [Field; N],\n _inner_note_hash: Field,\n) -> Field {}\n\nunconstrained fn notify_nullified_note(\n storage_slot: Field,\n nullifier: Field,\n preimage: [Field; N],\n inner_note_hash: Field,\n) -> Field {\n notify_nullified_note_oracle(storage_slot, nullifier, preimage, inner_note_hash)\n}\n\n#[oracle(getNotes)]\nfn get_notes_oracle(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by: [u8; N],\n _select_values: [Field; N],\n _sort_by: [u8; N],\n _sort_order: [u2; N],\n _limit: u32,\n _offset: u32,\n _return_size: u32,\n _placeholder_fields: [Field; S],\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper(\n storage_slot: Field,\n num_selects: u8,\n select_by: [u8; N],\n select_values: [Field; N],\n sort_by: [u8; N],\n sort_order: [u2; N],\n limit: u32,\n offset: u32,\n mut placeholder_fields: [Field; S],\n)-> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(storage_slot, num_selects, select_by, select_values, sort_by, sort_order, limit, offset, return_size, placeholder_fields)\n}\n\nunconstrained fn get_notes(\n storage_slot: Field,\n note_interface: NoteInterface,\n num_selects: u8,\n select_by: [u8; M],\n select_values: [Field; M],\n sort_by: [u8; M],\n sort_order: [u2; M],\n limit: u32,\n offset: u32,\n mut placeholder_opt_notes: [Option; S], // TODO: Remove it and use `limit` to initialise the note array.\n placeholder_fields: [Field; NS], // TODO: Remove it and use `limit` to initialise the note array.\n) -> [Option; S] {\n let fields = get_notes_oracle_wrapper(storage_slot, num_selects, select_by, select_values, sort_by, sort_order, limit, offset, placeholder_fields);\n let num_notes = fields[0] as u32;\n let contract_address = fields[1];\n let deserialise = note_interface.deserialise;\n let set_header = note_interface.set_header;\n for i in 0..placeholder_opt_notes.len() {\n if i as u32 < num_notes {\n // lengths named as per typescript.\n let return_header_length: Field = 2; // num_notes & contract_address.\n let extra_preimage_length: Field = 2; // nonce & is_some.\n let read_offset: Field = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let header = NoteHeader { contract_address, nonce, storage_slot };\n let is_some = fields[read_offset + 1] as bool;\n if is_some {\n let preimage = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = deserialise(preimage);\n set_header(&mut note, header);\n placeholder_opt_notes[i] = Option::some(note);\n }\n };\n };\n placeholder_opt_notes\n}\n\nunconstrained fn is_nullifier_emitted(nullifier: Field) -> bool {\n // TODO\n nullifier == 0\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/notes" - }, - "80": { - "source": "use crate::types::point::Point;\nuse crate::constants_gen::NUM_FIELDS_PER_SHA256;\n\n// TODO: Should take encrypted data.\n#[oracle(emitEncryptedLog)]\nfn emit_encrypted_log_oracle(\n _contract_address: Field,\n _storage_slot: Field,\n _encryption_pub_key: Point,\n _preimage: [Field; N],\n) -> Field {}\n\nunconstrained fn emit_encrypted_log(\n contract_address: Field,\n storage_slot: Field,\n encryption_pub_key: Point,\n preimage: [Field; N],\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n [emit_encrypted_log_oracle(\n contract_address,\n storage_slot,\n encryption_pub_key,\n preimage,\n ), 0]\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle(_message: T) -> Field {}\n\nunconstrained fn emit_unencrypted_log(message: T) -> [Field; NUM_FIELDS_PER_SHA256] {\n // https://github.com/AztecProtocol/aztec-packages/issues/885\n [emit_unencrypted_log_oracle(message), 0]\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/logs" - }, "81": { "source": "use crate::abi;\nuse crate::types::vec::BoundedVec;\nuse crate::context::PrivateContext;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem; \n\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\nglobal FUNCTION_CALL_SIZE: Field = 3;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: Field,\n target_address: Field,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector, self.target_address]\n }\n}\n\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\n\nstruct EntrypointPayload {\n // Noir doesnt support nested arrays or structs yet so we flatten everything\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n\nimpl EntrypointPayload {\n // TODO(#1207) Do we need a generator index?\n fn hash(self) -> Field {\n dep::std::hash::pedersen(self.serialize())[0]\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.flattened_args_hashes);\n fields.push_array(self.flattened_selectors);\n fields.push_array(self.flattened_targets);\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n let args_len = self.flattened_args_hashes.len();\n let selectors_len = self.flattened_selectors.len();\n let targets_len = self.flattened_targets.len();\n\n for i in 0..args_len {\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..selectors_len {\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..targets_len {\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n \n let item_bytes = self.nonce.to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\n }\n\n bytes\n }\n\n // Executes all private and public calls \n fn execute_calls(self, context: &mut PrivateContext) {\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n }\n}", "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint" - }, - "84": { - "source": "use dep::std::hash::pedersen;\nuse dep::aztec::note::note_interface::NoteInterface;\nuse dep::aztec::note::note_header::NoteHeader;\nuse dep::aztec::oracle::get_secret_key::get_secret_key;\nuse dep::aztec::oracle::get_public_key::get_public_key;\nuse dep::aztec::note::utils::compute_unique_siloed_note_hash;\n\nglobal PUBLIC_KEY_NOTE_LEN: Field = 3;\n\n// Stores a public key composed of two fields\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\nstruct PublicKeyNote {\n x: Field,\n y: Field,\n owner: Field, // We store the owner address only to get the secret key to compute the nullifier\n header: NoteHeader,\n}\n\nimpl PublicKeyNote {\n fn new(x: Field, y: Field, owner: Field) -> Self {\n PublicKeyNote {\n x,\n y,\n owner,\n header: NoteHeader::empty(),\n }\n }\n\n // Serialise the note as 3 fields\n fn serialise(self) -> [Field; PUBLIC_KEY_NOTE_LEN] {\n [self.x, self.y, self.owner]\n }\n\n fn compute_nullifier(self) -> Field {\n let unique_siloed_note_hash = compute_unique_siloed_note_hash(PublicKeyNoteMethods, self);\n let owner_nullifying_public_key = get_public_key(self.owner);\n let secret = get_secret_key(owner_nullifying_public_key);\n dep::std::hash::pedersen([\n unique_siloed_note_hash,\n secret,\n ])[0]\n }\n\n fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n}\n\nfn deserialise(preimage: [Field; PUBLIC_KEY_NOTE_LEN]) -> PublicKeyNote {\n PublicKeyNote {\n x: preimage[0],\n y: preimage[1],\n owner: preimage[2],\n header: NoteHeader::empty(),\n }\n}\n\nfn serialise(note: PublicKeyNote) -> [Field; PUBLIC_KEY_NOTE_LEN] {\n note.serialise()\n}\n\nfn compute_note_hash(note: PublicKeyNote) -> Field {\n dep::std::hash::pedersen(note.serialise())[0]\n}\n\nfn compute_nullifier(note: PublicKeyNote) -> Field {\n note.compute_nullifier()\n}\n\nfn get_header(note: PublicKeyNote) -> NoteHeader {\n note.header\n}\n\nfn set_header(note: &mut PublicKeyNote, header: NoteHeader) {\n note.set_header(header);\n}\n\nglobal PublicKeyNoteMethods = NoteInterface {\n deserialise,\n serialise,\n compute_note_hash,\n compute_nullifier,\n get_header,\n set_header,\n};\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/public_key_note" } } } diff --git a/yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json b/yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json index 15d584e01e7..2b810a8440e 100644 --- a/yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json +++ b/yarn-project/aztec.js/src/abis/schnorr_single_key_account_contract.json @@ -96,14 +96,14 @@ } ], "returnTypes": [], - "bytecode": "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", + "bytecode": "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", "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" } ], "debug": { "debugSymbols": [ "eJyrVsrJT04syczPK1ayqq6tBQAz9wY7", - "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" ], "fileMap": { "0": { @@ -130,18 +130,6 @@ "source": "use crate::abi::FunctionData;\nuse crate::abi::PrivateCircuitPublicInputs;\nuse crate::constants_gen::GENERATOR_INDEX__CALL_STACK_ITEM;\n\nstruct PrivateCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PrivateCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}", "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/private_call_stack_item" }, - "62": { - "source": "use crate::{\n abi,\n abi::{\n PublicCircuitPublicInputs,\n FunctionData,\n },\n};\nuse crate::constants_gen::{\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__CALL_STACK_ITEM,\n};\n\n// oracles\nuse crate::oracle::{\n enqueue_public_function_call::enqueue_public_function_call_internal,\n};\n\nstruct PublicCallStackItem {\n contract_address: Field,\n function_data: FunctionData,\n public_inputs: PublicCircuitPublicInputs,\n is_execution_request: bool,\n}\n\nimpl PublicCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_with_separator([\n self.contract_address,\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\n }\n}\n\n", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/public_call_stack_item" - }, - "65": { - "source": "use crate::constants_gen::CALL_PRIVATE_FUNCTION_RETURN_SIZE;\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: Field,\n _function_selector: Field,\n _args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {}\n\nunconstrained fn call_private_function_internal(\n contract_address: Field,\n function_selector: Field,\n args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {\n call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n )\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/call_private_function" - }, - "76": { - "source": "\n// contract_address + \n// args_hash +\n// crate::abi::FUNCTION_DATA_SIZE +\n// crate::abi::CALL_CONTEXT_SIZE +\n// = 2 + 4 + 6\nglobal ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE: Field = 12;\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: Field, \n _function_selector: Field, \n _args_hash: Field,\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {}\n\nunconstrained fn enqueue_public_function_call_internal(\n contract_address: Field, \n function_selector: Field,\n args_hash: Field\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {\n enqueue_public_function_call_oracle(\n contract_address, \n function_selector, \n args_hash,\n )\n}", - "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/enqueue_public_function_call" - }, "81": { "source": "use crate::abi;\nuse crate::types::vec::BoundedVec;\nuse crate::context::PrivateContext;\nuse crate::private_call_stack_item::PrivateCallStackItem;\nuse crate::public_call_stack_item::PublicCallStackItem; \n\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\nglobal FUNCTION_CALL_SIZE: Field = 3;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: Field,\n target_address: Field,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector, self.target_address]\n }\n}\n\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\n\nstruct EntrypointPayload {\n // Noir doesnt support nested arrays or structs yet so we flatten everything\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n\nimpl EntrypointPayload {\n // TODO(#1207) Do we need a generator index?\n fn hash(self) -> Field {\n dep::std::hash::pedersen(self.serialize())[0]\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec = BoundedVec::new(0); \n fields.push_array(self.flattened_args_hashes);\n fields.push_array(self.flattened_selectors);\n fields.push_array(self.flattened_targets);\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n let args_len = self.flattened_args_hashes.len();\n let selectors_len = self.flattened_selectors.len();\n let targets_len = self.flattened_targets.len();\n\n for i in 0..args_len {\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..selectors_len {\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n\n for i in 0..targets_len {\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\n }\n }\n \n let item_bytes = self.nonce.to_be_bytes(32);\n for j in 0..32 { \n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\n }\n\n bytes\n }\n\n // Executes all private and public calls \n fn execute_calls(self, context: &mut PrivateContext) {\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\n let target_address = self.flattened_targets[i];\n if target_address != 0 {\n let function_selector = self.flattened_selectors[i];\n let args_hash = self.flattened_args_hashes[i];\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\n }\n }\n }\n}", "path": "/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint"